WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

Du bist nicht angemeldet.

#1 17.09.2017 13:13:32

stefanek
Developer

[Experimentell] Editor für INI-Dateien inkl. Einbauantleitung

Dies ist nur für Modul-Entwickler und Leute die gerne Code lesen.
Es ist kein Modul mit einem Zweck für die Frontend-Ausgabe.

Es ist ein Admin-Tool und der Zweck ist, einfach die Möglichkeiten des INI Editors zu zeigen und wie einfach er eingebaut werden kann.

In mehreren meiner Module arbeite ich mit kleinen INI Dateien die als Settings fungieren; manchmal ist es eben zu viel die DB zu bemühen, wenn man nur eine Handvoll Settings hat.

Trotzdem ist es auf Live geschalteten Projekten praktisch, wenn man die Settings dann bearbeiten kann ohne FTP oder den AFE gebrauchen zu müßen.
Für diesen Zweck habe ich dieses Tool gebaut.
Es ist ein Leichtgewicht und lässt sich leicht in andere Module integrieren.

Man kann es so einstellen, dass man Werte nur Ändern kann.
Man kann es aber auch so einstellen, dass man neue Werte hinzufügen kann (also richtig als ein Creator, nicht nur Editor).

Das Formular wird mittels des Scripts einfach aus der INI Datei selbst generiert.

Das ganze basiert auf der Klasse von Blupixel IT Srl - Trento die hier zu finden ist:
https://www.phpclasses.org/package/1016 … forms.html

Ich habe die Klasse erweitert und dass CSS und JS in separaten Dateien untegebracht.
Einige Methoden sind dazu gekommen damit das ganze auch Multilingual wird und einige WB/CE interne Einstellungen berücksichtigt.

Auch wenn das Tool viele Dateien hat, um es in ein eigenes Modul einzubinden braucht man nur den Ordner IniEditor und dann die Klasse aufrufen.
(Das andere sind halt die üblichen Files wie install/deinstall/info/tool und co.)

Dateien mit config im Namen sind die Dateien die den Editor einbinden. Mehrere Varianten davon. Aber alle aus der selben INI Datei automatisch generiert (default.ini.php).

Ach so, ja. Die INI Dateien werden mit PHP geschützt, sodass sie nicht von außen gelesen werden können (Sicherheit).

Kann sein, dass es auf manchen Servern noch Probleme gibt die Datei zu beschreiben (is_writeable), wenn das Modul über FTP installiert wurde, aber dafür habe ich sonst auch eine brauchbare Lösung.

Vielleicht ist das ganze ja interessant für den Einen oder Anderen.
Ansonsten einfach ein Proof of Concept.

Gruß,
Christian

Beitrag geändert von stefanek (17.09.2017 13:15:54)


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

#2 17.09.2017 13:29:39

stefanek
Developer

Re: [Experimentell] Editor für INI-Dateien inkl. Einbauantleitung

Hier noch zwei Screenshots, wie die Formulare aussehen.

Beide wurden automatisch aus dieser kleinen INI Datei erstellt:

[General]
show_image = 1
use_counter = 1
use_dragdrop = 1


[Display_Modules]
page = 1
tool = 1
snippet = 0
preinit = 0
initialize = 0
wysiwyg = 1
other = 1


[Strings]
text1 = "Hier <b>ein kleiner</b> HTML-Test: <ul><li>eins</li><li>zwei</li><li>drei</li><li>vier</li></ul>"
text2 = "Einführungszeichen gehen auch, müßen \"in den Settings\" escaped werden, was der Editor von selbs erledigt."

screenshot.png stellt einfaches Editieren dar.

screenshot2.png stellt das ganze auch übersetzt dar (kann man machen, wenn man will, geht über einen festgelegten Ordner, in diesem Falle i18n, um nicht mit dem language Ordner zu kollidieren).


Gruß,
Christian

Edit:
im Screenshot 2 sieht man auch, dass man die Werte verschieben kann.
Das kann man nicht of brauchen, aber manchmal schon.

Beitrag geändert von stefanek (17.09.2017 13:31:49)


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

#3 17.09.2017 14:26:34

norhei
Developer

Re: [Experimentell] Editor für INI-Dateien inkl. Einbauantleitung

Sowas für Arrays in Sprachdateien würde mich sehr interessieren :-)

Offline

#4 17.09.2017 14:34:08

stefanek
Developer

Re: [Experimentell] Editor für INI-Dateien inkl. Einbauantleitung

Da hat Thorn schon vor Jahren gemacht. Weiß ich, weil ich mich um das Skin dazu gekümmert habe.
Das war das alte PMF und eines der Module war ein Translation Tool.
Sehr gut gemacht.


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

#5 17.09.2017 15:29:39

stefanek
Developer

Re: [Experimentell] Editor für INI-Dateien inkl. Einbauantleitung

Übrigens, Norbert, in dem Modul oben versuche ich das (habe ich auskommentiert, weil es nicht zu funktionieren scheint).

#ab Zeile 342

// it doesn't seem to work properly, used $.insert in the backend_body.js instead
#$sToHtml .=  '<!--(MOVE) JS BODY BTM- -->';
#$sToHtml .=  '<script src="'.$this->sScriptsUrl.'/iniEditor_body.js" type="text/javascript">';
#$sToHtml .=  '<!--(END)-->';

Ich habe dann stattdessen die backend_body.js verwendet, um die Datei einzubinden.
Also wenn Du dieses '<!--(MOVE) JS BODY BTM- --> mal an einem Beispiel testen willst, damit kannst Du es tun.

Im Tool auf den Link config_creator wird JS verwendet.
Vorher die backend_body.js umbenennen in .bak oder was auch immer, damit sie nicht eingelesen wird.

Gruß,
Christian

Beitrag geändert von stefanek (17.09.2017 15:30:32)


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

Fußzeile des Forums

up