pd_scripting - ein CMSimple_XH - Plugin

Version: 2.0
©2010 by Holger Irmler http://www.HolgerIrmler.de/playground

@doku_version: 2010-04-02

Dieses Plugin darf kostenlos auf der eigenen Hompage - kommerziell oder nicht - eingesetzt werden.
Webdesigner, die dieses Plugin in einem bezahlten Kundenprojekt einsetzen, sollten immer so fair sein
meine Arbeit mit einem kleinen Geldbetrag zu unterstützen.

Wie auch immer, wenn dir das Plugin gefällt, ist eine kleine Spende über PayPal natürlich jederzeit willkommen!


About

Dieses Plugin kann, wie sein Name schon sagt, CMSimple Skripte mittels der in CMSimple_XH eingebauten Datenbank,
der pagedata.php, verwalten.
Somit ist es nicht mehr erforderlich Plugins, oder andere Funktionen, mittels #CMSimple ...# im Inhalt der Seite einzubauen,
oder zu aktivieren.

Vorteile:


Installation

Benötigt wird eine CMSimple(_XH) Installation >= V. 1.0 und/oder den Pluginloader >=Version 2.1, um das Plugin zu verwenden.
  1. Mach' ein Backup der Daten auf dem Server!

  2. Das Plugin auspacken, dabei die Verzeichnisstruktur nicht verändern
    Eventuell werden in Zukunft neue Versionen unter http://www.HolgerIrmler.de/playground verfügbar sein

  3. Den Ordner "hi_pd_scripting" und seinen Inhalt in den Ordner "PLUGINS" auf den Server kopieren

  4. Auf der CMSimple - Seite anmelden
    Oberhalb des Editors sollte nun ein neuer Tab "Plugins" zu sehen sein

  5. Um diverse Einstellungen online ändern zu können, müssen folgende Ordner und deren Inhalt für das Skript beschreibbar sein:

Konfiguration

Hinweis: das Plugin kennt zwei Modi
Normalerweise kann nur ein Plugin am Ende der Seite eingefügt werden.
Im 'advanced_mode' - einzuschalten in der Konfiguration - kann das Plugin bis zu fünf Skripte pro Seite einfügen
(die Limitierung ist nur eingebaut um die "Datenbank" pagedata.php nicht unnötg anwachsen zu lassen).

Das "Hi_pd_scripting" Plugin aus der Liste der verfügbaren Plugins und danach "Plugin Konfiguration" wählen, um die Einstellungen zu ändern.
Hinweis: eine kurze Hilfe zur jeweiligen Einstellung wird beim Überfahren des blauen Fragezeichens eingeblendet.

Mögliche Einstellungen:

Einstellung Mögliche Werte Beschreibung
destroy all fields: leer Diese Einstellung wird noch nicht genutzt
mode advanced: 1 oder
0 / leer
Mit 1 wird der 'advanced-mode' aktiviert 
(bitte die folgende Einstellung dann so klein wie möglich halten)
scripts max on page: 1 ... 5 Hier wird die Anzahl der maximal möglichen Plugins/Skripte pro Seite (1 - 5) festgelegt. Wenn der Modus 'advanced-mode' nicht aktiviert ist, wird diese Einstellung immer automatisch auf 1 zurück gesetzt.
tab hide from user: 1 oder
0 / leer
Mit 1 wird der Tab des Plugins nicht mehr über dem Editor angezeigt.

Benutzung

1. Skripte & Plugins
Um ein Plugin, PHP-Kode oder CMSimple-Funktionen zur Seite hinzuzufügen, müssen nur die Felder im Tab "Plugins" ausgefüllt werden.
Es muss nur der Funktionsaufruf in das Feld "Skript-Kode" eingegeben werden.
Beispiel:
Wenn in der Hilfe-Datei eines Plugins der Aufruf in dieser Weise angegeben wird
#CMSimple $output.= pluginname(parameters);#
muss nur
pluginname(parameters)
in das Feld "Skript-Kode" eingetragen werden.

2. Variablen
Seit Version 2.0 können auch beliebige Variablen, wie z.B. Sprach- oder Konfigurationsvariablen, zur Laufzeit gesetzt
oder verändert werden.
Beispiel:
Um die Überschrift des Untermenüs auf der aktuellen Seite zu ändern muss nur
$tx['submenu']['heading']="read more...";
in das Feld "Skript-Kode" eingegeben werden.

Hinweis: es ist auch möglich (und empfohlen) mehrere Variablen in einer Zeile zu verändern:
$tx['submenu']['heading']="read more...";$tx['menu']['mailform']="Contact me by email";
Bitte auf korrekte PHP-Syntax achten und das abschließende Semikolon ";" nicht vergessen!
Platzhalter werden bei dieser Variante ignoriert und nicht aus dem Inhalt entfernt.

1. Normal Mode

Es kann ein Skript/Plugin am Ende der aktuellen Seite eingefügt werden.
Einfach den Plugin-Aufruf in das Feld "Skript-Kode" einfügen
und mit Auswahl von "ja" aktivieren.

2. Advanced Mode

Es können, je nach Konfigurationseinstellung, bis zu fünf
Plugins / Skripte in die aktuelle Seite eingefügt werden.

Einfach den Plugin-Aufruf in das Feld "Skript-Kode"
einfügen und mit Auswahl von "ja" aktivieren.


Als Option kann zusätzlich ein "Platzhalter"
angegeben werden. Dieser "Platzhalter" wird dann
im Inhalt der Seite gesucht und mit der Ausgabe
des Plugins ersetzt. Auf diese Weise lässt sich
ein Plugin innerhalb des Inhaltes positionieren.

Achtung:
bitte nur wirklich eindeutige Texte und niemals
Sonderzeichen verwenden!

Wenn der Platzhalter vom Plugin nicht im
Inhalt gefunden wird, wird im Admin-Modus eine
Warnung ausgegeben und das Plugin am Ende des
Inhaltes ausgegeben.

Einschränkungen

Das Skript kann vermutlich mit allen verfügbaren CMSimple-Plugins verwendet werden. Möglicherweise benötigt ein Plugin jedoch seinen 
Aufruf doch innerhalb der Inhaltsdatei. Ein Beispiel hierfür ist das Gallery-Plugin von Michael Svarrer. Dieses Plugin sucht innerhalb
der content.htm nach seinem Aufruf, um die Liste der Galerien im Admin-Modus zu erzeugen. Deshalb findet das Gallery-Plugin, wenn mittels
pd_sripting eingefügt, die angelegten Galerien im Admin-Modus nicht mehr (ich arbeite an einer Lösung dafür ;-) ).

Support

Kostenlose Hilfe gibt es ausschließlich unter http://www.cmsimpleforum.com

Cangelog:

Version 1.0
Version 1.01
Version 2.0

Lizenz

Dieses Plugin steht unter der GPL3.
Es ist nicht erlaubt die Kommentare / Links zum Autor aus dem Kode oder der Ausgabe des Plugins zu entfernen!

THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.