SimplePlugins_XH

Add a new function to the SimplePlugins_XH Library
Die SimplePlugins_XH Library um eine neue Funktion erweitern

Please do read this documentation, before you encounter any problems!
Bitte lesen Sie diese Dokumentation, bevor Sie auf Probleme stoßen!

Um den folgenden Text ins Englische zu übersetzen verwenden Sie bitte einen Online-Übersetzer.

Simpleplugins_xh um eigene Funktionen erweitern

An folgenden Stellen sind Änderungen erforderlich um eine neue Funktion voll zu integrieren:

  1. Darstellung des Editor-Reites "Simple plugins List".
  2. Einfügen eines neuen Verzeichnisses in /plugins/simpleplugins_xh/simpleplugins_library
    mit den darin enthaltenen Dateien für die Funktion.
  3. Ergänzung der Datei help.htm im Verzeichnis /plugins/simpleplugins_xh/help.
back to top

Editor-Reiter "Simple plugins List"

Dieser Reiter wird durch die Einträge in der Datei config.php im Verzeichnis /plugins/simpleplugins_xh/config festgelegt.

Editiert wird diese geordnete Liste über die Konfiguration des Plugins.
Im Eingabefeld 'Memo' kann der notwendige Listeneintrag eingefügt / verändert werden.

Am Beispiel der von mir eingefügten Funktion no_cookies_text sei dargestellt, was diese Zeilen enthalten:

<li>no_cookies_text : {{{no_cookies_text($string_no_cookies, $string_cookies_allowed)}}}<br>
ex. {{{no_cookies_text('Bitte erlauben Sie das Setzen von Cookies','Cookies akzeptiert')}}}</li>

no_cookies_text = Name der Funktion
($string_no_cookies, $string_cookies_allowed) = Liste der Parameter, die an die Funktion übergeben werden.
ex. = example

Den Listeneintrag für die neue Funktion erzeugt man am einfachsten, indem man einen vorhandenen kopiert, anpasst und dann einfügt. Der Übersichtlichkeit halber empfiehlt es sich diesen Eintrag an der alphabetisch richtigen Stelle einzuschieben.

WICHTIG: Nicht vergessen alle überflüssigen Zeilenumbrüche, die sich evtl. eingeschlichen haben, zu entfernen!

back to top

Funktion hinzufügen

Im Verzeichnis /plugins/simpleplugins_xh/simpleplugins_library befindet sich der Ordner hellomyplugin. Diesen Ordner duplizieren und mit dem Namen der neue Funktion versehen. Als Beispiel wird jetzt beschrieben, wie die Funktion no_cookies_text entstanden ist.

Also den Ordner hellomyplugin kopieren und einfügen (hellomyplugin - Kopie) und in no_cookies_text umbenennen.

Dann steht in /plugins/simpleplugins_xh/simpleplugins_library/no_cookies_text die Datei index.php mit folgendem Inhalt:

<?php
/*****************************************************
* CMSimple Very Very Simple Plugin Sample
*****************************************************
* Plugin name : hellomyplugin
* File name : index.php
******************************************************/
/*
* Prevent direct access.
*/
if (!defined('CMSIMPLE_XH_VERSION')) {
header('HTTP/1.0 403 Forbidden');
exit;
}

function hellomyplugin(){
return 'Hello My Plugin!';
}
?>

Diese Datei wird dann so geändert, dass sie der neuen Funktion genügt.
Hier war das dann so:

<?php
/*****************************************************
* CMSimple AddOn to the Plugin Privacy_XH
*****************************************************
* Plugin name : no_cookies_text
* written by : Karl Richard Lembach, © 2021, http://cmsimple.lembach-kr.de/
* File name : index.php
******************************************************/
// Ergänzung zum Plugin Privacy_XH
// Ausgabe von Text abhängig davon, ob Cookies zugelassen sind oder nicht in Privacy_XH.
// Der Aufruf der Funktion im Artikeltext erfolgt wie jeder Funktionsaufruf:
// {{{no_cookies_text('Text wenn Cookies abgelehnt sind', 'Text bei Cookie setzen erlaubt')}}}
// Vorsicht mit einfachen Anführungszeichen! (') Sind solche im auszugebenden Text führt das zu einem
// schwerwiegenden Fehler, weil der PHP-Code zerstört wird.
// Wenn man ' unbedingt benötigt, dann mit Maskierung angeben: \'
// Das scheint in den Tests zu funktionieren.
// Formatierungen, die per STYLE-Argumente erzeugt werden, enthalten möglicherweise einfache Anführungszeichen!
// Unbedingt vermeiden!
// Wenn eine Formatierung notwendig ist, bei der nicht bekannt ist ob sie KEINE einfachen Anführungszeichen enthält,
// dann unbedingt über den gesamten Funktionsaufruf hinweg.
// Also so, dass alle Angaben zur Formatierung außerhalb des Funktionsaufrufes liegen.
// D.h. entweder vor den drei öffnenden geschweiften Klammern {{{ oder nach den schließenden geschweiften Klammern }}}.
//
// Addition to Privacy_XH plugin
// Output text depending on whether cookies are allowed or not in Privacy_XH.
// Calling the function in the article text is done like any function call:
// {{no_cookies_text('text if cookies are rejected', 'text if cookie set allowed')}}
// Be careful with single quotes! (') If such are in the text to be output, this will lead to a
// serious error, because the PHP code will be destroyed.
// If you absolutely need ', then specify with masking: \'
// This seems to work in the tests.
// Formatting generated by STYLE arguments may contain single quotes!
// Avoid at all costs!
// If a formatting is necessary, where it is not known if it does NOT contain single quotes,
// then absolutely over the entire function call.
// So that all information about the formatting is outside of the function call.
// I.e. either before the three opening braces {{{ or after the closing braces }}}.

/*
* Usage : {{{no_cookies_text($string_no_cookies , $string_cookies_allowed)}}}
* Example : {{{no_cookies_text('Bitte erlauben Sie das Setzen von Cookies','Cookies akzeptiert')}}}
*/

/*
* Prevent direct access.
*/
if (!defined('CMSIMPLE_XH_VERSION')) {
header('HTTP/1.0 403 Forbidden');
exit;
}

function no_cookies_text($string_no, $yes_string)
{

if (!privacy_agreed())
{
return $string_no;
}
else
{
return $yes_string;
}

}

?>
back to top

Hilfe-Datei ergänzen

Im Ordner /plugins/simpleplugins_xh/help liegt die help.htm.
An folgenden Stellen ist eine Ergänzung sinnvoll:

  1. Links oben das Menü. Im Submenü (also unter "Library Explanatory Notes" einen neuen Menüpunkt anlegen, der auf die Beschreibung der Funktion zeigt.
  2. Unter "Included Library" an der aphabetisch passenden Stelle die neue Funktion einfügen.
  3. Unter "include List" das neue Unterverzeichnis einfügen.
  4. Unter "Library Explanatory Notes" an der alphabetisch passenden Stelle die Beschreibung der Funktion einfügen.
back to top