So, letzter Stand, bevor ich plane es als Plugin umzusetzen.
Die Struktur der xml habe ich angepasst (Siehe unten!).
Die DTD kann aber noch nicht ganz ok sein, sonst dürften ausser en und de keine weitere Sprache funktionieren.
Die Sprachen der Beschreibung können dynamisch erweitert werden, English sollte aber wenigstens da sein.
Entsprechend der gewählten Sprache unter XH wird das ganze ausgegeben. En als Fallback.
--> In der
Demo (Details der einzelnen Plugins) ist sehr rudimentär eine Sprachwahl drin, als XH-Simmulation (Nicht bei allen Plugins sind alle Sprachen enthalten)
Innerhalb der Beschreibungen, eigentlich aller Elemente, kann br, ol, ul, und li genutzt werden.
Nur nach diesem Motto:
Code: Select all
< -> <
> -> >
& -> &
' -> '
" -> "
Also br ist dann
Icon und Screenshots habe ich bisher noch gar nicht berücksichtigt.
Für Screenshots ist auch die Möglichkeit einer dynamischen Erweiterung angedacht.
Aber ich weiss noch nicht wirklich, wie ich das mit dem Caching der Bilder mache.
Das Icon könnte man vielleicht noch als base64 mit in die csv speichern. Wenn das nicht zu viel wird.
Code: Select all
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE plugin [
<!ELEMENT plugin (name,date_update,version,date_version,coder,tags,url,compatibility,php_ver,license,descriptions,screenshots,icon)>
<!ELEMENT url (download_url,coder_url,demo_url)>
<!ELEMENT descriptions (description+)>
<!ELEMENT screenshots (screenshot+)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT date_update (#PCDATA)>
<!ELEMENT version (#PCDATA)>
<!ELEMENT date_version (#PCDATA)>
<!ELEMENT coder (#PCDATA)>
<!ELEMENT tags (#PCDATA)>
<!ELEMENT compatibility (#PCDATA)>
<!ELEMENT php_ver (#PCDATA)>
<!ELEMENT license (#PCDATA)>
<!ELEMENT icon (#PCDATA)>
<!ELEMENT download_url (#PCDATA)>
<!ELEMENT coder_url (#PCDATA)>
<!ELEMENT demo_url (#PCDATA)>
<!ELEMENT description (#PCDATA)>
<!ELEMENT screenshot (#PCDATA)>
<!ATTLIST description lang (en|de) #REQUIRED>
<!ATTLIST screenshot view CDATA #REQUIRED>
]>
<!--
To avoid the error, the special characters must be written as an entity reference
Um den Fehler zu vermeiden müssen die Sonderzeichen als Entitätsreferenz geschrieben werden
< -> <
> -> >
& -> &
' -> '
" -> "
-->
<plugin>
<!-- the name of the Plugin -->
<name>Plugin Name</name>
<!-- Date this file was updated, yyyy.mm.dd -->
<date_update>2018.03.14</date_update>
<!-- version of Plugin -->
<version>1.2</version>
<!-- date of publication, yyyy.mm.dd -->
<date_version>2015.09.12</date_version>
<!-- the name of the programmer -->
<coder>Gerda Hasenfuß</coder>
<!-- Plugin Categories, i.e. SocialMdia, System, Admin, Backup, Calendar. More than one possible, separated by comma. -->
<tags>System</tags>
<url>
<!-- URL where you can download the plugin -->
<download_url>https://domain.tld/downloads/plugin_name.zip</download_url>
<!-- URL of the programmer's website -->
<coder_url>https://domain.tld</coder_url>
<!-- URL where find a demo -->
<demo_url>n.a.</demo_url>
</url>
<!-- compatibility with versions of XH, i.e. 1.6, 1.6.7 - 1.7.2, ... -->
<compatibility>1.6</compatibility>
<!-- minimum version of PHP that is required, i.e. 5.3, 5.6, 7, ...-->
<php_ver>4.3</php_ver>
<!-- the License for the Plugin, GPL3, ... -->
<license>GPL3</license>
<descriptions>
<!-- description of the plugin, ca. 200 characters -->
<description lang="en">Description of the plugin name in English, Blindtext Blindtext Blindtext Blindtext Blindtext Blindtext Blindtext Blindtext Blindtext Blindtext Blindtext Blindtext Blindtext Blindtext Blindtext Blindtext</description>
<!-- Beschreibung des Plugins, ca. 200 Zeichen -->
<description lang="de">Beschreibung des Plugins Name in Deutsch, Blindtext Blindtext Blindtext Blindtext Blindtext Blindtext Blindtext Blindtext Blindtext Blindtext Blindtext Blindtext Blindtext Blindtext Blindtext Blindtext</description>
</descriptions>
<screenshots>
<screenshot view="in_use">https://domain.tld/xxx/screenshot_1.png</screenshot>
<screenshot view="backende">https://domain.tld/xxx/screenshot_2.png</screenshot>
</screenshots>
<icon>https://domain.tld/xxx/icon.png</icon>
</plugin>