phpcms-plugins-cvs Mailing List for phpCMS-plugins (Page 6)
Brought to you by:
mjahn
You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(40) |
Jun
(38) |
Jul
(36) |
Aug
(46) |
Sep
(13) |
Oct
(1) |
Nov
|
Dec
(57) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(2) |
Feb
(19) |
Mar
|
Apr
(43) |
May
(119) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Martin J. <mj...@us...> - 2005-04-15 15:20:14
|
Update of /cvsroot/phpcms-plugins/admin4phpCMS/modules/config In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20482/modules/config Modified Files: modules.ini Log Message: Commit as backup during development Index: modules.ini =================================================================== RCS file: /cvsroot/phpcms-plugins/admin4phpCMS/modules/config/modules.ini,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- modules.ini 7 Apr 2005 14:09:12 -0000 1.1 +++ modules.ini 15 Apr 2005 15:20:05 -0000 1.2 @@ -53,3 +53,4 @@ [pluginmanager] file = class.module_pluginmanager.php class = module_pluginmanager + |
From: Martin J. <mj...@us...> - 2005-04-15 15:20:14
|
Update of /cvsroot/phpcms-plugins/admin4phpCMS/modules/user In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20482/modules/user Modified Files: class.module_user.php Log Message: Commit as backup during development Index: class.module_user.php =================================================================== RCS file: /cvsroot/phpcms-plugins/admin4phpCMS/modules/user/class.module_user.php,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- class.module_user.php 7 Apr 2005 14:09:03 -0000 1.11 +++ class.module_user.php 15 Apr 2005 15:20:04 -0000 1.12 @@ -30,6 +30,9 @@ /* * $Log$ +* Revision 1.12 2005/04/15 15:20:04 mjahn +* Commit as backup during development +* * Revision 1.11 2005/04/07 14:09:03 mjahn * Commit as backup during development * @@ -126,7 +129,7 @@ $this->_callEvent ('CONFIG_GET', $actiondata1); $this->CONF =& $actiondata1 ['config']; - $this->_USER = new Auth('File', dirname (__FILE__).'/'.$this->CONF ['userfile']); + $this->_USER = new Auth('File', dirname (__FILE__).'/'.$this->CONF ['userfile'], '', false); $this->_USER->setShowLogin (false); $GLOBALS ['user4phpcms'] =& $this->_USER; @@ -149,17 +152,22 @@ // check for logout if (isset ($actiondata ['post'] ['logout'])) { - if (!isset ($actiondata ['post'] ['submit-login'])) { + if (!isset ($actiondata ['post'] ['submit-login']) && $this->_USER->checkAuth()) { $this->_USER->logout (); $this->_USER->start (); } } elseif (isset ($actiondata ['get'] ['logout'])) { - if (!isset ($actiondata ['post'] ['submit-login'])) { + if (!isset ($actiondata ['post'] ['submit-login']) && $this->_USER->checkAuth()) { $this->_USER->logout (); $this->_USER->start (); } } + if ($this->_USER->checkAuth()) { + $this->_userdata ['isLoggedIn'] = $this->_USER->checkAuth (); + $this->_userdata ['username'] = $this->_USER->getUsername (); + } + //check for admin-data if (isset ($actiondata ['post'] ['submit-deluser'])) { @@ -284,13 +292,13 @@ $data1 = array ('name'=>'Profile', 'module'=>'user', 'action'=>'profile'); if ($this->action == 'profile') { - $data1 ['extra'] = 'id="current"'; + $data1['extra'] = 'class="current"'; } $_data [] = $data1; - $data1 = array ('name'=>'Managment', 'module'=>'user', 'action'=>'admin'); + $data1 = array ('name'=>'Management', 'module'=>'user', 'action'=>'admin'); if ($this->action == 'admin') { - $data1 ['extra'] = 'id="current"'; + $data1['extra'] = 'class="current"'; } $_data [] = $data1; @@ -325,7 +333,7 @@ function getData (&$actiondata) { // react onto the action - $data = array ('action'=>$this->action); + $data = array ('action'=>$this->action, 'session'=>$_SESSION); switch ($this->action) { case 'admin':; |
From: Martin J. <mj...@us...> - 2005-04-15 15:20:13
|
Update of /cvsroot/phpcms-plugins/admin4phpCMS/modules/pluginmanager In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20482/modules/pluginmanager Modified Files: class.module_pluginmanager.php Log Message: Commit as backup during development Index: class.module_pluginmanager.php =================================================================== RCS file: /cvsroot/phpcms-plugins/admin4phpCMS/modules/pluginmanager/class.module_pluginmanager.php,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- class.module_pluginmanager.php 7 Apr 2005 14:09:04 -0000 1.1 +++ class.module_pluginmanager.php 15 Apr 2005 15:20:04 -0000 1.2 @@ -28,6 +28,9 @@ /* * $Log$ +* Revision 1.2 2005/04/15 15:20:04 mjahn +* Commit as backup during development +* * Revision 1.1 2005/04/07 14:09:04 mjahn * Commit as backup during development * @@ -135,7 +138,7 @@ $data ['extra'] = 'class="current"'; $data1 = array ('name' => 'Manager', 'module' => 'pluginmanager', 'action' => 'manage'); - if ($this->action == 'cache') { + if ($this->action == 'manage') { $data1 ['extra'] = 'class="current"'; } $_data [] = $data1; @@ -178,22 +181,20 @@ } $data = array ('action'=>$this->action, 'plugindir'=>$this->_PLUGINS ['plugindir']); - $_data = array (); - - foreach ($this->_PLUGINS as $id=>$plugin) { + + switch ($this->action) { + case 'manage': + break; + case '': + break; + default: + $pluginname = substr ($this->action, 7, 1024); + $_data = array (); + $plugin =& $this->_PLUGINS [$pluginname]; + $temp = $plugin ['_object_']->{$plugin ['getdata']} (); - if (!is_array ($plugin)) { - continue; - } - if (!isset ($plugin ['_object_'])) { - //echo '--'.$id."<br />\n"; - continue; - } - - $_data [$id] = $plugin ['_object_']->{$plugin ['getdata']} (); + $data ['plugins'] = array ($pluginname => $temp); } - $data ['plugins'] = $_data; - $actiondata [$actiondata ['tag']] ['pluginmanager'] = $data; return true; |
From: Martin J. <mj...@us...> - 2005-04-15 15:20:12
|
Update of /cvsroot/phpcms-plugins/admin4phpCMS/tools In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20482/tools Added Files: checkbox.js Log Message: Commit as backup during development --- NEW FILE: checkbox.js --- function toggleAllCheckboxes (name) { for (i = 0; i < document.getElementsByName (name).length; i++) { alert (document.getElementsByName (name) [i].value); } } |
From: Martin J. <mj...@us...> - 2005-04-07 14:09:54
|
Update of /cvsroot/phpcms-plugins/admin4phpCMS In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15012 Modified Files: .cvsignore INSTALL index.php Added Files: handbuch.lyx Removed Files: project.index Log Message: Commit as backup during development --- project.index DELETED --- --- NEW FILE: handbuch.lyx --- #LyX 1.3 created this file. For more info see http://www.lyx.org/ \lyxformat 221 \textclass scrbook \language german \inputencoding latin1 \fontscheme palatino \graphics dvitops \paperfontsize default \spacing onehalf \papersize a4paper \paperpackage widemarginsa4 \use_geometry 0 \use_amsmath 1 \use_natbib 1 \use_numerical_citations 0 \paperorientation portrait \leftmargin 2cm \topmargin 1cm \rightmargin 2cm \bottommargin 3cm \headsep 0.5cm \footskip 0.5cm \secnumdepth 3 \tocdepth 3 \paragraph_separation skip \defskip medskip \quotes_language danish \quotes_times 2 \papercolumns 1 \papersides 1 \paperpagestyle headings \bullet 0 0 17 -1 \end_bullet \layout Title Admin4phpCMS \layout Author von Martin Jahn \layout Date Stand: \begin_inset ERT status Collapsed \layout Standard \backslash today \end_inset \layout Publishers Dieses Dokument wurde erstellt vom phpCMS-Plugin-Team \layout Dedication In diesem Absatz danke ich allen Mitwirkenden für Ihre kraftvolle Mitarbeit und Motivation. \layout Standard \begin_inset LatexCommand \tableofcontents{} \end_inset \layout Part Benutzerhandbuch \layout Chapter Einführung \layout Chapter Benutzen der Oberfläche \layout Part Entwicklerdokumentation \layout Chapter Das Modulkonzept \layout Section Eventbasierte Verareitung von Ereignissen \layout Subsection Eventhandler \layout Subsection Actionhandler \layout Section Das Modell-View-Controller Konzept (MVC) \layout Chapter Module programmieren \layout Chapter Dokumentation der Standard-Module \layout Section Modul phpCMS \layout Section Modul phpCMS-content \layout Section Modul Statistik \layout Section Modul Pluginmanager \layout Section Modul Benutzer- und Rechtemanagment \layout Part Anhänge \layout Chapter Lizenzen \layout Section Lizenz dieses Dokumentes (en) \layout Section Lizenz für Admin4phpCMS (deutsche Übersetzung) \layout Subsection GNU General Public License \layout Standard Deutsche Übersetzung der Version 2, Juni 1991 \layout Standard Copyright \begin_inset ERT status Collapsed \layout Standard \backslash copy \end_inset 1989, 1991 Free Software Foundation, Inc. \layout Standard 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA \layout Standard pe...@ge... \layout Standard Es ist jedermann gestattet, diese Lizenzurkunde zu vervielfältigen und unverände rte Kopien zu verbreiten; Ãnderungen sind jedoch nicht erlaubt. \layout Standard Diese Übersetzung ist kein rechtskräftiger Ersatz für die englischsprachige Originalversion! \layout Subsubsection Vorwort \layout Standard Die meisten Softwarelizenzen sind daraufhin entworfen worden, Ihnen die Freiheit zu nehmen, die Software weiterzugeben und zu verändern. Im Gegensatz dazu soll Ihnen die GNU General Public License, die Allgemeine Öffentliche GNU-Lizenz, ebendiese Freiheit garantieren. Sie soll sicherstellen, daß die Software für alle Benutzer frei ist. Diese Lizenz gilt für den Großteil der von der Free Software Foundation herausgegebenen Software und für alle anderen Programme, deren Autoren ihr Datenwerk dieser Lizenz unterstellt haben. Auch Sie können diese Möglichkeit der Lizenzierung für Ihre Programme anwenden. (Ein anderer Teil der Software der Free Software Foundation unterliegt stattdessen der GNU Library General Public License , der Allgemeinen Öffentlich en GNU-Lizenz für Bibliotheken.) \layout Standard Die Bezeichnung \begin_inset Quotes ald \end_inset freie \begin_inset Quotes ard \end_inset Software bezieht sich auf Freiheit, nicht auf den Preis. Unsere Lizenzen sollen Ihnen die Freiheit garantieren, Kopien freier Software zu verbreiten (und etwas für diesen Service zu berechnen, wenn Sie möchten), die Möglichkeit, die Software im Quelltext zu erhalten oder den Quelltext auf Wunsch zu bekommen. Die Lizenzen sollen garantieren, daß Sie die Software ändern oder Teile davon in neuen freien Programmen verwenden dürfen - und daß Sie wissen, daß Sie dies alles tun dürfen. \layout Standard Um Ihre Rechte zu schützen, müssen wir Einschränkungen machen, die es jedem verbieten, Ihnen diese Rechte zu verweigern oder Sie aufzufordern, auf diese Rechte zu verzichten. Aus diesen Einschränkungen folgen bestimmte Verantwortlichkeiten für Sie, wenn Sie Kopien der Software verbreiten oder sie verändern. \layout Standard Beispielsweise müssen Sie den Empfängern alle Rechte gewähren, die Sie selbst haben, wenn Sie - kostenlos oder gegen Bezahlung - Kopien eines solchen Programms verbreiten. Sie müssen sicherstellen, daß auch die Empfänger den Quelltext erhalten bzw. erhalten können. Und Sie müssen ihnen diese Bedingungen zeigen, damit sie ihre Rechte kennen. \layout Standard Wir schützen Ihre Rechte in zwei Schritten: (1) Wir stellen die Software unter ein Urheberrecht (Copyright), und (2) wir bieten Ihnen diese Lizenz an, die Ihnen das Recht gibt, die Software zu vervielfältigen, zu verbreiten und/oder zu verändern. \layout Standard Um die Autoren und uns zu schützen, wollen wir darüberhinaus sicherstellen, daß jeder erfährt, daß für diese freie Software keinerlei Garantie besteht. Wenn die Software von jemand anderem modifiziert und weitergegeben wird, möchten wir, daß die Empfänger wissen, daß sie nicht das Original erhalten haben, damit irgendwelche von anderen verursachte Probleme nicht den Ruf des ursprünglichen Autors schädigen. \layout Standard Schließlich und endlich ist jedes freie Programm permanent durch Software-Patent e bedroht. Wir möchten die Gefahr ausschließen, daß Distributoren eines freien Programms individuell Patente lizensieren - mit dem Ergebnis, daß das Programm proprietär würde. Um dies zu verhindern, haben wir klargestellt, daß jedes Patent entweder für freie Benutzung durch jedermann lizenziert werden muß oder überhaupt nicht lizenziert werden darf. \layout Standard Es folgen die genauen Bedingungen für die Vervielfältigung, Verbreitung und Bearbeitung: \layout Subsubsection Allgemeine öffentliche GNU-Lizenz Bedingungen für die Vervielfältigung, Verbreitung und Bearbeitung \layout Standard §0. Diese Lizenz gilt für jedes Programm und jedes andere Datenwerk, in dem ein entsprechender Vermerk des Copyright-Inhabers darauf hinweist, daß das Datenwerk unter den Bestimmungen dieser General Public License verbreitet werden darf. Im folgenden wird jedes derartige Programm oder Datenwerk als \begin_inset Quotes ald \end_inset das Programm \begin_inset Quotes ard \end_inset bezeichnet; die Formulierung \begin_inset Quotes ald \end_inset auf dem Programm basierendes Datenwerk \begin_inset Quotes ard \end_inset bezeichnet das Programm sowie jegliche Bearbeitung des Programms im urheberrech tlichen Sinne, also ein Datenwerk, welches das Programm, auch auszugsweise, sei es unverändert oder verändert und/oder in eine andere Sprache übersetzt, enthält. (Im folgenden wird die Übersetzung ohne Einschränkung als \begin_inset Quotes ald \end_inset Bearbeitung \begin_inset Quotes ard \end_inset eingestuft.) Jeder Lizenznehmer wird im folgenden als \begin_inset Quotes ald \end_inset Sie \begin_inset Quotes ard \end_inset angesprochen. \layout Standard Andere Handlungen als Vervielfältigung, Verbreitung und Bearbeitung werden von dieser Lizenz nicht berührt; sie fallen nicht in ihren Anwendungsbereich. Der Vorgang der Ausführung des Programms wird nicht eingeschränkt, und die Ausgaben des Programms unterliegen dieser Lizenz nur, wenn der Inhalt ein auf dem Programm basierendes Datenwerk darstellt (unabhängig davon, daß die Ausgabe durch die Ausführung des Programmes erfolgte). Ob dies zutrifft, hängt von den Funktionen des Programms ab. \layout Standard §1. Sie dürfen auf beliebigen Medien unveränderte Kopien des Quelltextes des Programms, wie sie ihn erhalten haben, anfertigen und verbreiten. Voraussetzung hierfür ist, daß Sie mit jeder Kopie einen entsprechenden Copyright-Vermerk sowie einen Haftungsausschluß veröffentlichen, alle Vermerke, die sich auf diese Lizenz und das Fehlen einer Garantie beziehen, unverändert lassen und desweiteren allen anderen Empfängern des Programms zusammen mit dem Programm eine Kopie dieser Lizenz zukommen lassen. \layout Standard Sie dürfen für den eigentlichen Kopiervorgang eine Gebühr verlangen. Wenn Sie es wünschen, dürfen Sie auch gegen Entgeld eine Garantie für das Programm anbieten. \layout Standard §2. Sie dürfen Ihre Kopie(n) des Programms oder eines Teils davon verändern, wodurch ein auf dem Programm basierendes Datenwerk entsteht; Sie dürfen derartige Bearbeitungen unter den Bestimmungen von Paragraph 1 vervielfältigen und verbreiten, vorausgesetzt, daß zusätzlich alle im folgenden genannten Bedingungen erfüllt werden: \layout Enumerate Sie müssen die veränderten Dateien mit einem auffälligen Vermerk versehen, der auf die von Ihnen vorgenommene Modifizierung und das Datum jeder Änderung hinweist. \layout Enumerate Sie müssen dafür sorgen, daß jede von Ihnen verbreitete oder veröffentlichte Arbeit, die ganz oder teilweise von dem Programm oder Teilen davon abgeleitet ist, Dritten gegenüber als Ganzes unter den Bedingungen dieser Lizenz ohne Lizenzgebühren zur Verfügung gestellt wird. \layout Enumerate Wenn das veränderte Programm normalerweise bei der Ausführung interaktiv Kommandos einliest, müssen Sie dafür sorgen, daß es, wenn es auf dem üblichsten Wege für solche interaktive Nutzung gestartet wird, eine Meldung ausgibt oder ausdruckt, die einen geeigneten Copyright-Vermerk enthält sowie einen Hinweis, daß es keine Gewährleistung gibt (oder anderenfalls, daß Sie Garantie leisten), und daß die Benutzer das Programm unter diesen Bedingungen weiter verbreiten dürfen. Auch muß der Benutzer darauf hingewiesen werden, wie er eine Kopie dieser Lizenz ansehen kann. (Ausnahme: Wenn das Programm selbst interaktiv arbeitet, aber normalerweise keine derartige Meldung ausgibt, muß Ihr auf dem Programm basierendes Datenwerk auch keine solche Meldung ausgeben). \layout Standard Diese Anforderungen gelten für das bearbeitete Datenwerk als Ganzes. Wenn identifizierbare Teile des Datenwerkes nicht von dem Programm abgeleitet sind und vernünftigerweise als unabhängige und eigenständige Datenwerke für sich selbst zu betrachten sind, dann gelten diese Lizenz und ihre Bedingung en nicht für die betroffenen Teile, wenn Sie diese als eigenständige Datenwerke weitergeben. Wenn Sie jedoch dieselben Abschnitte als Teil eines Ganzen weitergeben, das ein auf dem Programm basierendes Datenwerk darstellt, dann muß die Weitergabe des Ganzen nach den Bedingungen dieser Lizenz erfolgen, deren Bedingungen für weitere Lizenznehmer somit auf das gesamte Ganze ausgedehnt werden - und somit auf jeden einzelnen Teil, unabhängig vom jeweiligen Autor. \layout Standard Somit ist es nicht die Absicht dieses Abschnittes, Rechte für Datenwerke in Anspruch zu nehmen oder Ihnen die Rechte für Datenwerke streitig zu machen, die komplett von Ihnen geschrieben wurden; vielmehr ist es die Absicht, die Rechte zur Kontrolle der Verbreitung von Datenwerken, die auf dem Programm basieren oder unter seiner auszugsweisen Verwendung zusammenge stellt worden sind, auszuüben. \layout Standard Ferner bringt auch das einfache Zusammenlegen eines anderen Datenwerkes, das nicht auf dem Programm basiert, mit dem Programm oder einem auf dem Programm basierenden Datenwerk auf ein- und demselben Speicher- oder Vertriebsm edium dieses andere Datenwerk nicht in den Anwendungsbereich dieser Lizenz. \layout Standard §3. Sie dürfen das Programm (oder ein darauf basierendes Datenwerk gemäß Paragraph 2) als Objectcode oder in ausführbarer Form unter den Bedingungen der Paragraph en 1 und 2 kopieren und weitergeben - vorausgesetzt, daß Sie außerdem eine der folgenden Leistungen erbringen: \layout Enumerate Liefern Sie das Programm zusammen mit dem vollständigen zugehörigen maschinenles baren Quelltext auf einem für den Datenaustausch üblichen Medium aus, wobei die Verteilung unter den Bedingungen der Paragraphen 1 und 2 erfolgen muß. Oder: \layout Enumerate Liefern Sie das Programm zusammen mit einem mindestens drei Jahre lang gültigen schriftlichen Angebot aus, jedem Dritten eine vollständige maschinenlesbare Kopie des Quelltextes zur Verfügung zu stellen - zu nicht höheren Kosten als denen, die durch den physikalischen Kopiervorgang anfallen -, wobei der Quelltext unter den Bedingungen der Paragraphen 1 und 2 auf einem für den Datenaustausch üblichen Medium weitergegeben wird. Oder: \layout Enumerate Liefern Sie das Programm zusammen mit dem schriftlichen Angebot der Zurverfügung stellung des Quelltextes aus, das Sie selbst erhalten haben. (Diese Alternative ist nur für nicht-kommerzielle Verbreitung zulässig und nur, wenn Sie das Programm als Objectcode oder in ausführbarer Form mit einem entsprechenden Angebot gemäß Absatz b erhalten haben.) \layout Standard Unter dem Quelltext eines Datenwerkes wird diejenige Form des Datenwerkes verstanden, die für Bearbeitungen vorzugsweise verwendet wird. Für ein ausführbares Programm bedeutet \begin_inset Quotes ald \end_inset der komplette Quelltext \begin_inset Quotes ard \end_inset : Der Quelltext aller im Programm enthaltenen Module einschließlich aller zugehörigen Modulschnittstellen-Definitionsdateien sowie der zur Compilation und Installation verwendeten Skripte. Als besondere Ausnahme jedoch braucht der verteilte Quelltext nichts von dem zu enthalten, was üblicherweise (entweder als Quelltext oder in binärer Form) zusammen mit den Hauptkomponenten des Betriebssystems (Kernel, Compiler usw.) geliefert wird, unter dem das Programm läuft - es sei denn, diese Komponente selbst gehört zum ausführbaren Programm. \layout Standard Wenn die Verbreitung eines ausführbaren Programms oder von Objectcode dadurch erfolgt, daß der Kopierzugriff auf eine dafür vorgesehene Stelle gewährt wird, so gilt die Gewährung eines gleichwertigen Zugriffs auf den Quelltext als Verbreitung des Quelltextes, auch wenn Dritte nicht dazu gezwungen sind, den Quelltext zusammen mit dem Objectcode zu kopieren. \layout Standard §4. Sie dürfen das Programm nicht vervielfältigen, verändern, weiter lizenzieren oder verbreiten, sofern es nicht durch diese Lizenz ausdrücklich gestattet ist. Jeder anderweitige Versuch der Vervielfältigung, Modifizierung, Weiterlizenzier ung und Verbreitung ist nichtig und beendet automatisch Ihre Rechte unter dieser Lizenz. Jedoch werden die Lizenzen Dritter, die von Ihnen Kopien oder Rechte unter dieser Lizenz erhalten haben, nicht beendet, solange diese die Lizenz voll anerkennen und befolgen. \layout Standard §5. Sie sind nicht verpflichtet, diese Lizenz anzunehmen, da Sie sie nicht unterzeichnet haben. Jedoch gibt Ihnen nichts anderes die Erlaubnis, das Programm oder von ihm abgeleitete Datenwerke zu verändern oder zu verbreiten. Diese Handlungen sind gesetzlich verboten, wenn Sie diese Lizenz nicht anerkennen. Indem Sie das Programm (oder ein darauf basierendes Datenwerk) verändern oder verbreiten, erklären Sie Ihr Einverständnis mit dieser Lizenz und mit allen ihren Bedingungen bezüglich der Vervielfältigung, Verbreitung und Veränderung des Programms oder eines darauf basierenden Datenwerks. \layout Standard §6. Jedesmal, wenn Sie das Programm (oder ein auf dem Programm basierendes Datenwerk) weitergeben, erhält der Empfänger automatisch vom ursprünglichen Lizenzgeber die Lizenz, das Programm entsprechend den hier festgelegten Bestimmungen zu vervielfältigen, zu verbreiten und zu verändern. Sie dürfen keine weiteren Einschränkungen der Durchsetzung der hierin zugestand enen Rechte des Empfängers vornehmen. Sie sind nicht dafür verantwortlich, die Einhaltung dieser Lizenz durch Dritte durchzusetzen. \layout Standard §7. Sollten Ihnen infolge eines Gerichtsurteils, des Vorwurfs einer Patentverletzun g oder aus einem anderen Grunde (nicht auf Patentfragen begrenzt) Bedingungen (durch Gerichtsbeschluß, Vergleich oder anderweitig) auferlegt werden, die den Bedingungen dieser Lizenz widersprechen, so befreien Sie diese Umstände nicht von den Bestimmungen dieser Lizenz. Wenn es Ihnen nicht möglich ist, das Programm unter gleichzeitiger Beachtung der Bedingungen in dieser Lizenz und Ihrer anderweitigen Verpflichtungen zu verbreiten, dann dürfen Sie als Folge das Programm überhaupt nicht verbreite n. Wenn zum Beispiel ein Patent nicht die gebührenfreie Weiterverbreitung des Programms durch diejenigen erlaubt, die das Programm direkt oder indirekt von Ihnen erhalten haben, dann besteht der einzige Weg, sowohl das Patentrecht als auch diese Lizenz zu befolgen, darin, ganz auf die Verbreitung des Programms zu verzichten. \layout Standard Sollte sich ein Teil dieses Paragraphen als ungültig oder unter bestimmten Umständen nicht durchsetzbar erweisen, so soll dieser Paragraph seinem Sinne nach angewandt werden; im übrigen soll dieser Paragraph als Ganzes gelten. \layout Standard Zweck dieses Paragraphen ist nicht, Sie dazu zu bringen, irgendwelche Patente oder andere Eigentumsansprüche zu verletzen oder die Gültigkeit solcher Ansprüche zu bestreiten; dieser Paragraph hat einzig den Zweck, die Integrität des Verbreitungssystems der freien Software zu schützen, das durch die Praxis öffentlicher Lizenzen verwirklicht wird. Viele Leute haben großzügige Beiträge zu dem großen Angebot der mit diesem System verbreiteten Software im Vertrauen auf die konsistente Anwendung dieses Systems geleistet; es liegt am Autor/Geber, zu entscheiden, ob er die Software mittels irgendeines anderen Systems verbreiten will; ein Lizenzneh mer hat auf diese Entscheidung keinen Einfluß. \layout Standard Dieser Paragraph ist dazu gedacht, deutlich klarzustellen, was als Konsequenz aus dem Rest dieser Lizenz betrachtet wird. \layout Standard §8. Wenn die Verbreitung und/oder die Benutzung des Programms in bestimmten Staaten entweder durch Patente oder durch urheberrechtlich geschützte Schnittst ellen eingeschränkt ist, kann der Urheberrechtsinhaber, der das Programm unter diese Lizenz gestellt hat, eine explizite geographische Begrenzung der Verbreitung angeben, in der diese Staaten ausgeschlossen werden, so daß die Verbreitung nur innerhalb und zwischen den Staaten erlaubt ist, die nicht ausgeschlossen sind. In einem solchen Fall beinhaltet diese Lizenz die Beschränkung, als wäre sie in diesem Text niedergeschrieben. \layout Standard §9. Die Free Software Foundation kann von Zeit zu Zeit überarbeitete und/oder neue Versionen der General Public License veröffentlichen. Solche neuen Versionen werden vom Grundprinzip her der gegenwärtigen entspreche n, können aber im Detail abweichen, um neuen Problemen und Anforderungen gerecht zu werden. \layout Standard Jede Version dieser Lizenz hat eine eindeutige Versionsnummer. Wenn in einem Programm angegeben wird, daß es dieser Lizenz in einer bestimmten Versionsnummer oder \begin_inset Quotes ald \end_inset jeder späteren Version \begin_inset Quotes ard \end_inset ( \begin_inset Quotes ald \end_inset any later version \begin_inset Quotes ard \end_inset ) unterliegt, so haben Sie die Wahl, entweder den Bestimmungen der genannten Version zu folgen oder denen jeder beliebigen späteren Version, die von der Free Software Foundation veröffentlicht wurde. Wenn das Programm keine Versionsnummer angibt, können Sie eine beliebige Version wählen, die je von der Free Software Foundation veröffentlicht wurde. \layout Standard §10. Wenn Sie den Wunsch haben, Teile des Programms in anderen freien Programmen zu verwenden, deren Bedingungen für die Verbreitung anders sind, schreiben Sie an den Autor, um ihn um die Erlaubnis zu bitten. Für Software, die unter dem Copyright der Free Software Foundation steht, schreiben Sie an die Free Software Foundation; wir machen zu diesem Zweck gelegentlich Ausnahmen. Unsere Entscheidung wird von den beiden Zielen geleitet werden, zum einen den freien Status aller von unserer freien Software abgeleiteten Datenwerke zu erhalten und zum anderen das gemeinschaftliche Nutzen und Wiederverwenden von Software im allgemeinen zu fördern. \layout Subsubsection Keine Gewährleistung \layout Standard §11. Da das Programm ohne jegliche Kosten lizenziert wird, besteht keinerlei Gewährleistung für das Programm, soweit dies gesetzlich zulässig ist. Sofern nicht anderweitig schriftlich bestätigt, stellen die Copyright-Inhaber und/oder Dritte das Programm so zur Verfügung, \begin_inset Quotes ald \end_inset wie es ist \begin_inset Quotes ard \end_inset , ohne irgendeine Gewährleistung, weder ausdrücklich noch implizit, einschließli ch - aber nicht begrenzt auf - Marktreife oder Verwendbarkeit für einen bestimmten Zweck. Das volle Risiko bezüglich Qualität und Leistungsfähigkeit des Programms liegt bei Ihnen. Sollte sich das Programm als fehlerhaft herausstellen, liegen die Kosten für notwendigen Service, Reparatur oder Korrektur bei Ihnen. \layout Standard §12. In keinem Fall, außer wenn durch geltendes Recht gefordert oder schriftlich zugesichert, ist irgendein Copyright-Inhaber oder irgendein Dritter, der das Programm wie oben erlaubt modifiziert oder verbreitet hat, Ihnen gegenüber für irgendwelche Schäden haftbar, einschließlich jeglicher allgemeiner oder spezieller Schäden, Schäden durch Seiteneffekte (Nebenwirkungen) oder Folgeschäden, die aus der Benutzung des Programms oder der Unbenutzbarkeit des Programms folgen (einschließlich - aber nicht beschränkt auf - Datenverlust e, fehlerhafte Verarbeitung von Daten, Verluste, die von Ihnen oder anderen getragen werden müssen, oder dem Unvermögen des Programms, mit irgendeinem anderen Programm zusammenzuarbeiten), selbst wenn ein Copyright-Inhaber oder Dritter über die Möglichkeit solcher Schäden unterrichtet worden war. \layout Section Lizenz für Admin4phpCMS (en) \layout Subsection GNU GENERAL PUBLIC LICENSE \layout Standard Version 2, June 1991 \layout Standard Copyright \begin_inset ERT status Collapsed \layout Standard \backslash copy \end_inset 1989, 1991 Free Software Foundation, Inc. 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA \layout Standard Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. \layout Subsubsection Preamble \layout Standard The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. \layout Standard When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. \layout Standard To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. \layout Standard For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. \layout Standard We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. \layout Standard Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. \layout Standard Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. \layout Standard The precise terms and conditions for copying, distribution and modification follow. \layout Subsubsection TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION \layout Enumerate This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modificat ion".) Each licensee is addressed as "you". \newline Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. \layout Enumerate You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropria tely publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. \newline You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. \layout Enumerate You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: \begin_deeper \layout Enumerate You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. \layout Enumerate You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. \layout Enumerate If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) \newline These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. \newline Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. \newline In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. \end_deeper \layout Enumerate You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: \begin_deeper \layout Enumerate Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, \layout Enumerate Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, \layout Enumerate Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) \newline The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. \newline If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. \end_deeper \layout Enumerate You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. \layout Enumerate You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. \layout Enumerate Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. \layout Enumerate If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. \newline If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. \newline It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. \newline This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. \layout Enumerate If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographic al distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. \layout Enumerate The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. \newline Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. \layout Enumerate If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. \layout Subsubsection NO WARRANTY \layout Enumerate BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, 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. \layout Enumerate IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. \the_end Index: INSTALL =================================================================== RCS file: /cvsroot/phpcms-plugins/admin4phpCMS/INSTALL,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- INSTALL 7 Dec 2004 16:11:50 -0000 1.2 +++ INSTALL 7 Apr 2005 14:09:07 -0000 1.3 @@ -11,6 +11,7 @@ + XML_Util and so on and so on + 1. Installation --------------- @@ -18,13 +19,34 @@ After extracting you will find there some directories (docs/, include/, modules/) and some files (index.php, Changelog, INSTALL). +The following files and directories need write permissions for PHP: + * modules/user/user.db + * modules/perm/perm.xml + * temp/ + + 2. Configuration ---------------- +Check the file modules/config/config.xml. It is the central configfile of the administration system. 3. Integration into a phpCMS contentfile ---------------------------------------- +This is an example of a contentfile, that integrates Admin4phpCMS into a normal phpCMS-driven website: + +{SCRIPT_SUBMENU} +/cms/admin/index.php?showvalue=submenu + +{SCRIPT_CONTENT} +/cms/admin/index.php?showvalue=content + +{SCRIPT_MENU} +/cms/admin/index.php?showvalue=mainmenu + +{SCRIPT_STATUSBAR} +/cms/admin/index.php?showvalue=statusbar + 4. License - GPL ---------------- Index: index.php =================================================================== RCS file: /cvsroot/phpcms-plugins/admin4phpCMS/index.php,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- index.php 7 Dec 2004 06:34:48 -0000 1.9 +++ index.php 7 Apr 2005 14:09:07 -0000 1.10 @@ -1,6 +1,6 @@ <?php /** -* Admin4phpCMS - a modular administration-gui +* Admin4phpCMS - a modular administration-gui * * This script contains a modulare framework for several module. * This software was written to make the administration of a website as easy @@ -34,6 +34,9 @@ /* * $Log$ +* Revision 1.10 2005/04/07 14:09:07 mjahn +* Commit as backup during development +* * Revision 1.9 2004/12/07 06:34:48 mjahn * prepration of first Alpha-Preview * @@ -68,19 +71,29 @@ */ if (!isset ($GLOBALS ['admin4phpCMS'])) { + /** + * defines the webpath to the modules directory + */ define ('MODULE_PATH', '/cms/admin/modules/'); + /** + * defines the filesystem-path to the index.php + */ + define ('INDEX_PATH', dirname (__FILE__)); + + /** + * defines the version information of admin4phpCMS + */ define ('ADMIN4PHPCMS_VERSION', '$version v 1.8 2004/08/25 21:16:47'); /** - * Defines wether the debug-module shows its data or not - **/ + * defines wether the debug-module shows its data or not + */ define ('DEBUG', false); - error_reporting (E_ALL); /** - * Set the path for including the pear-packages - **/ + * define the path of the directory with the pear-packages + */ define ('PEAR_DIR', dirname (__FILE__).'/pear/'); /** @@ -88,8 +101,15 @@ * href-parameter in the links */ if (isset ($_REQUEST ['file'])) { + /** + * phpcms- integrated-mode + */ define ('INDEX_FILE', $_GET ['file']); } else { + /** + * non-phpcms-integrated-mode + * @ignore + */ define ('INDEX_FILE', basename (__FILE__)); } @@ -97,12 +117,23 @@ * set the path to the pear-directory */ if (!function_exists ('ini_set')) { + /** + * define the path to the PEAR-directory + */ define ('PATH_TO_PEAR', PEAR_DIR); } else { - $check = ini_set ('include_path', dirname(__FILE__).'/pear/'.PATH_SEPARATOR.ini_get ('include_path')); + $check = ini_set ('include_path', PEAR_DIR.PATH_SEPARATOR.ini_get ('include_path')); if (empty ($check) || $check === false) { + /** + * define the path to the PEAR-directory + * @ignore + */ define ('PATH_TO_PEAR', PEAR_DIR); } else { + /** + * define the path to the PEAR-directory + * @ignore + */ define ('PATH_TO_PEAR', ''); } } Index: .cvsignore =================================================================== RCS file: /cvsroot/phpcms-plugins/admin4phpCMS/.cvsignore,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- .cvsignore 7 Dec 2004 06:37:44 -0000 1.4 +++ .cvsignore 7 Apr 2005 14:09:06 -0000 1.5 @@ -1,2 +1,3 @@ pear docs +docs* |
From: Martin J. <mj...@us...> - 2005-04-07 14:09:53
|
Update of /cvsroot/phpcms-plugins/admin4phpCMS/include In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15012/include Modified Files: class.framework.php class.module.php Log Message: Commit as backup during development Index: class.module.php =================================================================== RCS file: /cvsroot/phpcms-plugins/admin4phpCMS/include/class.module.php,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- class.module.php 24 Jul 2004 08:58:24 -0000 1.6 +++ class.module.php 7 Apr 2005 14:09:09 -0000 1.7 @@ -18,6 +18,15 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * +* <b>Designing new modules</b> +* +* A Module consists of<ul> +* <li>a class file named class.module_MODULENAME.php with a class named +* module_MODULENAME</li> +* <li>a template-directory named "templates" with Smarty-Templates in it</li> +* <li>a directory named "language" with language-files in it</li> +* </ul> +* * @author Martin Jahn <mj...@us...> * @license http://opensource.org/licenses/gpl-license.php GNU Public License * @copyright Copyright (c) 2004, Martin Jahn @@ -27,6 +36,9 @@ **/ /* * $Log$ +* Revision 1.7 2005/04/07 14:09:09 mjahn +* Commit as backup during development +* * Revision 1.6 2004/07/24 08:58:24 mjahn * changed some things * Index: class.framework.php =================================================================== RCS file: /cvsroot/phpcms-plugins/admin4phpCMS/include/class.framework.php,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- class.framework.php 7 Dec 2004 06:34:48 -0000 1.8 +++ class.framework.php 7 Apr 2005 14:09:09 -0000 1.9 @@ -34,6 +34,9 @@ /* * $Log$ +* Revision 1.9 2005/04/07 14:09:09 mjahn +* Commit as backup during development +* * Revision 1.8 2004/12/07 06:34:48 mjahn * prepration of first Alpha-Preview * @@ -58,6 +61,14 @@ include_once (dirname(__FILE__).'/class.eventhandler.php'); include_once (dirname(__FILE__).'/class.module.php'); +if (DEBUG) { + /** + * set error-reporting to E_ALL + * only for debugging + */ + error_reporting (E_ALL); +} + /** * @package admin4phpCMS **/ @@ -120,16 +131,11 @@ $moduledir = realpath (dirname (__FILE__).'/../modules/'); foreach ($config as $id=>$module) { - // this is no module - if ($module->name != 'module') { - continue; - } - // calculate the path to the module file - $includefile = $moduledir.'/'.$module->attributes['id'].'/'.$module->attributes['include']; + $includefile = $moduledir.'/'.$id.'/'.$module ['file']; // load module - $actiondata = array ('filename'=>$includefile, 'class'=>$module->attributes['class']); + $actiondata = array ('filename'=>$includefile, 'class'=>$module ['class']); $this->eventhandler->event ('LOAD_MODULE', $actiondata); } } |
From: Martin J. <mj...@us...> - 2005-04-07 14:09:52
|
Update of /cvsroot/phpcms-plugins/admin4phpCMS/modules/user In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15012/modules/user Modified Files: class.module_user.php Added Files: user4phpcms.php Removed Files: layout.user.xml Log Message: Commit as backup during development Index: class.module_user.php =================================================================== RCS file: /cvsroot/phpcms-plugins/admin4phpCMS/modules/user/class.module_user.php,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- class.module_user.php 7 Dec 2004 06:34:46 -0000 1.10 +++ class.module_user.php 7 Apr 2005 14:09:03 -0000 1.11 @@ -2,7 +2,7 @@ /** * User- and permissionmanagment * -* This module is based on the package PEAR::LiveUser. +* This module is based on the package PEAR::Auth * * <b>License</b> * @@ -30,6 +30,9 @@ /* * $Log$ +* Revision 1.11 2005/04/07 14:09:03 mjahn +* Commit as backup during development +* * Revision 1.10 2004/12/07 06:34:46 mjahn * prepration of first Alpha-Preview * @@ -63,8 +66,6 @@ * include the authentication-class **/ include_once ('Auth.php'); -define ('US_IMGPATH', MODULE_PATH.'/filemanager/img/'); - /** * Class for user- and permission-managment * @@ -105,11 +106,12 @@ * The module registers its own events and connects his methods to some actions **/ function init () { + + global $GLOBALS; // connect to actions $this->_registerAction ('doParseParam', 'parseParam'); - $this->_registerAction ('doParseMenuMain', 'getMenuMain'); - $this->_registerAction ('doParseMenuSub', 'getMenuSub'); - $this->_registerAction ('doParseStatusbar', 'getStatusContent'); + $this->_registerAction ('doGetMenu', 'getMenu'); + $this->_registerAction ('doGetStatus', 'getStatus'); // provide my own actions to the eventhandler $this->_registerEvent ('USER_GET_DATA', 'doGetUserData'); @@ -120,12 +122,13 @@ $this->_registerAction ('doGetUserStatus', 'getUserStatus'); // get module-config from config-module - $actiondata1 = array ('module'=>'user', 'format'=>'array'); + $actiondata1 = array ('module'=>'user'); $this->_callEvent ('CONFIG_GET', $actiondata1); $this->CONF =& $actiondata1 ['config']; $this->_USER = new Auth('File', dirname (__FILE__).'/'.$this->CONF ['userfile']); $this->_USER->setShowLogin (false); + $GLOBALS ['user4phpcms'] =& $this->_USER; return true; } @@ -141,12 +144,9 @@ $this->_USER->start (); if ($this->_USER->checkAuth()) { $this->_userdata ['isLoggedIn'] = $this->_USER->checkAuth (); + $this->_userdata ['username'] = $this->_USER->getUsername (); } - // load our own extra template - $actiondata1 = array ('filename'=>dirname (__FILE__).'/layout.user.xml'); - $this->_callEvent ('LAYOUT_ADD_TEMPLATE', $actiondata1); - // check for logout if (isset ($actiondata ['post'] ['logout'])) { if (!isset ($actiondata ['post'] ['submit-login'])) { @@ -197,31 +197,24 @@ // check if we have to display something $this->display = (isset ($actiondata['request']['moduleid']) && $actiondata['request']['moduleid'] == 'user'); - // get the wanted action from the URI - $this->action = ''; - if (isset ($actiondata['request']['action'])) { - $this->action = $actiondata['request']['action']; - } - // if the user is not yet logged in if (!$this->_USER->checkAuth ()) { $this->action = 'login'; - } - // react onto the action - switch ($this->action) { - case 'login': - $this->_registerAction ('doProcess', 'processLogin'); - break; - case 'admin': - $this->_registerAction ('doProcess', 'processAdmin'); - break; - case 'profile': - $this->_registerAction ('doProcess', 'processProfile'); - break; - default: -// $this->_registerAction ('doProcess', 'processLogin'); + $this->display = true; } + if ($this->display) { + $this->_registerAction ('doGetData', 'getData'); + $this->_registerAction ('doGetLanguage', 'getLanguage'); + + if (!isset ($this->action) || trim ($this->action) == '') { + // get the wanted action from the URI + $this->action = ''; + if (isset ($actiondata['request']['action'])) { + $this->action = $actiondata['request']['action']; + } + } + } $actiondata1 = array ('module'=>'user', 'format'=>'array'); $this->_callEvent ('CONFIG_GET', $actiondata1); $this->_CONF = $actiondata1 ['config']; @@ -274,53 +267,53 @@ * * @param array $actiondata $actiondata['_root'] must provide the id of the parental element **/ - function getMenuMain (&$actiondata) { - - $root = $actiondata['_root']; + function getMenu(&$actiondata) { if (!$this->_USER->checkAuth ()) { - $actiondata1 = array ('_type'=>'menu_main_entry', '_root'=>$root, 'name'=>'Anmeldung', 'module'=>'user', '_id'=>'usermenu', '_root'=>'mainmenu', 'extra'=>'class="active"'); - $this->_callEvent('LAYOUT_ADD_ELEMENT', $actiondata1); + + $actiondata [$actiondata ['tag']] ['user'] [0] = array ('name'=>'Anmeldung', 'module'=>'user', 'action'=>'login', 'extra'=>'class="current"'); return true; } - - $actiondata1 = array ('_type'=>'menu_main_entry', '_root'=>$root, 'name'=>'Benutzerverwaltung', 'module'=>'user', '_id'=>'usermenu', '_root'=>'mainmenu', 'id'=>'', 'class'=>''); + + $data = array ('name'=>'Usermanagment', 'module'=>'user', 'action'=>'profile'); + $_data = array (); + if ($this->display) { - $actiondata1 ['extra'] = 'class="active"'; + + $data ['extra'] = 'class="current"'; + + $data1 = array ('name'=>'Profile', 'module'=>'user', 'action'=>'profile'); + if ($this->action == 'profile') { + $data1 ['extra'] = 'id="current"'; + } + $_data [] = $data1; + + $data1 = array ('name'=>'Managment', 'module'=>'user', 'action'=>'admin'); + if ($this->action == 'admin') { + $data1 ['extra'] = 'id="current"'; + } + $_data [] = $data1; + + $data ['_sub_'] = $_data; } - $this->_callEvent('LAYOUT_ADD_ELEMENT', $actiondata1); - return true; + + $actiondata [$actiondata ['tag']] ['user'] = array ($data); + + return true; } /** - * Get submenu of module + * Get language-array of module * - * @param array $actiondata $actiondata['_root'] must provide the id of the parental element - **/ - function getMenuSub (&$actiondata) { - if (!$this->_USER->checkAuth ()) { - return true; - } + * @param array $actiondata $actiondata['tag'] must provide the name of the + * variable + */ + function getLanguage (&$actiondata) { - if (!$this->display) { - return true; - } + $data = ''; + //$actiondata [$actiondata ['tag']] ['user'] = $data; - $root = $actiondata['_root']; - - $actiondata1 = array ('_type'=>'menu_sub_entry', '_root'=>$root, 'name'=>'Benutzer-Profil', 'module'=>'user', '_id'=>'userprofile', 'action'=>'profile'); - if ($this->action == 'profile') { - $actiondata1 ['extra'] = 'id="current"'; - } - $this->_callEvent('LAYOUT_ADD_ELEMENT', $actiondata1); - - $actiondata1 = array ('_type'=>'menu_sub_entry', '_root'=>$root, 'name'=>'Verwaltung', 'module'=>'user', '_id'=>'useroverview', 'action'=>'admin'); - if ($this->action == 'admin') { - $actiondata1 ['extra'] = 'id="current"'; - } - $this->_callEvent('LAYOUT_ADD_ELEMENT', $actiondata1); - return true; } @@ -329,38 +322,34 @@ * * @param array $actiondata $actiondata['_root'] must provide the id of the parental element **/ - function getLoginContent (&$actiondata) { - - $root = $actiondata['_root']; + function getData (&$actiondata) { - if (isset ($this->_USER) && $this->_USER->getStatus () != 0) { - $actiondata1 = array ('errortext'=>$this->_USER->getStatus ()); - $this->_callEvent ('ERROR_NOTICE', $actiondata1); - } - - $actiondata1 = array ('_id'=>'loginform', '_root'=>$root, '_type'=>'form', 'method'=>'post', 'action'=>INDEX_FILE); - $this->_callEvent('LAYOUT_ADD_ELEMENT', $actiondata1); - - $actiondata1 = array ('_id'=>'formhidden', '_root'=>'loginform', '_type'=>'form_input_hidden', 'name'=>'method', 'value'=>'post'); - $this->_callEvent('LAYOUT_ADD_ELEMENT', $actiondata1); + // react onto the action + $data = array ('action'=>$this->action); - $users =$this->_USER->listUsers (); - $list = ''; - foreach ($users as $id=>$user) { - $list .= '<option value="'.$user['username'].'">'.$user ['username'].'</option>'; + switch ($this->action) { + case 'admin':; + case 'login': + $data ['userlist'] = @$this->_USER->listUsers (); + break; + case 'profile': + $data ['userlist'] = @$this->_USER->listUsers (); + break; + default: +// $this->_registerAction ('doProcess', 'processLogin'); } - - $actiondata1 = array ('_id'=>'loginform-content', '_root'=>'loginform', '_type'=>'us_loginform', 'method'=>'post', 'userlist'=>$list); - $this->_callEvent('LAYOUT_ADD_ELEMENT', $actiondata1); - + if (isset ($_GET) && is_array ($_GET)) { + $data ['hidden_fields'] = array (); + foreach ($_GET as $id=>$value) { - $actiondata = array ('_id'=>'query-'.$id, '_type'=>'form_input_hidden', 'value'=>$value, 'name'=>$id, '_root'=>'loginform'); - $this->_callEvent('LAYOUT_ADD_ELEMENT', $actiondata); + $data ['hidden_fields'] [$value] = $id; } } + $actiondata [$actiondata ['tag']] ['user'] = $data; + return true; } @@ -370,78 +359,23 @@ * * @param array $actiondata $actiondata['_root'] must provide the id of the parental element **/ - function getStatusContent (&$actiondata) { - if ($this->_USER->checkAuth () == 1) { + function getStatus (&$actiondata) { - $root = $actiondata['_root']; + $data = array (); - $actiondata1 = array ('_id'=>'1', '_root'=>$root, '_type'=>'paragraph', 'content'=>$this->_USER->session['username'].' (<a href="?logout=logout">abmelden</a>)'); - $this->_callEvent('LAYOUT_ADD_ELEMENT', $actiondata1); + if (isset ($this->_USER) && $this->_USER->getStatus () != 0) { + $data [] = $this->_USER->getStatus (); } - return true; - } - /** - * Get content for admin content - * - * @param array $actiondata $actiondata['_root'] must provide the id of the parental element - **/ - function getAdminContent (&$actiondata) { - - $actiondata1 = array ('_root'=>$actiondata ['_root'], '_id'=>'container', '_type'=>'block', 'extra'=>'id="container"'); - $this->_callEvent ('LAYOUT_ADD_ELEMENT', $actiondata1); - - $actiondata1 = array ('_root'=>'container', '_id'=>'us_admin_form', '_type'=>'form'); - $this->_callEvent ('LAYOUT_ADD_ELEMENT', $actiondata1); - - $actiondata1 = array ('_root'=>'us_admin_form', '_id'=>'us_form1', '_type'=>'form_input_hidden', 'value'=>'admin', 'name'=>'action'); - $this->_callEvent ('LAYOUT_ADD_ELEMENT', $actiondata1); - - $actiondata1 = array ('_root'=>'us_admin_form', '_id'=>'us_form2', '_type'=>'form_input_hidden', 'value'=>'user', 'name'=>'moduleid'); - $this->_callEvent ('LAYOUT_ADD_ELEMENT', $actiondata1); - - $actiondata1 = array ('_root'=>'us_admin_form', '_id'=>'us_list', 'imgpath' => US_IMGPATH, '_type'=>'us_userlist'); - $this->_callEvent ('LAYOUT_ADD_ELEMENT', $actiondata1); - - @$user =& $this->_USER->listUsers (); - - if (PEAR::isError ($user)) { - return true; - } - - foreach ($user as $id=>$user) { - - $actiondata1 = array ('_root'=>'us_list', '_id'=>'user-'.$id, 'imgpath' => US_IMGPATH, '_type'=>'us_listentry', 'id'=>$id, 'username'=>$user ['username']); - $this->_callEvent ('LAYOUT_ADD_ELEMENT', $actiondata1); + if ($this->_USER->checkAuth () == 1) { + $data [] = $this->_USER->session['username'].' (<a href="?logout=logout">abmelden</a>)'; } - $actiondata1 = array ('_root'=>'us_admin_form', '_id'=>'new-user', '_type'=>'us_newuser'); - $this->_callEvent ('LAYOUT_ADD_ELEMENT', $actiondata1); + $actiondata [$actiondata ['tag']] ['user'] = $data; return true; } - /** - * Get content for user profile - * - * @param array $actiondata $actiondata['_root'] must provide the id of the parental element - **/ - function getProfileContent (&$actiondata) { - $items = get_object_vars ($this->_USER); - - $actiondata1 = array ('_root'=>$actiondata ['_root'], '_id'=>'profile-list', '_type'=>'ulist'); - $this->_callEvent ('LAYOUT_ADD_ELEMENT', $actiondata1); - - $num = count ($this->_USER); - foreach ($this->_USER as $id => $value) { - - $actiondata1 = array ('_root'=>'profile-list', '_id'=>'profile-list-'.$id, '_type'=>'list_entry', 'content'=>$id.' = '.$value); - $this->_callEvent ('LAYOUT_ADD_ELEMENT', $actiondata1); - - } - - return true; - } /** * Get content for statusbar --- layout.user.xml DELETED --- --- NEW FILE: user4phpcms.php --- <?php /** * user4phpcms * * <b>License</b> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * @author Martin Jahn <mj...@us...> * @license http://opensource.org/licenses/gpl-license.php GNU Public License * @copyright Copyright (c) 2005, Martin Jahn * @version $Id: user4phpcms.php,v 1.1 2005/04/07 14:09:03 mjahn Exp $ * @package user4phpcms */ /* * $Log: user4phpcms.php,v $ * Revision 1.1 2005/04/07 14:09:03 mjahn * Commit as backup during development * */ /** * include the authentication-class **/ ini_set ('include_path', realpath (dirname (__FILE__).'/../../pear').'/'.PATH_SEPARATOR.ini_get ('include_path')); include_once ('Auth.php'); class user4phpcms { function username () { if ($GLOBALS ['user4phpcms']->checkAuth()) { return $GLOBALS ['user4phpcms']->checkAuth (); } } function init () { if (isset ($GLOBALS ['user4phpcms'])) { return true; } $GLOBALS ['user4phpcms'] =& new Auth('File', dirname (__FILE__).'/user.db'); $GLOBALS ['user4phpcms']->setShowLogin (false); $GLOBALS ['user4phpcms']->start (); } function checkUser () { } function _loadUserdata () { } } ?> |
From: Martin J. <mj...@us...> - 2005-04-07 14:09:52
|
Update of /cvsroot/phpcms-plugins/admin4phpCMS/modules/layout In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15012/modules/layout Modified Files: layout.css class.module_layout.php gui.js Added Files: .cvsignore Removed Files: layout.xml gui.css layout.dtd Log Message: Commit as backup during development --- NEW FILE: .cvsignore --- smarty --- gui.css DELETED --- Index: class.module_layout.php =================================================================== RCS file: /cvsroot/phpcms-plugins/admin4phpCMS/modules/layout/class.module_layout.php,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- class.module_layout.php 7 Dec 2004 06:34:46 -0000 1.13 +++ class.module_layout.php 7 Apr 2005 14:09:04 -0000 1.14 @@ -30,6 +30,9 @@ /* * $Log$ +* Revision 1.14 2005/04/07 14:09:04 mjahn +* Commit as backup during development +* * Revision 1.13 2004/12/07 06:34:46 mjahn * prepration of first Alpha-Preview * @@ -67,14 +70,12 @@ * test */ -/** -* Include the PEAR::XML_Tree-class for parsing the layout.xml-file -* -* There is a little bug in the Node.php in this package. It replaces the entities '<', '>', '"' and '''. -* With this the output is not interpretable for clients -**/ -include_once (PATH_TO_PEAR.'XML/Tree.php'); -include_once (PATH_TO_PEAR.'XML/DTD/XmlValidator.php'); +if (!defined ('SMARTY_DIR')) { + /** + * define the path to the directory where the smarty files lays + */ + define ('SMARTY_DIR', dirname (__FILE__).'/smarty/'); +} /** * Layout-class @@ -96,55 +97,23 @@ class module_layout extends module { /** - * @var array saves the object-hierarchie of the layout-elements - * @access private - **/ - var $_elements = array (); - - /** - * @var array saves references to the layout-elements as quick-links - * @access private - **/ - var $_ids = array (); - - /** - * - * - * @var array saves the layout-data - * @example /home/martin/devel/admin4phpCMS/modules/layout/layout.xml included example-file - * @access private - **/ - var $_layout = array (); - - /** * Initializing * * Registers the needed and provided events and actions **/ function init () { - $this->_registerEvent ('LAYOUT_ADD_ELEMENT', 'doLayoutAddElement'); - $this->_registerEvent ('LAYOUT_ADD_TEMPLATE', 'doLayoutAddTemplate'); - $this->_registerEvent ('DISPLAY_PARSE_MENU_MAIN', 'doParseMenuMain'); - $this->_registerEvent ('DISPLAY_PARSE_STATUSBAR', 'doParseStatusbar'); - $this->_registerEvent ('DISPLAY_PARSE_MENU_SUB', 'doParseMenuSub'); - $this->_registerEvent ('DISPLAY_PARSE_ERROR', 'doParseError'); - $this->_registerEvent ('DISPLAY_PARSE_CONTENT', 'doParseContent'); + $this->_registerEvent ('GET_MENU', 'doGetMenu'); + $this->_registerEvent ('GET_STATUS', 'doGetStatus'); + $this->_registerEvent ('GET_DATA', 'doGetData'); + $this->_registerEvent ('GET_LANGUAGE', 'doGetLanguage'); $this->_registerAction ('doParseParam', 'parseParam'); - $this->_registerAction ('doLayoutAddElement', 'addElement'); - $this->_registerAction ('doLayoutAddTemplate', 'addTemplate'); $this->_registerAction ('doDisplay', 'displayLayout'); - - $this->_elements[0] = array ('_type'=>'document', 'id'=>'root'); - - - // parse the layoutfile for the elements - $this->_readLayoutFiles (dirname (__FILE__).'/layout.xml'); } function parseParam (&$actiondata) { $this->paramname = 'showvalue'; - $this->showtags = array ('mainmenu'=>'MENU_MAIN', 'statusbar'=>'STATUSBAR', 'submenu'=>'MENU_SUB', 'error'=>'ERROR', 'content'=>'CONTENT'); + $this->showtags = array ('menu'=>'MENU', 'status'=>'STATUS', 'data'=>'DATA'); if (!isset ($_GET [$this->paramname])) { $this->views = false; @@ -157,72 +126,6 @@ unset ($_GET [$this->paramname]); } - /** - * Add an element to the elements-list - * - * <p>$actiondata must provide the following information - * <ul> - * <li><b>type</b> type of the element in the file {@link /home/martin/devel/admin4phpCMS/modules/layout/layout.xml Example of the layoutfile})</li> - * <li><b>id</b> unique id of the element</li> - * </ul> - * - * @param array $actionhandler data of the element to insert - **/ - function addElement (&$actiondata) { - // get a reference to the parental element - $parent =& $this->_elements[0]; - if (isset ($actiondata['_root'])) { - $parent =& $this->_ids[$actiondata['_root']]; - } - - $id = ''; - if (!isset ($actiondata['_id'])) { - $actiondata ['_success'] = false; -// echo '1';print_r ($actiondata); - return false; - } - - if (isset ($this->_ids [$actiondata ['_id']])) { - $actiondata ['_success'] = false; -// echo '2';print_r ($actiondata); - return false; - } - - $this->_ids[$actiondata['_id']] = $actiondata; - //echo '<p>ADD_ELEMENT '.$actiondata ['_id'].'</p>'."\n"; - - if (isset ($parent['_sub'])) { - $parent['_sub'][] =& $this->_ids[$actiondata['_id']]; - } else { - $parent['_sub'][0] =& $this->_ids[$actiondata['_id']]; - } - $actiondata ['_success'] = true; - return true; - } - - function addTemplate (&$actiondata) { - // check if the file does exist - if (!file_exists ($actiondata ['filename'])) { - $actiondata ['_success'] = false; - return false; - } - - // check if the file does conform with the DTD -/* $DTD = new XmlValidator (); - if (!DTD->isValid (dirname (__FILE__).'/layout.dtd', $actiondata ['filename'])) { - $actiondata ['_success'] = false; - return false; - } - unset ($DTD); -*/ - // parse the file - // merge the parsed filedata with the layout-tree - $this->_readLayoutfiles ($actiondata ['filename']); - - $actiondata ['_success'] = true; - - return true; - } /** * Generate output for the framework @@ -231,153 +134,60 @@ **/ function displayLayout (&$actiondata) { - $actiondata2 = array (); - - // set tags that has to be replaced in the layout - foreach ($this->showtags as $tag=>$event) { - // set the container-element - $actiondata1 = array ('_type'=>'empty', '_id'=>$tag); - $this->_callEvent('LAYOUT_ADD_ELEMENT', $actiondata1); - - // get the content for the tag - $actiondata1 = array ('_root'=>$tag); - $this->_callEvent ('DISPLAY_PARSE_'.$event, $actiondata1); - - if (isset ($this->_ids[$tag]['_sub'])) { - $actiondata2 [$tag] = $this->displayElement ($this->_ids [$tag]); - } - } - - if ($this->views !== false) { - if ($this->views == 'mainmenu') { - echo '<ul>'."\n"; + include_once (SMARTY_DIR.'/Smarty.class.php'); + $smarty =& new Smarty; + $smarty->template_dir = dirname (__FILE__).'/templates/'; + $smarty->compile_dir = INDEX_PATH.'/temp/templates_c/'; + $smarty->cache_dir = INDEX_PATH.'/temp/cache/'; + $smarty->caching = false; + $smarty->cache_lifetime = 10; + + $actiondata1 = array ('tag'=>'lang', 'lang' => array ()); + $this->_callEvent ('GET_LANGUAGE', $actiondata1); + $lang = array (); + if (is_array ($actiondata1 ['lang'])) { + if (isset ($actiondata1 ['lang'] ['en'])) { + $lang = $actiondata1 ['lang'] ['en']; + unset ($actiondata1 ['lang'] ['en']); } - echo $this->displayElement ($this->_ids[$this->views]); - if ($this->views == 'mainmenu') { - echo '</ul>'."\n"; + foreach ($actiondata1 ['lang'] as $lang=>$data) { + if (!isset ($actiondata1 ['lang'] [$lang]) || !is_array ($actiondata1 ['lang'] [$lang])) { + $lang = array_merge ($lang, $actiondata1 ['lang'] [$lang]); + } } - } else { - // send output to browser - $actiondata2 ['_type'] = 'layout'; - $actiondata2 ['_id'] = 'admin4phpcms'; - $this->_callEvent('LAYOUT_ADD_ELEMENT', $actiondata2); - echo $this->displayElement ($this->_ids['admin4phpcms']); - } - } - - /** - * Displays a single element - * - * $element['_type'] specifies, which template is used for displaying this element - * - * @param array $element array with all the attributes for the element - **/ - function displayElement (&$element) { - - // check if there is a layout-template for the type of this element - if (!isset ($element['_type']) || !isset ($this->_layout[$element['_type']])) { - //echo '<p>Undefined layout type: '.$element['_type'].'</p>'."\n"; - return ''; - } - //echo '<p>Defined layout type: '.$element['_type'].'</p>'."\n"; - - if (!isset($element['content'])) { - $element['content'] = ''; - } - - if (isset ($element['_sub']) && is_array ($element['_sub'])) { - - // get the content of the sub-elements - $content = $this->displayGroup ($element['_sub']); - - // merge the sub-element-content with the params of the element - if (!isset ($element['content']) || $element['content'] == '') { - $element['content'] = $content; - } - } - - // create the search- and replace-arrays - $matches = preg_match_all ('°<layout:replace\sname="([^"]*)"\s(?:default="([^"]*)"\s)*\s*/>°im', $this->_layout[$element['_type']], $erg); - $search = $erg[0]; - $tags = $erg[1]; - $defaults = $erg[2]; - $replace = array(); - for ($i = 0; $i < $matches; $i++) { - if (!isset ($element[$tags[$i]])) { - $replace [$i] = $defaults[$i]; - } else { - $replace[$i] = $element[$tags[$i]]; - } } - return str_replace ($search, $replace, $this->_layout[$element['_type']]."\n"); - } + $smarty->assign ('lang', $lang); - /** - * Displays an array of elements - * - * This function walks recursively through the element-structure and parses the output of any element. - * - * @param array $elements array with the element-arrays - **/ - function displayGroup (&$elements) { - $o = ''; - $num = count ($elements); - for ($i = 0; $i < $num; $i++) { + // set tags that has to be replaced in the layout + foreach ($this->showtags as $tag=>$event) { - // if entry does not exists jump over - if (!isset ($elements[$i])) { + if ($this->views !== false && $this->views != $tag) { continue; } - - // check if sub-elements exist - $o .= $this->displayElement ($elements[$i]); - } - return $o; - } - - function _setTags () { - $this->_defaultTags = array (); - } - - /** - * Parse the template-file - * - * @access private - **/ - function _readLayoutFiles ($layoutfile) { - - if (!isset($layoutfile)) { - $actiondata1 = array ('errortext'=>'Layoutdatei layout.xml konnte nicht geladen werden!'); - $this->_callEvent ('ERROR_NOTICE', $actiondata1); - return false; - } - - if (!file_exists ($layoutfile)) { - $actiondata1 = array ('errortext'=>'Layoutdatei layout.xml konnte nicht geladen werden!'); - $this->_callEvent ('ERROR_NOTICE', $actiondata1); - return false; + // get the content for the tag + $actiondata1 = array ('tag'=>$tag, $tag => array ()); + $this->_callEvent ('GET_'.strtoupper ($event), $actiondata1); + ${$tag} = $actiondata1 [$tag]; } - $XML =& new XML_Tree ($layoutfile); - $this->_layoutdata =& $XML->getTreeFromFile (); - $num = count ($this->_layoutdata->children); - //print_r($this->_layoutdata); - for ($i = 0; $i < $num; $i++) { - if (!isset($this->_layoutdata->children[$i]->name)) { - continue; - } - - if ($this->_layoutdata->children[$i]->name != 'layout:insert') { - continue; - } + $smarty->assign ('MODULE_PATH', MODULE_PATH); + $smarty->assign ('INDEX_PATH', INDEX_PATH); + $smarty->assign ('INDEX_WEB', dirname (INDEX_FILE)); + $smarty->assign ('ADMIN4PHPCMS_VERSION', ADMIN4PHPCMS_VERSION); + $smarty->assign ('DEBUG', DEBUG); + $smarty->assign ('INDEX_FILE', INDEX_FILE); - if (!isset($this->_layoutdata->children[$i]->attributes['name'])) { - continue; + if ($this->views !== false) { + // show only one view + $smarty->assign ($this->views, ${$this->views}); + $smarty->display ('framework.'.$this->views.'.tpl'); + } else { + // send output to browser + foreach ($this->showtags as $tag=>$event) { + $smarty->assign ($tag, ${$tag}); } - - $this->_layout[$this->_layoutdata->children[$i]->attributes['name']] =& XML_Tree_Node::decodeXmlEntities($this->_layoutdata->children[$i]->content); + $smarty->display ('framework.tpl'); } - //print_r($this->_layout); } } --- layout.xml DELETED --- Index: gui.js =================================================================== RCS file: /cvsroot/phpcms-plugins/admin4phpCMS/modules/layout/gui.js,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- gui.js 25 Aug 2004 21:16:44 -0000 1.2 +++ gui.js 7 Apr 2005 14:09:04 -0000 1.3 @@ -38,6 +38,26 @@ tabs.push (id); } -window.onload = function onloadHide () { - displayTab (tabs [0]); +if (tabs.length > 0) { + window.onload = function onloadHide () { + displayTab (tabs [0]); + } +} + +function hideArea (id) { + if (!document.getElementById (id)) { + return false; + } + + document.getElementById (id).className = 'hidden'; + return true; +} + +function showArea (id) { + if (!document.getElementById (id)) { + return false; + } + + document.getElementById (id).className = ''; + return true; } \ No newline at end of file --- layout.dtd DELETED --- Index: layout.css =================================================================== RCS file: /cvsroot/phpcms-plugins/admin4phpCMS/modules/layout/layout.css,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- layout.css 7 Dec 2004 06:34:46 -0000 1.7 +++ layout.css 7 Apr 2005 14:09:04 -0000 1.8 @@ -1,16 +1,18 @@ +* { + padding:0; + border:0; + margin:0; +} + html, body { width:100%; font-size:100.01%; - padding:0; - border:0; - margin:0; background:#fff; } #content { - margin-left:192px; - padding:0; + margin-left:210px; background:#fff; } @@ -20,16 +22,16 @@ } #menu { - position:fixed; + position:absolute; top:0; left:0; height:100%; width:170px; - margin:0; padding:0 10px; border-right:2px outset #eee; border-bottom:2px outset #eee; - background:#eee; + background:#f0f0f0; + font-size:0.9em; } #menu img { @@ -38,20 +40,19 @@ #menu p { padding:0.2em; - border:1px inset #029544; + border:1px outset #999; color:#333; + margin:0.3em 0; } #menu p a { - color:#029544; + color:#00f; } #menu ul { list-style-type:none; - padding:0.3em; - margin:0; - border:0; - border:1px inset #029544; + border:1px outset #999; + margin:0.3em 0; } #menu ul li { @@ -59,362 +60,244 @@ margin:0; } +#menu li a { + border-bottom:1px solid #444; +} + +#menu li a.last { + border-bottom:0; +} + +#menu ul li a.current, #menu ul li a { padding:0.2em 0.5em; - margin:0.2em 0; display:block; text-decoration:none; - color:#029544; - background:#eee; - border:1px outset #029544; -} - - - -#menu ul li.active a, -#menu ul li a:hover { - background:#fff; - border:1px inset #029544; + color:#00f; } #menu ul li ul { - margin-left:1em; + margin:0 0 0 1em; + border:0; + border:0; + border-bottom:1px solid #444; } #menu ul li ul li { - margin-left:1em; -} - -label span { - display:block; + margin-left:0; + padding:0; } -textarea { - width:95%; - height:10em; -} +#menu ul li a.current, +#menu ul li a:hover { + background:#fff; + color:#f00; +} - #submenu { - background:#eee; +label span { display:block; - padding: 3px 0; - margin: 0 0 1em 0; - border-bottom: 1px solid #029544; - font: bold Verdana, sans-serif; - position:fixed; - top:0; - left:192px; - width:99%; -} - -#submenu li { - list-style: none; - margin: 0; - display: inline; -} - -#submenu li a { - padding: 3px 0.5em; - margin-left: 3px; - border: 1px solid #029544; - font-weight:bold; - border-bottom: none; - background: #ddd; - text-decoration: none; -} - -#submenu li a:link { - color: #029544; -} - -#submenu li a:visited { - color: #029544; -} - -#submenu li a:hover { - color: #029544; - font-weight:bold; - background: #fff; - border-color: #029544; -} - -#submenu li#current a { - background: white; - border-bottom: 1px solid white; -} - -#filelist { - list-style-type:none; - padding:0; - margin:0.1em 0; } -#filelist li, -#filelist li * { - font-family:monospace; -} - -#filelist li input, -#filelist li a, -#filelist li img { - float:left; -} -#filelist a.filename { - float:none; - text-decoration:none; - color:#029544; +.hidden { + display:none; } -#filelist li .filemtime, -#filelist li .filesize, -#filelist li .chmod { - float:right; +legend { + background:#029544; + display:block; + color:#fff; + padding:0.2em 0.5em; } -#filelist li .input { - margin-right:0.5em; +fieldset { + background:#f0f0f0; + max-width:60em; } -#filelist li { - max-width:50em; +.content .label, +.content label { clear:left; - padding-right:0.3em; -} - -li.line1 { - background-color:#fff; + display:block; + padding:0.5%; + border-top:0.2em solid #fff; } -li.line2 { - background-color:#eee; +.content .label span, +.content label span { + width:64%; + float:left; + } -.filename { - padding-left:1em; - line-height:16px; +.content input, +.content textarea, +.content select { + width:34%; + margin:0; } -.filemtime { - width:13em; -} -.filesize { - width:5em; - text-align:right; +.content select.horizontal { + width:10em; } -.chmod { - width:7em; - text-align:right; +.content input, +.content textarea, +.content select, +.content fieldset { + border:1px solid #663; + padding:0.2em; } -a img { +.content label.horizontal input, +.content input[type=checkbox], +.content input[type=radio], +.content input[type=image] { + width:auto; border:0; } -#filelist li.header, -#filelist li.footer { - border:1px outset #029544; - color:#029544; - background:#ddd; - margin:0.1em 0; -} - -#filelist li.header *, -#filelist li.footer * { - color:#029544; -} - -#filelist li.header { - padding-top:0.2em; -} - -#filelist li.footer { - padding-top:0.1em; - padding-bottom:0,1em; -} - - -.iconbar { - width:50em; - text-align:left; - margin:0.1em 0; - padding:0; +.content label.switch { + width:49%; + float:left; + clear:none; } -.iconbar a, -.iconbar input[type=submit], -.iconbar button[type=submit] { - background:none; - border:1px outset #029544; - padding:0.1em 0.5em; - margin:0; - color:#029544; - text-decoration:none; +.content .label label.horizontal { + display:block; + float:left; + width:6em; + clear:none; + border:0; } -.iconbar a { - line-height:16px; -} -#fileviewer { - font-family:monospace; - background:silver; - padding-right:1em; - width:50em; +.content label.horizontal { + display:inline; + width:49%; } -#fileviewer .linenumber { - float:left; - background-color:#fff; - color:#029544; - padding-right:0.5em; - width:3em; - text-align:right; +.content label.horizontal span { + width:4em; } -#fileviewer br { - clear:left; +.content .label.hover, +.content .label:hover, +.content label.hover, +.content label:hover { + background:#029544; + color:#fff; } - -#cacheview li { +/** Liste ohne Symbole **/ +ul.none { list-style-type:none; - margin-left:0em; - padding-left:0; } -#cacheview ul { - margin-left:1.5em; - padding-left:0; +/** horizontale Listen **/ +ul.horizontal { + margin:0; + padding:0; } -#cacheview li { - background:#ddd; - font-weight:normal; +ul.horizontal li { + display: inline; + list-style: none; + padding:0; + margin-left:0; } -#cacheview li.subdir { - background:#fff; +ul.trenner li { + padding:0 0.15em 0 0.5em; } -#cacheview li.subdir { - font-weight:bold; +ul.trenner li + li { + border-left:1px solid; } -#cacheview span.gzip { - color:#0f0; - font-weight:bold; +ul.trenner li.hidden + li { + border-left:0px solid; } -#cacheview span.statisch { - color:#f80; - font-weight:bold; +.info{ + position:relative; /*this is the key*/ + z-index:24; + cursor:help; } -#cacheview span.dynamisch { - color:#f00; - font-weight:bold; +.info.hover, +.info:hover { + z-index:25; } -#fm-options { - width:50em; - margin-left:1em; +.info span{ + display: none } -em { +.info.hover span, +.info:hover span { + display:block; + position:absolute; + top:2em; + left:2em; + width:20em; + border:0.2em ridge #000; + background-color:#f0f0f0; color:#029544; - font-style:normal; + padding:0.2em; + text-align: left; } -#fm-options { - font-family:monospace; - padding:0; - margin:1em 0; - max-width:50em; +.info b { + color:#000; } -p, -h2 { - font-family:sans-serif; +ul li { + margin-left:1em; } -.tabbed li a { - background:#eee; +table { + border-collapse:collapse; + max-width:60em; } -.tabbed li a.current { - border-top-style:outset; - border-left-style:outset; - border-right-style:outset; - border-color:#029544; - border-bottom-color:#ddd; +tfoot, +thead { background:#029544; - color:#eee; } -.tabbox { - border-style:outset; - background:#eee; +tfoot td, +thead th { + color:#fff; + font-weight:normal; + text-align:left; } - -legend { - border:1px solid #029544; - padding:0.1em; - padding: 0 0.5em; - font-family:sans-serif; - color:#eee; - background:#029544; +.line1 { + background:#f0f0f0; } -fieldset { - border:1px inset #029544; +.line2 { background:#fff; - margin:0.5em 0; - border-style:dashed; - padding:0.3em; -} - -label { - display:block; - width:35em; - clear:both; -} - -label select, -label input { - float:right; -} - - -label.horizontal { - display:inline; } -label.horizontal input { - float:none; -} - -li, -li * { - vertical-align:middle; +th, +td { + padding:0.2em; } -#taglist { - list-item-type:none; +tbody .line3, +tbody tr.hover, +tbody tr:hover { + background:#f00; } -#taglist dt { +dl.horizontal dt, +dl.horizontal dd { + float:left; padding:0.2em; - color:#029544; - border-top:1px solid; } -#taglist dd { - padding:0 0.2em; - margin-left:3em; -} - -.iframe { - overflow:auto; +dl.horizontal dt { + clear:left; + width:20em; } \ No newline at end of file |
From: Martin J. <mj...@us...> - 2005-04-07 14:09:51
|
Update of /cvsroot/phpcms-plugins/admin4phpCMS/modules/editor In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15012/modules/editor Modified Files: class.module_xml_editor.php Log Message: Commit as backup during development Index: class.module_xml_editor.php =================================================================== RCS file: /cvsroot/phpcms-plugins/admin4phpCMS/modules/editor/class.module_xml_editor.php,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- class.module_xml_editor.php 25 Aug 2004 21:16:43 -0000 1.3 +++ class.module_xml_editor.php 7 Apr 2005 14:09:05 -0000 1.4 @@ -28,6 +28,9 @@ /* * $Log$ +* Revision 1.4 2005/04/07 14:09:05 mjahn +* Commit as backup during development +* * Revision 1.3 2004/08/25 21:16:43 mjahn * step 1 is taken * @@ -171,8 +174,7 @@ $actiondata1 = array ('_id'=>$node_id.'-script', '_root'=>$root, '_type'=>'script', 'content'=>'registerTab (\''.$node_id.'\')'); $this->_callEvent ('LAYOUT_ADD_ELEMENT', $actiondata1); - $actiondata1 - $actiondata = array ('_id'=>$node_id.'-name', '_root'=>$node_id.'-link', '_type'=>'empty', 'content'=>$node->name); + $actiondata1 = array ('_id'=>$node_id.'-name', '_root'=>$node_id.'-link', '_type'=>'empty', 'content'=>$node->name); $this->_callEvent ('LAYOUT_ADD_ELEMENT', $actiondata1); $actiondata1 = array ('_id'=>$node_id.'-block', '_root'=>$input_id, '_type'=>'block', 'extra'=>'id="'.$node_id.'"'); |
From: Martin J. <mj...@us...> - 2005-04-07 14:09:51
|
Update of /cvsroot/phpcms-plugins/admin4phpCMS/modules/phpcms In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15012/modules/phpcms Modified Files: class.module_phpcms.php Added Files: module_phpcms_en.lng module_phpcms_de.lng Removed Files: layout.phpcms.xml Log Message: Commit as backup during development --- NEW FILE: module_phpcms_en.lng --- PHPCMS_1 = "phpCMS — Configuration" PHPCMS_2 = "phpCMS — Cache" PHPCMS_3 = "phpCMS — HTTP-Indexer!" PHPCMS_4 = "<h2>Welcome to phpCMS!</h2> <p>Thank you for installing phpCMS</p> <p> This is the phpCMS User Interface (GUI).<br /> After loggin in you can adjust your site’s basic settings. Have a look at the configuration. <br /> <br /> As a reminder: your log-in passwort is the one you set in the file named default.php! Should you ever forget your password you may change it there at any time. <br /> <br /> Have fun with phpCMS!</p>" PHPCMS_INDEXER_1 = "General information" PHPCMS_INDEXER_2 = "Name of the profile" PHPCMS_INDEXER_3 = "Path where we could store the indexfiles" PHPCMS_INDEXER_4 = "Compress indexfiles with GZip" PHPCMS_INDEXER_5 = "Buffer size in byte" PHPCMS_INDEXER_6 = "Spider options" PHPCMS_INDEXER_7 = "Take care of robots.txt file" PHPCMS_INDEXER_8 = "Take care of the robots-meta-tag" PHPCMS_INDEXER_9 = "Exclude all URLs that contain" PHPCMS_INDEXER_10 = "Include all URLs that contain " PHPCMS_INDEXER_11 = "Do not index files with following extensions" PHPCMS_INDEXER_12 = "Indexer options" PHPCMS_INDEXER_13 = "List of URIs we have to index" PHPCMS_INDEXER_14 = "Minimal word length" PHPCMS_INDEXER_15 = "Path to the stopword-file" PHPCMS_INDEXER_16 = "Use content of meta description tag as description" PHPCMS_INDEXER_17 = "Length of the descriptive text" PHPCMS_INDEXER_18 = "Change URLs" PHPCMS_INDEXER_19 = "Search with the following expression …" PHPCMS_INDEXER_20 = "… and replace it with the following text" PHPCMS_INDEXER_21 = "Select profile" PHPCMS_INDEXER_22 = "Create a new index for this profile" PHPCMS_INDEXER_23 = "Edit the settings of this profile" PHPCMS_INDEXER_24 = "Delete this profile" PHPCMS_INDEXER_25 = "Test the index with a searchform" PHPCMS_INDEXER_26 = "Test index" PHPCMS_INDEXER_27 = "Show the most important 10,20 50 words of the index" PHPCMS_INDEXER_28 = "Show wordlist" PHPCMS_INDEXER_29 = "Please create an index first" PHPCMS_INDEXER_30 = "No current index available" PHPCMS_IDNEXER_31 = "Save profile" PHPCMS_INDEXER_32 = "Save settings" PHPCMS_CACHE_1 = "Filename" PHPCMS_CACHE_2 = "Last changes" PHPCMS_CACHE_3 = "Filesize" PHPCMS_CACHE_4 = "Delete the cached document" PHPCMS_CACHE_5 = "View the document" PHPCMS_CACHE_6 = " files" PHPCMS_CONFIG_1 = "Save phpCMS settings" PHPCMS_CONFIG_2 = "Save settings" PHPCMS_CONFIG_3 = "Errors" PHPCMS_CONFIG_4 = "Files & directories" PHPCMS_CONFIG_5 = "Page extension to be parsed" PHPCMS_CONFIG_6 = "<b>Extension of content files to be parsed by phpCMS</b><br /> Each file has an extension. HTML-files usually end with <em>.html</em> or <em>.htm</em>.<br /> This setting tells phpCMS what extension files have that it should look out for and parse.<br /> In addition the web server has to be configured so as to send files with this extension to the parser (e.g. via a .htaccess file).<br /> <br /> Default configuration is <em>.htm</em>.<br /> Regular HTML-files might be given the extension <em>.html</em> and phpCMS-files the extension <em>.htm</em>. But even <em>.htm</em>-files that do not contain phpCMS fields would be passed through unchanged." PHPCMS_CONFIG_7 = "Name of default page" PHPCMS_CONFIG_8 = "<b>Page to display when directory is requested</b><br /> When a client sends a request that does not specify a page name phpCMS will try to display this page.<br /> <br /> Example: If your default page is set to <em>index</em> and your page extension is <em>.htm</em>, then a request for http://server.com/docs/ would return http://server.com/docs/index.htm, if it exists." PHPCMS_CONFIG_9 = "Extension for templatefiles" PHPCMS_CONFIG_10 = "<b>File extension of template files</b><br /> The file extension used for templates can of course also be chosen freely.<br /> But the parser must know it..." PHPCMS_CONFIG_11 = "Global projectfile" PHPCMS_CONFIG_12 = "<b>Optional: project file valid for entire project</b><br /> Here a global project-file can be defined that is used if a requested content-file contains phpCMS fields but no project-file or an invalid project-file is defined there." PHPCMS_CONFIG_13 = "Global home-directory for all projects" PHPCMS_CONFIG_14 = "<b>Optional: home directory valid for entire project</b><br /> Here a global home-directory can be defined that is used if the project-file doesn't contain a value to set the home-directory." PHPCMS_CONFIG_15 = "Plugin directory" PHPCMS_CONFIG_16 = "<b>Directory that stores phpCMS plug-ins</b><br /> The directory containing the Plug-Ins for phpCMS. Throughout your project you may use <em>/parser/plugs</em> to access this directory. " PHPCMS_CONFIG_17 = "Parser" PHPCMS_CONFIG_18 = "Field delimiter start tag" PHPCMS_CONFIG_19 = "<b>Character signaling start of field</b><br /> With this character the start of a field in templates and content-files is marked.<br />" PHPCMS_CONFIG_20 = "Field delimiter end tag" PHPCMS_CONFIG_21 = "<b>Character signaling end of field</b><br /> With this character the end of a field in templates and content-files is marked." PHPCMS_CONFIG_22 = "Menu delimiter" PHPCMS_CONFIG_23 = "some description needed (1)" PHPCMS_CONFIG_24 = "Tag parameter delimiter" PHPCMS_CONFIG_25 = "some description needed (2)" PHPCMS_CONFIG_26 = "Use PAXPHP in your files" PHPCMS_CONFIG_27 = "<b>Parse embedded PHP code</b><br /> PAXPHP lets you use regular PHP code within content, and template files.<br /> So called DynaTags are an application of PAXPHP. DynaTags are user-defined tags that are substituted by a PHP expression marked up as PAXPHP." PHPCMS_CONFIG_28 = "Use PAX-tags" PHPCMS_CONFIG_29 = "<b>Execute hard coded PAX TAGS</b><br /> PAX TAGS are special functions that are hard coded within the PAX-Module.<br /> Available PAX TAGS are: PAXINC, PAXLASTMOD, PAXCOMBO, PAXCOMBOALL, PAXMENU, PAXHIGLIGHT and PAXRTF." PHPCMS_CONFIG_30 = "Use Mail2Crypt" PHPCMS_CONFIG_31 = "<b>Hide e-mail addresses from SPAM bots</b><br /> By using a tag like <!-- MAIL2CRYPT mail@domain.xyz --> e-mail addresses are scrambled on the fly to protect them from being harvested by SPAM bots. When turned off, addresses inside the tag are displayed as plain text. Mail2Crypt is configurable. See the manual for details. (Currently still under “PAX”)<br /> <br /> In phpCMS 1.2.0 and higher Mail2Crypt is fully integrated into the Parser and works independent of PAX." PHPCMS_CONFIG_32 = "Mail2Crypt javascript directory" PHPCMS_CONFIG_33 = "<b>Path to Mail2Crypt JS file</b><br /> Here you may specify the path to the directory that contains the Mail2Crypt JavaScript file. The file <em>js_mail2crypt.js</em> which is needed to display scrambled e-mail addresses in the browser is located in the document root by default." PHPCMS_CONFIG_34 = "Mail2Crypt image directory" PHPCMS_CONFIG_35 = "<b>Path to Mail2Crypt icon file</b><br /> Here you may specify the path to the directory that contains the Mail2Crypt icon files. The Mail2Crypt standard icons are located in <em>/parser/gif/</em> by default." PHPCMS_CONFIG_36 = "Use online editor" PHPCMS_CONFIG_37 = "some description needed (3)" PHPCMS_CONFIG_38 = "Cache & Proxy" PHPCMS_CONFIG_39 = "Use server cache" PHPCMS_CONFIG_40 = "<b>Allow storage and reuse of parsed pages on the server</b><br /> Pages and parts of pages that have already been parsed by phpCMS can be stored (cached) on the server for reuse. A page thus cached does not have to be re-parsed on subsequent requests. Through this technique phpCMS significantly reduces the server’s response time.<br /> <br /> When deactivating this feature the server cache needs to be cleaned (flushed) manually since pages still in the cache otherwise remain to be served to visitors." PHPCMS_CONFIG_41 = "Server cache directory" PHPCMS_CONFIG_42 = "<b>Directory where to put the on server-side cached files</b><br /> Note to Linux users: PHP needs to have write access to the cache directory. Should you not want to grant write access - e.g. for security reasons - the phpCMS cache feature can not be used." PHPCMS_CONFIG_43 = "Use client cache" PHPCMS_CONFIG_44 = "<b>Allow storage of pages in the browser</b><br /> Gives visitor’s browsers permission to store pages in their local cache. This setting takes effect for pages that are, or could be, cached server side. If this is not the case (e.g. because pages contain dynamic plug-ins) phpCMS deactivates this setting automatically." PHPCMS_CONFIG_45 = "Livetime of Proxy/Client cache in days" PHPCMS_CONFIG_46 = "<b>Amount of time pages may be stored by clients</b><br /> Specifies the amount of time clients are allowed to keep pages stored in local cache. After this time clients must send a request for a fresh copy of a page. This setting will be ignored if pages contain dynamic content, i.e. scripts or dynamic plug-ins." PHPCMS_CONFIG_47 = "Transport" PHPCMS_CONFIG_48 = "Use GZip compression" PHPCMS_CONFIG_49 = "<b>Compress pages before transmission</b><br /> Specifies whether G-Zip compression should be used to transmit pages if available. All of today’s major browsers can handle G-Zip compressed files.<br /> <br /> With this option switched on HTML files will be compressed in size by up to 70% before they are transmitted over the Internet. Pages thus transmitted load faster in your visitors’ browsers, and cause less traffic volume on your server!<br /> <br /> This feature can be used only if PHP runs with the <em>zlib</em> extension loaded. Please refer to the PHP documentation for further details..." PHPCMS_CONFIG_50 = "Use Stealthmode" PHPCMS_CONFIG_51 = "<b>Make URLs search engine friendly</b><br /> Use of this feature is recommended.<br /> In Stealth-Mode pages are accessed through “normal” looking URLs, i.e. without the “parser.php?file=” showing in the address bar. This makes sure that pages can be found and are indexed by search engines. Search engines often will not index pages whose URL contains a “?”!<br /> <br /> Stealth-Mode requires that you be able to use .htaccess files to configure your server. If you cannot use .htaccess files and cannot configure your server so that <em>.htm</em> files will be parsed by phpCMS, this feature must be deactivated. " PHPCMS_CONFIG_52 = "Use Secure-Stealthmode" PHPCMS_CONFIG_53 = "<b>Disallow access to secured directories</b><br /> Use of this feature is recommended.<br /> Secure Stealth-Mode blocks requests via “parser.php?file=filename.htm” to prevent unauthorized access to files located in directories secured through a .htaccess file." PHPCMS_CONFIG_54 = "Dont change links with this extension in non-stealthmode" PHPCMS_CONFIG_55 = "<b>File types not to be sent to the Parser</b><br /> Specifies extensions of files references to which, in Non-Stealth-Mode, should not be changed to <em>parser.php?file=</em>.<br /> <br /> In Non-Stealth-Mode HTML links are automatically converted so that requests are correctly sent to the Parser. Here you may specify those kinds of files links to which should remain unchanged." PHPCMS_CONFIG_56 = "Produce errors on empty tags" PHPCMS_CONFIG_57 = "<b>Handling of empty substitute tags</b><br /> With this option activated an error-message will be displayed should a tag be encountered that does not have its substitution string defined.<br /> When deactivated, such a tag will be substituted with an empty string, i.e. it will not produce any output in the parsed page." PHPCMS_CONFIG_58 = "Use debug-mode" PHPCMS_CONFIG_59 = "<b>Display error messages during development cycle</b> When Debug-Mode is activated phpCMS’s internal error messages will be displayed if a file cannot be found or some other error occurs.<br /> <br /> In Debug-Mode you may also use the phpCMS Debug-Tool. The Debug-Tool can be accessed by appending “?debug” to the URL of any content page." PHPCMS_CONFIG_60 = "Custom error page" PHPCMS_CONFIG_61 = "<b>Use of customized error pages</b><br /> When Debug-Mode is not activated, the Error-Page will be displayed should phpCMS encounter an internal error condition.<br />" PHPCMS_CONFIG_62 = "Custom 404 error page" PHPCMS_CONFIG_63 = "<b>Special treatment is given to “Error 404s”</b><br /> Since, from the server’s perspective, the file “parser.php” is the only one that is ever requested, the server cannot detect a missing content page and, consequently, cannot generate a 404 error message.<br /> The difference between the regular “Error-Page” and the 404-Error-Page is that the 404-Error-Page is not sent via HTTP redirect, but instead is send directly by and though the parser. This way the status of the browser address bar remains unchanged.<br /> <br /> In the event that no 404-Error-Page is specified or none exists, the regular Error-Page will be displayed." PHPCMS_CONFIG_64 = "P3P Statement (<b>http://w3c.org/P3P/</b>)" PHPCMS_CONFIG_65 = "Send P3P header" PHPCMS_CONFIG_66 = "<b>Send P3P statement with HTTP header</b><br /> P3P stands for “Platform for Privacy Preferences Project”. P3P offers a way to send machine readable privacy information to the browser. Some browsers base the acceptance of cookies on this information.<br /> <br /> A starting point for finding further information is <b>http://w3c.org/P3P/</b>..." PHPCMS_CONFIG_67 = "Global P3P policy header" PHPCMS_CONFIG_68 = "<b>Content of global P3P header</b><br /> Here you may enter the machine readable P3P compact policy." PHPCMS_CONFIG_69 = "P3P policy href" PHPCMS_CONFIG_70 = "<b>Directory of P3P Policy</b><br /> Directory that stores the comprehensive P3P privacy policy. Usually this is “/w3c/p3p.xml”." PHPCMS_CONFIG_71 = "I18N" PHPCMS_CONFIG_72 = "Use I18N" PHPCMS_CONFIG_73 = "some description needed (4)" PHPCMS_CONFIG_74 = "Default languages" PHPCMS_CONFIG_75 = "some description needed (5)" PHPCMS_CONFIG_76 = "Possible languages" PHPCMS_CONFIG_77 = "some description needed (6)" PHPCMS_CONFIG_78 = "I18N-mode" PHPCMS_CONFIG_79 = "some description needed (7)" PHPCMS_CONFIG_80 = " suffix (www.example.com/index.de.htm)" PHPCMS_CONFIG_81 = " dir (www.example.com/de/index.htm)" PHPCMS_CONFIG_82 = " var (www.example.com/index.htm?lang=de)" PHPCMS_CONFIG_83 = " host (www.example.de/index.htm or www.example.com/index.htm)" PHPCMS_CONFIG_84 = " session (www.example.com/index.htm?sid=1234 or cookie)" PHPCMS_CONFIG_85 = "Name of the URI-parameter" PHPCMS_CONFIG_86 = "some description needed (8)" PHPCMS_CONFIG_87 = "Statistics" PHPCMS_CONFIG_88 = "Use statistic logging" PHPCMS_CONFIG_89 = "<b>Activate phpCMS’s statistics feature</b><br /> This will activate phpCMS’s statistics function. When activated, phpCMS logs information about every request it handles which can then be viewed through the statistics module in the GUI." PHPCMS_CONFIG_90 = "Directory where to put statistic data" PHPCMS_CONFIG_91 = "<b>Statistics data directories</b><br /> Specifies directories for storing several statistics data. phpCMS needs write permission for these directories!" PHPCMS_CONFIG_92 = "Path to directory for current stats" PHPCMS_CONFIG_93 = "some description neeeded (9) " PHPCMS_CONFIG_94 = "Filename for the log-file" PHPCMS_CONFIG_95 = "<b>Name of the statistics log file</b><br /> Name of the log file that stores raw data on every page request." PHPCMS_CONFIG_96 = "Path to the directory for the backup" PHPCMS_CONFIG_97 = "How many referrer should be counted?" PHPCMS_CONFIG_98 = "some description needed (10)" PHPCMS_CONFIG_99 = "Ignore the following referrer" PHPCMS_CONFIG_100 = "some description needed (11)" PHPCMS_CONFIG_101 = "How many Ips should be counted?" PHPCMS_CONFIG_102 = "some description needed (12)" PHPCMS_CONFIG_103 = "Ignore the folowing IPs" PHPCMS_CONFIG_104 = "some description needed (13)" PHPCMS_CONFIG_105 = "How many URLs should be counted?" PHPCMS_CONFIG_106 = "some description needed (14)" PHPCMS_CONFIG_107 = "Activate referrer-logging" PHPCMS_CONFIG_108 = "<b>Log and display top and last referrer data</b><br /> Keeps a log of referrers that point to your site. This function works independently of the statistics module. To display a list of top and last referrers on your pages, you may use the plug-in <em>topref.php</em>, located in the plug-ins directory, which can be integrated as a plug-in, script or via PAX." PHPCMS_CONFIG_109 = "Directory where to put the referrer-file" PHPCMS_CONFIG_110 = "<b>Directory of referrer log file</b><br /> Directory that is used to store the referrer log file. phpCMS needs write permission for this directory!" PHPCMS_CONFIG_111 = "Name of the referrer-file" PHPCMS_CONFIG_112 = "<b>Name of referrer log file</b> Specifies the name of the log file that stores referrer data." PHPCMS_CONFIG_113 = "Time for the reload-lock" PHPCMS_CONFIG_114 = "<b>Duration of referrer reload lock</b><br /> Specifies the amount of time in seconds during which repeat page requests originating from the same client IP will be ignored. This prevents, to some extent, an unwanted “counting up” of top referrers." PHPCMS_CONFIG_115 = "Sitemap and TOC" PHPCMS_CONFIG_116 = "Activate search-module with contentfield" PHPCMS_CONFIG_117 = "some description needed (15)" PHPCMS_CONFIG_118 = "Name of the contentfield for search-module" PHPCMS_CONFIG_119 = "some description needed (16)" PHPCMS_CONFIG_120 = "Activate TOC-module with contentfield" PHPCMS_CONFIG_121 = "some description needed (17)" PHPCMS_CONFIG_122 = "Name of the contentfield for TOC-module" PHPCMS_CONFIG_123 = "some description needed (18)" PHPCMS_CONFIG_124 = "Expert settings" PHPCMS_CONFIG_125 = "Show expert settings" PHPCMS_CONFIG_126 = "some description needed (19)" PHPCMS_CONFIG_127 = "Display all PHP warnings and notices" PHPCMS_CONFIG_128 = "some description needed (20)" PHPCMS_CONFIG_129 = "Fix bug in PHP output-buffering" PHPCMS_CONFIG_130 = "some description needed (20)" PHPCMS_CONFIG_131 = "Domainname of the account" PHPCMS_CONFIG_132 = "some description needed (20)" PHPCMS_CONFIG_133 = "Auto" PHPCMS_CONFIG_134 = "Direct" PHPCMS_CONFIG_135 = "Apply domain-name manually" PHPCMS_CONFIG_136 = "Document-Root of the account" PHPCMS_CONFIG_137 = "some description needed (21)" PHPCMS_CONFIG_138 = "$script-path" PHPCMS_CONFIG_139 = "some description needed (22)" PHPCMS_CONFIG_140 = "Apply $script_path manually" PHPCMS_CONFIG_141 = "$script_name" PHPCMS_CONFIG_142 = "some description needed (22)" PHPCMS_CONFIG_143 = "Apply $script_name manually" PHPCMS_CONFIG_144 = "" PHPCMS_CONFIG_145 = "" PHPCMS_CONFIG_146 = "" [de] PHPCMS_1 = "phpCMS — Konfiguration" PHPCMS_2 = "phpCMS — Cache" PHPCMS_3 = "phpCMS — HTTP-Indexer!" PHPCMS_4 = "<h2>Willkommen bei phpCMS!</h2> <p>Vielen Dank, daà Sie phpCMS {$moduledata.version} installiert haben</p> <p> Sie befinden sich im phpCMS Administrationsbereich.<br /> After loggin in you can adjust your site’s basic settings. Have a look at the configuration. <br /> <br /> As a reminder: your log-in passwort is the one you set in the file named default.php! Should you ever forget your password you may change it there at any time. <br /> <br /> Have fun with phpCMS!</p>" PHPCMS_INDEXER_1 = "Allgemeine Informationen" PHPCMS_INDEXER_2 = "Name des Profils" PHPCMS_INDEXER_3 = "Verzeichnis für die Indexdateien" PHPCMS_INDEXER_4 = "Indexdateien mit GZip komprimieren" PHPCMS_INDEXER_5 = "PuffergröÃe in Byte" PHPCMS_INDEXER_6 = "Spider Optionen" PHPCMS_INDEXER_7 = "Beachte die robots.txt" PHPCMS_INDEXER_8 = "Beachte das robots-meta-tag" PHPCMS_INDEXER_9 = "Schließe URLs aus, die folgende Begriffe beinhalten" PHPCMS_INDEXER_10 = "Schließe URLs ein, die folgende Begriffe beinhalten" PHPCMS_INDEXER_11 = "Dateien mit diesen Endungen nicht indizieren" PHPCMS_INDEXER_12 = "Indexer Optionen" PHPCMS_INDEXER_13 = "Liste mit erlaubten Servern" PHPCMS_INDEXER_14 = "Minimale Länge der zu erfassenden Begriffe" PHPCMS_INDEXER_15 = "Pfad zur Stopwortdatei" PHPCMS_INDEXER_16 = "Benutze Inhalt des Metatags <em>description</em> zur Seitenbeschreibung" PHPCMS_INDEXER_17 = "Länge des beschreibenden Textes" PHPCMS_INDEXER_18 = "Ãndere URLs" PHPCMS_INDEXER_19 = "Suche nach …" PHPCMS_INDEXER_20 = "… und ersetze mit" PHPCMS_INDEXER_21 = "Profil auswählen" PHPCMS_INDEXER_22 = "Erstelle einen neuen Index für dieses Profile" PHPCMS_INDEXER_23 = "Editiere die Einstellungen dieses Profiles" PHPCMS_INDEXER_24 = "Lösche dieses Profil" PHPCMS_INDEXER_25 = "Suche testen" PHPCMS_INDEXER_26 = "Suche testen" PHPCMS_INDEXER_27 = "Zeige die am häufigsten aufgetretenen Worte in diesem Index" PHPCMS_INDEXER_28 = "Wortliste" PHPCMS_INDEXER_29 = "Bitte erstellen Sie zuerst einen neuen Index" PHPCMS_INDEXER_30 = "Kein aktueller Index verfügbar" PHPCMS_IDNEXER_31 = "Profil speichern" PHPCMS_INDEXER_32 = "einstellungen speichern" PHPCMS_CACHE_1 = "dateiname" PHPCMS_CACHE_2 = "Letzte Änderungen" PHPCMS_CACHE_3 = "Größe" PHPCMS_CACHE_4 = "Lösche das gecachte Dokument" PHPCMS_CACHE_5 = "Betrachte das Dokument" PHPCMS_CACHE_6 = " Datei(en)" PHPCMS_CONFIG_1 = "Save phpCMS settings" PHPCMS_CONFIG_2 = "Save settings" PHPCMS_CONFIG_3 = "Errors" PHPCMS_CONFIG_4 = "Files & directories" PHPCMS_CONFIG_5 = "Page extension to be parsed" PHPCMS_CONFIG_6 = "<b>Extension of content files to be parsed by phpCMS</b><br /> Each file has an extension. HTML-files usually end with <em>.html</em> or <em>.htm</em>.<br /> This setting tells phpCMS what extension files have that it should look out for and parse.<br /> In addition the web server has to be configured so as to send files with this extension to the parser (e.g. via a .htaccess file).<br /> <br /> Default configuration is <em>.htm</em>.<br /> Regular HTML-files might be given the extension <em>.html</em> and phpCMS-files the extension <em>.htm</em>. But even <em>.htm</em>-files that do not contain phpCMS fields would be passed through unchanged." PHPCMS_CONFIG_7 = "Name of default page" PHPCMS_CONFIG_8 = "<b>Page to display when directory is requested</b><br /> When a client sends a request that does not specify a page name phpCMS will try to display this page.<br /> <br /> Example: If your default page is set to <em>index</em> and your page extension is <em>.htm</em>, then a request for http://server.com/docs/ would return http://server.com/docs/index.htm, if it exists." PHPCMS_CONFIG_9 = "Extension for templatefiles" PHPCMS_CONFIG_10 = "<b>File extension of template files</b><br /> The file extension used for templates can of course also be chosen freely.<br /> But the parser must know it..." PHPCMS_CONFIG_11 = "Global projectfile" PHPCMS_CONFIG_12 = "<b>Optional: project file valid for entire project</b><br /> Here a global project-file can be defined that is used if a requested content-file contains phpCMS fields but no project-file or an invalid project-file is defined there." PHPCMS_CONFIG_13 = "Global home-directory for all projects" PHPCMS_CONFIG_14 = "<b>Optional: home directory valid for entire project</b><br /> Here a global home-directory can be defined that is used if the project-file doesn't contain a value to set the home-directory." PHPCMS_CONFIG_15 = "Plugin directory" PHPCMS_CONFIG_16 = "<b>Directory that stores phpCMS plug-ins</b><br /> The directory containing the Plug-Ins for phpCMS. Throughout your project you may use <em>/parser/plugs</em> to access this directory. " PHPCMS_CONFIG_17 = "Parser" PHPCMS_CONFIG_18 = "Field delimiter start tag" PHPCMS_CONFIG_19 = "<b>Character signaling start of field</b><br /> With this character the start of a field in templates and content-files is marked.<br />" PHPCMS_CONFIG_20 = "Field delimiter end tag" PHPCMS_CONFIG_21 = "<b>Character signaling end of field</b><br /> With this character the end of a field in templates and content-files is marked." PHPCMS_CONFIG_22 = "Menu delimiter" PHPCMS_CONFIG_23 = "some description needed (1)" PHPCMS_CONFIG_24 = "Tag parameter delimiter" PHPCMS_CONFIG_25 = "some description needed (2)" PHPCMS_CONFIG_26 = "Use PAXPHP in your files" PHPCMS_CONFIG_27 = "<b>Parse embedded PHP code</b><br /> PAXPHP lets you use regular PHP code within content, and template files.<br /> So called DynaTags are an application of PAXPHP. DynaTags are user-defined tags that are substituted by a PHP expression marked up as PAXPHP." PHPCMS_CONFIG_28 = "Use PAX-tags" PHPCMS_CONFIG_29 = "<b>Execute hard coded PAX TAGS</b><br /> PAX TAGS are special functions that are hard coded within the PAX-Module.<br /> Available PAX TAGS are: PAXINC, PAXLASTMOD, PAXCOMBO, PAXCOMBOALL, PAXMENU, PAXHIGLIGHT and PAXRTF." PHPCMS_CONFIG_30 = "Use Mail2Crypt" PHPCMS_CONFIG_31 = "<b>Hide e-mail addresses from SPAM bots</b><br /> By using a tag like <!-- MAIL2CRYPT mail@domain.xyz --> e-mail addresses are scrambled on the fly to protect them from being harvested by SPAM bots. When turned off, addresses inside the tag are displayed as plain text. Mail2Crypt is configurable. See the manual for details. (Currently still under “PAX”)<br /> <br /> In phpCMS 1.2.0 and higher Mail2Crypt is fully integrated into the Parser and works independent of PAX." PHPCMS_CONFIG_32 = "Mail2Crypt javascript directory" PHPCMS_CONFIG_33 = "<b>Path to Mail2Crypt JS file</b><br /> Here you may specify the path to the directory that contains the Mail2Crypt JavaScript file. The file <em>js_mail2crypt.js</em> which is needed to display scrambled e-mail addresses in the browser is located in the document root by default." PHPCMS_CONFIG_34 = "Mail2Crypt image directory" PHPCMS_CONFIG_35 = "<b>Path to Mail2Crypt icon file</b><br /> Here you may specify the path to the directory that contains the Mail2Crypt icon files. The Mail2Crypt standard icons are located in <em>/parser/gif/</em> by default." PHPCMS_CONFIG_36 = "Use online editor" PHPCMS_CONFIG_37 = "some description needed (3)" PHPCMS_CONFIG_38 = "Cache & Proxy" PHPCMS_CONFIG_39 = "Use server cache" PHPCMS_CONFIG_40 = "<b>Allow storage and reuse of parsed pages on the server</b><br /> Pages and parts of pages that have already been parsed by phpCMS can be stored (cached) on the server for reuse. A page thus cached does not have to be re-parsed on subsequent requests. Through this technique phpCMS significantly reduces the server’s response time.<br /> <br /> When deactivating this feature the server cache needs to be cleaned (flushed) manually since pages still in the cache otherwise remain to be served to visitors." PHPCMS_CONFIG_41 = "Server cache directory" PHPCMS_CONFIG_42 = "<b>Directory where to put the on server-side cached files</b><br /> Note to Linux users: PHP needs to have write access to the cache directory. Should you not want to grant write access - e.g. for security reasons - the phpCMS cache feature can not be used." PHPCMS_CONFIG_43 = "Use client cache" PHPCMS_CONFIG_44 = "<b>Allow storage of pages in the browser</b><br /> Gives visitor’s browsers permission to store pages in their local cache. This setting takes effect for pages that are, or could be, cached server side. If this is not the case (e.g. because pages contain dynamic plug-ins) phpCMS deactivates this setting automatically." PHPCMS_CONFIG_45 = "Livetime of Proxy/Client cache in days" PHPCMS_CONFIG_46 = "<b>Amount of time pages may be stored by clients</b><br /> Specifies the amount of time clients are allowed to keep pages stored in local cache. After this time clients must send a request for a fresh copy of a page. This setting will be ignored if pages contain dynamic content, i.e. scripts or dynamic plug-ins." PHPCMS_CONFIG_47 = "Transport" PHPCMS_CONFIG_48 = "Use GZip compression" PHPCMS_CONFIG_49 = "<b>Compress pages before transmission</b><br /> Specifies whether G-Zip compression should be used to transmit pages if available. All of today’s major browsers can handle G-Zip compressed files.<br /> <br /> With this option switched on HTML files will be compressed in size by up to 70% before they are transmitted over the Internet. Pages thus transmitted load faster in your visitors’ browsers, and cause less traffic volume on your server!<br /> <br /> This feature can be used only if PHP runs with the <em>zlib</em> extension loaded. Please refer to the PHP documentation for further details..." PHPCMS_CONFIG_50 = "Use Stealthmode" PHPCMS_CONFIG_51 = "<b>Make URLs search engine friendly</b><br /> Use of this feature is recommended.<br /> In Stealth-Mode pages are accessed through “normal” looking URLs, i.e. without the “parser.php?file=” showing in the address bar. This makes sure that pages can be found and are indexed by search engines. Search engines often will not index pages whose URL contains a “?”!<br /> <br /> Stealth-Mode requires that you be able to use .htaccess files to configure your server. If you cannot use .htaccess files and cannot configure your server so that <em>.htm</em> files will be parsed by phpCMS, this feature must be deactivated. " PHPCMS_CONFIG_52 = "Use Secure-Stealthmode" PHPCMS_CONFIG_53 = "<b>Disallow access to secured directories</b><br /> Use of this feature is recommended.<br /> Secure Stealth-Mode blocks requests via “parser.php?file=filename.htm” to prevent unauthorized access to files located in directories secured through a .htaccess file." PHPCMS_CONFIG_54 = "Dont change links with this extension in non-stealthmode" PHPCMS_CONFIG_55 = "<b>File types not to be sent to the Parser</b><br /> Specifies extensions of files references to which, in Non-Stealth-Mode, should not be changed to <em>parser.php?file=</em>.<br /> <br /> In Non-Stealth-Mode HTML links are automatically converted so that requests are correctly sent to the Parser. Here you may specify those kinds of files links to which should remain unchanged." PHPCMS_CONFIG_56 = "Produce errors on empty tags" PHPCMS_CONFIG_57 = "<b>Handling of empty substitute tags</b><br /> With this option activated an error-message will be displayed should a tag be encountered that does not have its substitution string defined.<br /> When deactivated, such a tag will be substituted with an empty string, i.e. it will not produce any output in the parsed page." PHPCMS_CONFIG_58 = "Use debug-mode" PHPCMS_CONFIG_59 = "<b>Display error messages during development cycle</b> When Debug-Mode is activated phpCMS’s internal error messages will be displayed if a file cannot be found or some other error occurs.<br /> <br /> In Debug-Mode you may also use the phpCMS Debug-Tool. The Debug-Tool can be accessed by appending “?debug” to the URL of any content page." PHPCMS_CONFIG_60 = "Custom error page" PHPCMS_CONFIG_61 = "<b>Use of customized error pages</b><br /> When Debug-Mode is not activated, the Error-Page will be displayed should phpCMS encounter an internal error condition.<br />" PHPCMS_CONFIG_62 = "Custom 404 error page" PHPCMS_CONFIG_63 = "<b>Special treatment is given to “Error 404s”</b><br /> Since, from the server’s perspective, the file “parser.php” is the only one that is ever requested, the server cannot detect a missing content page and, consequently, cannot generate a 404 error message.<br /> The difference between the regular “Error-Page” and the 404-Error-Page is that the 404-Error-Page is not sent via HTTP redirect, but instead is send directly by and though the parser. This way the status of the browser address bar remains unchanged.<br /> <br /> In the event that no 404-Error-Page is specified or none exists, the regular Error-Page will be displayed." PHPCMS_CONFIG_64 = "P3P Statement (<b>http://w3c.org/P3P/</b>)" PHPCMS_CONFIG_65 = "Send P3P header" PHPCMS_CONFIG_66 = "<b>Send P3P statement with HTTP header</b><br /> P3P stands for “Platform for Privacy Preferences Project”. P3P offers a way to send machine readable privacy information to the browser. Some browsers base the acceptance of cookies on this information.<br /> <br /> A starting point for finding further information is <b>http://w3c.org/P3P/</b>..." PHPCMS_CONFIG_67 = "Global P3P policy header" PHPCMS_CONFIG_68 = "<b>Content of global P3P header</b><br /> Here you may enter the machine readable P3P compact policy." PHPCMS_CONFIG_69 = "P3P policy href" PHPCMS_CONFIG_70 = "<b>Directory of P3P Policy</b><br /> Directory that stores the comprehensive P3P privacy policy. Usually this is “/w3c/p3p.xml”." PHPCMS_CONFIG_71 = "I18N" PHPCMS_CONFIG_72 = "Use I18N" PHPCMS_CONFIG_73 = "some description needed (4)" PHPCMS_CONFIG_74 = "Default languages" PHPCMS_CONFIG_75 = "some description needed (5)" PHPCMS_CONFIG_76 = "Possible languages" PHPCMS_CONFIG_77 = "some description needed (6)" PHPCMS_CONFIG_78 = "I18N-mode" PHPCMS_CONFIG_79 = "some description needed (7)" PHPCMS_CONFIG_80 = " suffix (www.example.com/index.de.htm)" PHPCMS_CONFIG_81 = " dir (www.example.com/de/index.htm)" PHPCMS_CONFIG_82 = " var (www.example.com/index.htm?lang=de)" PHPCMS_CONFIG_83 = " host (www.example.de/index.htm or www.example.com/index.htm)" PHPCMS_CONFIG_84 = " session (www.example.com/index.htm?sid=1234 or cookie)" PHPCMS_CONFIG_85 = "Name of the URI-parameter" PHPCMS_CONFIG_86 = "some description needed (8)" PHPCMS_CONFIG_87 = "Statistics" PHPCMS_CONFIG_88 = "Use statistic logging" PHPCMS_CONFIG_89 = "<b>Activate phpCMS’s statistics feature</b><br /> This will activate phpCMS’s statistics function. When activated, phpCMS logs information about every request it handles which can then be viewed through the statistics module in the GUI." PHPCMS_CONFIG_90 = "Directory where to put statistic data" PHPCMS_CONFIG_91 = "<b>Statistics data directories</b><br /> Specifies directories for storing several statistics data. phpCMS needs write permission for these directories!" PHPCMS_CONFIG_92 = "Path to directory for current stats" PHPCMS_CONFIG_93 = "some description neeeded (9) " PHPCMS_CONFIG_94 = "Filename for the log-file" PHPCMS_CONFIG_95 = "<b>Name of the statistics log file</b><br /> Name of the log file that stores raw data on every page request." PHPCMS_CONFIG_96 = "Path to the directory for the backup" PHPCMS_CONFIG_97 = "How many referrer should be counted?" PHPCMS_CONFIG_98 = "some description needed (10)" PHPCMS_CONFIG_99 = "Ignore the following referrer" PHPCMS_CONFIG_100 = "some description needed (11)" PHPCMS_CONFIG_101 = "How many Ips should be counted?" PHPCMS_CONFIG_102 = "some description needed (12)" PHPCMS_CONFIG_103 = "Ignore the folowing IPs" PHPCMS_CONFIG_104 = "some description needed (13)" PHPCMS_CONFIG_105 = "How many URLs should be counted?" PHPCMS_CONFIG_106 = "some description needed (14)" PHPCMS_CONFIG_107 = "Activate referrer-logging" PHPCMS_CONFIG_108 = "<b>Log and display top and last referrer data</b><br /> Keeps a log of referrers that point to your site. This function works independently of the statistics module. To display a list of top and last referrers on your pages, you may use the plug-in <em>topref.php</em>, located in the plug-ins directory, which can be integrated as a plug-in, script or via PAX." PHPCMS_CONFIG_109 = "Directory where to put the referrer-file" PHPCMS_CONFIG_110 = "<b>Directory of referrer log file</b><br /> Directory that is used to store the referrer log file. phpCMS needs write permission for this directory!" PHPCMS_CONFIG_111 = "Name of the referrer-file" PHPCMS_CONFIG_112 = "<b>Name of referrer log file</b> Specifies the name of the log file that stores referrer data." PHPCMS_CONFIG_113 = "Time for the reload-lock" PHPCMS_CONFIG_114 = "<b>Duration of referrer reload lock</b><br /> Specifies the amount of time in seconds during which repeat page requests originating from the same client IP will be ignored. This prevents, to some extent, an unwanted “counting up” of top referrers." PHPCMS_CONFIG_115 = "Sitemap and TOC" PHPCMS_CONFIG_116 = "Activate search-module with contentfield" PHPCMS_CONFIG_117 = "some description needed (15)" PHPCMS_CONFIG_118 = "Name of the contentfield for search-module" PHPCMS_CONFIG_119 = "some description needed (16)" PHPCMS_CONFIG_120 = "Activate TOC-module with contentfield" PHPCMS_CONFIG_121 = "some description needed (17)" PHPCMS_CONFIG_122 = "Name of the contentfield for TOC-module" PHPCMS_CONFIG_123 = "some description needed (18)" PHPCMS_CONFIG_124 = "Expert settings" PHPCMS_CONFIG_125 = "Show expert settings" PHPCMS_CONFIG_126 = "some description needed (19)" PHPCMS_CONFIG_127 = "Display all PHP warnings and notices" PHPCMS_CONFIG_128 = "some description needed (20)" PHPCMS_CONFIG_129 = "Fix bug in PHP output-buffering" PHPCMS_CONFIG_130 = "some description needed (20)" PHPCMS_CONFIG_131 = "Domainname of the account" PHPCMS_CONFIG_132 = "some description needed (20)" PHPCMS_CONFIG_133 = "Auto" PHPCMS_CONFIG_134 = "Direct" PHPCMS_CONFIG_135 = "Apply domain-name manually" PHPCMS_CONFIG_136 = "Document-Root of the account" PHPCMS_CONFIG_137 = "some description needed (21)" PHPCMS_CONFIG_138 = "$script-path" PHPCMS_CONFIG_139 = "some description needed (22)" PHPCMS_CONFIG_140 = "Apply $script_path manually" PHPCMS_CONFIG_141 = "$script_name" PHPCMS_CONFIG_142 = "some description needed (22)" PHPCMS_CONFIG_143 = "Apply $script_name manually" PHPCMS_CONFIG_144 = "" PHPCMS_CONFIG_145 = "" PHPCMS_CONFIG_146 = "" Index: class.module_phpcms.php =================================================================== RCS file: /cvsroot/phpcms-plugins/admin4phpCMS/modules/phpcms/class.module_phpcms.php,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- class.module_phpcms.php 7 Dec 2004 06:34:49 -0000 1.6 +++ class.module_phpcms.php 7 Apr 2005 14:09:08 -0000 1.7 @@ -28,10 +28,15 @@ /* * $Log$ -* Revision 1.6 2004/12/07 06:34:49 mjahn -* prepration of first Alpha-Preview +* Revision 1.7 2005/04/07 14:09:08 mjahn +* Commit as backup during development * */ + +/** [...1102 lines suppressed...] + function _ffilesize ($size) { + $factor = 0; + while ($size > 1024) { + $factor++; + $size /= 1024; } - return strcmp($a, $b); + switch ($factor) { + case 3: return round($size).' GB'; + case 2: return round($size).' MB'; + case 1: return round($size).' kB'; + default:return $size.' B'; + } + + return round ($size / $factor); } - // function sortCacheList } ?> \ No newline at end of file --- layout.phpcms.xml DELETED --- --- NEW FILE: module_phpcms_de.lng --- PHPCMS_1 = "phpCMS — Konfiguration" PHPCMS_2 = "phpCMS — Cache" PHPCMS_3 = "phpCMS — HTTP-Indexer!" PHPCMS_4 = "<h2>Willkommen bei phpCMS!</h2> <p>Vielen Dank, daß Sie phpCMS installiert haben</p> <p> Sie befinden sich im phpCMS Administrationsbereich. </p> <p> Viel Spaß mit phpCMS!</p>" PHPCMS_INDEXER_1 = "Allgemeine Informationen" PHPCMS_INDEXER_2 = "Name des Profils" PHPCMS_INDEXER_3 = "Verzeichnis für die Indexdateien" PHPCMS_INDEXER_4 = "Indexdateien mit GZip komprimieren" PHPCMS_INDEXER_5 = "PuffergröÃe in Byte" PHPCMS_INDEXER_6 = "Spider Optionen" PHPCMS_INDEXER_7 = "Beachte die robots.txt" PHPCMS_INDEXER_8 = "Beachte das robots-meta-tag" PHPCMS_INDEXER_9 = "Schließe URLs aus, die folgende Begriffe beinhalten" PHPCMS_INDEXER_10 = "Schließe URLs ein, die folgende Begriffe beinhalten" PHPCMS_INDEXER_11 = "Dateien mit diesen Endungen nicht indizieren" PHPCMS_INDEXER_12 = "Indexer Optionen" PHPCMS_INDEXER_13 = "Liste mit erlaubten Servern" PHPCMS_INDEXER_14 = "Minimale Länge der zu erfassenden Begriffe" PHPCMS_INDEXER_15 = "Pfad zur Stopwortdatei" PHPCMS_INDEXER_16 = "Benutze Inhalt des Metatags <em>description</em> zur Seitenbeschreibung" PHPCMS_INDEXER_17 = "Länge des beschreibenden Textes" PHPCMS_INDEXER_18 = "Ändere URLs" PHPCMS_INDEXER_19 = "Suche nach …" PHPCMS_INDEXER_20 = "… und ersetze mit" PHPCMS_INDEXER_21 = "Profil auswählen" PHPCMS_INDEXER_22 = "Erstelle einen neuen Index für dieses Profile" PHPCMS_INDEXER_23 = "Editiere die Einstellungen dieses Profiles" PHPCMS_INDEXER_24 = "Lösche dieses Profil" PHPCMS_INDEXER_25 = "Suche testen" PHPCMS_INDEXER_26 = "Suche testen" PHPCMS_INDEXER_27 = "Zeige die am häufigsten aufgetretenen Worte in diesem Index" PHPCMS_INDEXER_28 = "Wortliste" PHPCMS_INDEXER_29 = "Bitte erstellen Sie zuerst einen neuen Index" PHPCMS_INDEXER_30 = "Kein aktueller Index verfügbar" PHPCMS_INDEXER_31 = "Profil speichern" PHPCMS_INDEXER_32 = "Einstellungen speichern" PHPCMS_CACHE_1 = "Dateiname" PHPCMS_CACHE_2 = "Letzte Änderungen" PHPCMS_CACHE_3 = "Größe" PHPCMS_CACHE_4 = "Lösche das gecachte Dokument" PHPCMS_CACHE_5 = "Betrachte das Dokument" PHPCMS_CACHE_6 = " Datei(en)" PHPCMS_CONFIG_1 = "Save phpCMS settings" PHPCMS_CONFIG_2 = "Save settings" PHPCMS_CONFIG_3 = "Errors" PHPCMS_CONFIG_4 = "Files & directories" PHPCMS_CONFIG_5 = "Page extension to be parsed" PHPCMS_CONFIG_6 = "<b>Extension of content files to be parsed by phpCMS</b><br /> Each file has an extension. HTML-files usually end with <em>.html</em> or <em>.htm</em>.<br /> This setting tells phpCMS what extension files have that it should look out for and parse.<br /> In addition the web server has to be configured so as to send files with this extension to the parser (e.g. via a .htaccess file).<br /> <br /> Default configuration is <em>.htm</em>.<br /> Regular HTML-files might be given the extension <em>.html</em> and phpCMS-files the extension <em>.htm</em>. But even <em>.htm</em>-files that do not contain phpCMS fields would be passed through unchanged." PHPCMS_CONFIG_7 = "Name of default page" PHPCMS_CONFIG_8 = "<b>Page to display when directory is requested</b><br /> When a client sends a request that does not specify a page name phpCMS will try to display this page.<br /> <br /> Example: If your default page is set to <em>index</em> and your page extension is <em>.htm</em>, then a request for http://server.com/docs/ would return http://server.com/docs/index.htm, if it exists." PHPCMS_CONFIG_9 = "Extension for templatefiles" PHPCMS_CONFIG_10 = "<b>File extension of template files</b><br /> The file extension used for templates can of course also be chosen freely.<br /> But the parser must know it…" PHPCMS_CONFIG_11 = "Global projectfile" PHPCMS_CONFIG_12 = "<b>Optional: project file valid for entire project</b><br /> Here a global project-file can be defined that is used if a requested content-file contains phpCMS fields but no project-file or an invalid project-file is defined there." PHPCMS_CONFIG_13 = "Global home-directory for all projects" PHPCMS_CONFIG_14 = "<b>Optional: home directory valid for entire project</b><br /> Here a global home-directory can be defined that is used if the project-file doesn't contain a value to set the home-directory." PHPCMS_CONFIG_15 = "Plugin directory" PHPCMS_CONFIG_16 = "<b>Directory that stores phpCMS plug-ins</b><br /> The directory containing the Plug-Ins for phpCMS. Throughout your project you may use <em>/parser/plugs</em> to access this directory. " PHPCMS_CONFIG_17 = "Parser" PHPCMS_CONFIG_18 = "Field delimiter start tag" PHPCMS_CONFIG_19 = "<b>Character signaling start of field</b><br /> With this character the start of a field in templates and content-files is marked.<br />" PHPCMS_CONFIG_20 = "Field delimiter end tag" PHPCMS_CONFIG_21 = "<b>Character signaling end of field</b><br /> With this character the end of a field in templates and content-files is marked." PHPCMS_CONFIG_22 = "Menu delimiter" PHPCMS_CONFIG_23 = "some description needed (1)" PHPCMS_CONFIG_24 = "Tag parameter delimiter" PHPCMS_CONFIG_25 = "some description needed (2)" PHPCMS_CONFIG_26 = "Use PAXPHP in your files" PHPCMS_CONFIG_27 = "<b>Parse embedded PHP code</b><br /> PAXPHP lets you use regular PHP code within content, and template files.<br /> So called DynaTags are an application of PAXPHP. DynaTags are user-defined tags that are substituted by a PHP expression marked up as PAXPHP." PHPCMS_CONFIG_28 = "Use PAX-tags" PHPCMS_CONFIG_29 = "<b>Execute hard coded PAX TAGS</b><br /> PAX TAGS are special functions that are hard coded within the PAX-Module.<br /> Available PAX TAGS are: PAXINC, PAXLASTMOD, PAXCOMBO, PAXCOMBOALL, PAXMENU, PAXHIGLIGHT and PAXRTF." PHPCMS_CONFIG_30 = "Use Mail2Crypt" PHPCMS_CONFIG_31 = "<b>Hide e-mail addresses from SPAM bots</b><br /> By using a tag like <!-- MAIL2CRYPT mail@domain.xyz --> e-mail addresses are scrambled on the fly to protect them from being harvested by SPAM bots. When turned off, addresses inside the tag are displayed as plain text. Mail2Crypt is configurable. See the manual for details. (Currently still under “PAX”)<br /> <br /> In phpCMS 1.2.0 and higher Mail2Crypt is fully integrated into the Parser and works independent of PAX." PHPCMS_CONFIG_32 = "Mail2Crypt javascript directory" PHPCMS_CONFIG_33 = "<b>Path to Mail2Crypt JS file</b><br /> Here you may specify the path to the directory that contains the Mail2Crypt JavaScript file. The file <em>js_mail2crypt.js</em> which is needed to display scrambled e-mail addresses in the browser is located in the document root by default." PHPCMS_CONFIG_34 = "Mail2Crypt image directory" PHPCMS_CONFIG_35 = "<b>Path to Mail2Crypt icon file</b><br /> Here you may specify the path to the directory that contains the Mail2Crypt icon files. The Mail2Crypt standard icons are located in <em>/parser/gif/</em> by default." PHPCMS_CONFIG_36 = "Use online editor" PHPCMS_CONFIG_37 = "some description needed (3)" PHPCMS_CONFIG_38 = "Cache & Proxy" PHPCMS_CONFIG_39 = "Use server cache" PHPCMS_CONFIG_40 = "<b>Allow storage and reuse of parsed pages on the server</b><br /> Pages and parts of pages that have already been parsed by phpCMS can be stored (cached) on the server for reuse. A page thus cached does not have to be re-parsed on subsequent requests. Through this technique phpCMS significantly reduces the server’s response time.<br /> <br /> When deactivating this feature the server cache needs to be cleaned (flushed) manually since pages still in the cache otherwise remain to be served to visitors." PHPCMS_CONFIG_41 = "Server cache directory" PHPCMS_CONFIG_42 = "<b>Directory where to put the on server-side cached files</b><br /> Note to Linux users: PHP needs to have write access to the cache directory. Should you not want to grant write access - e.g. for security reasons - the phpCMS cache feature can not be used." PHPCMS_CONFIG_43 = "Use client cache" PHPCMS_CONFIG_44 = "<b>Allow storage of pages in the browser</b><br /> Gives visitor’s browsers permission to store pages in their local cache. This setting takes effect for pages that are, or could be, cached server side. If this is not the case (e.g. because pages contain dynamic plug-ins) phpCMS deactivates this setting automatically." PHPCMS_CONFIG_45 = "Livetime of Proxy/Client cache in days" PHPCMS_CONFIG_46 = "<b>Amount of time pages may be stored by clients</b><br /> Specifies the amount of time clients are allowed to keep pages stored in local cache. After this time clients must send a request for a fresh copy of a page. This setting will be ignored if pages contain dynamic content, i.e. scripts or dynamic plug-ins." PHPCMS_CONFIG_47 = "Transport" PHPCMS_CONFIG_48 = "Use GZip compression" PHPCMS_CONFIG_49 = "<b>Compress pages before transmission</b><br /> Specifies whether G-Zip compression should be used to transmit pages if available. All of today’s major browsers can handle G-Zip compressed files.<br /> <br /> With this option switched on HTML files will be compressed in size by up to 70% before they are transmitted over the Internet. Pages thus transmitted load faster in your visitors’ browsers, and cause less traffic volume on your server!<br /> <br /> This feature can be used only if PHP runs with the <em>zlib</em> extension loaded. Please refer to the PHP documentation for further details…" PHPCMS_CONFIG_50 = "Use Stealthmode" PHPCMS_CONFIG_51 = "<b>Make URLs search engine friendly</b><br /> Use of this feature is recommended.<br /> In Stealth-Mode pages are accessed through “normal” looking URLs, i.e. without the “parser.php?file=” showing in the address bar. This makes sure that pages can be found and are indexed by search engines. Search engines often will not index pages whose URL contains a “?”!<br /> <br /> Stealth-Mode requires that you be able to use .htaccess files to configure your server. If you cannot use .htaccess files and cannot configure your server so that <em>.htm</em> files will be parsed by phpCMS, this feature must be deactivated. " PHPCMS_CONFIG_52 = "Use Secure-Stealthmode" PHPCMS_CONFIG_53 = "<b>Disallow access to secured directories</b><br /> Use of this feature is recommended.<br /> Secure Stealth-Mode blocks requests via “parser.php?file=filename.htm” to prevent unauthorized access to files located in directories secured through a .htaccess file." PHPCMS_CONFIG_54 = "Dont change links with this extension in non-stealthmode" PHPCMS_CONFIG_55 = "<b>File types not to be sent to the Parser</b><br /> Specifies extensions of files references to which, in Non-Stealth-Mode, should not be changed to <em>parser.php?file=</em>.<br /> <br /> In Non-Stealth-Mode HTML links are automatically converted so that requests are correctly sent to the Parser. Here you may specify those kinds of files links to which should remain unchanged." PHPCMS_CONFIG_56 = "Produce errors on empty tags" PHPCMS_CONFIG_57 = "<b>Handling of empty substitute tags</b><br /> With this option activated an error-message will be displayed should a tag be encountered that does not have its substitution string defined.<br /> When deactivated, such a tag will be substituted with an empty string, i.e. it will not produce any output in the parsed page." PHPCMS_CONFIG_58 = "Use debug-mode" PHPCMS_CONFIG_59 = "<b>Display error messages during development cycle</b> When Debug-Mode is activated phpCMS’s internal error messages will be displayed if a file cannot be found or some other error occurs.<br /> <br /> In Debug-Mode you may also use the phpCMS Debug-Tool. The Debug-Tool can be accessed by appending “?debug” to the URL of any content page." PHPCMS_CONFIG_60 = "Custom error page" PHPCMS_CONFIG_61 = "<b>Use of customized error pages</b><br /> When Debug-Mode is not activated, the Error-Page will be displayed should phpCMS encounter an internal error condition.<br />" PHPCMS_CONFIG_62 = "Custom 404 error page" PHPCMS_CONFIG_63 = "<b>Special treatment is given to “Error 404s”</b><br /> Since, from the server’s perspective, the file “parser.php” is the only one that is ever requested, the server cannot detect a missing content page and, consequently, cannot generate a 404 error message.<br /> The difference between the regular “Error-Page” and the 404-Error-Page is that the 404-Error-Page is not sent via HTTP redirect, but instead is send directly by and though the parser. This way the status of the browser address bar remains unchanged.<br /> <br /> In the event that no 404-Error-Page is specified or none exists, the regular Error-Page will be displayed." PHPCMS_CONFIG_64 = "P3P Statement (<b>http://w3c.org/P3P/</b>)" PHPCMS_CONFIG_65 = "Send P3P header" PHPCMS_CONFIG_66 = "<b>Send P3P statement with HTTP header</b><br /> P3P stands for “Platform for Privacy Preferences Project”. P3P offers a way to send machine readable privacy information to the browser. Some browsers base the acceptance of cookies on this information.<br /> <br /> A starting point for finding further information is <b>http://w3c.org/P3P/</b>…" PHPCMS_CONFIG_67 = "Global P3P policy header" PHPCMS_CONFIG_68 = "<b>Content of global P3P header</b><br /> Here you may enter the machine readable P3P compact policy." PHPCMS_CONFIG_69 = "P3P policy href" PHPCMS_CONFIG_70 = "<b>Directory of P3P Policy</b><br /> Directory that stores the comprehensive P3P privacy policy. Usually this is “/w3c/p3p.xml”." PHPCMS_CONFIG_71 = "I18N" PHPCMS_CONFIG_72 = "Use I18N" PHPCMS_CONFIG_73 = "some description needed (4)" PHPCMS_CONFIG_74 = "Default languages" PHPCMS_CONFIG_75 = "some description needed (5)" PHPCMS_CONFIG_76 = "Possible languages" PHPCMS_CONFIG_77 = "some description needed (6)" PHPCMS_CONFIG_78 = "I18N-mode" PHPCMS_CONFIG_79 = "some description needed (7)" PHPCMS_CONFIG_80 = " suffix (www.example.com/index.de.htm)" PHPCMS_CONFIG_81 = " dir (www.example.com/de/index.htm)" PHPCMS_CONFIG_82 = " var (www.example.com/index.htm?lang=de)" PHPCMS_CONFIG_83 = " host (www.example.de/index.htm or www.example.com/index.htm)" PHPCMS_CONFIG_84 = " session (www.example.com/index.htm?sid=1234 or cookie)" PHPCMS_CONFIG_85 = "Name of the URI-parameter" PHPCMS_CONFIG_86 = "some description needed (8)" PHPCMS_CONFIG_87 = "Statistics" PHPCMS_CONFIG_88 = "Use statistic logging" PHPCMS_CONFIG_89 = "<b>Activate phpCMS’s statistics feature</b><br /> This will activate phpCMS’s statistics function. When activated, phpCMS logs information about every request it handles which can then be viewed through the statistics module in the GUI." PHPCMS_CONFIG_90 = "Directory where to put statistic data" PHPCMS_CONFIG_91 = "<b>Statistics data directories</b><br /> Specifies directories for storing several statistics data. phpCMS needs write permission for these directories!" PHPCMS_CONFIG_92 = "Path to directory for current stats" PHPCMS_CONFIG_93 = "some description neeeded (9) " PHPCMS_CONFIG_94 = "Filename for the log-file" PHPCMS_CONFIG_95 = "<b>Name of the statistics log file</b><br /> Name of the log file that stores raw data on every page request." PHPCMS_CONFIG_96 = "Path to the directory for the backup" PHPCMS_CONFIG_97 = "How many referrer should be counted?" PHPCMS_CONFIG_98 = "some description needed (10)" PHPCMS_CONFIG_99 = "Ignore the following referrer" PHPCMS_CONFIG_100 = "some description needed (11)" PHPCMS_CONFIG_101 = "How many Ips should be counted?" PHPCMS_CONFIG_102 = "some description needed (12)" PHPCMS_CONFIG_103 = "Ignore the folowing IPs" PHPCMS_CONFIG_104 = "some description needed (13)" PHPCMS_CONFIG_105 = "How many URLs should be counted?" PHPCMS_CONFIG_106 = "some description needed (14)" PHPCMS_CONFIG_107 = "Activate referrer-logging" PHPCMS_CONFIG_108 = "<b>Log and display top and last referrer data</b><br /> Keeps a log of referrers that point to your site. This function works independently of the statistics module. To display a list of top and last referrers on your pages, you may use the plug-in <em>topref.php</em>, located in the plug-ins directory, which can be integrated as a plug-in, script or via PAX." PHPCMS_CONFIG_109 = "Directory where to put the referrer-file" PHPCMS_CONFIG_110 = "<b>Directory of referrer log file</b><br /> Directory that is used to store the referrer log file. phpCMS needs write permission for this directory!" PHPCMS_CONFIG_111 = "Name of the referrer-file" PHPCMS_CONFIG_112 = "<b>Name of referrer log file</b> Specifies the name of the log file that stores referrer data." PHPCMS_CONFIG_113 = "Time for the reload-lock" PHPCMS_CONFIG_114 = "<b>Duration of referrer reload lock</b><br /> Specifies the amount of time in seconds during which repeat page requests originating from the same client IP will be ignored. This prevents, to some extent, an unwanted “counting up” of top referrers." PHPCMS_CONFIG_115 = "Sitemap and TOC" PHPCMS_CONFIG_116 = "Activate search-module with contentfield" PHPCMS_CONFIG_117 = "some description needed (15)" PHPCMS_CONFIG_118 = "Name of the contentfield for search-module" PHPCMS_CONFIG_119 = "some description needed (16)" PHPCMS_CONFIG_120 = "Activate TOC-module with contentfield" PHPCMS_CONFIG_121 = "some description needed (17)" PHPCMS_CONFIG_122 = "Name of the contentfield for TOC-module" PHPCMS_CONFIG_123 = "some description needed (18)" PHPCMS_CONFIG_124 = "Expert settings" PHPCMS_CONFIG_125 = "Show expert settings" PHPCMS_CONFIG_126 = "some description needed (19)" PHPCMS_CONFIG_127 = "Display all PHP warnings and notices" PHPCMS_CONFIG_128 = "some description needed (20)" PHPCMS_CONFIG_129 = "Fix bug in PHP output-buffering" PHPCMS_CONFIG_130 = "some description needed (20)" PHPCMS_CONFIG_131 = "Domainname of the account" PHPCMS_CONFIG_132 = "some description needed (20)" PHPCMS_CONFIG_133 = "Auto" PHPCMS_CONFIG_134 = "Direct" PHPCMS_CONFIG_135 = "Apply domain-name manually" PHPCMS_CONFIG_136 = "Document-Root of the account" PHPCMS_CONFIG_137 = "some description needed (21)" PHPCMS_CONFIG_138 = "$script-path" PHPCMS_CONFIG_139 = "some description needed (22)" PHPCMS_CONFIG_140 = "Apply $script_path manually" PHPCMS_CONFIG_141 = "$script_name" PHPCMS_CONFIG_142 = "some description needed (22)" PHPCMS_CONFIG_143 = "Apply $script_name manually" PHPCMS_CONFIG_144 = "" PHPCMS_CONFIG_145 = "" PHPCMS_CONFIG_146 = "" |
From: Martin J. <mj...@us...> - 2005-04-07 14:09:39
|
Update of /cvsroot/phpcms-plugins/admin4phpCMS/modules/config In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15012/modules/config Modified Files: class.module_config.php Added Files: modules.ini Log Message: Commit as backup during development Index: class.module_config.php =================================================================== RCS file: /cvsroot/phpcms-plugins/admin4phpCMS/modules/config/class.module_config.php,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- class.module_config.php 7 Dec 2004 06:34:47 -0000 1.8 +++ class.module_config.php 7 Apr 2005 14:09:12 -0000 1.9 @@ -30,6 +30,9 @@ /* * $Log$ +* Revision 1.9 2005/04/07 14:09:12 mjahn +* Commit as backup during development +* * Revision 1.8 2004/12/07 06:34:47 mjahn * prepration of first Alpha-Preview * @@ -47,11 +50,6 @@ * */ /** -* include the PEAR::XML_Tree class -**/ -include_once (PATH_TO_PEAR.'XML/Tree.php'); - -/** * The config-class encapsulates the access to the configfile against the framework * * @package admin4phpCMS @@ -100,44 +98,19 @@ $this->_registerAction ('doSetConfigFile', 'setConfigFile'); } - /** - * @param array $actiondata - **/ - function parseParam (&$actiondata) { - - $this->display = (isset ($actiondata['request']['moduleid']) && $actiondata['request']['moduleid'] == 'config'); - - $this->_callEvent ('USER_GET_STATUS', $actiondata1); - $this->_USER = $actiondata1; - - } - /** - * @param array $actiondata - **/ - function getMenuMain (&$actiondata) { - if (!$this->_USER['isLoggedIn']) { - return true; - } - - $root = $actiondata['_root']; - $actiondata1 = array ('_type'=>'menu_main_entry', '_root'=>$root, 'name'=>'Einstellungen', 'module'=>'config', '_id'=>'configmenu', '_root'=>'mainmenu'); - if ($this->display) { - $actiondata1 ['extra'] = 'class="active"'; - } - $this->_callEvent('LAYOUT_ADD_ELEMENT', $actiondata1); - } /** * read and parse the configfile * - * @example /home/martin/devel/admin4phpCMS/modules/config/config.xml sample configfile + * @example /home/martin/devel/admin4phpCMS/modules/config/modules.ini sample + * configfile * @param array $actiondata $actiondata['configfile'] contains the path to the configfile **/ function readConfig (&$actiondata) { if (isset ($actiondata['configfile'])) { $this->_configfile = $actiondata ['configfile']; } else { - $this->_configfile = dirname (__FILE__).'/config.xml'; + $this->_configfile = dirname (__FILE__).'/modules.ini'; } if (!isset ($this->_configfile)) { @@ -153,27 +126,8 @@ return false; } - $XML =& new XML_Tree ($this->_configfile); - - if (PEAR::isError ($XML)) { - echo '<!--'; - print_r ($XML); - echo '-->'; - } - - $configdata =& $XML->getTreeFromFile (); + $this->_config = parse_ini_file ($this->_configfile, true); - if (PEAR::isError ($configdata)) { - echo '<!--'; - print_r ($configdata); - echo '-->'; - } - for ($i = 0; $i < count ($configdata->children); $i++) { - if (!isset ($configdata->children [$i]->attributes ['id'])) { - continue; - } - $this->_config [$configdata->children [$i]->attributes ['id']] =& $configdata->children [$i]; - } return true; } @@ -192,23 +146,7 @@ return true; } - if (!isset ($actiondata ['format']) || $actiondata ['format'] == 'object') { - $actiondata ['config'] =& $this->_config [$actiondata ['module']]; - return true; - } - - if (isset ($actiondata ['format']) && $actiondata ['format']=='array') { - $num = count ($this->_config [$actiondata ['module']]->children); - for ($i = 0; $i < $num; $i++) { - if (count ($this->_config [$actiondata ['module']]->children [$i]->attributes) == 0) { - continue; - } - if (!isset ($this->_config [$actiondata ['module']]->children [$i]->attributes ['name'])) { - continue; - } - $actiondata ['config'] [$this->_config [$actiondata ['module']]->children [$i]->attributes ['name']] = & $this->_config [$actiondata['module']]->children [$i]->attributes ['value']; - } - } + $actiondata ['config'] =& $this->_config [$actiondata ['module']]; return true; } --- NEW FILE: modules.ini --- [user] file = class.module_user.php class = module_user userfile = user.db permfile = perm.db [mail] file = class.module_mail.php class = module_mail admin-email = ma...@ma... from-email = fra...@ma... [log] file = class.module_log.php class = module_log logfile = log/framework.log chmod = 0606 [error] file = class.module_error.php class = module_error [debug] file = class.module_debug.php class = module_debug [layout] file = class.module_layout.php class = module_layout ;[filemanager] ;file = class.module_filemanager.php ;class = module_filemanager ;imagepath = filemanager/img/ ;editor_image = jpg,jpeg,png,bmp,gif ;editor_xml = xml,dtd ;editor_phpcms_content = phpcms ;editor_phpcms_menu =mnu [phpcms] file = class.module_phpcms.php class = module_phpcms parser_root = /cms/parser/ [phpcms-content] file = class.module_phpcms_content.php class = module_phpcms_content [statistic] file = class.module_statistic.php class = module_statistic [pluginmanager] file = class.module_pluginmanager.php class = module_pluginmanager |
From: Martin J. <mj...@us...> - 2005-04-07 14:09:25
|
Update of /cvsroot/phpcms-plugins/admin4phpCMS/modules/layout/templates In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15012/modules/layout/templates Added Files: framework.data.tpl framework.tpl framework.menu.tpl framework.status.tpl Log Message: Commit as backup during development --- NEW FILE: framework.status.tpl --- {foreach from=$status key=modulename item=status1} {foreach from=$status1 key=id item=statusmessage} <p>{$statusmessage}</p> {/foreach} {/foreach} --- NEW FILE: framework.menu.tpl --- <ul id="mainmenu"> {foreach from=$menu item=modulemenu} {foreach from=$modulemenu item=menuentry} <li><a href="{$INDEX_FILE}?moduleid={$menuentry.module}&action={$menuentry.action}" {$menuentry.extra}>{$menuentry.name}</a> {if (isset ($menuentry._sub_))} <ul> {foreach from=$menuentry._sub_ item=submenuentry} <li><a href="{$INDEX_FILE}?moduleid={$submenuentry.module}&action={$submenuentry.action}" {$submenuentry.extra}>{$submenuentry.name}</a> {if (isset ($submenuentry._sub_))} <ul> {foreach from=$submenuentry._sub_ item=subsubmenuentry} <li><a href="{$INDEX_FILE}?moduleid={$subsubmenuentry.module}&action={$subsubmenuentry.action}" {$subsubmenuentry.extra}>{$subsubmenuentry.name}</a></li> {/foreach} </ul> {/if} </li> {/foreach} </ul> {/if} </li> {/foreach} {/foreach} </ul> --- NEW FILE: framework.data.tpl --- {foreach from=$data key=modulename item=moduledata} <!-- <p>Trying to include <q>/modules/{$modulename}/templates/module_{$modulename}.tpl</q></p>--> {if (isset ($modulename))} {include file="$INDEX_PATH/modules/$modulename/templates/module_$modulename.tpl"} {/if} {/foreach} --- NEW FILE: framework.tpl --- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de"> <head> <title>Verwaltungsoberfläche</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="description" content="Administrationsoberfläche von phpCMS" /> <meta name="robots" content="noindex,nofollow" /> <meta name="author" content="Martin Jahn" /> <meta name="language" content="de" /> <meta http-equiv="imagetoolbar" content="no" /> <link rel="stylesheet" href="modules/layout/layout.css" type="text/css" /> <script type="text/javascript" src="modules/layout/gui.js"></script> </head> <body> <div id="menu"> <a href="http://phpcms.de/" title="Website des phpCMS-Projekts"> <img src="modules/layout/img/phpcms.png" width="181" height="60" alt="" title="phpCMS-Logo" /> </a> {include file="framework.menu.tpl"} {include file="framework.status.tpl"} <p> © 2005 Alle Rechte bei <a href="http://sourceforge.net/projects/phpcms-plugins/" title="Website des Projektes phpCMS-plugins auf SourceForge.net">phpCMS-Plugin-Team</a> </p> </div> <div id="content"> <div class="content"> {include file="framework.data.tpl"} </div> </div> </body> </html> |
From: Martin J. <mj...@us...> - 2005-04-07 14:09:24
|
Update of /cvsroot/phpcms-plugins/admin4phpCMS/modules/user/templates In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15012/modules/user/templates Added Files: user_profile.tpl user_admin.tpl module_user.tpl Log Message: Commit as backup during development --- NEW FILE: user_admin.tpl --- --- NEW FILE: module_user.tpl --- {if ($moduledata.action == "login")} <form action="{$INDEX_FILE}" method="post"> <fieldset> <legend>Login</legend> <label> <span>Username</span> <select name="username" size="1"> {foreach from=$moduledata.userlist item=userdata} <option value="{$userdata.username}">{$userdata.username}</option> {/foreach} </select> </label> <label> <span>Password</span> <input type="password" name="password" value="" /> </label> <div class="label"> Login for the demo with username <em>demo</em> and password <em>demo</em> </div> <label> <span> <span class="hidden"> Login </span> </span> <input type="submit" name="us_submit_form" value="Login" /> </label> </fieldset> </form> {/if} --- NEW FILE: user_profile.tpl --- |
From: Martin J. <mj...@us...> - 2005-04-07 14:09:22
|
Update of /cvsroot/phpcms-plugins/admin4phpCMS/modules/phpcms/img/indexer In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15012/modules/phpcms/img/indexer Added Files: search.gif delete.gif edit.gif Log Message: Commit as backup during development --- NEW FILE: edit.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: search.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: delete.gif --- (This appears to be a binary file; contents omitted.) |
From: Martin J. <mj...@us...> - 2005-04-07 14:09:22
|
Update of /cvsroot/phpcms-plugins/admin4phpCMS/modules/phpcms/img/cache In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15012/modules/phpcms/img/cache Added Files: webpage.gif Log Message: Commit as backup during development --- NEW FILE: webpage.gif --- (This appears to be a binary file; contents omitted.) |
From: Martin J. <mj...@us...> - 2005-04-07 14:09:22
|
Update of /cvsroot/phpcms-plugins/admin4phpCMS/modules/pluginmanager/templates In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15012/modules/pluginmanager/templates Added Files: module_pluginmanager.tpl Log Message: Commit as backup during development --- NEW FILE: module_pluginmanager.tpl --- {foreach from=$moduledata.plugins item=plugin key=name} {include file=$plugin.template} {/foreach} |
From: Martin J. <mj...@us...> - 2005-04-07 14:09:20
|
Update of /cvsroot/phpcms-plugins/admin4phpCMS/modules/phpcms-content In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15012/modules/phpcms-content Added Files: module_phpcms_en.lng .cvsignore class.module_phpcms_content.php class.phpcms_menu.php module_phpcms_de.lng Log Message: Commit as backup during development --- NEW FILE: .cvsignore --- onlineEditor4phpCMS --- NEW FILE: module_phpcms_en.lng --- PHPCMS_1 = "phpCMS — Configuration" PHPCMS_2 = "phpCMS — Cache" PHPCMS_3 = "phpCMS — HTTP-Indexer!" PHPCMS_4 = "<h2>Welcome to phpCMS!</h2> <p>Thank you for installing phpCMS</p> <p> This is the phpCMS User Interface (GUI).<br /> After loggin in you can adjust your site’s basic settings. Have a look at the configuration. <br /> <br /> As a reminder: your log-in passwort is the one you set in the file named default.php! Should you ever forget your password you may change it there at any time. <br /> <br /> Have fun with phpCMS!</p>" PHPCMS_INDEXER_1 = "General information" PHPCMS_INDEXER_2 = "Name of the profile" PHPCMS_INDEXER_3 = "Path where we could store the indexfiles" PHPCMS_INDEXER_4 = "Compress indexfiles with GZip" PHPCMS_INDEXER_5 = "Buffer size in byte" PHPCMS_INDEXER_6 = "Spider options" PHPCMS_INDEXER_7 = "Take care of robots.txt file" PHPCMS_INDEXER_8 = "Take care of the robots-meta-tag" PHPCMS_INDEXER_9 = "Exclude all URLs that contain" PHPCMS_INDEXER_10 = "Include all URLs that contain " PHPCMS_INDEXER_11 = "Do not index files with following extensions" PHPCMS_INDEXER_12 = "Indexer options" PHPCMS_INDEXER_13 = "List of URIs we have to index" PHPCMS_INDEXER_14 = "Minimal word length" PHPCMS_INDEXER_15 = "Path to the stopword-file" PHPCMS_INDEXER_16 = "Use content of meta description tag as description" PHPCMS_INDEXER_17 = "Length of the descriptive text" PHPCMS_INDEXER_18 = "Change URLs" PHPCMS_INDEXER_19 = "Search with the following expression …" PHPCMS_INDEXER_20 = "… and replace it with the following text" PHPCMS_INDEXER_21 = "Select profile" PHPCMS_INDEXER_22 = "Create a new index for this profile" PHPCMS_INDEXER_23 = "Edit the settings of this profile" PHPCMS_INDEXER_24 = "Delete this profile" PHPCMS_INDEXER_25 = "Test the index with a searchform" PHPCMS_INDEXER_26 = "Test index" PHPCMS_INDEXER_27 = "Show the most important 10,20 50 words of the index" PHPCMS_INDEXER_28 = "Show wordlist" PHPCMS_INDEXER_29 = "Please create an index first" PHPCMS_INDEXER_30 = "No current index available" PHPCMS_IDNEXER_31 = "Save profile" PHPCMS_INDEXER_32 = "Save settings" PHPCMS_CACHE_1 = "Filename" PHPCMS_CACHE_2 = "Last changes" PHPCMS_CACHE_3 = "Filesize" PHPCMS_CACHE_4 = "Delete the cached document" PHPCMS_CACHE_5 = "View the document" PHPCMS_CACHE_6 = " files" PHPCMS_CONFIG_1 = "Save phpCMS settings" PHPCMS_CONFIG_2 = "Save settings" PHPCMS_CONFIG_3 = "Errors" PHPCMS_CONFIG_4 = "Files & directories" PHPCMS_CONFIG_5 = "Page extension to be parsed" PHPCMS_CONFIG_6 = "<b>Extension of content files to be parsed by phpCMS</b><br /> Each file has an extension. HTML-files usually end with <em>.html</em> or <em>.htm</em>.<br /> This setting tells phpCMS what extension files have that it should look out for and parse.<br /> In addition the web server has to be configured so as to send files with this extension to the parser (e.g. via a .htaccess file).<br /> <br /> Default configuration is <em>.htm</em>.<br /> Regular HTML-files might be given the extension <em>.html</em> and phpCMS-files the extension <em>.htm</em>. But even <em>.htm</em>-files that do not contain phpCMS fields would be passed through unchanged." PHPCMS_CONFIG_7 = "Name of default page" PHPCMS_CONFIG_8 = "<b>Page to display when directory is requested</b><br /> When a client sends a request that does not specify a page name phpCMS will try to display this page.<br /> <br /> Example: If your default page is set to <em>index</em> and your page extension is <em>.htm</em>, then a request for http://server.com/docs/ would return http://server.com/docs/index.htm, if it exists." PHPCMS_CONFIG_9 = "Extension for templatefiles" PHPCMS_CONFIG_10 = "<b>File extension of template files</b><br /> The file extension used for templates can of course also be chosen freely.<br /> But the parser must know it..." PHPCMS_CONFIG_11 = "Global projectfile" PHPCMS_CONFIG_12 = "<b>Optional: project file valid for entire project</b><br /> Here a global project-file can be defined that is used if a requested content-file contains phpCMS fields but no project-file or an invalid project-file is defined there." PHPCMS_CONFIG_13 = "Global home-directory for all projects" PHPCMS_CONFIG_14 = "<b>Optional: home directory valid for entire project</b><br /> Here a global home-directory can be defined that is used if the project-file doesn't contain a value to set the home-directory." PHPCMS_CONFIG_15 = "Plugin directory" PHPCMS_CONFIG_16 = "<b>Directory that stores phpCMS plug-ins</b><br /> The directory containing the Plug-Ins for phpCMS. Throughout your project you may use <em>/parser/plugs</em> to access this directory. " PHPCMS_CONFIG_17 = "Parser" PHPCMS_CONFIG_18 = "Field delimiter start tag" PHPCMS_CONFIG_19 = "<b>Character signaling start of field</b><br /> With this character the start of a field in templates and content-files is marked.<br />" PHPCMS_CONFIG_20 = "Field delimiter end tag" PHPCMS_CONFIG_21 = "<b>Character signaling end of field</b><br /> With this character the end of a field in templates and content-files is marked." PHPCMS_CONFIG_22 = "Menu delimiter" PHPCMS_CONFIG_23 = "some description needed (1)" PHPCMS_CONFIG_24 = "Tag parameter delimiter" PHPCMS_CONFIG_25 = "some description needed (2)" PHPCMS_CONFIG_26 = "Use PAXPHP in your files" PHPCMS_CONFIG_27 = "<b>Parse embedded PHP code</b><br /> PAXPHP lets you use regular PHP code within content, and template files.<br /> So called DynaTags are an application of PAXPHP. DynaTags are user-defined tags that are substituted by a PHP expression marked up as PAXPHP." PHPCMS_CONFIG_28 = "Use PAX-tags" PHPCMS_CONFIG_29 = "<b>Execute hard coded PAX TAGS</b><br /> PAX TAGS are special functions that are hard coded within the PAX-Module.<br /> Available PAX TAGS are: PAXINC, PAXLASTMOD, PAXCOMBO, PAXCOMBOALL, PAXMENU, PAXHIGLIGHT and PAXRTF." PHPCMS_CONFIG_30 = "Use Mail2Crypt" PHPCMS_CONFIG_31 = "<b>Hide e-mail addresses from SPAM bots</b><br /> By using a tag like <!-- MAIL2CRYPT mail@domain.xyz --> e-mail addresses are scrambled on the fly to protect them from being harvested by SPAM bots. When turned off, addresses inside the tag are displayed as plain text. Mail2Crypt is configurable. See the manual for details. (Currently still under “PAX”)<br /> <br /> In phpCMS 1.2.0 and higher Mail2Crypt is fully integrated into the Parser and works independent of PAX." PHPCMS_CONFIG_32 = "Mail2Crypt javascript directory" PHPCMS_CONFIG_33 = "<b>Path to Mail2Crypt JS file</b><br /> Here you may specify the path to the directory that contains the Mail2Crypt JavaScript file. The file <em>js_mail2crypt.js</em> which is needed to display scrambled e-mail addresses in the browser is located in the document root by default." PHPCMS_CONFIG_34 = "Mail2Crypt image directory" PHPCMS_CONFIG_35 = "<b>Path to Mail2Crypt icon file</b><br /> Here you may specify the path to the directory that contains the Mail2Crypt icon files. The Mail2Crypt standard icons are located in <em>/parser/gif/</em> by default." PHPCMS_CONFIG_36 = "Use online editor" PHPCMS_CONFIG_37 = "some description needed (3)" PHPCMS_CONFIG_38 = "Cache & Proxy" PHPCMS_CONFIG_39 = "Use server cache" PHPCMS_CONFIG_40 = "<b>Allow storage and reuse of parsed pages on the server</b><br /> Pages and parts of pages that have already been parsed by phpCMS can be stored (cached) on the server for reuse. A page thus cached does not have to be re-parsed on subsequent requests. Through this technique phpCMS significantly reduces the server’s response time.<br /> <br /> When deactivating this feature the server cache needs to be cleaned (flushed) manually since pages still in the cache otherwise remain to be served to visitors." PHPCMS_CONFIG_41 = "Server cache directory" PHPCMS_CONFIG_42 = "<b>Directory where to put the on server-side cached files</b><br /> Note to Linux users: PHP needs to have write access to the cache directory. Should you not want to grant write access - e.g. for security reasons - the phpCMS cache feature can not be used." PHPCMS_CONFIG_43 = "Use client cache" PHPCMS_CONFIG_44 = "<b>Allow storage of pages in the browser</b><br /> Gives visitor’s browsers permission to store pages in their local cache. This setting takes effect for pages that are, or could be, cached server side. If this is not the case (e.g. because pages contain dynamic plug-ins) phpCMS deactivates this setting automatically." PHPCMS_CONFIG_45 = "Livetime of Proxy/Client cache in days" PHPCMS_CONFIG_46 = "<b>Amount of time pages may be stored by clients</b><br /> Specifies the amount of time clients are allowed to keep pages stored in local cache. After this time clients must send a request for a fresh copy of a page. This setting will be ignored if pages contain dynamic content, i.e. scripts or dynamic plug-ins." PHPCMS_CONFIG_47 = "Transport" PHPCMS_CONFIG_48 = "Use GZip compression" PHPCMS_CONFIG_49 = "<b>Compress pages before transmission</b><br /> Specifies whether G-Zip compression should be used to transmit pages if available. All of today’s major browsers can handle G-Zip compressed files.<br /> <br /> With this option switched on HTML files will be compressed in size by up to 70% before they are transmitted over the Internet. Pages thus transmitted load faster in your visitors’ browsers, and cause less traffic volume on your server!<br /> <br /> This feature can be used only if PHP runs with the <em>zlib</em> extension loaded. Please refer to the PHP documentation for further details..." PHPCMS_CONFIG_50 = "Use Stealthmode" PHPCMS_CONFIG_51 = "<b>Make URLs search engine friendly</b><br /> Use of this feature is recommended.<br /> In Stealth-Mode pages are accessed through “normal” looking URLs, i.e. without the “parser.php?file=” showing in the address bar. This makes sure that pages can be found and are indexed by search engines. Search engines often will not index pages whose URL contains a “?”!<br /> <br /> Stealth-Mode requires that you be able to use .htaccess files to configure your server. If you cannot use .htaccess files and cannot configure your server so that <em>.htm</em> files will be parsed by phpCMS, this feature must be deactivated. " PHPCMS_CONFIG_52 = "Use Secure-Stealthmode" PHPCMS_CONFIG_53 = "<b>Disallow access to secured directories</b><br /> Use of this feature is recommended.<br /> Secure Stealth-Mode blocks requests via “parser.php?file=filename.htm” to prevent unauthorized access to files located in directories secured through a .htaccess file." PHPCMS_CONFIG_54 = "Dont change links with this extension in non-stealthmode" PHPCMS_CONFIG_55 = "<b>File types not to be sent to the Parser</b><br /> Specifies extensions of files references to which, in Non-Stealth-Mode, should not be changed to <em>parser.php?file=</em>.<br /> <br /> In Non-Stealth-Mode HTML links are automatically converted so that requests are correctly sent to the Parser. Here you may specify those kinds of files links to which should remain unchanged." PHPCMS_CONFIG_56 = "Produce errors on empty tags" PHPCMS_CONFIG_57 = "<b>Handling of empty substitute tags</b><br /> With this option activated an error-message will be displayed should a tag be encountered that does not have its substitution string defined.<br /> When deactivated, such a tag will be substituted with an empty string, i.e. it will not produce any output in the parsed page." PHPCMS_CONFIG_58 = "Use debug-mode" PHPCMS_CONFIG_59 = "<b>Display error messages during development cycle</b> When Debug-Mode is activated phpCMS’s internal error messages will be displayed if a file cannot be found or some other error occurs.<br /> <br /> In Debug-Mode you may also use the phpCMS Debug-Tool. The Debug-Tool can be accessed by appending “?debug” to the URL of any content page." PHPCMS_CONFIG_60 = "Custom error page" PHPCMS_CONFIG_61 = "<b>Use of customized error pages</b><br /> When Debug-Mode is not activated, the Error-Page will be displayed should phpCMS encounter an internal error condition.<br />" PHPCMS_CONFIG_62 = "Custom 404 error page" PHPCMS_CONFIG_63 = "<b>Special treatment is given to “Error 404s”</b><br /> Since, from the server’s perspective, the file “parser.php” is the only one that is ever requested, the server cannot detect a missing content page and, consequently, cannot generate a 404 error message.<br /> The difference between the regular “Error-Page” and the 404-Error-Page is that the 404-Error-Page is not sent via HTTP redirect, but instead is send directly by and though the parser. This way the status of the browser address bar remains unchanged.<br /> <br /> In the event that no 404-Error-Page is specified or none exists, the regular Error-Page will be displayed." PHPCMS_CONFIG_64 = "P3P Statement (<b>http://w3c.org/P3P/</b>)" PHPCMS_CONFIG_65 = "Send P3P header" PHPCMS_CONFIG_66 = "<b>Send P3P statement with HTTP header</b><br /> P3P stands for “Platform for Privacy Preferences Project”. P3P offers a way to send machine readable privacy information to the browser. Some browsers base the acceptance of cookies on this information.<br /> <br /> A starting point for finding further information is <b>http://w3c.org/P3P/</b>..." PHPCMS_CONFIG_67 = "Global P3P policy header" PHPCMS_CONFIG_68 = "<b>Content of global P3P header</b><br /> Here you may enter the machine readable P3P compact policy." PHPCMS_CONFIG_69 = "P3P policy href" PHPCMS_CONFIG_70 = "<b>Directory of P3P Policy</b><br /> Directory that stores the comprehensive P3P privacy policy. Usually this is “/w3c/p3p.xml”." PHPCMS_CONFIG_71 = "I18N" PHPCMS_CONFIG_72 = "Use I18N" PHPCMS_CONFIG_73 = "some description needed (4)" PHPCMS_CONFIG_74 = "Default languages" PHPCMS_CONFIG_75 = "some description needed (5)" PHPCMS_CONFIG_76 = "Possible languages" PHPCMS_CONFIG_77 = "some description needed (6)" PHPCMS_CONFIG_78 = "I18N-mode" PHPCMS_CONFIG_79 = "some description needed (7)" PHPCMS_CONFIG_80 = " suffix (www.example.com/index.de.htm)" PHPCMS_CONFIG_81 = " dir (www.example.com/de/index.htm)" PHPCMS_CONFIG_82 = " var (www.example.com/index.htm?lang=de)" PHPCMS_CONFIG_83 = " host (www.example.de/index.htm or www.example.com/index.htm)" PHPCMS_CONFIG_84 = " session (www.example.com/index.htm?sid=1234 or cookie)" PHPCMS_CONFIG_85 = "Name of the URI-parameter" PHPCMS_CONFIG_86 = "some description needed (8)" PHPCMS_CONFIG_87 = "Statistics" PHPCMS_CONFIG_88 = "Use statistic logging" PHPCMS_CONFIG_89 = "<b>Activate phpCMS’s statistics feature</b><br /> This will activate phpCMS’s statistics function. When activated, phpCMS logs information about every request it handles which can then be viewed through the statistics module in the GUI." PHPCMS_CONFIG_90 = "Directory where to put statistic data" PHPCMS_CONFIG_91 = "<b>Statistics data directories</b><br /> Specifies directories for storing several statistics data. phpCMS needs write permission for these directories!" PHPCMS_CONFIG_92 = "Path to directory for current stats" PHPCMS_CONFIG_93 = "some description neeeded (9) " PHPCMS_CONFIG_94 = "Filename for the log-file" PHPCMS_CONFIG_95 = "<b>Name of the statistics log file</b><br /> Name of the log file that stores raw data on every page request." PHPCMS_CONFIG_96 = "Path to the directory for the backup" PHPCMS_CONFIG_97 = "How many referrer should be counted?" PHPCMS_CONFIG_98 = "some description needed (10)" PHPCMS_CONFIG_99 = "Ignore the following referrer" PHPCMS_CONFIG_100 = "some description needed (11)" PHPCMS_CONFIG_101 = "How many Ips should be counted?" PHPCMS_CONFIG_102 = "some description needed (12)" PHPCMS_CONFIG_103 = "Ignore the folowing IPs" PHPCMS_CONFIG_104 = "some description needed (13)" PHPCMS_CONFIG_105 = "How many URLs should be counted?" PHPCMS_CONFIG_106 = "some description needed (14)" PHPCMS_CONFIG_107 = "Activate referrer-logging" PHPCMS_CONFIG_108 = "<b>Log and display top and last referrer data</b><br /> Keeps a log of referrers that point to your site. This function works independently of the statistics module. To display a list of top and last referrers on your pages, you may use the plug-in <em>topref.php</em>, located in the plug-ins directory, which can be integrated as a plug-in, script or via PAX." PHPCMS_CONFIG_109 = "Directory where to put the referrer-file" PHPCMS_CONFIG_110 = "<b>Directory of referrer log file</b><br /> Directory that is used to store the referrer log file. phpCMS needs write permission for this directory!" PHPCMS_CONFIG_111 = "Name of the referrer-file" PHPCMS_CONFIG_112 = "<b>Name of referrer log file</b> Specifies the name of the log file that stores referrer data." PHPCMS_CONFIG_113 = "Time for the reload-lock" PHPCMS_CONFIG_114 = "<b>Duration of referrer reload lock</b><br /> Specifies the amount of time in seconds during which repeat page requests originating from the same client IP will be ignored. This prevents, to some extent, an unwanted “counting up” of top referrers." PHPCMS_CONFIG_115 = "Sitemap and TOC" PHPCMS_CONFIG_116 = "Activate search-module with contentfield" PHPCMS_CONFIG_117 = "some description needed (15)" PHPCMS_CONFIG_118 = "Name of the contentfield for search-module" PHPCMS_CONFIG_119 = "some description needed (16)" PHPCMS_CONFIG_120 = "Activate TOC-module with contentfield" PHPCMS_CONFIG_121 = "some description needed (17)" PHPCMS_CONFIG_122 = "Name of the contentfield for TOC-module" PHPCMS_CONFIG_123 = "some description needed (18)" PHPCMS_CONFIG_124 = "Expert settings" PHPCMS_CONFIG_125 = "Show expert settings" PHPCMS_CONFIG_126 = "some description needed (19)" PHPCMS_CONFIG_127 = "Display all PHP warnings and notices" PHPCMS_CONFIG_128 = "some description needed (20)" PHPCMS_CONFIG_129 = "Fix bug in PHP output-buffering" PHPCMS_CONFIG_130 = "some description needed (20)" PHPCMS_CONFIG_131 = "Domainname of the account" PHPCMS_CONFIG_132 = "some description needed (20)" PHPCMS_CONFIG_133 = "Auto" PHPCMS_CONFIG_134 = "Direct" PHPCMS_CONFIG_135 = "Apply domain-name manually" PHPCMS_CONFIG_136 = "Document-Root of the account" PHPCMS_CONFIG_137 = "some description needed (21)" PHPCMS_CONFIG_138 = "$script-path" PHPCMS_CONFIG_139 = "some description needed (22)" PHPCMS_CONFIG_140 = "Apply $script_path manually" PHPCMS_CONFIG_141 = "$script_name" PHPCMS_CONFIG_142 = "some description needed (22)" PHPCMS_CONFIG_143 = "Apply $script_name manually" PHPCMS_CONFIG_144 = "" PHPCMS_CONFIG_145 = "" PHPCMS_CONFIG_146 = "" [de] PHPCMS_1 = "phpCMS — Konfiguration" PHPCMS_2 = "phpCMS — Cache" PHPCMS_3 = "phpCMS — HTTP-Indexer!" PHPCMS_4 = "<h2>Willkommen bei phpCMS!</h2> <p>Vielen Dank, daà Sie phpCMS {$moduledata.version} installiert haben</p> <p> Sie befinden sich im phpCMS Administrationsbereich.<br /> After loggin in you can adjust your site’s basic settings. Have a look at the configuration. <br /> <br /> As a reminder: your log-in passwort is the one you set in the file named default.php! Should you ever forget your password you may change it there at any time. <br /> <br /> Have fun with phpCMS!</p>" PHPCMS_INDEXER_1 = "Allgemeine Informationen" PHPCMS_INDEXER_2 = "Name des Profils" PHPCMS_INDEXER_3 = "Verzeichnis für die Indexdateien" PHPCMS_INDEXER_4 = "Indexdateien mit GZip komprimieren" PHPCMS_INDEXER_5 = "PuffergröÃe in Byte" PHPCMS_INDEXER_6 = "Spider Optionen" PHPCMS_INDEXER_7 = "Beachte die robots.txt" PHPCMS_INDEXER_8 = "Beachte das robots-meta-tag" PHPCMS_INDEXER_9 = "Schließe URLs aus, die folgende Begriffe beinhalten" PHPCMS_INDEXER_10 = "Schließe URLs ein, die folgende Begriffe beinhalten" PHPCMS_INDEXER_11 = "Dateien mit diesen Endungen nicht indizieren" PHPCMS_INDEXER_12 = "Indexer Optionen" PHPCMS_INDEXER_13 = "Liste mit erlaubten Servern" PHPCMS_INDEXER_14 = "Minimale Länge der zu erfassenden Begriffe" PHPCMS_INDEXER_15 = "Pfad zur Stopwortdatei" PHPCMS_INDEXER_16 = "Benutze Inhalt des Metatags <em>description</em> zur Seitenbeschreibung" PHPCMS_INDEXER_17 = "Länge des beschreibenden Textes" PHPCMS_INDEXER_18 = "Ãndere URLs" PHPCMS_INDEXER_19 = "Suche nach …" PHPCMS_INDEXER_20 = "… und ersetze mit" PHPCMS_INDEXER_21 = "Profil auswählen" PHPCMS_INDEXER_22 = "Erstelle einen neuen Index für dieses Profile" PHPCMS_INDEXER_23 = "Editiere die Einstellungen dieses Profiles" PHPCMS_INDEXER_24 = "Lösche dieses Profil" PHPCMS_INDEXER_25 = "Suche testen" PHPCMS_INDEXER_26 = "Suche testen" PHPCMS_INDEXER_27 = "Zeige die am häufigsten aufgetretenen Worte in diesem Index" PHPCMS_INDEXER_28 = "Wortliste" PHPCMS_INDEXER_29 = "Bitte erstellen Sie zuerst einen neuen Index" PHPCMS_INDEXER_30 = "Kein aktueller Index verfügbar" PHPCMS_IDNEXER_31 = "Profil speichern" PHPCMS_INDEXER_32 = "einstellungen speichern" PHPCMS_CACHE_1 = "dateiname" PHPCMS_CACHE_2 = "Letzte Änderungen" PHPCMS_CACHE_3 = "Größe" PHPCMS_CACHE_4 = "Lösche das gecachte Dokument" PHPCMS_CACHE_5 = "Betrachte das Dokument" PHPCMS_CACHE_6 = " Datei(en)" PHPCMS_CONFIG_1 = "Save phpCMS settings" PHPCMS_CONFIG_2 = "Save settings" PHPCMS_CONFIG_3 = "Errors" PHPCMS_CONFIG_4 = "Files & directories" PHPCMS_CONFIG_5 = "Page extension to be parsed" PHPCMS_CONFIG_6 = "<b>Extension of content files to be parsed by phpCMS</b><br /> Each file has an extension. HTML-files usually end with <em>.html</em> or <em>.htm</em>.<br /> This setting tells phpCMS what extension files have that it should look out for and parse.<br /> In addition the web server has to be configured so as to send files with this extension to the parser (e.g. via a .htaccess file).<br /> <br /> Default configuration is <em>.htm</em>.<br /> Regular HTML-files might be given the extension <em>.html</em> and phpCMS-files the extension <em>.htm</em>. But even <em>.htm</em>-files that do not contain phpCMS fields would be passed through unchanged." PHPCMS_CONFIG_7 = "Name of default page" PHPCMS_CONFIG_8 = "<b>Page to display when directory is requested</b><br /> When a client sends a request that does not specify a page name phpCMS will try to display this page.<br /> <br /> Example: If your default page is set to <em>index</em> and your page extension is <em>.htm</em>, then a request for http://server.com/docs/ would return http://server.com/docs/index.htm, if it exists." PHPCMS_CONFIG_9 = "Extension for templatefiles" PHPCMS_CONFIG_10 = "<b>File extension of template files</b><br /> The file extension used for templates can of course also be chosen freely.<br /> But the parser must know it..." PHPCMS_CONFIG_11 = "Global projectfile" PHPCMS_CONFIG_12 = "<b>Optional: project file valid for entire project</b><br /> Here a global project-file can be defined that is used if a requested content-file contains phpCMS fields but no project-file or an invalid project-file is defined there." PHPCMS_CONFIG_13 = "Global home-directory for all projects" PHPCMS_CONFIG_14 = "<b>Optional: home directory valid for entire project</b><br /> Here a global home-directory can be defined that is used if the project-file doesn't contain a value to set the home-directory." PHPCMS_CONFIG_15 = "Plugin directory" PHPCMS_CONFIG_16 = "<b>Directory that stores phpCMS plug-ins</b><br /> The directory containing the Plug-Ins for phpCMS. Throughout your project you may use <em>/parser/plugs</em> to access this directory. " PHPCMS_CONFIG_17 = "Parser" PHPCMS_CONFIG_18 = "Field delimiter start tag" PHPCMS_CONFIG_19 = "<b>Character signaling start of field</b><br /> With this character the start of a field in templates and content-files is marked.<br />" PHPCMS_CONFIG_20 = "Field delimiter end tag" PHPCMS_CONFIG_21 = "<b>Character signaling end of field</b><br /> With this character the end of a field in templates and content-files is marked." PHPCMS_CONFIG_22 = "Menu delimiter" PHPCMS_CONFIG_23 = "some description needed (1)" PHPCMS_CONFIG_24 = "Tag parameter delimiter" PHPCMS_CONFIG_25 = "some description needed (2)" PHPCMS_CONFIG_26 = "Use PAXPHP in your files" PHPCMS_CONFIG_27 = "<b>Parse embedded PHP code</b><br /> PAXPHP lets you use regular PHP code within content, and template files.<br /> So called DynaTags are an application of PAXPHP. DynaTags are user-defined tags that are substituted by a PHP expression marked up as PAXPHP." PHPCMS_CONFIG_28 = "Use PAX-tags" PHPCMS_CONFIG_29 = "<b>Execute hard coded PAX TAGS</b><br /> PAX TAGS are special functions that are hard coded within the PAX-Module.<br /> Available PAX TAGS are: PAXINC, PAXLASTMOD, PAXCOMBO, PAXCOMBOALL, PAXMENU, PAXHIGLIGHT and PAXRTF." PHPCMS_CONFIG_30 = "Use Mail2Crypt" PHPCMS_CONFIG_31 = "<b>Hide e-mail addresses from SPAM bots</b><br /> By using a tag like <!-- MAIL2CRYPT mail@domain.xyz --> e-mail addresses are scrambled on the fly to protect them from being harvested by SPAM bots. When turned off, addresses inside the tag are displayed as plain text. Mail2Crypt is configurable. See the manual for details. (Currently still under “PAX”)<br /> <br /> In phpCMS 1.2.0 and higher Mail2Crypt is fully integrated into the Parser and works independent of PAX." PHPCMS_CONFIG_32 = "Mail2Crypt javascript directory" PHPCMS_CONFIG_33 = "<b>Path to Mail2Crypt JS file</b><br /> Here you may specify the path to the directory that contains the Mail2Crypt JavaScript file. The file <em>js_mail2crypt.js</em> which is needed to display scrambled e-mail addresses in the browser is located in the document root by default." PHPCMS_CONFIG_34 = "Mail2Crypt image directory" PHPCMS_CONFIG_35 = "<b>Path to Mail2Crypt icon file</b><br /> Here you may specify the path to the directory that contains the Mail2Crypt icon files. The Mail2Crypt standard icons are located in <em>/parser/gif/</em> by default." PHPCMS_CONFIG_36 = "Use online editor" PHPCMS_CONFIG_37 = "some description needed (3)" PHPCMS_CONFIG_38 = "Cache & Proxy" PHPCMS_CONFIG_39 = "Use server cache" PHPCMS_CONFIG_40 = "<b>Allow storage and reuse of parsed pages on the server</b><br /> Pages and parts of pages that have already been parsed by phpCMS can be stored (cached) on the server for reuse. A page thus cached does not have to be re-parsed on subsequent requests. Through this technique phpCMS significantly reduces the server’s response time.<br /> <br /> When deactivating this feature the server cache needs to be cleaned (flushed) manually since pages still in the cache otherwise remain to be served to visitors." PHPCMS_CONFIG_41 = "Server cache directory" PHPCMS_CONFIG_42 = "<b>Directory where to put the on server-side cached files</b><br /> Note to Linux users: PHP needs to have write access to the cache directory. Should you not want to grant write access - e.g. for security reasons - the phpCMS cache feature can not be used." PHPCMS_CONFIG_43 = "Use client cache" PHPCMS_CONFIG_44 = "<b>Allow storage of pages in the browser</b><br /> Gives visitor’s browsers permission to store pages in their local cache. This setting takes effect for pages that are, or could be, cached server side. If this is not the case (e.g. because pages contain dynamic plug-ins) phpCMS deactivates this setting automatically." PHPCMS_CONFIG_45 = "Livetime of Proxy/Client cache in days" PHPCMS_CONFIG_46 = "<b>Amount of time pages may be stored by clients</b><br /> Specifies the amount of time clients are allowed to keep pages stored in local cache. After this time clients must send a request for a fresh copy of a page. This setting will be ignored if pages contain dynamic content, i.e. scripts or dynamic plug-ins." PHPCMS_CONFIG_47 = "Transport" PHPCMS_CONFIG_48 = "Use GZip compression" PHPCMS_CONFIG_49 = "<b>Compress pages before transmission</b><br /> Specifies whether G-Zip compression should be used to transmit pages if available. All of today’s major browsers can handle G-Zip compressed files.<br /> <br /> With this option switched on HTML files will be compressed in size by up to 70% before they are transmitted over the Internet. Pages thus transmitted load faster in your visitors’ browsers, and cause less traffic volume on your server!<br /> <br /> This feature can be used only if PHP runs with the <em>zlib</em> extension loaded. Please refer to the PHP documentation for further details..." PHPCMS_CONFIG_50 = "Use Stealthmode" PHPCMS_CONFIG_51 = "<b>Make URLs search engine friendly</b><br /> Use of this feature is recommended.<br /> In Stealth-Mode pages are accessed through “normal” looking URLs, i.e. without the “parser.php?file=” showing in the address bar. This makes sure that pages can be found and are indexed by search engines. Search engines often will not index pages whose URL contains a “?”!<br /> <br /> Stealth-Mode requires that you be able to use .htaccess files to configure your server. If you cannot use .htaccess files and cannot configure your server so that <em>.htm</em> files will be parsed by phpCMS, this feature must be deactivated. " PHPCMS_CONFIG_52 = "Use Secure-Stealthmode" PHPCMS_CONFIG_53 = "<b>Disallow access to secured directories</b><br /> Use of this feature is recommended.<br /> Secure Stealth-Mode blocks requests via “parser.php?file=filename.htm” to prevent unauthorized access to files located in directories secured through a .htaccess file." PHPCMS_CONFIG_54 = "Dont change links with this extension in non-stealthmode" PHPCMS_CONFIG_55 = "<b>File types not to be sent to the Parser</b><br /> Specifies extensions of files references to which, in Non-Stealth-Mode, should not be changed to <em>parser.php?file=</em>.<br /> <br /> In Non-Stealth-Mode HTML links are automatically converted so that requests are correctly sent to the Parser. Here you may specify those kinds of files links to which should remain unchanged." PHPCMS_CONFIG_56 = "Produce errors on empty tags" PHPCMS_CONFIG_57 = "<b>Handling of empty substitute tags</b><br /> With this option activated an error-message will be displayed should a tag be encountered that does not have its substitution string defined.<br /> When deactivated, such a tag will be substituted with an empty string, i.e. it will not produce any output in the parsed page." PHPCMS_CONFIG_58 = "Use debug-mode" PHPCMS_CONFIG_59 = "<b>Display error messages during development cycle</b> When Debug-Mode is activated phpCMS’s internal error messages will be displayed if a file cannot be found or some other error occurs.<br /> <br /> In Debug-Mode you may also use the phpCMS Debug-Tool. The Debug-Tool can be accessed by appending “?debug” to the URL of any content page." PHPCMS_CONFIG_60 = "Custom error page" PHPCMS_CONFIG_61 = "<b>Use of customized error pages</b><br /> When Debug-Mode is not activated, the Error-Page will be displayed should phpCMS encounter an internal error condition.<br />" PHPCMS_CONFIG_62 = "Custom 404 error page" PHPCMS_CONFIG_63 = "<b>Special treatment is given to “Error 404s”</b><br /> Since, from the server’s perspective, the file “parser.php” is the only one that is ever requested, the server cannot detect a missing content page and, consequently, cannot generate a 404 error message.<br /> The difference between the regular “Error-Page” and the 404-Error-Page is that the 404-Error-Page is not sent via HTTP redirect, but instead is send directly by and though the parser. This way the status of the browser address bar remains unchanged.<br /> <br /> In the event that no 404-Error-Page is specified or none exists, the regular Error-Page will be displayed." PHPCMS_CONFIG_64 = "P3P Statement (<b>http://w3c.org/P3P/</b>)" PHPCMS_CONFIG_65 = "Send P3P header" PHPCMS_CONFIG_66 = "<b>Send P3P statement with HTTP header</b><br /> P3P stands for “Platform for Privacy Preferences Project”. P3P offers a way to send machine readable privacy information to the browser. Some browsers base the acceptance of cookies on this information.<br /> <br /> A starting point for finding further information is <b>http://w3c.org/P3P/</b>..." PHPCMS_CONFIG_67 = "Global P3P policy header" PHPCMS_CONFIG_68 = "<b>Content of global P3P header</b><br /> Here you may enter the machine readable P3P compact policy." PHPCMS_CONFIG_69 = "P3P policy href" PHPCMS_CONFIG_70 = "<b>Directory of P3P Policy</b><br /> Directory that stores the comprehensive P3P privacy policy. Usually this is “/w3c/p3p.xml”." PHPCMS_CONFIG_71 = "I18N" PHPCMS_CONFIG_72 = "Use I18N" PHPCMS_CONFIG_73 = "some description needed (4)" PHPCMS_CONFIG_74 = "Default languages" PHPCMS_CONFIG_75 = "some description needed (5)" PHPCMS_CONFIG_76 = "Possible languages" PHPCMS_CONFIG_77 = "some description needed (6)" PHPCMS_CONFIG_78 = "I18N-mode" PHPCMS_CONFIG_79 = "some description needed (7)" PHPCMS_CONFIG_80 = " suffix (www.example.com/index.de.htm)" PHPCMS_CONFIG_81 = " dir (www.example.com/de/index.htm)" PHPCMS_CONFIG_82 = " var (www.example.com/index.htm?lang=de)" PHPCMS_CONFIG_83 = " host (www.example.de/index.htm or www.example.com/index.htm)" PHPCMS_CONFIG_84 = " session (www.example.com/index.htm?sid=1234 or cookie)" PHPCMS_CONFIG_85 = "Name of the URI-parameter" PHPCMS_CONFIG_86 = "some description needed (8)" PHPCMS_CONFIG_87 = "Statistics" PHPCMS_CONFIG_88 = "Use statistic logging" PHPCMS_CONFIG_89 = "<b>Activate phpCMS’s statistics feature</b><br /> This will activate phpCMS’s statistics function. When activated, phpCMS logs information about every request it handles which can then be viewed through the statistics module in the GUI." PHPCMS_CONFIG_90 = "Directory where to put statistic data" PHPCMS_CONFIG_91 = "<b>Statistics data directories</b><br /> Specifies directories for storing several statistics data. phpCMS needs write permission for these directories!" PHPCMS_CONFIG_92 = "Path to directory for current stats" PHPCMS_CONFIG_93 = "some description neeeded (9) " PHPCMS_CONFIG_94 = "Filename for the log-file" PHPCMS_CONFIG_95 = "<b>Name of the statistics log file</b><br /> Name of the log file that stores raw data on every page request." PHPCMS_CONFIG_96 = "Path to the directory for the backup" PHPCMS_CONFIG_97 = "How many referrer should be counted?" PHPCMS_CONFIG_98 = "some description needed (10)" PHPCMS_CONFIG_99 = "Ignore the following referrer" PHPCMS_CONFIG_100 = "some description needed (11)" PHPCMS_CONFIG_101 = "How many Ips should be counted?" PHPCMS_CONFIG_102 = "some description needed (12)" PHPCMS_CONFIG_103 = "Ignore the folowing IPs" PHPCMS_CONFIG_104 = "some description needed (13)" PHPCMS_CONFIG_105 = "How many URLs should be counted?" PHPCMS_CONFIG_106 = "some description needed (14)" PHPCMS_CONFIG_107 = "Activate referrer-logging" PHPCMS_CONFIG_108 = "<b>Log and display top and last referrer data</b><br /> Keeps a log of referrers that point to your site. This function works independently of the statistics module. To display a list of top and last referrers on your pages, you may use the plug-in <em>topref.php</em>, located in the plug-ins directory, which can be integrated as a plug-in, script or via PAX." PHPCMS_CONFIG_109 = "Directory where to put the referrer-file" PHPCMS_CONFIG_110 = "<b>Directory of referrer log file</b><br /> Directory that is used to store the referrer log file. phpCMS needs write permission for this directory!" PHPCMS_CONFIG_111 = "Name of the referrer-file" PHPCMS_CONFIG_112 = "<b>Name of referrer log file</b> Specifies the name of the log file that stores referrer data." PHPCMS_CONFIG_113 = "Time for the reload-lock" PHPCMS_CONFIG_114 = "<b>Duration of referrer reload lock</b><br /> Specifies the amount of time in seconds during which repeat page requests originating from the same client IP will be ignored. This prevents, to some extent, an unwanted “counting up” of top referrers." PHPCMS_CONFIG_115 = "Sitemap and TOC" PHPCMS_CONFIG_116 = "Activate search-module with contentfield" PHPCMS_CONFIG_117 = "some description needed (15)" PHPCMS_CONFIG_118 = "Name of the contentfield for search-module" PHPCMS_CONFIG_119 = "some description needed (16)" PHPCMS_CONFIG_120 = "Activate TOC-module with contentfield" PHPCMS_CONFIG_121 = "some description needed (17)" PHPCMS_CONFIG_122 = "Name of the contentfield for TOC-module" PHPCMS_CONFIG_123 = "some description needed (18)" PHPCMS_CONFIG_124 = "Expert settings" PHPCMS_CONFIG_125 = "Show expert settings" PHPCMS_CONFIG_126 = "some description needed (19)" PHPCMS_CONFIG_127 = "Display all PHP warnings and notices" PHPCMS_CONFIG_128 = "some description needed (20)" PHPCMS_CONFIG_129 = "Fix bug in PHP output-buffering" PHPCMS_CONFIG_130 = "some description needed (20)" PHPCMS_CONFIG_131 = "Domainname of the account" PHPCMS_CONFIG_132 = "some description needed (20)" PHPCMS_CONFIG_133 = "Auto" PHPCMS_CONFIG_134 = "Direct" PHPCMS_CONFIG_135 = "Apply domain-name manually" PHPCMS_CONFIG_136 = "Document-Root of the account" PHPCMS_CONFIG_137 = "some description needed (21)" PHPCMS_CONFIG_138 = "$script-path" PHPCMS_CONFIG_139 = "some description needed (22)" PHPCMS_CONFIG_140 = "Apply $script_path manually" PHPCMS_CONFIG_141 = "$script_name" PHPCMS_CONFIG_142 = "some description needed (22)" PHPCMS_CONFIG_143 = "Apply $script_name manually" PHPCMS_CONFIG_144 = "" PHPCMS_CONFIG_145 = "" PHPCMS_CONFIG_146 = "" --- NEW FILE: class.module_phpcms_content.php --- <?php /** * Managment of the phpCMS-related administration part * * <b>License</b> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * @author Martin Jahn <mj...@us...> * @license http://opensource.org/licenses/gpl-license.php GNU Public License * @copyright Copyright (c) 2004, Martin Jahn * @version $Id: class.module_phpcms_content.php,v 1.1 2005/04/07 14:09:09 mjahn Exp $ * @package admin4phpCMS * @subpackage module_phpcms **/ /* * $Log: class.module_phpcms_content.php,v $ * Revision 1.1 2005/04/07 14:09:09 mjahn * Commit as backup during development * */ /** * Class for managing the phpCMS-contentfiles and some related tasks * * @package admin4phpCMS * @subpackage module_phpcms-content **/ class module_phpcms_content extends module { /** * Initialization of the module * * The module registers its own events and connects his methods to some actions **/ function init() { // connect to actions $this->_registerAction('doParseParam', 'parseParam'); $this->_registerAction('doGetMenu', 'getMenu'); $actiondata1 = array ('module' => 'phpcms-content'); $this->_callEvent('CONFIG_GET', $actiondata1); $this->_CONF = $actiondata1['config']; return true; } // function init () /** * Parse the URI-params * * @param array $actiondata $actiondata contains the URI-param-arrays **/ function parseParam(&$actiondata) { $this->display = (isset ($actiondata['request']['moduleid']) && $actiondata['request']['moduleid'] == 'phpcms-content'); $this->action = ''; if (isset ($actiondata['request']['action'])) { $this->action = $actiondata['request']['action']; } if ($this->display) { $this->_registerAction('doGetData', 'getData'); $this->_registerAction('doGetLanguage', 'getLanguageData'); switch ($this->action) { case 'config' : $this->_registerAction('doProcess', 'processConfig'); $this->_configaction = ''; if (isset ($actiondata['request']['configform-submit'])) { $this->_configaction = 'save'; $this->_formdata = $actiondata['post']; } break; default:; } } $this->_callEvent('USER_GET_STATUS', $actiondata1); $this->_USER = $actiondata1; return true; } // function parseParam () /** * Get structure for menu * * @param array $actiondata $actiondata['_root'] must provide the id of the parental element **/ function getMenu(&$actiondata) { if (!$this->_USER['isLoggedIn']) { return true; } $data = array ('name'=>'phpCMS-Content', 'module'=>'phpcms-content', 'action'=>''); $_data = array (); if ($this->display) { $data ['extra'] = 'class="current"'; $data1 = array ('name' => 'Contentseiten', 'module' => 'phpcms-content', 'action' => 'content'); if ($this->action == 'content') { $data1['extra'] = 'class="current"'; } $_data [] = $data1; $data1 = array ('name' => 'Configuration', 'module' => 'phpcms-content', 'action' => 'config'); if ($this->action == 'config') { $data1['extra'] = 'class="current"'; } $_data [] = $data1; $data ['_sub_'] = $_data; } $actiondata [$actiondata ['tag']] ['phpcms-content'] = array ($data); return true; } // function getMenu () function getphpCMSMenu (&$actiondata) { if (!isset ($this->menu_loaded) || !$this->menu_loaded) { // load menu from menufile $actiondata1 = array ('id'=>'TEMPLATE_DIR'); $this->_callEvent ('PHPCMS_GET_DEFAULT_VALUE', $actiondata1); $this->templatedir = $actiondata1 ['value']; } } function getphpCMSMenuData () { return array (); } /** * Get content of the module * * @param array $actiondata $actiondata['_root'] must provide the id of the parental element **/ function getData(&$actiondata) { if (!$this->_USER['isLoggedIn']) { return true; } if (!$this->display) { return true; } $data = array ('action'=>$this->action); switch ($this->action) { case 'content':$data = array_merge ($data, $this->getphpCMSContentData ());break; case 'config':$data = array_merge ($data, $this->getphpCMSConfigData ());break; } $data = array ('action'=>$this->action); if (isset ($this->_error) && count ($this->_error) > 0) { $data ['error'] = $this->_error; } $actiondata [$actiondata ['tag']] ['phpcms-content'] = $data; return true; } // function getData () function processConfig (&$actiondata) { } function getLanguageData (&$actiondata) { $langAvailable = array ('de', 'en'); $data = $actiondata [$actiondata ['tag']]; foreach ($langAvailable as $lang) { if (!file_exists (dirname (__FILE__).'/module_phpcms-content_'.$lang.'.lng')) { continue; } if (isset ($data [$lang])) { $data [$lang] = array_merge ($data [$lang], parse_ini_file (dirname (__FILE__).'/module_phpcms-content_'.$lang.'.lng')); } else { $data [$lang] = parse_ini_file (dirname (__FILE__).'/module_phpcms-content_'.$lang.'.lng', true); } } $actiondata [$actiondata ['tag']] = $data; return true; } } ?> --- NEW FILE: class.phpcms_menu.php --- <?php /** * Manipulation of the phpcms-menufile * * <b>License</b> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * @author Martin Jahn <mj...@us...> * @license http://opensource.org/licenses/gpl-license.php GNU Public License * @copyright Copyright (c) 2004, Martin Jahn * @version $Id: class.phpcms_menu.php,v 1.1 2005/04/07 14:09:09 mjahn Exp $ * @package admin4phpCMS * @subpackage module_phpcms **/ /* * $Log: class.phpcms_menu.php,v $ * Revision 1.1 2005/04/07 14:09:09 mjahn * Commit as backup during development * */ /** * Class for manipulating the phpcms-menufile * * @package admin4phpCMS * @subpackage module_phpcms * @author Martin Jahn <mj...@us...> * @copyright (c) Copyright by Martin Jahn * @license http://opensource.org/licenses/gpl-license.php GNU Public License * @version $Id: class.phpcms_menu.php,v 1.1 2005/04/07 14:09:09 mjahn Exp $ **/ class phpcms_menu { function phpcms_menu () { return $this->__construct (); } function __construct () { $this->docroot = realpath($_SERVER['DOCUMENT_ROOT']); } function insert ($class, $menuEntry, $after = true, $recursive = false) { if (!isset($this->quicklink[$class])) { return false; } $parentclass = substr($class, 0, strrpos ($class, '.')); if ($parentclass == $this->root) { $menu =& $this->menu; } else { $menu =& $this->quicklink[$parentclass]['_sub_']; } for ($i = 0; $i < count ($menu); $i++) { if ($menu[$i]['CLASS'] != $class) { continue; } break; } if (isset($this->quicklink[$menuEntry['CLASS']])) { for ($j = 0; isset($this->quicklink[$menuEntry['CLASS'].$j]); $j++); $menuEntry['CLASS'] = $menuEntry['CLASS'].$j; } if ($after) { $i = ($i == count($menu)) ? count($menu) : $i + 2; array_splice($menu, $i, 0, array($menuEntry)); } else { $i = ($i == 0) ? 0 : $i; array_splice($menu, $i, 0, array($menuEntry)); } $this->quicklink[$menuEntry['CLASS']] = $menu[$i]; } function delete ($class) { if (isset($this->quicklink[$class])) { return false; } $parentclass = substr($class, 0, strrpos ($class, '.')); $menu =& $this->quicklink[$parentclass]; for ($i = 0; $i < count ($menu); $i++) { if ($menu[$i]['CLASS'] != $class) { continue; } break; } $this->quicklink['parentclass'] = array_splice($menu, $i, 1); } function load ($menufile) { if (!file_exists($menufile) || !is_file($menufile)) { return false; } $this->menufile = $menufile; $this->__parse(); } function save ($tofile, $as = 'phpcms') { if (!file_exists(dirname($tofile)) || !is_writeable($tofile)) { return false; } $this->savefile = $tofile; switch ($as) { case 'phpcms': $o = $this->__saveAsPhpCMS(); break; case 'xml': $o = $this->__saveAsXML(); break; default:; } $fh = fopen ($tofile, 'wb'); fwrite ($fh, $o); fclose ($fh); } function getEntryByClass ($class) { $parentclass = substr ($class, 0, strrpos ($class, '.')); if (!isset ($this->menuclasses)) { return false; } for ($i = 0; $i < count($this->menuclasses); $i++) { if ($this->menuclasses[$i] == $parentclass) { } } } function __parse () { // check if the menufile exists if (!file_exists($this->menufile) || !is_file($this->menufile)) { return false; } // get content from menufile $data = file ($this->menufile); // initialize some variables $this->menu = array(); $new = false; $menufields = array(); $menucounter = -1; $entrycounter = 0; // walk through the lines of the menufile for ($i = 0; $i < count($data); $i++) { // remove trailing and leading whitespace $line = trim($data[$i]); // check for empty line if (trim($line) == '') { continue; } // check for comment-line if ($line[0] == ';') { continue; } // check for menu-definition if (substr($line, 0, 5) == 'MENU:') { if (substr($line, -1) == ';') { $line = trim(substr($line, 0, strrpos($line, ';'))); } $menulevel = trim (substr($line, 5)); // increase the counter for the menublocks $menucounter++; // initialize the new element in the menuarray $this->menu[$menucounter] = array(); $entrycounter = 0; // save actual menuposition in pointer $actual =& $this->menu[$menucounter]; continue; } // check for field-definition line if (substr($line, 0, 6) == 'CLASS;') { if (substr($line, -1) == ';') { $line = trim(substr($line, 0, strrpos($line, ';'))); } // get field definitions $menufielddata = explode(';',$line); // initialize some variables $k = 0; $menufields = array(); // walk throught the array of field definitions for ($j = 0; $j < count($menufielddata); $j++) { $l = trim($menufielddata[$j]); // save name of field definition $menufields[$k++] = $l; } continue; } // now we have a menu entry, explode into field elements $entry = explode(';', $line); for ($j = 0; $j < count($menufields); $j++) { // put data of menu-entry into menu-structure $actual[$entrycounter][$menufields[$j]] = trim($entry[$j]); } $actual[$entrycounter]['_level_'] = $menulevel; // increase menucounter $entrycounter++; $this->menuclasses[$menucounter] = substr($actual[0]['CLASS'], 0, strrpos($actual[0]['CLASS'], '.')); } // sort the array with the menu-classes $temp = $this->menuclasses; sort ($temp); $this->root = $temp[0]; // complete building of menu-structure $this->menu = $this->__recurseMenu($this->root); } /** * recursive construction of the menu-tree **/ function __recurseMenu ($menuclass) { if (!in_array ($menuclass, $this->menuclasses)) { return false; } $rootmenu = $this->__getKeyByValue ($this->menuclasses, $menuclass); $menu = array(); $actual = 0; for ($i = 0; $i < count ($this->menu[$rootmenu]); $i++) { $submenuclass = $this->menu[$rootmenu][$i]['CLASS']; $this->quicklink[$submenuclass] =& $menu[$actual]; $menu[$actual] = $this->menu[$rootmenu][$i]; if ($sub = $this->__recurseMenu ($submenuclass)) { $menu[$actual]['_sub_'] = $sub; } $actual++; } return $menu; } function __getKeyByValue($array, $value) { for ($i = 0; $i < count($array); $i++) { if (isset ($array [$i]) && $array[$i] == $value) { return $i; } } } function __saveAsPhpCMS () { $i = 0; $o = ''; $menu = array($this->menu); while (isset($menu[$i])) { $o .= 'MENU:'.$menu[$i][0]['_level_']."\n"; $menuline = $menu[$i][0]; unset ($menuline['_level_']); if (isset($menuline['_sub_'])) { unset ($menuline['_sub_']); } $o .= join(';', array_keys($menuline))."\n"; for ($j = 0; $j < count ($menu[$i]); $j++) { $menuEntry = $menu[$i][$j]; if (isset($menuEntry['_sub_'])) { unset($menuEntry['_sub_']); $menu[] = $menu[$i][$j]['_sub_']; } if (isset($menuEntry['_level_'])) { unset($menuEntry['_level_']); } $o .= join (";\t", $menuEntry)."\n"; } $o .= "\n"; $i++; } return $o; } } ?> --- NEW FILE: module_phpcms_de.lng --- PHPCMS_1 = "phpCMS — Konfiguration" PHPCMS_2 = "phpCMS — Cache" PHPCMS_3 = "phpCMS — HTTP-Indexer!" PHPCMS_4 = "<h2>Willkommen bei phpCMS!</h2> <p>Vielen Dank, daß Sie phpCMS installiert haben</p> <p> Sie befinden sich im phpCMS Administrationsbereich. </p> <p> Viel Spaß mit phpCMS!</p>" PHPCMS_INDEXER_1 = "Allgemeine Informationen" PHPCMS_INDEXER_2 = "Name des Profils" PHPCMS_INDEXER_3 = "Verzeichnis für die Indexdateien" PHPCMS_INDEXER_4 = "Indexdateien mit GZip komprimieren" PHPCMS_INDEXER_5 = "PuffergröÃe in Byte" PHPCMS_INDEXER_6 = "Spider Optionen" PHPCMS_INDEXER_7 = "Beachte die robots.txt" PHPCMS_INDEXER_8 = "Beachte das robots-meta-tag" PHPCMS_INDEXER_9 = "Schließe URLs aus, die folgende Begriffe beinhalten" PHPCMS_INDEXER_10 = "Schließe URLs ein, die folgende Begriffe beinhalten" PHPCMS_INDEXER_11 = "Dateien mit diesen Endungen nicht indizieren" PHPCMS_INDEXER_12 = "Indexer Optionen" PHPCMS_INDEXER_13 = "Liste mit erlaubten Servern" PHPCMS_INDEXER_14 = "Minimale Länge der zu erfassenden Begriffe" PHPCMS_INDEXER_15 = "Pfad zur Stopwortdatei" PHPCMS_INDEXER_16 = "Benutze Inhalt des Metatags <em>description</em> zur Seitenbeschreibung" PHPCMS_INDEXER_17 = "Länge des beschreibenden Textes" PHPCMS_INDEXER_18 = "Ändere URLs" PHPCMS_INDEXER_19 = "Suche nach …" PHPCMS_INDEXER_20 = "… und ersetze mit" PHPCMS_INDEXER_21 = "Profil auswählen" PHPCMS_INDEXER_22 = "Erstelle einen neuen Index für dieses Profile" PHPCMS_INDEXER_23 = "Editiere die Einstellungen dieses Profiles" PHPCMS_INDEXER_24 = "Lösche dieses Profil" PHPCMS_INDEXER_25 = "Suche testen" PHPCMS_INDEXER_26 = "Suche testen" PHPCMS_INDEXER_27 = "Zeige die am häufigsten aufgetretenen Worte in diesem Index" PHPCMS_INDEXER_28 = "Wortliste" PHPCMS_INDEXER_29 = "Bitte erstellen Sie zuerst einen neuen Index" PHPCMS_INDEXER_30 = "Kein aktueller Index verfügbar" PHPCMS_INDEXER_31 = "Profil speichern" PHPCMS_INDEXER_32 = "Einstellungen speichern" PHPCMS_CACHE_1 = "Dateiname" PHPCMS_CACHE_2 = "Letzte Änderungen" PHPCMS_CACHE_3 = "Größe" PHPCMS_CACHE_4 = "Lösche das gecachte Dokument" PHPCMS_CACHE_5 = "Betrachte das Dokument" PHPCMS_CACHE_6 = " Datei(en)" PHPCMS_CONFIG_1 = "Save phpCMS settings" PHPCMS_CONFIG_2 = "Save settings" PHPCMS_CONFIG_3 = "Errors" PHPCMS_CONFIG_4 = "Files & directories" PHPCMS_CONFIG_5 = "Page extension to be parsed" PHPCMS_CONFIG_6 = "<b>Extension of content files to be parsed by phpCMS</b><br /> Each file has an extension. HTML-files usually end with <em>.html</em> or <em>.htm</em>.<br /> This setting tells phpCMS what extension files have that it should look out for and parse.<br /> In addition the web server has to be configured so as to send files with this extension to the parser (e.g. via a .htaccess file).<br /> <br /> Default configuration is <em>.htm</em>.<br /> Regular HTML-files might be given the extension <em>.html</em> and phpCMS-files the extension <em>.htm</em>. But even <em>.htm</em>-files that do not contain phpCMS fields would be passed through unchanged." PHPCMS_CONFIG_7 = "Name of default page" PHPCMS_CONFIG_8 = "<b>Page to display when directory is requested</b><br /> When a client sends a request that does not specify a page name phpCMS will try to display this page.<br /> <br /> Example: If your default page is set to <em>index</em> and your page extension is <em>.htm</em>, then a request for http://server.com/docs/ would return http://server.com/docs/index.htm, if it exists." PHPCMS_CONFIG_9 = "Extension for templatefiles" PHPCMS_CONFIG_10 = "<b>File extension of template files</b><br /> The file extension used for templates can of course also be chosen freely.<br /> But the parser must know it…" PHPCMS_CONFIG_11 = "Global projectfile" PHPCMS_CONFIG_12 = "<b>Optional: project file valid for entire project</b><br /> Here a global project-file can be defined that is used if a requested content-file contains phpCMS fields but no project-file or an invalid project-file is defined there." PHPCMS_CONFIG_13 = "Global home-directory for all projects" PHPCMS_CONFIG_14 = "<b>Optional: home directory valid for entire project</b><br /> Here a global home-directory can be defined that is used if the project-file doesn't contain a value to set the home-directory." PHPCMS_CONFIG_15 = "Plugin directory" PHPCMS_CONFIG_16 = "<b>Directory that stores phpCMS plug-ins</b><br /> The directory containing the Plug-Ins for phpCMS. Throughout your project you may use <em>/parser/plugs</em> to access this directory. " PHPCMS_CONFIG_17 = "Parser" PHPCMS_CONFIG_18 = "Field delimiter start tag" PHPCMS_CONFIG_19 = "<b>Character signaling start of field</b><br /> With this character the start of a field in templates and content-files is marked.<br />" PHPCMS_CONFIG_20 = "Field delimiter end tag" PHPCMS_CONFIG_21 = "<b>Character signaling end of field</b><br /> With this character the end of a field in templates and content-files is marked." PHPCMS_CONFIG_22 = "Menu delimiter" PHPCMS_CONFIG_23 = "some description needed (1)" PHPCMS_CONFIG_24 = "Tag parameter delimiter" PHPCMS_CONFIG_25 = "some description needed (2)" PHPCMS_CONFIG_26 = "Use PAXPHP in your files" PHPCMS_CONFIG_27 = "<b>Parse embedded PHP code</b><br /> PAXPHP lets you use regular PHP code within content, and template files.<br /> So called DynaTags are an application of PAXPHP. DynaTags are user-defined tags that are substituted by a PHP expression marked up as PAXPHP." PHPCMS_CONFIG_28 = "Use PAX-tags" PHPCMS_CONFIG_29 = "<b>Execute hard coded PAX TAGS</b><br /> PAX TAGS are special functions that are hard coded within the PAX-Module.<br /> Available PAX TAGS are: PAXINC, PAXLASTMOD, PAXCOMBO, PAXCOMBOALL, PAXMENU, PAXHIGLIGHT and PAXRTF." PHPCMS_CONFIG_30 = "Use Mail2Crypt" PHPCMS_CONFIG_31 = "<b>Hide e-mail addresses from SPAM bots</b><br /> By using a tag like <!-- MAIL2CRYPT mail@domain.xyz --> e-mail addresses are scrambled on the fly to protect them from being harvested by SPAM bots. When turned off, addresses inside the tag are displayed as plain text. Mail2Crypt is configurable. See the manual for details. (Currently still under “PAX”)<br /> <br /> In phpCMS 1.2.0 and higher Mail2Crypt is fully integrated into the Parser and works independent of PAX." PHPCMS_CONFIG_32 = "Mail2Crypt javascript directory" PHPCMS_CONFIG_33 = "<b>Path to Mail2Crypt JS file</b><br /> Here you may specify the path to the directory that contains the Mail2Crypt JavaScript file. The file <em>js_mail2crypt.js</em> which is needed to display scrambled e-mail addresses in the browser is located in the document root by default." PHPCMS_CONFIG_34 = "Mail2Crypt image directory" PHPCMS_CONFIG_35 = "<b>Path to Mail2Crypt icon file</b><br /> Here you may specify the path to the directory that contains the Mail2Crypt icon files. The Mail2Crypt standard icons are located in <em>/parser/gif/</em> by default." PHPCMS_CONFIG_36 = "Use online editor" PHPCMS_CONFIG_37 = "some description needed (3)" PHPCMS_CONFIG_38 = "Cache & Proxy" PHPCMS_CONFIG_39 = "Use server cache" PHPCMS_CONFIG_40 = "<b>Allow storage and reuse of parsed pages on the server</b><br /> Pages and parts of pages that have already been parsed by phpCMS can be stored (cached) on the server for reuse. A page thus cached does not have to be re-parsed on subsequent requests. Through this technique phpCMS significantly reduces the server’s response time.<br /> <br /> When deactivating this feature the server cache needs to be cleaned (flushed) manually since pages still in the cache otherwise remain to be served to visitors." PHPCMS_CONFIG_41 = "Server cache directory" PHPCMS_CONFIG_42 = "<b>Directory where to put the on server-side cached files</b><br /> Note to Linux users: PHP needs to have write access to the cache directory. Should ... [truncated message content] |
Update of /cvsroot/phpcms-plugins/admin4phpCMS/modules/statistic In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15012/modules/statistic Added Files: class.module_statistic.php .cvsignore ua.dat import_phpcms.php class.statistic_phpcms.php handbook.php class.statistic_database.php Log Message: Commit as backup during development --- NEW FILE: .cvsignore --- jpgraph* fonts stat.txt logs* input* class.apache.logs.reader.php class.stat_phpcms.php class.statistic_apache.php pie3d_csimex1.php test.png test.php useragents --- NEW FILE: class.statistic_database.php --- <?php /** * project_name * * <b>License</b> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * @author Martin Jahn <mj...@us...> * @license http://opensource.org/licenses/gpl-license.php GNU Public License * @copyright Copyright (c) 2005, Martin Jahn * @version $Id: class.statistic_database.php,v 1.1 2005/04/07 14:09:07 mjahn Exp $ * @package project_name */ /* * $Log: class.statistic_database.php,v $ * Revision 1.1 2005/04/07 14:09:07 mjahn * Commit as backup during development * */ class statistic_database { var $statdir = ''; var $ip = array (); var $uri = array (); var $ua = array (); var $ref = array (); var $session = array (); function statistic_database ($statdir = '') { return $this->__construct ($statdir); } function __construct ($statdir) { if (!file_exists ($statdir) || !is_dir ($statdir)) { return false; } $this->statdir = $statdir; if (substr ($this->statdir, -1) !== '/') { $this->statdir .= '/'; } return true; } function read ($day) { if (!file_exists ($this->statdir.$day)) { return array (); } return unserialize (file_get_contents ($this->statdir.$day)); } function getDays () { $dh = dir ($this->statdir); $ret = array (); while (false !== ($entry = $dh->read ())) { if ($entry{4} != '-' || $entry{7} != '-') { continue; } $ret [] = $entry; } $dh->close (); return $ret; } /** * import data from an assoziative array into a simpler final system */ function import ($data) { $times = array_keys ($data); sort ($times); // import old data from backupfile $filename = strftime ('%Y-%m-%d', $times [0]); if (file_exists ($this->statdir.'/backup/'.$filename)) { if (false !== ($_data = unserialize (file_get_contents ($this->statdir.'/backup/'.$filename)))) { $data = array_merge ($_data, $data); } } for ($i = 0; $i < count ($times); $i++) { if (strftime ('%Y-%m-%d', $times [$i]) > $filename) { if ($this->_saveData ($filename) === false) { return false; } $this->ip = array (); $this->uri = array (); $this->ua = array (); $this->ref = array (); $this->session = array (); $filename = strftime ('%Y-%m-%d', $times [$i]); } $this->_addTime ($times [$i]); $this->_addIp ($data [$times [$i]]); $this->_addRef ($data [$times [$i]]); $this->_addUa ($data [$times [$i]]); $this->_addUri ($data [$times [$i]]); $this->_addSession ($data [$times [$i]]); } if ($this->_saveData ($filename) === false) { return false; } return true; } function rebuild () { $days = $this->getDays (); sort ($days); $current = 0; for ($i = 0; $i < count ($days); $i++) { if (!file_exists ($this->statdir.'/'.$days [$i])) { continue; } if ($current != substr ($days [$i], 0, 7)) { // save data monthly into files if ($current != 0) { $this->_saveMonthData ($current, $data); } // goto next day and reset data array $data = array (); $current = substr ($days [$i], 0, 7); } // include data into monthly statistic $_data = unserialize (file_get_contents ($this->statdir.'/'.$days [$i])); foreach ($_data as $type=>$values) { foreach ($values as $id=>$value) { if (!isset ($data [$type] [$id])) { $data [$type] [$id] = 0; } $data [$type] [$id] += $value; } } } if ($current != 0) { $this->_saveMonthData ($current, $data); } } function _saveMonthData ($month, $data) { $fh = fopen ($this->statdir.'/'.$month, 'wb'); if (function_exists ('flock')) { flock ($fh, LOCK_EX); } fwrite ($fh, serialize ($data)); if (function_exists ('flock')) { flock ($fh, LOCK_UN); } fclose ($fh); } function _saveData ($filename) { $data = array ('ref'=>$this->ref, 'uri'=>$this->uri, 'ua'=>$this->ua, 'ip'=>$this->ip, 'session'=>$this->session, 'time'=>$this->time); $fh = fopen ($this->statdir.$filename, 'wb'); if ($fh === false) { @fclose ($fh); return false; } if (function_exists ('flock')) { flock ($fh, LOCK_EX); } fwrite ($fh, serialize ($data)); if (function_exists ('flock')) { flock ($fh, LOCK_UN); } fclose ($fh); return true; } /** * adds the ip to the internal referrer-list * @access private * @param array data set of data to add to the IP-list */ function _addTime ($time) { $t = strftime ('%H', $time); if (!isset ($this->time [$t])) { $this->time [$t] = 0; } $this->time [$t]++; } /** * adds the ip to the internal referrer-list * @access private * @param array data set of data to add to the IP-list */ function _addIp ($data) { if (!isset ($this->ip [$data ['ip']])) { $this->ip [$data ['ip']] = 0; } $this->ip [$data ['ip']]++; } /** * adds the referrer to the internal referrer-list * @access private * @param array data set of data to add to the Referrer-list */ function _addRef ($data) { if (!isset ($this->ref [$data ['ref']])) { $this->ref [$data ['ref']] = 0; } $this->ref [$data ['ref']]++; } /** * adds the ua and decode them to the internal ua-list * @access private * @param array data set of data to add to the UA-list */ function _addUa ($data) { if (!isset ($this->ua_dat) || !is_array ($this->ua_dat)) { $this->ua_dat = unserialize (file_get_contents (dirname (__FILE__).'/ua.dat')); } $ua = $data ['ua']; if (isset ($this->ua_dat [$data ['ua']])) { $ua = $this->ua_dat [$data ['ua']]; } else { //$ua = 'unknown'; } if (!isset ($this->ua [$ua])) { $this->ua [$ua] = 0; } $this->ua [$ua]++; } /** * adds the ip to the internal referrer-list * @access private * @param array data set of data to add to the URI-list */ function _addUri ($data) { if (!isset ($this->uri [$data ['uri']])) { $this->uri [$data ['uri']] = 0; } $this->uri [$data ['uri']]++; } /** * parses the logdata into user-sessions * @access private * @param array data set of data to add to the Session-list */ function _addSession ($data) { return true; } } ?> --- NEW FILE: class.statistic_phpcms.php --- <?php /** * Admin4phpCMS - module Statistic * * <b>License</b> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * @author Martin Jahn <mj...@us...> * @license http://opensource.org/licenses/gpl-license.php GNU Public License * @copyright Copyright (c) 2005, Martin Jahn * @version $Id: class.statistic_phpcms.php,v 1.1 2005/04/07 14:09:07 mjahn Exp $ * @package admin4phpCMS * @subpackage module_statistic */ /* * $Log: class.statistic_phpcms.php,v $ * Revision 1.1 2005/04/07 14:09:07 mjahn * Commit as backup during development * */ class statistic_phpcms { var $loaded = false; var $filename = ''; var $data = array (); var $times = array (); function statistic_phpcms ($filename) { return $this->__construct ($filename); } function __construct ($filename) { if (!file_exists ($filename) || !is_readable ($filename)) { return false; } $this->filename = $filename; $temp = @file ($filename); if (!is_array ($temp)) { return false; } if (count ($temp) < 1) { return false; } // time;ip;proto;method;ref;ua;uri foreach ($temp as $log) { $data = array (); $logentry = explode (';', trim ($log)); $data = array ('ip'=>'', 'proto'=>'', 'ref'=>'', 'ua'=>'', 'uri'=>''); if (isset ($logentry [0])) { $id = $logentry [0]; } if (isset ($logentry [1])) { $data ['ip'] = $logentry [1]; } if (isset ($logentry [2])) { $data ['proto'] = $logentry [2]; } if (isset ($logentry [3])) { $data ['method'] = $logentry [3]; } if (isset ($logentry [4])) { $data ['ref'] = $logentry [4]; } if (isset ($logentry [5])) { $data ['ua'] = $logentry [5]; } if (isset ($logentry [6])) { $data ['uri'] = $logentry [6]; } if (isset ($this->data [$id])) { $this->data [$id] [] = $data; } else { $this->data [$id] = $data; } } $this->loaded = true; } function read ($from = 0, $till = 0) { if (DEBUG) echo '---- read ('.$from.' - '.$till.') ----'; if ($from == 0 && $till == 0) { return $this->data; } $ret = array (); $ids = array_keys ($this->data); $max = count ($ids); for ($i = 0; $i < $max; $i++) { if (!isset ($ids [$i])) { continue; } if ($ids [$i] < $from || $ids [$i] > $till) { continue; } $ret [$ids [$i]] =& $this->data [$ids [$i]]; } return $ret; } function readAllIds () { return array_keys ($this->data);; } function del ($from, $till) { $ids = array_keys ($this->data); $max = count ($ids); if (DEBUG) echo '---- del ('.$from.' - '.$till.' = '.$max.') ----'; for ($i = 0; $i < $max; $i++) { if ($ids [$i] < $from) { if (DEBUG) echo "\n".'<!-- '.$ids [$i].' < '.$from.' -->'; continue; } if ($till != 0 && $ids [$i] > $till) { if (DEBUG) echo "\n".'<!-- '.$ids [$i].' > '.$till.' -->'; continue; } if (DEBUG) echo "\n".'<!-- '.$ids [$i].' del -->'; unset ($this->data [$ids [$i]]); } } function write () { $tempname = $this->filename.time (); if (DEBUG) echo '---- write ('.$tempname.')----'; $fh = fopen ($tempname, 'wb'); if ($fh === false) { return false; } if (function_exists ('flock')) { flock ($fh, LOCK_UN); } $ids = array_keys ($this->data); $max = count ($ids); for ($i = 0; $i < $max; $i++) { if (!isset ($ids [$i]) || !is_array ($this->data [$ids [$i]])) { continue; } if (isset ($this->data [$ids [$i]] [0])) { for ($j = 0; $j < count ($this->data [$ids [$i]]); $j++) { fwrite ($fh, $ids [$i].';'. $this->data [$ids [$i]] [$j] ['ip'].';'. $this->data [$ids [$i]] [$j] ['proto'].';'. $this->data [$ids [$i]] [$j] ['method'].';'. $this->data [$ids [$i]] [$j] ['ref'].';'. $this->data [$ids [$i]] [$j] ['ua'].';'. $this->data [$ids [$i]] [$j] ['uri']."\n"); } } else { fwrite ($fh, $ids [$i].';'. $this->data [$ids [$i]] ['ip'].';'. $this->data [$ids [$i]] ['proto'].';'. $this->data [$ids [$i]] ['method'].';'. $this->data [$ids [$i]] ['ref'].';'. $this->data [$ids [$i]] ['ua'].';'. $this->data [$ids [$i]] ['uri']."\n"); } } if (function_exists ('flock')) { flock ($fh, LOCK_UN); } fclose ($fh); copy ($tempname, $this->filename); unlink ($tempname); } } ?> --- NEW FILE: class.module_statistic.php --- <?php /** * statistic-module * * This module displays the follwoing statistic-data about the website * <ul> * <li>listing of all Referrer</li> * <li>monthly, weekly and daily view of sites and users</li> * <li>Visitsin relation to the menu-data (LINK, CLASS) in monthly, weekly and * daily view</li> * </ul> * * <b>License</b> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * @author Martin Jahn <mj...@us...> * @license http://opensource.org/licenses/gpl-license.php GNU Public License * @copyright Copyright (c) 2004, Martin Jahn * @version $Id: class.module_statistic.php,v 1.1 2005/04/07 14:09:07 mjahn Exp $ * @package admin4phpCMS * @subpackage module_statistic **/ /* * $Log: class.module_statistic.php,v $ * Revision 1.1 2005/04/07 14:09:07 mjahn * Commit as backup during development * */ include_once (dirname (__FILE__).'/class.statistic_database.php'); /** * Class for statistic interface * * You can define several data-sources in this class. They will be displayed * via a selection to the user and he can choice, which datasource he wants * to see. * * @package admin4phpCMS * @subpackage module_statistic * @todo Get the class work completly **/ class module_statistic extends module { var $_CONF = array ('statdir'=>'/parser/stat/'); var $jpgraphdir = ''; /** * Initialization of the module * * The module registers its own events and connects his methods to some actions **/ function init () { $this->jpgraphdir = dirname (__FILE__).'/../../../jpgraph/'; // connect to actions $this->_registerAction('doParseParam', 'parseParam'); $this->_registerAction('doGetMenu', 'getMenu'); return true; } /** * Parse the URI-params * @param array $actiondata $actiondata contains the URI-param-arrays */ function parseParam (&$actiondata) { $this->display = (isset ($actiondata ['request'] ['moduleid']) && $actiondata ['request'] ['moduleid'] == 'stat'); if ($this->display) { $this->_registerAction('doGetData', 'getData'); $this->_registerAction('doGetLanguage', 'getLanguageData'); $this->action = ''; if (isset ($actiondata ['request'] ['action'])) { $this->action = $actiondata ['request'] ['action']; } $this->viewyear = ''; if (isset ($actiondata ['request'] ['viewyear'])) { $this->viewyear = $actiondata ['request'] ['viewyear']; } $this->viewmonth = 0; if (isset ($actiondata ['request'] ['viewmonth'])) { $this->viewmonth = $actiondata ['request'] ['viewmonth']; } } $actiondata1 = array (); $this->_callEvent ('USER_GET_STATUS', $actiondata1); $this->_USER = $actiondata1; return true; } // function parseParam () /** * Get content for menu * @param array $actiondata */ function getMenu (&$actiondata) { if (!$this->_USER['isLoggedIn']) { return true; } $data = array ('name'=>'Statistik', 'module'=>'stat', 'action'=>''); $_data = array (); if ($this->display) { $data ['extra'] = 'class="current"'; /** **/ $data1 = array ('name' => 'Content', 'module' => 'stat', 'action' => 'content'); if (substr ($this->action, 0, 7) == 'content') { $data1 ['extra'] = 'class="current"'; $data2 = array ('name' => 'Pages / Directories', 'module' => 'stat', 'action' => 'content-pagesdir'); if ($this->action == 'content-pagesdir') { $data2 ['extra'] = 'class="current"'; } $__data [] = $data2; $data2 = array ('name' => 'Content pages', 'module' => 'stat', 'action' => 'content-pages'); if ($this->action == 'content-pages') { $data2 ['extra'] = 'class="current"'; } $__data [] = $data2; $data2 = array ('name' => 'File types', 'module' => 'stat', 'action' => 'content-filetypes', 'extra'=>'class="last"'); if ($this->action == 'content-filetypes') { $data2 ['extra'] = 'class="current last"'; } $__data [] = $data2; $data1 ['_sub_'] = $__data; } $_data [] = $data1; /** **/ $data1 = array ('name' => 'Visitors', 'module' => 'stat', 'action' => 'visitor'); if (substr ($this->action, 0, 7) == 'visitor') { $data1 ['extra'] = 'class="current"'; $data2 = array ('name' => 'Hostnames', 'module' => 'stat', 'action' => 'visitor-hostnames'); if ($this->action == 'visitor-hostnames') { $data2 ['extra'] = 'class="current"'; } $__data [] = $data2; $data2 = array ('name' => 'TLDs', 'module' => 'stat', 'action' => 'visitor-tld'); if ($this->action == 'visitor-tld') { $data2 ['extra'] = 'class="current"'; } $__data [] = $data2; $data2 = array ('name' => 'Locator', 'module' => 'stat', 'action' => 'visitor-locator'); if ($this->action == 'visitor-locator') { $data2 ['extra'] = 'class="current"'; } $__data [] = $data2; $data2 = array ('name' => 'Browser', 'module' => 'stat', 'action' => 'visitor-browsers'); if ($this->action == 'visitor-browsers') { $data2 ['extra'] = 'class="current"'; } $__data [] = $data2; $data2 = array ('name' => 'Operating systems', 'module' => 'stat', 'action' => 'visitor-os', 'extra'=>'class="last"'); if ($this->action == 'visitor-os') { $data2 ['extra'] = 'class="current last"'; } $__data [] = $data2; $data1 ['_sub_'] = $__data; } $_data [] = $data1; /** **/ $data1 = array ('name' => 'Referrers', 'module' => 'stat', 'action' => 'referrer'); if (substr ($this->action, 0, 8) == 'referrer') { $data1 ['extra'] = 'class="current"'; $data2 = array ('name' => 'Hostnames', 'module' => 'stat', 'action' => 'referrer-hostnames'); if ($this->action == 'referrer-hostnames') { $data2 ['extra'] = 'class="current"'; } $__data [] = $data2; $data2 = array ('name' => 'TLDs', 'module' => 'stat', 'action' => 'referrer-tld'); if ($this->action == 'referrer-tld') { $data2 ['extra'] = 'class="current"'; } $__data [] = $data2; $data2 = array ('name' => 'Search engines', 'module' => 'stat', 'action' => 'referrer-searchengines'); if ($this->action == 'referrer-searchengines') { $data2 ['extra'] = 'class="current"'; } $__data [] = $data2; $data2 = array ('name' => 'Search phrases', 'module' => 'stat', 'action' => 'referrer-searchterms'); if ($this->action == 'referrer-searchterms') { $data2 ['extra'] = 'class="current"'; } $__data [] = $data2; $data2 = array ('name' => 'Search phrases by search engine', 'module' => 'stat', 'action' => 'referrer-searchenginesterms', 'extra'=>'class="last"'); if ($this->action == 'referrer-searchenginesterms') { $data2 ['extra'] = 'class="current last"'; } $__data [] = $data2; $data1 ['_sub_'] = $__data; } $_data [] = $data1; /** ** $data1 = array ('name' => 'Visitor demographics', 'module' => 'stat', 'action' => 'visitor'); if (substr ($this->action, 0, 7) == 'visitor') { $data1 ['extra'] = 'class="current"'; $data2 = array ('name' => 'Hostnames', 'module' => 'stat', 'action' => 'visitor-hostnames'); if ($this->action == 'visitor-hostnames') { $data2 ['extra'] = 'class="current"'; } $__data [] = $data2; $data2 = array ('name' => 'TLDs', 'module' => 'stat', 'action' => 'visitor-tld'); if ($this->action == 'visitor-tld') { $data2 ['extra'] = 'class="current"'; } $__data [] = $data2; $data2 = array ('name' => 'Locator', 'module' => 'stat', 'action' => 'visitor-locator'); if ($this->action == 'visitor-locator') { $data2 ['extra'] = 'class="current"'; } $__data [] = $data2; $data1 ['_sub_'] = $__data; } $_data [] = $data1; /** **/ $data1 = array ('name' => 'Sessions', 'module' => 'stat', 'action' => 'session'); if (substr ($this->action, 0, 7) == 'session') { $data1 ['extra'] = 'class="current"'; $data2 = array ('name' => 'Overview', 'module' => 'stat', 'action' => 'session-overview'); if ($this->action == 'session-overview') { $data2 ['extra'] = 'class="current"'; } $__data [] = $data2; $data2 = array ('name' => 'Entry pages', 'module' => 'stat', 'action' => 'session-entry'); if ($this->action == 'session-entry') { $data2 ['extra'] = 'class="current"'; } $__data [] = $data2; $data2 = array ('name' => 'Exit pages', 'module' => 'stat', 'action' => 'session-exit'); if ($this->action == 'session-exit') { $data2 ['extra'] = 'class="current"'; } $__data [] = $data2; $data2 = array ('name' => 'Pathes', 'module' => 'stat', 'action' => 'session-path', 'extra'=>'class="last"'); if ($this->action == 'session-path') { $data2 ['extra'] = 'class="current last"'; } $__data [] = $data2; /* $data2 = array ('name' => 'Hostnames', 'module' => 'stat', 'action' => 'visitor-hostnames'); if ($this->action == 'visitor-hostnames') { $data2 ['extra'] = 'class="current"'; } $__data [] = $data2; $data2 = array ('name' => 'TLDs', 'module' => 'stat', 'action' => 'visitor-tld'); if ($this->action == 'visitor-tld') { $data2 ['extra'] = 'class="current"'; } $__data [] = $data2; $data2 = array ('name' => 'Hostnames', 'module' => 'stat', 'action' => 'visitor-hostnames'); if ($this->action == 'visitor-hostnames') { $data2 ['extra'] = 'class="current"'; } $__data [] = $data2; $data2 = array ('name' => 'TLDs', 'module' => 'stat', 'action' => 'visitor-tld'); if ($this->action == 'visitor-tld') { $data2 ['extra'] = 'class="current"'; } $__data [] = $data2; */ $data1 ['_sub_'] = $__data; } $_data [] = $data1; /** **/ $data ['_sub_'] = $_data; } $actiondata [$actiondata ['tag']] ['statistic'] = array ($data); } // function getMenu () /** * Presentation of the statistic data */ function getData (&$actiondata) { if (!$this->_USER['isLoggedIn']) { return true; } if (!$this->display) { return true; } $actiondata1 = array ('module' => 'stat'); $this->_callEvent('CONFIG_GET', $actiondata1); $this->_CONF = array_merge ($this->_CONF, $actiondata1['config']); $data = array ('action'=>$this->action, 'stat'=>1); $actiondata2 = array ('id'=>'STATS', 'value'=>''); $this->_callEvent ('PHPCMS_GET_DEFAULTS_VALUE', $actiondata2); if (strtoupper ($actiondata2 ['value']) == 'OFF') { $data ['stat'] = 0; $actiondata [$actiondata ['tag']] ['statistic'] = $data; return true; } switch ($this->action) { case 'referrer': case 'referrer-hostnames': case 'referrer-tld': case 'referrer-searchengines': case 'referrer-searchterms': case 'referrer-searchengineterms': $data ['referrer'] = $this->getReferrerData (); break; case 'content': case 'content-pagesdir': case 'content-pages': case 'content-filetypes': $data ['access'] = $this->getContentData (); break; case 'session': case 'session-overview': case 'session-entry': case 'session-exit': case 'session-path': $data ['session'] = $this->getSessionData (); break; case 'import': $data ['import'] = $this->getImportData (); break; case 'visitor': case 'visitor-hostnames': case 'visitor-tld': case 'visitor-browsers': case 'visitor-os': $data ['visitor'] = $this->getVisitorData (); break; default:; } $actiondata [$actiondata ['tag']] ['statistic'] = $data; return true; } function getLanguageData (&$actiondata) { $langAvailable = array ('de', 'en'); $data = $actiondata [$actiondata ['tag']]; foreach ($langAvailable as $lang) { if (!file_exists (dirname (__FILE__).'/module_statistic_'.$lang.'.lng')) { continue; } if (isset ($data [$lang])) { $data [$lang] = array_merge ($data [$lang], parse_ini_file (dirname (__FILE__).'/module_statistic_'.$lang.'.lng')); } else { $data [$lang] = parse_ini_file (dirname (__FILE__).'/module_statistic_'.$lang.'.lng', true); } } $actiondata [$actiondata ['tag']] = $data; return true; } function getReferrerData () { $actiondata = array ('id'=>'REFERRER'); $this->_callEvent ('PHPCMS_GET_DEFAULTS_VALUE', $actiondata); if (strtoupper ($actiondata ['value']) == 'OFF') { return array (''); } $actiondata = array ('id'=>'REFERRER_DIR'); $this->_callEvent ('PHPCMS_GET_DEFAULTS_VALUE', $actiondata); $datafile = $_SERVER ['DOCUMENT_ROOT'].$actiondata ['value']; $actiondata = array ('id'=>'REFERRER_FILE'); $this->_callEvent ('PHPCMS_GET_DEFAULTS_VALUE', $actiondata); $datafile .= '/'.$actiondata ['value']; if (!file_exists ($datafile)) { return array (''); } return unserialize (file_get_contents ($datafile)); } function getContentData ($year = 0, $month = 0) { $actiondata = array ('id'=>'STATSDIR', 'value'=>'/cms/parser/stat/'); $this->_callEvent ('PHPCMS_GET_DEFAULTS_VALUE', $actiondata); $statdir = $_SERVER ['DOCUMENT_ROOT'].$actiondata ['value']; $this->db = new statistic_database ($statdir); echo $current_month = (int) strftime ('%m', time ()); $current_year = strftime ('%Y', time ()); for ($i = 1; $i <= $current_month; $i++) { $data = $this->db->read ($current_year.'-0'.$i); } //print_r ($data); return $data; } function getVisitorData () { $actiondata = array ('id'=>'REFERRER'); $this->_callEvent ('PHPCMS_GET_DEFAULTS_VALUE', $actiondata); if (strtoupper ($actiondata ['value']) == 'OFF') { return array (''); } $actiondata = array ('id'=>'REFERRER_DIR'); $this->_callEvent ('PHPCMS_GET_DEFAULTS_VALUE', $actiondata); $datafile = $_SERVER ['DOCUMENT_ROOT'].$actiondata ['value']; $actiondata = array ('id'=>'REFERRER_FILE'); $this->_callEvent ('PHPCMS_GET_DEFAULTS_VALUE', $actiondata); $datafile .= '/'.$actiondata ['value']; if (!file_exists ($datafile)) { return array (''); } return unserialize (file_get_contents ($datafile)); } function getSessionData () { $actiondata = array ('id'=>'REFERRER'); $this->_callEvent ('PHPCMS_GET_DEFAULTS_VALUE', $actiondata); if (strtoupper ($actiondata ['value']) == 'OFF') { return array (''); } $actiondata = array ('id'=>'REFERRER_DIR'); $this->_callEvent ('PHPCMS_GET_DEFAULTS_VALUE', $actiondata); $datafile = $_SERVER ['DOCUMENT_ROOT'].$actiondata ['value']; $actiondata = array ('id'=>'REFERRER_FILE'); $this->_callEvent ('PHPCMS_GET_DEFAULTS_VALUE', $actiondata); $datafile .= '/'.$actiondata ['value']; if (!file_exists ($datafile)) { return array (''); } return unserialize (file_get_contents ($datafile)); } } ?> --- NEW FILE: import_phpcms.php --- <?php /** * Import-script for phpCMS statistic-data * * <b>License</b> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * @author Martin Jahn <mj...@us...> * @license http://opensource.org/licenses/gpl-license.php GNU Public License * @copyright Copyright (c) 2005, Martin Jahn * @version $Id: import_phpcms.php,v 1.1 2005/04/07 14:09:07 mjahn Exp $ * @package admin4phpCMS * @subpackage module_statistic * * @todo implement the registration of command line parameters for PHP-CLI */ /* * $Log: import_phpcms.php,v $ * Revision 1.1 2005/04/07 14:09:07 mjahn * Commit as backup during development * */ define ('DEBUG', false); /** * include the class for accessing the phpCMS-statfile */ include_once (dirname (__FILE__).'/class.statistic_phpcms.php'); /** * include the class for accessing the database */ include_once (dirname (__FILE__).'/class.statistic_database.php'); /** * import the statistic data from the datasource into the statistic-module * database */ function import_phpcms ($statfile, $statdir) { // initialize phpCMS-statistic $phpcms = new statistic_phpcms ($statfile); $db = new statistic_database ($statdir); $times = $phpcms->readAllIds (); // is there any data to import? if (!isset ($times [0]) || !is_array ($times) || count ($times) == 0) { echo '<p>No data to import ..... done</p>'; return true; } echo '<p>Importing data into database .....'; $data = $phpcms->read (); //print_r ($data); if ($db->import ($data)) { $phpcms->del ($times [0], $times [count ($times) - 1]); $phpcms->write (); $db->rebuild (); echo 'done</p>'; } else { echo 'failed</p>'; } return true; } /** * prints out an error-message and displays the general help-page * @param string text contains the error-message */ function error ($text) { } //define the document-root $docroot = $_SERVER ['DOCUMENT_ROOT']; // get the path to the statfile from URI-parameter if (isset ($_REQUEST ['statfile'])) { $statfile = $docroot.strip_tags (urldecode ($_REQUEST ['statfile'])); } // get the path to the destination directory from URI-parameter if (isset ($_REQUEST ['statdir'])) { $statdir = $docroot.strip_tags (urldecode ($_REQUEST ['statdir'])); } if (true !== ($error = import_phpcms ($statfile, $statdir))) { error ($error); } ?> --- NEW FILE: ua.dat --- (This appears to be a binary file; contents omitted.) --- NEW FILE: handbook.php --- <?php /** * Handbook for the statistic-module * * <b>Introduction</b> * * Import der Daten in die Statistik * - Aufteilen der Daten in tageweise Dateien -> kleine DateigröÃe * - Erstellen spezieller Dateien mit zusammengefaÃten Daten (i.e. * IP/month, Visits/month Pages/moth) * - der Import geschieht über ein externes Skript, welches auch mittels Cronjob * ausgeführt werden kann * - die notwendigen Parameter werden übergeben (auch per Kommandozeile möglich) * * Der Zugriff auf die DB erfolgt über eine eigene Klasse, die auch von den * Importskripten verwendet wird, um auf die DB zuzugreifen (MVC-Konzept) * * * * day.ip ip;anzahl * * day.ref ref:anzahl * * day.uri uri:anzahl * * day.ua ua:anzahl * * day.session * * <b>License</b> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * @author Martin Jahn <mj...@us...> * @license http://opensource.org/licenses/gpl-license.php GNU Public License * @copyright Copyright (c) 2005, Martin Jahn * @version $Id: handbook.php,v 1.1 2005/04/07 14:09:07 mjahn Exp $ * @package admin4phpCMS * @subpackage module_statistic * */ /* * $Log: handbook.php,v $ * Revision 1.1 2005/04/07 14:09:07 mjahn * Commit as backup during development * */ ?> |
From: Martin J. <mj...@us...> - 2005-04-07 14:09:19
|
Update of /cvsroot/phpcms-plugins/admin4phpCMS/modules/phpcms-content/templates In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15012/modules/phpcms-content/templates Added Files: module_phpcms-content.tpl Log Message: Commit as backup during development --- NEW FILE: module_phpcms-content.tpl --- |
From: Martin J. <mj...@us...> - 2005-04-07 14:09:18
|
Update of /cvsroot/phpcms-plugins/admin4phpCMS/modules/user/data In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15012/modules/user/data Added Files: Martin Jahn Log Message: Commit as backup during development --- NEW FILE: Martin Jahn --- [system] login = "Martin Jahn" fullname = "Martin Jahn" groups = "admin,users" language = "de" [phpcms] |
From: Martin J. <mj...@us...> - 2005-04-07 14:09:15
|
Update of /cvsroot/phpcms-plugins/admin4phpCMS/temp In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15012/temp Added Files: .cvsignore Log Message: Commit as backup during development --- NEW FILE: .cvsignore --- cache templates_c |
From: Martin J. <mj...@us...> - 2005-04-07 14:09:14
|
Update of /cvsroot/phpcms-plugins/admin4phpCMS/modules/statistik In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15012/modules/statistik Removed Files: class.module_statistik.php .cvsignore class.statistic_phpcms.php Log Message: Commit as backup during development --- .cvsignore DELETED --- --- class.statistic_phpcms.php DELETED --- --- class.module_statistik.php DELETED --- |
From: Martin J. <mj...@us...> - 2005-04-07 14:09:14
|
Update of /cvsroot/phpcms-plugins/admin4phpCMS/modules/statistic/templates In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15012/modules/statistic/templates Added Files: access_statistic.tpl module_statistic.tpl referrer_statistic.tpl Log Message: Commit as backup during development --- NEW FILE: module_statistic.tpl --- <h1>Statistik</h1> <ul class="horizontal" id="yearlist"> </ul> <ul class="horizontal" id="yearlist"> {foreach from=$moduledata.months item=month} <li><a href="?moduleid=stat&action=$moduledata.action {/foreach} </ul> {if ($moduledata.action == 'referrer')} {include file="$INDEX_PATH/modules/statistic/templates/referrer_statistic.tpl"} {/if} {if ($moduledata.action == 'access')} {include file="$INDEX_PATH/modules/statistic/templates/access_statistic.tpl"} {/if} {if ($moduledata.action == '')} <iframe src="{$INDEX_WEB}/modules/statistic/import_phpcms.php"></iframe> {/if} --- NEW FILE: referrer_statistic.tpl --- <h2>Referrer</h2> <table id="table_referrer"> <caption>Referrerliste</caption> <thead> <tr> <th>Referreradresse</th> <th>Anzahl</th> <th>Adresse</th> <th>Letzter Referrer</th> </tr> </thead> <tbody> {foreach from=$moduledata.referrer item=referrer} {if ($referrer.p != '')} <tr> <td title="{$referrer.p|strip_tags|htmlentities}">{$referrer.p|strip_tags|truncate:60:'...'|htmlentities}</td> <td>{$referrer.c|strip_tags}</td> <td>{$referrer.x|strip_tags|htmlentities}</td> <td>{$referrer.t|strip_tags|date_format:"%Y-%m-%d %H:%M"}</td> </tr> {/if} {/foreach} </tbody> </table> <script src="{$MODULE_PATH}../tools/tablesort.js" type="text/javascript"></script> <script type="text/javascript"> <!-- initTable("table_referrer"); --> </script> --- NEW FILE: access_statistic.tpl --- <h2>Referrer</h2> <table id="table_referrer"> <caption>Referrerliste</caption> <thead> <tr> <th>Referreradresse</th> <th>Anzahl</th> <th>Adresse</th> <th>Letzter Referrer</th> </tr> </thead> <tbody> {foreach from=$moduledata.referrer item=referrer} {if ($referrer.p != '')} <tr> <td title="{$referrer.p|strip_tags|htmlentities}">{$referrer.p|strip_tags|truncate:60:'...'|htmlentities}</td> <td>{$referrer.c|strip_tags}</td> <td>{$referrer.x|strip_tags|htmlentities}</td> <td>{$referrer.t|strip_tags|date_format:"%Y-%m-%d %H:%M"}</td> </tr> {/if} {/foreach} </tbody> </table> <script src="{$MODULE_PATH}../tools/table.js" type="text/javascript"></script> <script type="text/javascript"> <!-- if (document.all||document.getElementById) initTable("table_referrer"); --> </script> |
From: Martin J. <mj...@us...> - 2005-04-07 14:09:13
|
Update of /cvsroot/phpcms-plugins/admin4phpCMS/modules/phpcms/templates In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15012/modules/phpcms/templates Added Files: phpcms-config.tpl phpcms-indexer.tpl module_phpcms.tpl phpcms-cache.tpl Log Message: Commit as backup during development --- NEW FILE: phpcms-config.tpl --- <fieldset> <legend>{$lang.PHPCMS_CONFIG_1}</legend> <label> <span> <span class="hidden">{$lang.PHPCMS_CONFIG_1}</span></span> <input type="submit" name="configform-submit" value="{$lang.PHPCMS_CONFIG_2}" /> </label> </fieldset> {if isset ($moduledata.error)} <fieldset> <legend>{$lang.PHPCMS_CONFIG_3}</legend> </fieldset> {/if} <fieldset> <legend>{$lang.PHPCMS_CONFIG_4}</legend> <input type="hidden" name="type[PAGE_EXTENSION]" value="string" /> <label> <span class="info"> {$lang.PHPCMS_CONFIG_5} <span> {$lang.PHPCMS_CONFIG_6} </span> </span> <input type="text" name="values[PAGE_EXTENSION]" value="{$moduledata.default.PAGE_EXTENSION.value|strip_tags}" /> </label> <input type="hidden" name="type[PAGE_DEFAULTNAME]" value="string" /> <label> <span class="info"> {$lang.PHPCMS_CONFIG_7} <span> {$lang.PHPCMS_CONFIG_8} </span> </span> <input type="text" name="values[PAGE_DEFAULTNAME]" value="{$moduledata.default.PAGE_DEFAULTNAME.value|strip_tags}" /> </label> <input type="hidden" name="type[TEMPEXT]" value="string" /> <label> <span class="info"> {$lang.PHPCMS_CONFIG_9} <span> {$lang.PHPCMS_CONFIG_10} </span> </span> <input type="text" name="values[TEMPEXT]" value="{$moduledata.default.TEMPEXT.value|strip_tags}" /> </label> <input type="hidden" name="type[GLOBAL_PROJECT_FILE]" value="string" /> <label> <span class="info"> {$lang.PHPCMS_CONFIG_11} <span> {$lang.PHPCMS_CONFIG_12} </span> </span> <input type="text" name="values[GLOBAL_PROJECT_FILE]" value="{$moduledata.default.GLOBAL_PROJECT_FILE.value|strip_tags}" /> </label> <input type="hidden" name="type[GLOBAL_PROJECT_HOME]" value="string" /> <label> <span class="info"> {$lang.PHPCMS_CONFIG_13} <span> {$lang.PHPCMS_CONFIG_14} </span> </span> <input type="text" name="values [GLOBAL_PROJECT_HOME]" value="{$moduledata.default.GLOBAL_PROJECT_HOME.value|strip_tags}" /> </label> <input type="hidden" name="type[PLUGINDIR]" value="string" /> <label> <span class="info"> {$lang.PHPCMS_CONFIG_15} <span> {$lang.PHPCMS_CONFIG_16} </span> </span> <input type="text" name="values[PLUGINDIR]" value="{$moduledata.default.PLUGINDIR.value|strip_tags}" /> </label> </fieldset> <fieldset> <legend>{$lang.PHPCMS_CONFIG_17}</legend> <input type="hidden" name="type[START_FIELD]" value="string" /> <label> <span class="info"> {$lang.PHPCMS_CONFIG_18} <span> {$lang.PHPCMS_CONFIG_19} </span> </span> <input type="text" name="values[START_FIELD]" value="{$moduledata.default.START_FIELD.value|strip_tags}" /> </label> <input type="hidden" name="type[STOP_FIELD]" value="string" /> <label> <span class="info"> {$lang.PHPCMS_CONFIG_20} <span> {$lang.PHPCMS_CONFIG_21} </span> </span> <input type="text" name="values[STOP_FIELD]" value="{$moduledata.default.STOP_FIELD.value|strip_tags}" /> </label> <input type="hidden" name="type[MENU_DELIMITER]" value="string" /> <label> <span class="info"> {$lang.PHPCMS_CONFIG_22} <span> {$lang.PHPCMS_CONFIG_23} </span> </span> <input type="text" name="values[MENU_DELIMITER]" value="{$moduledata.default.MENU_DELIMITER.value|strip_tags}" /> </label> <input type="hidden" name="type[TAG_DELIMITER]" value="string" /> <label> <span class="info"> {$lang.PHPCMS_CONFIG_24} <span> {$lang.PHPCMS_CONFIG_25} </span> </span> <input type="text" name="values[TAG_DELIMITER]" value="{$moduledata.default.TAG_DELIMITER.value|strip_tags}" /> </label> <input type="hidden" name="type[PAX]" value="string" /> <div class="label"> <span class="info"> {$lang.PHPCMS_CONFIG_26} <span> {$lang.PHPCMS_CONFIG_27} </span> </span> <label class="horizontal"> <span>On</span> <input type="radio" name="values[PAX]" value="on" {if ($moduledata.default.PAX.value == 1)} checked="checked"{/if} /> </label> <label class="horizontal"> <span>Off</span> <input type="radio" name="values[PAX]" value="off" {if ($moduledata.default.PAX.value == 0)} checked="checked"{/if} /> </label> <br style="clear:both;" /> </div> <input type="hidden" name="type[PAXTAGS]" value="string" /> <div class="label"> <span class="info"> {$lang.PHPCMS_CONFIG_28} <span> {$lang.PHPCMS_CONFIG_29} </span> </span> <label class="horizontal"> <span>On</span> <input type="radio" name="values[PAXTAGS]" value="on" {if ($moduledata.default.PAXTAGS.value == 1)} checked="checked"{/if} /> </label> <label class="horizontal"> <span>Off</span> <input type="radio" name="values[PAXTAGS]" value="off" {if ($moduledata.default.PAXTAGS.value == 0)} checked="checked"{/if}/> </label> <br style="clear:both;" /> </div> <input type="hidden" name="type[MAIL2CRYPT]" value="string" /> <div class="label"> <span class="info"> {$lang.PHPCMS_CONFIG_30} <span> {$lang.PHPCMS_CONFIG_31} </span> </span> <label class="horizontal"> <span>On</span> <input type="radio" name="values[MAIL2CRYPT]" value="on" {if ($moduledata.default.MAIL2CRYPT.value == 1)} checked="checked"{/if} onclick="showArea ('mail2crypt');" onkeypress="showArea ('mail2crypt');" /> </label> <label class="horizontal"> <span>Off</span> <input type="radio" name="values[MAIL2CRYPT]" value="off" {if ($moduledata.default.MAIL2CRYPT.value == 0)} checked="checked"{/if} onclick="hideArea ('mail2crypt');" onkeypress="hideArea ('mail2crypt');" /> </label> <br style="clear:both;" /> </div> <div id="mail2crypt" {if ($moduledata.default.MAIL2CRYPT.value == 0)} class="hidden"{/if}> <input type="hidden" name="type[MAIL2CRYPT_JS]" value="string" /> <label> <span class="info"> {$lang.PHPCMS_CONFIG_32} <span> {$lang.PHPCMS_CONFIG_33} </span> </span> <input type="text" name="values[MAIL2CRYPT_JS]" value="{$moduledata.default.MAIL2CRYPT_JS.value|strip_tags}" /> </label> <input type="hidden" name="type[MAIL2CRYPT_IMG]" value="string" /> <label> <span class="info"> {$lang.PHPCMS_CONFIG_34} <span> {$lang.PHPCMS_CONFIG_35} </span> </span> <input type="text" name="values[MAIL2CRYPT_IMG]" value="{$moduledata.default.MAIL2CRYPT_IMG.value|strip_tags}" /> </label> </div> <input type="hidden" name="type[ENABLE_ONLINE_EDITOR]" value="string" /> <div class="label"> <span class="info"> {$lang.PHPCMS_CONFIG_36} <span> {$lang.PHPCMS_CONFIG_37} </span> </span> <label class="horizontal"> <span>On</span> <input type="radio" name="values[ENABLE_ONLINE_EDITOR]" value="on" {if ($moduledata.default.ENABLE_ONLINE_EDITOR.value == 1)} checked="checked"{/if} /> </label> <label class="horizontal"> <span>Off</span> <input type="radio" name="values[ENABLE_ONLINE_EDITOR]" value="off" {if ($moduledata.default.ENABLE_ONLINE_EDITOR.value == 0)} checked="checked"{/if} /> </label> <br style="clear:both;" /> </div> </fieldset> <fieldset> <legend>{$lang.PHPCMS_CONFIG_38}</legend> <input type="hidden" name="type[CACHE_STATE]" value="string" /> <div class="label"> <span class="info"> {$lang.PHPCMS_CONFIG_39} <span> {$lang.PHPCMS_CONFIG_40} </span> </span> <label class="horizontal"> <span>On</span> <input type="radio" name="values[CACHE_STATE]" value="on" {if ($moduledata.default.CACHE_STATE.value == 1)} checked="checked"{/if} onclick="showArea ('servercache');" onkeypress="showArea ('servercache');" /> </label> <label class="horizontal"> <span>Off</span> <input type="radio" name="values[CACHE_STATE]" value="off" {if ($moduledata.default.CACHE_STATE.value == 0)} checked="checked"{/if} onclick="hideArea ('servercache');" onkeypress="hideArea ('servercache');" /> </label> <br style="clear:both;" /> </div> <div id="servercache" {if ($moduledata.default.CACHE_STATE.value == 0)} class="hidden"{/if} > <input type="hidden" name="type[CACHE_DIR]" value="string" /> <label> <span class="info"> {$lang.PHPCMS_CONFIG_41} <span> {$lang.PHPCMS_CONFIG_42} </span> </span> <input type="text" name="values[CACHE_DIR]" value="{$moduledata.default.CACHE_DIR.value|strip_tags}" /> </label> </div> <input type="hidden" name="type[CACHE_CLIENT]" value="string" /> <div class="label"> <span class="info"> {$lang.PHPCMS_CONFIG_43} <span> {$lang.PHPCMS_CONFIG_44} </span> </span> <label class="horizontal"> <span>On</span> <input type="radio" name="values[CACHE_CLIENT]" value="on" {if ($moduledata.default.CACHE_CLIENT.value == 1)} checked="checked"{/if} onclick="showArea ('clientcache');" onkeypress="showArea ('clientcache');" /> </label> <label class="horizontal"> <span>Off</span> <input type="radio" name="values[CACHE_CLIENT]" value="off" {if ($moduledata.default.CACHE_CLIENT.value == 0)} checked="checked"{/if} onclick="hideArea ('clientcache');" onkeypress="hideArea ('clientcache');" /> </label> <br style="clear:both;" /> </div> <div id="clientcache" {if ($moduledata.default.CACHE_CLIENT.value == 0)} class="hidden"{/if} > <input type="hidden" name="type[PROXY_CACHE_TIME]" value="int" /> <label> <span class="info"> {$lang.PHPCMS_CONFIG_45} <span> {$lang.PHPCMS_CONFIG_46} </span> </span> <input type="text" name="values[PROXY_CACHE_TIME]" value="{$moduledata.default.PROXY_CACHE_TIME.value|strip_tags}" /> </label> </div> </fieldset> <fieldset> <legend>{$lang.PHPCMS_CONFIG_47}</legend> <input type="hidden" name="type[GZIP]" value="string" /> <div class="label"> <span class="info"> {$lang.PHPCMS_CONFIG_48} <span> {$lang.PHPCMS_CONFIG_49} </span> </span> <label class="horizontal"> <span>On</span> <input type="radio" name="values[GZIP]" value="on" {if ($moduledata.default.GZIP.value == 1)} checked="checked"{/if} /> </label> <label class="horizontal"> <span>Off</span> <input type="radio" name="values[GZIP]" value="off" {if ($moduledata.default.GZIP.value == 0)} checked="checked"{/if} /> </label> <br style="clear:both;" /> </div> <input type="hidden" name="type[STEALTH]" value="string" /> <div class="label"> <span class="info"> {$lang.PHPCMS_CONFIG_50} <span> {$lang.PHPCMS_CONFIG_51} </span> </span> <label class="horizontal"> <span>On</span> <input type="radio" name="values[STEALTH]" value="on" {if ($moduledata.default.STEALTH.value == 1)} checked="checked"{/if} onclick="showArea ('stealthmode'); hideArea ('nonstealthmode');" onkeypress="showArea ('stealthmode'); hideArea ('nonstealthmode');" /> </label> <label class="horizontal"> <span>Off</span> <input type="radio" name="values[STEALTH]" value="off" {if ($moduledata.default.GZIP.value == 0)} checked="checked"{/if} onclick="showArea ('nonstealthmode'); hideArea ('stealthmode');" onkeypress="showArea ('nonstealthmode'); hideArea ('stealthmode');"/> </label> <br style="clear:both;" /> </div> <input type="hidden" name="type[STEALTH_SECURE]" value="string" /> <div id="stealthmode" {if ($moduledata.default.STEALTH.value == 0)} class="hidden"{/if}> <div class="label"> <span class="info"> {$lang.PHPCMS_CONFIG_52} <span> {$lang.PHPCMS_CONFIG_53} </span> </span> <label class="horizontal"> <span>On</span> <input type="radio" name="values[STEALTH_SECURE]" value="on" {if ($moduledata.default.STEALTH_SECURE.value == 1)} checked="checked"{/if} /> </label> <label class="horizontal"> <span>Off</span> <input type="radio" name="values[STEALTH_SECURE]" value="off" {if ($moduledata.default.STEALTH_SECURE.value == 0)} checked="checked"{/if} /> </label> <br style="clear:both;" /> </div> </div> <div id="nonstealthmode" {if ($moduledata.default.CACHE_CLIENT.value == 1)} class="hidden"{/if}> <input type="hidden" name="type[NOLINKCHANGE]" value="string" /> <label> <span class="info"> {$lang.PHPCMS_CONFIG_54} <span> {$lang.PHPCMS_CONFIG_55} </span> </span> <textarea name="values[NOLINKCHANGE]" rows="3" cols="15">{$moduledata.default.NOLINKCHANGE.value}</textarea> </label> </div> <input type="hidden" name="type[TAGS_ERROR]" value="string" /> <div class="label"> <span class="info"> {$lang.PHPCMS_CONFIG_56} <span> {$lang.PHPCMS_CONFIG_57} </span> </span> <label class="horizontal"> <span>On</span> <input type="radio" name="values[TAGS_ERROR]" value="on" {if ($moduledata.default.TAGS_ERROR.value == 1)} checked="checked"{/if} /> </label> <label class="horizontal"> <span>Off</span> <input type="radio" name="values[TAGS_ERROR]" value="off" {if ($moduledata.default.TAGS_ERROR.value == 0)} checked="checked"{/if} /> </label> <br style="clear:both;" /> </div> <input type="hidden" name="type[DEBUG]" value="string" /> <div class="label"> <span class="info"> {$lang.PHPCMS_CONFIG_58} <span> {$lang.PHPCMS_CONFIG_59} </span> </span> <label class="horizontal"> <span>On</span> <input type="radio" name="values[DEBUG]" value="on" {if ($moduledata.default.DEBUG.value == 1)} checked="checked"{/if} onclick="hideArea ('debugmode');" onkeypress="hideArea ('debugmode');" /> </label> <label class="horizontal"> <span>Off</span> <input type="radio" name="values[DEBUG]" value="off" {if ($moduledata.default.DEBUG.value == 0)} checked="checked"{/if} onclick="showArea ('debugmode');" onkeypress="showArea ('debugmode');" /> </label> <br style="clear:both;" /> </div> <div id="debugmode" {if ($moduledata.default.DEBUG.value == 1)} class="hidden"{/if}> <input type="hidden" name="type[ERROR_PAGE]" value="string" /> <label> <span class="info"> {$lang.PHPCMS_CONFIG_60} <span> {$lang.PHPCMS_CONFIG_61} </span> </span> <input type="text" name="values[ERROR_PAGE]" value="{$moduledata.default.ERROR_PAGE.value|strip_tags}" /> </label> <input type="hidden" name="type[ERROR_PAGE_404]" value="string" /> <label> <span class="info"> {$lang.PHPCMS_CONFIG_62} <span> {$lang.PHPCMS_CONFIG_63} </span> </span> <input type="text" name="values[ERROR_PAGE_404]" value="{$moduledata.default.ERROR_PAGE_404.value|strip_tags}" /> </label> </div> </fieldset> <fieldset> <legend>{$lang.PHPCMS_CONFIG_64}</legend> <input type="hidden" name="type[P3P_HEADER]" value="string" /> <div class="label"> <span class="info"> {$lang.PHPCMS_CONFIG_65} <span> {$lang.PHPCMS_CONFIG_66} </span> </span> <label class="horizontal"> <span>On</span> <input type="radio" name="values[P3P_HEADER]" value="on" {if ($moduledata.default.P3P_HEADER.value == 1)} checked="checked"{/if} onclick="showArea ('p3p');" onkeypress="showArea ('p3p');" /> </label> <label class="horizontal"> <span>Off</span> <input type="radio" name="values[P3P_HEADER]" value="off" {if ($moduledata.default.P3P_HEADER.value == 0)} checked="checked"{/if} onclick="hideArea ('p3p');" onkeypress="hideArea ('p3p');" /> </label> <br style="clear:both;" /> </div> <div id="p3p" {if ($moduledata.default.P3P_HEADER.value == 0)} class="hidden"{/if}> <input type="hidden" name="type[P3P_POLICY]" value="string" /> <label> <span class="info"> {$lang.PHPCMS_CONFIG_67} <span> {$lang.PHPCMS_CONFIG_68} </span> </span> <textarea name="values[P3P_POLICY]" rows="3" cols="20">{$moduledata.default.P3P_POLICY.value}</textarea> </label> <input type="hidden" name="type[P3P_HREF]" value="string" /> <label> <span class="info"> {$lang.PHPCMS_CONFIG_69} <span> {$lang.PHPCMS_CONFIG_70} </span> </span> <input type="text" name="values[P3P_HREF]" value="{$moduledata.default.P3P_HREF.value|strip_tags}" /> </label> </div> </fieldset> <fieldset> <legend>{$lang.PHPCMS_CONFIG_71}</legend> <input type="hidden" name="type[I18N]" value="string" /> <div class="label"> <span class="info"> {$lang.PHPCMS_CONFIG_72} <span> {$lang.PHPCMS_CONFIG_73} </span> </span> <label class="horizontal"> <span>On</span> <input type="radio" name="values[I18N]" value="on" {if ($moduledata.default.I18N.value == 1)} checked="checked"{/if} onclick="showArea ('i18n');" onkeypress="showArea ('i18n');" /> </label> <label class="horizontal"> <span>Off</span> <input type="radio" name="values[I18N]" value="off" {if ($moduledata.default.I18N.value == 0)} checked="checked"{/if} onclick="hideArea ('i18n');" onkeypress="hideArea ('i18n');" /> </label> <br style="clear:both;" /> </div> <div id="i18n" {if ($moduledata.default.I18N.value == 0)} class="hidden"{/if}> <input type="hidden" name="type[I18N_DEFAULT_LANGUAGE]" value="string" /> <label> <span class="info"> {$lang.PHPCMS_CONFIG_74} <span> {$lang.PHPCMS_CONFIG_75} </span> </span> <input type="text" name="values[I18N_DEFAULT_LANGUAGE]" value="{$moduledata.default.I18N_DEFAULT_LANGUAGE.value|strip_tags}" /> </label> <input type="hidden" name="type[I18N_POSSIBLE_LANGUAGES]" value="string" /> <label> <span class="info"> {$lang.PHPCMS_CONFIG_76} <span> {$lang.PHPCMS_CONFIG_77} </span> </span> <textarea name="values[I18N_POSSIBLE_LANGUAGES]" rows="3" cols="15">{$moduledata.default.I18N_POSSIBLE_LANGUAGES.value}</textarea> </label> <input type="hidden" name="type[I18N_MODE]" value="string" /> <label> <span class="info"> {$lang.PHPCMS_CONFIG_78} <span> {$lang.PHPCMS_CONFIG_79} </span> </span> <select name="values[I18N_MODE]" size="1"> <option value="SUFFIX" {if ($moduledata.default.I18N_MODE.value == 'SUFFIX')} selected="selected"{/if} onkeypress="hideArea ('uri-param')" onclick="hideArea ('uri-param')">{$lang.PHPCMS_CONFIG_80}</option> <option value="DIR" {if ($moduledata.default.I18N_MODE.value == 'DIR')} selected="selected"{/if} onkeypress="hideArea ('uri-param')" onclick="hideArea ('uri-param')">{$lang.PHPCMS_CONFIG_81}</option> <option value="VAR" {if ($moduledata.default.I18N_MODE.value == 'VAR')} selected="selected"{/if} onkeypress="showArea ('uri-param')" onclick="showArea ('uri-param')">{$lang.PHPCMS_CONFIG_82}</option> <option value="HOST" {if ($moduledata.default.I18N_MODE.value == 'HOST')} selected="selected"{/if} onkeypress="hideArea ('uri-param')" onclick="hideArea ('uri-param')">{$lang.PHPCMS_CONFIG_83}</option> <option value="SESSION" {if ($moduledata.default.I18N_MODE.value == 'SESSION')} selected="selected"{/if} onkeypress="hideArea ('uri-param')" onclick="hideArea ('uri-param')">{$lang.PHPCMS_CONFIG_84}</option> </select> </label> <div id="uri-param" {if ($moduledata.default.I18N_MODE.value != 'VAR')} class="hidden"{/if}> <input type="hidden" name="type[I18N_PARAMNAME]" value="string" /> <label> <span class="info"> {$lang.PHPCMS_CONFIG_85} <span> {$lang.PHPCMS_CONFIG_86} </span> </span> <input type="text" name="values[I18N_PARAMNAME]" value="{$moduledata.default.I18N_PARAMNAME.value|strip_tags}" /> </label> </div> </div> </fieldset> <fieldset> <legend>{$lang.PHPCMS_CONFIG_87}</legend> <input type="hidden" name="type[STATS]" value="string" /> <div class="label"> <span class="info"> {$lang.PHPCMS_CONFIG_88} <span> {$lang.PHPCMS_CONFIG_89} </span> </span> <label class="horizontal"> <span>On</span> <input type="radio" name="values[STATS]" value="on" {if ($moduledata.default.STATS.value == 1)} checked="checked"{/if} onclick="showArea ('stats');" onkeypress="showArea ('stats');" /> </label> <label class="horizontal"> <span>Off</span> <input type="radio" name="values[STATS]" value="off" {if ($moduledata.default.STATS.value == 0)} checked="checked"{/if} onclick="hideArea ('stats');" onkeypress="hideArea ('stats');" /> </label> <br style="clear:both;" /> </div> <div id="stats" {if ($moduledata.default.STATS.value == 0)} class="hidden"{/if}> <input type="hidden" name="type[STATS_DIR]" value="string" /> <label> <span class="info"> {$lang.PHPCMS_CONFIG_90} <span> {$lang.PHPCMS_CONFIG_91} </span> </span> <input type="text" name="values[STATS_DIR]" value="{$moduledata.default.STATS_DIR.value|strip_tags}" /> </label> <input type="hidden" name="type[STATS_CURRENT]" value="string" /> <label> <span class="info"> {$lang.PHPCMS_CONFIG_92} <span> {$lang.PHPCMS_CONFIG_93} </span> </span> <input type="text" name="values[STATS_CURRENT]" value="{$moduledata.default.STATS_CURRENT.value|strip_tags}" /> </label> <input type="hidden" name="type[STATS_FILE]" value="string" /> <label> <span class="info"> {$lang.PHPCMS_CONFIG_94} <span> {$lang.PHPCMS_CONFIG_95} </span> </span> <input type="text" name="values[STATS_FILE]" value="{$moduledata.default.STATS_FILE.value|strip_tags}" /> </label> <input type="hidden" name="type[STATS_BACKUP]" value="string" /> <label> <span class="info"> {$lang.PHPCMS_CONFIG_96} </span> <input type="text" name="values[STATS_BACKUP]" value="{$moduledata.default.STATS_BACKUP.value|strip_tags}" /> </label> <input type="hidden" name="type[STATS_REFERER_COUNT]" value="int" /> <label> <span class="info"> {$lang.PHPCMS_CONFIG_97} <span> {$lang.PHPCMS_CONFIG_98} </span> </span> <input type="text" name="values[STATS_REFERER_COUNT]" value="{$moduledata.default.STATS_REFERER_COUNT.value|strip_tags}" /> </label> <input type="hidden" name="type[STATS_REFERER_IGNORE]" value="string" /> <label> <span class="info"> {$lang.PHPCMS_CONFIG_99} <span> {$lang.PHPCMS_CONFIG_100} </span> </span> <input type="text" name="values[STATS_REFERER_IGNORE]" value="{$moduledata.default.STATS_REFERER_IGNORE.value|strip_tags}" /> </label> <input type="hidden" name="type[STATS_IP_COUNT]" value="int" /> <label> <span class="info"> {$lang.PHPCMS_CONFIG_101} <span> {$lang.PHPCMS_CONFIG_102} </span> </span> <input type="text" name="values[STATS_IP_COUNT]" value="{$moduledata.default.STATS_IP_COUNT.value|strip_tags}" /> </label> <input type="hidden" name="type[STATS_IP_IGNORE]" value="string" /> <label> <span class="info"> {$lang.PHPCMS_CONFIG_103} <span> {$lang.PHPCMS_CONFIG_104} </span> </span> <input type="text" name="values[STATS_IP_IGNORE]" value="{$moduledata.default.STATS_IP_IGNORE.value|strip_tags}" /> </label> <input type="hidden" name="type[STATS_URL_COUNT]" value="int" /> <label> <span class="info"> {$lang.PHPCMS_CONFIG_105} <span> {$lang.PHPCMS_CONFIG_106} </span> </span> <input type="text" name="values[STATS_URL_COUNT]" value="{$moduledata.default.STATS_URL_COUNT.value|strip_tags}" /> </label> </div> <input type="hidden" name="type[REFERRER]" value="string" /> <div class="label"> <span class="info"> {$lang.PHPCMS_CONFIG_107} <span> {$lang.PHPCMS_CONFIG_108} </span> </span> <label class="horizontal"> <span>On</span> <input type="radio" name="values[REFERRER]" value="on" {if ($moduledata.default.REFERRER.value == 1)} checked="checked"{/if} onclick="showArea ('referrer');" onkeypress="showArea ('referrer');" /> </label> <label class="horizontal"> <span>Off</span> <input type="radio" name="values[REFERRER]" value="off" {if ($moduledata.default.REFERRER.value == 0)} checked="checked"{/if} onclick="hideArea ('referrer');" onkeypress="hideArea ('referrer');" /> </label> <br style="clear:both;" /> </div> <div id="referrer" {if ($moduledata.default.REFERRER.value == 0)} class="hidden"{/if}> <input type="hidden" name="type[REFERRER_DIR]" value="string" /> <label> <span class="info"> {$lang.PHPCMS_CONFIG_109} <span> {$lang.PHPCMS_CONFIG_110} </span> </span> <input type="text" name="values[REFERRER_DIR]" value="{$moduledata.default.REFERRER_DIR.value|strip_tags}" /> </label> <input type="hidden" name="type[REFERRER_FILE]" value="string" /> <label> <span class="info"> {$lang.PHPCMS_CONFIG_111} <span> {$lang.PHPCMS_CONFIG_112} </span> </span> <input type="text" name="values[REFERRER_FILE]" value="{$moduledata.default.REFERRER_FILE.value|strip_tags}" /> </label> <input type="hidden" name="type[REF_RELOAD_LOCK]" value="int" /> <label> <span class="info"> {$lang.PHPCMS_CONFIG_113} <span> {$lang.PHPCMS_CONFIG_114} </span> </span> <input type="text" name="values[REF_RELOAD_LOCK]" value="{$moduledata.default.REF_RELOAD_LOCK.value|strip_tags}" /> </label> </div> </fieldset> <fieldset> <legend>{$lang.PHPCMS_CONFIG_115}</legend> <input type="hidden" name="type[CONTENT_SEARCH]" value="string" /> <div class="label"> <span class="info"> {$lang.PHPCMS_CONFIG_116} <span> {$lang.PHPCMS_CONFIG_117} </span> </span> <label class="horizontal"> <span>On</span> <input type="radio" name="values[CONTENT_SEARCH]" value="on" {if ($moduledata.default.CONTENT_SEARCH.value == 1)} checked="checked"{/if} onclick="showArea ('search');" onkeypress="showArea ('search');" /> </label> <label class="horizontal"> <span>Off</span> <input type="radio" name="values[CONTENT_SEARCH]" value="off" {if ($moduledata.default.CONTENT_SEARCH.value == 0)} checked="checked"{/if} onclick="hideArea ('search');" onkeypress="hideArea ('search');" /> </label> <br style="clear:both;" /> </div> <div id="search" {if ($moduledata.default.CONTENT_SEARCH.value == 0)} class="hidden"{/if}> <input type="hidden" name="type[CONTENT_SEARCH_FIELDNAME]" value="string" /> <label> <span class="info"> {$lang.PHPCMS_CONFIG_118} <span> {$lang.PHPCMS_CONFIG_119} </span> </span> <input type="text" name="values[CONTENT_SEARCH_FIELDNAME]" value="{$moduledata.default.CONTENT_SEARCH_FIELDNAME.value|strip_tags}" /> </label> </div> <input type="hidden" name="type[CONTENT_TOC]" value="string" /> <div class="label"> <span class="info"> {$lang.PHPCMS_CONFIG_120} <span> {$lang.PHPCMS_CONFIG_121} </span> </span> <label class="horizontal"> <span>On</span> <input type="radio" name="values[CONTENT_TOC]" value="on" {if ($moduledata.default.CONTENT_TOC.value == 1)} checked="checked"{/if} onclick="showArea ('toc');" onkeypress="showArea ('toc');" /> </label> <label class="horizontal"> <span>Off</span> <input type="radio" name="values[CONTENT_TOC]" value="off" {if ($moduledata.default.CONTENT_TOC.value == 0)} checked="checked"{/if} onclick="hideArea ('toc');" onkeypress="hideArea ('toc');" /> </label> <br style="clear:both;" /> </div> <div id="toc" {if ($moduledata.default.CONTENT_TOC.value == 0)} class="hidden"{/if}> <input type="hidden" name="type[CONTENT_TOC_FIELDNAME]" value="string" /> <label> <span class="info"> {$lang.PHPCMS_CONFIG_122} <span> {$lang.PHPCMS_CONFIG_123} </span> </span> <input type="text" name="values[CONTENT_TOC_FIELDNAME]" value="{$moduledata.default.CONTENT_TOC_FIELDNAME.value|strip_tags}" /> </label> </div> </fieldset> <fieldset> <legend>{$lang.PHPCMS_CONFIG_124}</legend> <div class="label"> <span class="info"> {$lang.PHPCMS_CONFIG_125} <span> {$lang.PHPCMS_CONFIG_126} </span> </span> <label class="horizontal"> <span>On</span> <input type="radio" name="showexpert" value="on" onclick="showArea ('expert');" onkeypress="showArea ('expert');" /> </label> <label class="horizontal"> <span>Off</span> <input type="radio" name="showexpert" value="off" checked="checked" onclick="hideArea ('expert');" onkeypress="hideArea ('expert');" /> </label> <br style="clear:both;" /> </div> <div id="expert" class="hidden"> <input type="hidden" name="type[ERROR_ALL]" value="string" /> <div class="label"> <span class="info"> {$lang.PHPCMS_CONFIG_127} <span> {$lang.PHPCMS_CONFIG_128} </span> </span> <label class="horizontal"> <span>On</span> <input type="radio" name="values[ERROR_ALL]" value="on" {if ($moduledata.default.ERROR_ALL.value == 1)} checked="checked"{/if} /> </label> <label class="horizontal"> <span>Off</span> <input type="radio" name="values[ERROR_ALL]" value="off" {if ($moduledata.default.ERROR_ALL.value == 0)} checked="checked"{/if} /> </label> <br style="clear:both;" /> </div> <input type="hidden" name="type[FIX_PHP_OB_BUG]" value="string" /> <div class="label"> <span class="info"> {$lang.PHPCMS_CONFIG_129} <span> {$lang.PHPCMS_CONFIG_130} </span> </span> <label class="horizontal"> <span>On</span> <input type="radio" name="values[FIX_PHP_OB_BUG]" value="on" {if ($moduledata.default.FIX_PHP_OB_BUG.value == 1)} checked="checked"{/if} /> </label> <label class="horizontal"> <span>Off</span> <input type="radio" name="values[FIX_PHP_OB_BUG]" value="off" {if ($moduledata.default.FIX_PHP_OB_BUG.value == 0)} checked="checked"{/if}/> </label> <br style="clear:both;" /> </div> <input type="hidden" name="func[DOMAIN_NAME]" value="$PHP->GetDomainName()" /> <div class="label"> <span class="info"> {$lang.PHPCMS_CONFIG_131} <span> {$lang.PHPCMS_CONFIG_132} </span> </span> <label class="horizontal"> <span>{$lang.PHPCMS_CONFIG_133}</span> <input type="radio" name="type[DOMAIN_NAME]" value="func" {if ($moduledata.default.DOMAIN_NAME.type == 'func')} checked="checked"{/if} onclick="hideArea ('domain_name');" onkeypress="hideArea ('domian_name');" /> </label> <label class="horizontal"> <span>{$lang.PHPCMS_CONFIG_134}</span> <input type="radio" name="type[DOMAIN_NAME]" value="string" {if ($moduledata.default.DOMAIN_NAME.type == 'string')} checked="checked"{/if} onclick="showArea ('domain_name');" onkeypress="showArea ('domain_name');" /> </label> <br style="clear:both" /> </div> <div id="domain_name" {if ($moduledata.default.DOMAIN_NAME.type == 'func')} class="hidden"{/if}> <label> <span class="info"> {$lang.PHPCMS_CONFIG_135} </span> <input type="text" name="values[DOMAIN_NAME]" value="{if ($moduledata.default.DOMAIN_NAME.type == 'string')}{$moduledata.default.DOMAIN_NAME.value}{/if}" /> </label> </div> <input type="hidden" name="func[DOCUMENT_ROOT]" value="$PHP->GetDocRoot()" /> <div class="label"> <span class="info"> {$lang.PHPCMS_CONFIG_136} <span> {$lang.PHPCMS_CONFIG_137} </span> </span> <label class="horizontal"> <span>{$lang.PHPCMS_CONFIG_133}</span> <input type="radio" name="type[DOCUMENT_ROOT]" value="func" {if ($moduledata.default.DOCUMENT_ROOT.type == 'func')} checked="checked"{/if} onclick="hideArea ('doc_root');" onkeypress="hideArea ('doc_root');" /> </label> <label class="horizontal"> <span>{$lang.PHPCMS_CONFIG_134}</span> <input type="radio" name="type[DOCUMENT_ROOT]" value="string" {if ($moduledata.default.DOCUMENT_ROOT.type == 'string')} checked="checked"{/if} onclick="showArea ('doc_root');" onkeypress="showArea ('doc_root');" /> </label> <br style="clear:both" /> </div> <div id="doc_root" {if ($moduledata.default.DOCUMENT_ROOT.type == 'func')} class="hidden"{/if}> <label> <span class="info"> Apply Document-Root manually </span> <input type="text" name="values[DOCUMENT_ROOT]" value="{if ($moduledata.default.DOCUMENT_ROOT.type == 'string')}{$moduledata.default.DOCUMENT_ROOT.value}{/if}" /> </label> </div> <input type="hidden" name="func[SCRIPT_PATH]" value="$PHP->GetScriptPath()" /> <div class="label"> <span> {$lang.PHPCMS_CONFIG_138} <span> {$lang.PHPCMS_CONFIG_139} </span> </span> <label class="horizontal"> <span>{$lang.PHPCMS_CONFIG_133}</span> <input type="radio" name="type[SCRIPT_PATH]" value="func" {if ($moduledata.default.SCRIPT_PATH.type == 'func')} checked="checked"{/if} onclick="hideArea ('script_path');" onkeypress="hideArea ('script_path');" /> </label> <label class="horizontal"> <span>{$lang.PHPCMS_CONFIG_134}</span> <input type="radio" name="type[SCRIPT_PATH]" value="string" {if ($moduledata.default.SCRIPT_PATH.type == 'string')} checked="checked"{/if} onclick="showArea ('script_path');" onkeypress="showArea ('script_path');" /> </label> <br style="clear:both" /> </div> <div id="script_path" {if ($moduledata.default.SCRIPT_PATH.type == 'func')} class="hidden"{/if}> <label> <span> {$lang.PHPCMS_CONFIG_140} </span> <input type="text" name="values[SCRIPT_PATH]" value="{if ($moduledata.default.SCRIPT_PATH.type == 'string')}{$moduledata.default.SCRIPT_PATH.value}{/if}" /> </label> </div> <input type="hidden" name="func[SCRIPT_NAME]" value="$PHP->GetScriptName()" /> <div class="label"> <span> {$lang.PHPCMS_CONFIG_141} </span> <label class="horizontal"> <span>{$lang.PHPCMS_CONFIG_133}</span> <input type="radio" name="type[SCRIPT_NAME]" value="func" {if ($moduledata.default.SCRIPT_NAME.type == 'func')} checked="checked"{/if} onclick="hideArea ('script_name');" onkeypress="hideArea ('script_name');" /> </label> <label class="horizontal"> <span>{$lang.PHPCMS_CONFIG_134}</span> <input type="radio" name="type[SCRIPT_NAME]" value="string" {if ($moduledata.default.SCRIPT_NAME.type == 'string')} checked="checked"{/if} onclick="showArea ('script_name');" onkeypress="showArea ('script_name');" /> </label> <br style="clear:both" /> </div> <div id="script_name" {if ($moduledata.default.SCRIPT_NAME.type == 'func')} class="hidden"{/if}> <label> <span> {$lang.PHPCMS_CONFIG_142} </span> <input type="text" name="values[SCRIPT_NAME]" value="{if ($moduledata.default.SCRIPT_NAME.type == 'string')}{$moduledata.default.SCRIPT_NAME.value}{/if}" /> </label> </div> </div> </fieldset> <fieldset> <legend>{$lang.PHPCMS_CONFIG_1}</legend> <label> <span> <span class="hidden">{$lang.PHPCMS_CONFIG_1}</span></span> <input type="submit" name="configform-submit" value="{$lang.PHPCMS_CONFIG_2}" /> </label> </fieldset> --- NEW FILE: module_phpcms.tpl --- {if ($moduledata.action == 'config')} <h2>{$lang.PHPCMS_1}</h2> <form action="{$INDEX_FILE}?moduleid=phpcms&action=config" method="post"> {include file="$INDEX_PATH/modules/phpcms/templates/phpcms-config.tpl"} </form> {/if} {if ($moduledata.action == 'cache')} <h2>{$lang.PHPCMS_2}</h2> <form action="{$INDEX_FILE}?moduleid=phpcms&action=cache" method="post"> {include file="$INDEX_PATH/modules/phpcms/templates/phpcms-cache.tpl"} </form> {/if} {if ($moduledata.action == 'indexer')} <h2>{$lang.PHPCMS_3}</h2> <form action="{$INDEX_FILE}?moduleid=phpcms&action=indexer" method="post"> {include file="$INDEX_PATH/modules/phpcms/templates/phpcms-indexer.tpl"} </form> {/if} {if ($moduledata.action == '')} {$lang.PHPCMS_4} <h2>Changelog</h2> <h3>2005-01-17</h3> <ul> <li>realized mulitlanguage-coding and language-files</li> </ul> <h3>2005-01-16</h3> <ul> <li>finished design of phpCMS-cache-part</li> <li>finished editform for indexer-profiles</li> </ul> <h3>2005-01-15</h3> <ul> <li>finished phpCMS-config-part with the even old tooltips</li> <li>started to design phpCMS-cache-part with a table</li> <li>started to design the phpCMS-indexer-part <ul> <li>Overview over the available profiles</li> <li>first steps towards the editinterface for the profiles</li> </ul> </li> </ul> {/if} --- NEW FILE: phpcms-cache.tpl --- {counter start=0 skip=1 assign="counter"} <script type="text/javascript"> {literal} var classes = Array (); function selectFile (t) { if (t.checked) { classes [t.name] = t.parentNode.parentNode.className; t.parentNode.parentNode.className = 'line3'; } else { t.parentNode.parentNode.className = classes[t.name]; } } {/literal} </script> {$moduledata.cachedir} <table style="width:100%"> <thead> <tr> <th colspan="2"> </th> <th>{$lang.PHPCMS_CACHE_1}</th> <th>{$lang.PHPCMS_CACHE_2}</th> <th>{$lang.PHPCMS_CACHE_3}</th> </tr> </thead> <tbody> {foreach from=$moduledata.cachelist item=cacheentry} {counter} {assign var="sizecounter" value="$sizecounter+'$cacheentry.filesize'"} <tr class="line{cycle values="1,2"}"> <td><input type="checkbox" name="delete-{$cacheentry.cachefile}" value="1" title="{$lang.PHPCMS_CACHE_4}" onclick="selectFile (this)"/></td> <td><a href="http://{$cacheentry.filename}" title="{$lang.PHPCMS_CACHE_5}"><img src="modules/phpcms/img/cache/webpage.gif" width="16" height="16" alt="view" /></a></td> <td>URL:http://{$cacheentry.filename|truncate:80:"…"}</td> <td>{$cacheentry.cachetime|date_format:"%d-%m-%Y %H:%M:%S"}</td> <td>{$cacheentry.ffilesize}</td> </tr> {/foreach} </tbody> <tfoot> <tr> <td colspan="2"><input type="image" name="del-sel-cache" value="1" src="modules/phpcms/img/cache/del-sel.gif" width="16" height="16" /></td> <td>{$counter}{$lang.PHPCMS_CACHE_6}</td> <td> </td> <td>{$moduledata.filesizes}</td> </tr> </tfoot> </table> --- NEW FILE: phpcms-indexer.tpl --- {if ($moduledata.indexeraction == 'edit')} {foreach from=$moduledata.indexerProfiles key="name" item="profile"} {if ($moduledata.showprofile == $name)} <fieldset> <legend>{$lang.PHPCMS_INDEXER_1}</legend> <label> <span class="info"> {$lang.PHPCMS_INDEXER_2} </span> <input type="text" name="values[name]" value="{$name}" /> </label> <label> <span class="info"> {$lang.PHPCMS_INDEXER_3} </span> <input type="text" name="values[savedata]" value="{$profile.savedata}" /> </label> <div class="label"> <span class="info"> {$lang.PHPCMS_INDEXER_4} </span> <label class="horizontal"> <span>On</span> <input type="radio" name="values[gzip]" value="1"{if ($profile.gzip == 1)} checked="checked"{/if} /> </label> <label class="horizontal"> <span>Off</span> <input type="radio" name="values[gzip]" value="0"{if ($profile.gzip == 0)} checked="checked"{/if} /> </label> <br style="clear:both" /> </div> <label> <span class="info"> {$lang.PHPCMS_INDEXER_5} </span> <input tyxpe="text" name="values[buffer]" value="{$profile.buffer}" /> </fieldset> <fieldset> <legend>{$lang.PHPCMS_INDEXER_6}</legend> <div class="label"> <span class="info"> {$lang.PHPCMS_INDEXER_7} </span> <label class="horizontal"> <span>On</span> <input type="radio" name="values[robots]" value="1"{if ($profile.robots == 1)} checked="checked"{/if} /> </label> <label class="horizontal"> <span>Off</span> <input type="radio" name="values[robots]" value="0"{if ($profile.robots == 0)} checked="checked"{/if} /> </label> <br style="clear:both" /> </div> <div class="label"> <span class="info"> {$lang.PHPCMS_INDEXER_8} </span> <label class="horizontal"> <span>On</span> <input type="radio" name="values[meta]" value="1"{if ($profile.meta == 1)} checked="checked"{/if} /> </label> <label class="horizontal"> <span>Off</span> <input type="radio" name="values[meta]" value="0"{if ($profile.meta == 0)} checked="checked"{/if} /> </label> <br style="clear:both" /> </div> <label> <span class="info"> {$lang.PHPCMS_INDEXER_9} </span> <textarea cols="40" rows="5">{foreach from=$profile.exklude item=exclude}{$exclude} {/foreach}</textarea> </label> <label> <span class="info"> {$lang.PHPCMS_INDEXER_10} </span> <textarea cols="40" rows="5">{foreach from=$profile.include item=include}{$include} {/foreach}</textarea> </label> <label> <span class="info"> {$lang.PHPCMS_INDEXER_11} </span> <textarea cols="40" rows="5">{foreach from=$profile.noextensions item=ext}{$ext} {/foreach}</textarea> </label> </fieldset> <fieldset> <legend>{$lang.PHPCMS_INDEXER_12}</legend> <label> <span class="info"> {$lang.PHPCMS_INDEXER_13} </span> <textarea cols="40" rows="5">{foreach from=$profile.host item=host}{$host} {/foreach}</textarea> </label> <label> <span class="info"> {$lang.PHPCMS_INDEXER_14} </span> <input type="text" name="values[wordlength]" value="{$profile.wordlength}" /> </label> <label> <span class="info"> {$lang.PHPCMS_INDEXER_15} </span> <input type="text" name="values[stopword]" value="{$profile.stopword}" /> </label> <div class="label"> <span class="info"> {$lang.PHPCMS_INDEXER_16} </span> <label class="horizontal"> <span>On</span> <input type="radio" name="values[meta_desc]" value="1"{if ($profile.meta_desc == 1)} checked="checked"{/if} /> </label> <label class="horizontal"> <span>Off</span> <input type="radio" name="values[meta_desc]" value="0"{if ($profile.meta_desc == 0)} checked="checked"{/if} /> </label> <br style="clear:both" /> </div> <label> <span class="info"> {$lang.PHPCMS_INDEXER_17} </span> <input type="text" name="values[description]" value="{$profile.description}" /> </label> </fieldset> <fieldset> <legend>{$lang.PHPCMS_INDEXER_18}</legend> <label> <span class="info"> {$lang.PHPCMS_INDEXER_19} </span> <input type="text" name="values[url_pattern]" value="{$profile.url_pattern}" /> </label> <label> <span class="info"> {$lang.PHPCMS_INDEXER_20} </span> <input type="text" name="values[url_replacement]" value="{$profile.url_replacement}" /> </label> </fieldset> <fieldset> <legend>{$lang.PHPCMS_INDEXER_31}</legend> <label> <span> <span class="hidden">PHPMCS_INDEXER_31</span></span> <input type="submit" name="configform-submit" value="{$lang.PHPCMS_INDEXER_32}" /> </label> </fieldset> {/if} {/foreach} {/if} {if ($moduledata.indexeraction == '')} <fieldset> <legend>{$lang.PHPCMS_INDEXER_21}</legend> <dl class="horizontal"> {counter start=0 skip=1 assign="index"} {foreach from=$moduledata.indexerProfiles key="name" item="profile"} {counter} <dt style="width:20em;">{$name}</dt> <dd> <a href="{$INDEX_FILE}?moduleid=phpcms&action=indexer&indexerprofile={$index}&indexeraction=index" title="{$lang.PHPCMS_INDEXER_22}"> <img src="modules/phpcms/img/indexer/search.gif" width="16" height="16" alt="index" /> </a> </dd> <dd> <a href="{$INDEX_FILE}?moduleid=phpcms&action=indexer&indexerprofile={$index}&indexeraction=edit" title="{$lang.PHPCMS_INDEXER_23}"> <img src="modules/phpcms/img/indexer/edit.gif" width="16" height="16" alt="edit" /> </a> </dd> <dd> <a href="{$INDEX_FILE}?moduleid=phpcms&action=indexer&indexerprofile={$index}&indexeraction=del" title="{$lang.PHPCMS_INDEXER_24}"> <img src="modules/phpcms/img/indexer/delete.gif" width="16" height="16" alt="del" /> </a> </dd> {if ($profile.indexAvaible == 1)} <dd> <a href="{$INDEX_FILE}?moduleid=phpcms&action=indexer&indexerprofile={$index}&indexeraction=test" title="{$lang.PHPCMS_INDEXER_25}"> {$lang.PHPCMS_INDEXER_26} </a> </dd> <dd> <a href="{$INDEX_FILE}?moduleid=phpcms&action=indexer&indexerprofile={$index}&indexeraction=list"> title="{$lang.PHPCMS_INDEXER_27}"> {$lang.PHPCMS_INDEXER_28} </a> </dd> {else} <dd title="{$lang.PHPCMS_INDEXER_29}"> {$lang.PHPCMS_INDEXER_30} </dd> {/if} {/foreach} </dl> </fieldset> {/if} |
From: Martin J. <mj...@us...> - 2005-04-07 14:09:13
|
Update of /cvsroot/phpcms-plugins/admin4phpCMS/tools In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15012/tools Added Files: .cvsignore tablesort.js Log Message: Commit as backup during development --- NEW FILE: .cvsignore --- PHP_Compat-1.3.1.tgz table.js --- NEW FILE: tablesort.js --- var tables = new Array (); var sortIndex = 0; var descending = true; var recDelimiter = '|'; var linkEventString = // What's insider <a> tag 'onclick=\'sortTable('; // Configurable constants var ascChr = "⇑"; // Symbol for ascending sort var desChr = "⇓"; // Symbol for descending sort var titleFace = 'em'; function tablesort (obj) { this.domok=document.all||document.getElementById; this.data = new Array (); this.rowContent = new Array (); this.sortMode = new Array (); this.sort = mySortTable; this.update = myUpdateTable; this.rowSort = new Array (); if (!this.domok) { return false; } // Initializing global table object variable if (obj.tagName && obj.tagName == "TABLE") { // Assumes that the obj is THE OBJECT this.table = obj; } else { // Assumes that the obj is the id of the object this.table = document.getElementById (obj); } // Check whether it's an object if (this.table == null) { return false; } // Check whether it's a table if (this.table.tagName != "TABLE") { return false; } // Setting the number of rows this.nRow = this.table.rows.length; // Should have at least 1 row if (this.nRow < 1) { return false; } // extract the content of the cells and put them into an array var j = 0; var i = 0; var temp = ''; for (i=0; i < this.table.tBodies [0].rows.length; i++) { temp = this.table.tBodies [0].rows [i].cells [0].innerHTML; for (j=1; j < this.table.tBodies [0].rows [i].cells.length; j++) { temp = temp + recDelimiter + this.table.tBodies [0].rows [i].cells [j].innerHTML; } this.rowContent [i] = temp; /* document.write (this.rowContent[i] + '<br />');*/ } // prepare the head-cells with onclick-handler // Re-drawing the title row var cellText = ''; var nChildNodes = 0; var innerMostNode = 0; for (j=0; j < this.table.tHead.rows [0].cells.length; j++) { // If for some reason, the rows do NOT have any child, then // simply return ... if (this.table.tHead.rows [0].childNodes.length == 0) { return false; } if (this.table.tHead.rows [0].cells [j].firstChild != null) { nChildNodes = this.table.tHead.rows [0].cells [j].firstChild.childNodes.length; innerMostNode = this.table.tHead.rows [0].cells [j].firstChild; while ( nChildNodes != 0) { innerMostNode = innerMostNode.firstChild; nChildNodes = innerMostNode.childNodes.length; } cellText = innerMostNode.data; } else { cellText = "column(" + j + ")"; } this.table.tHead.rows [0].cells [j].innerHTML = '<a ' + linkEventString + j + ',' + '"' + this.table.id + '"' + ');\'>' + '<' + titleFace + '>' + cellText + '</' + titleFace +'></a>'; } return true; } function mySortTable (column) { sortIndex = column; if (this.rowSort [column]) { this.rowSort [column] = -this.rowSort [column]; } else { this.rowSort [column] = 1; } descending = this.rowSort [column]; this.rowContent.sort (compare); this.update (); } function myUpdateTable () { var j = 0; var i = 0; var temp = ''; // Re-drawing the title row /* for (j=0; j<maxNCol; j++) { cellText = titleRowArray[j]; cellText = '<' + titleFace +'>' + cellText + '</' + titleFace + '></a>'; newTitle = '<a ' + linkEventString + j + ',' + '"' + table.id + '"' + ');\'>' + cellText + '</a>'; if (j == sortIndex) { newTitle += ' <span style="color:' + updownColor + ';">'; if (descending) newTitle += desChr; else newTitle += ascChr; newTitle += '</span>'; } titleRowCellArray[j].innerHTML = newTitle; } */ for (i = 0; i < this.table.tBodies [0].rows.length; i++) { temp = this.rowContent [i].split (recDelimiter); for (j = 0; j < this.table.tBodies [0].rows [i].cells.length; j++) { this.table.tBodies [0].rows [i].cells [j].innerHTML = temp [j]; } } } //***************************************************************************** // Function to be used for Array sorting //***************************************************************************** function compare(a, b) { // Getting the element array for inputs (a,b) var aRowContent = a.split(recDelimiter); var bRowContent = b.split(recDelimiter); // Needed in case the data conversion is necessary var aToBeCompared, bToBeCompared; if (! isNaN(aRowContent[sortIndex])) aToBeCompared = parseInt(aRowContent[sortIndex], 10); else aToBeCompared = aRowContent[sortIndex]; if (! isNaN(bRowContent[sortIndex])) bToBeCompared = parseInt(bRowContent[sortIndex], 10); else bToBeCompared = bRowContent[sortIndex]; if (aToBeCompared < bToBeCompared) { return descending; } if (aToBeCompared > bToBeCompared) { return -descending; } return 0; } function initTable (id) { if (tables [id]) { return false; } tables [id] = new tablesort (id); return true; } function sortTable (column, id) { // alert ('sort table ' + id + ' for column ' + column); if (!tables [id]) { return false; } tables [id].sort (column); return true; } |