MDL-11082 Improved groups upgrade performance 1.8x -> 1.9; thanks Eloy for telling...
[moodle-pu.git] / mod / wiki / ewiki / README.de
blobfcfcaf9d62bf91bb24a73755993579e35a7e4d60
2 README.de
3 ¯¯¯¯¯¯¯¯¯
4 Dies ist eine teilweise Übersetzung der README Datei, die weiterhin als
5 Referenz verwendet sollte, da hier nur ein paar allgemeine und Setup-
6 Informationen enthalten sind.
8       1  Was ist das?
9     1.1  Warum "ErfurtWiki"?
10     1.2  WikiAlternativen
11     1.3  Autor
12     1.4  ProjektSeiten
13     1.5  Support bekommen
14     1.6  Lizens
16       2  Wie jetzt?
17     2.1  In yoursite.php integrieren
18     2.2  Den WikiSeitenNamen bestimmen
19   2.9.1  WikiSprache einstellen (deutsch)
21       3  Im Detail
22     3.1  die ewiki_ Funktionen
23     3.2  $GLOBALS Verschmutzung
24     3.3  die EWIKI_ Konstanten
25     3.4  $ewiki_config[] array
27     4.1  Nur die WikiQuelltextTransformation einsetzen
29   6.1.2  Ohne MySQL DB verwenden     (WICHTIG)
30   6.1.3  db_fast_files
31   7.3.3  BöseBäckSläshes \\\\"       (WICHTIG)
33   9.5.5  Paßwörter und tools/
37   -------------------------------------------------------------------------
41 Was ist das?
42 ¯¯¯¯¯¯¯¯¯¯¯¯
43 Dies ist eine "WikiWikiWeb" Bibliothek, die in der PHP Webskriptsprache
44 implementiert ist. Ein WikiWiki ist eine Webseite, die von wirklich jedem
45 verändert/ergänzt werden kann, der dort vorbeischaut (ohne vorhergehenden
46 Registrierungskram).
48 Es sollte relativ einfach in bestehende Websites integrierbar sein,
49 weil es eben kein komplettes Script sondern vielmehr eine Bibliothek
50 ist, die kein fertiges Seitenlayout erzwingt. Stattdessen können die
51 erzeugten WikiSeiten als Inhalt in das Layout einer bestehenden Seite
52 eingebunden werden.
56 Warum "ErfurtWiki"?
57 ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
58 Meine Heimatstadt (Erfurt liegt nahe bei Weimar.de) - und das ist wirklich
59 nix weiter als ein Name! Der interne Projektname ist übrigens "ewiki".
62 Warum sollte man ausgerechnet dieses Wiki verwenden wollen?
64  - es ist wirklich alles notwendige in einer einzigen Skriptdatei, so
65    daß keine 20 anderen Dateien mit herumliegen müssen, wenn man es
66    in die eigene Site einbindet
68  - vordefinierte Layouts werden nicht aufgezwungen, es gibt Beispielseiten
69    aber keine Skins oder Themes aus denen man wählen müßte; das Wiki paßt
70    sich wirklich in eine existierende Seite ein
72  - es ist vergleichsweise schnell, reguläre Ausdrücke werden zwar auch hier
73    verwendet, aber nicht so exzessiv wie in anderen Wikis
74    (hauptsächlich einfache und flinke String-Funktionen)
76  - der Funktionsumfang ist inzwischen beachtlich :)
80 WikiAlternativen
81 ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
82 Es gibt auch noch andere hübsche WikiWare, falls jemand hiermit nicht
83 glücklich werden tut:
85 * PhpWiki ist deutlich vollständiger,
86   siehe http://freshmeat.net/projects/phpwiki,
87   unterstützt versch. Datenbanktypen, Lokalisierung, integrierter
88   Administrationsbereich
90 * Miki ist eine kleine WikiImplementierung in PHP von Jukka
91   Zitting.  http://miki.sourceforge.net/
93 * http://coWiki.org/ ist tatsächlich mehr ein CMS denn ein Wiki
95 * Und schließlich: sfWiki - das sourceforge Wiki (daher auch zu finden
96   bei http://sfwiki.sourceforge.net/). Teile der WikiSyntax sieht ein
97   wenig merkwürdig aus, ein paar andere Sachen sind ganz nett; und es
98   unterstützt Benutzerauthentifizierung
100 * für andere Wikis in anderen Programmiersprachen einfach mal die
101   Suchmaschienen nerven:
102   http://www.freshmeat.net/search/?q=wiki&section=projects
103   http://www.google.com/search?q=wiki
107 Autor
108 ¯¯¯¯¯
109 Mario Salzer <milky*erphesfurt·de>
110 ICQ95596825 und Yahoo: icq95596825
112 Und alle anderen wurden in die Datei CREDITS verbannt  ;->
114 Dies ist ein relativ neues Projekt. Um es zu verbessern, bin ich sehr
115 auf Rückmeldungen angewiesen. Jede Mail ist ein wertvoller Beitrag!
119 ProjektSeiten
120 ¯¯¯¯¯¯¯¯¯¯¯¯¯
121 freshmeat
122 - http://freshmeat.net/ewiki
124 demo:
125 - http://erfurtwiki.sourceforge.net/
127 neueste Versionen (instabile EnwicklerVersionen):
128 - http://erfurtwiki.sourceforge.net/downloads/
132 Support bekommen
133 ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
134 Hilfe bei der Installation gibt's natürlich, und selbstverständlich sind
135 wir auch dankbar für jeden Hinweis über bestehende Probleme und Fehler
136 (bekanntermaßen ist die REAMDE noch nicht ausführlich genug und stellenweise
137 überhaupt keine Hilfe).
138 Bevor du aber einen BugReport versendest, lies dir bitte folgende Anleitung
139 durch (absolut notwendig um KOSTENLOSEN support zu bekommen):
141 http://www.lugbz.org/documents/smart-questions_de.html
143 Danach bitte nicht zögern, einen der Autoren zu kontakten oder einfach eine
144 Nachricht in BugReports oder UserSuggestion auf unserer ProjektSeite zu
145 hinterlassen.
146 Wenn du dich auf unserer http://erfurtwiki.sourceforge.net/?MailingList
147 anmeldest, hast du die Möglichkeit Hilfe für dein Problem von einer größeren
148 Gruppe von Leuten zu bekommen (an- und wieder abmelden geht schnell).
152 Lizens
153 ¯¯¯¯¯¯
154 Dieses "Programm" wird als "Public Domain" vertrieben. Public Domain
155 ist wie "FreeWare", nur ein bischen mehr frei ;->  Man kann sich das
156 vorstellen, wie die GPL ohne an die GPL gebunden zu sein. (Tatsächlich
157 wollte ich einfach keine LICENSE Datei mitreinpacken, die größer ist als
158 das eigentliche Programm.)
160 Da dies ein freies (Bier) Stück Software ist, kann mich natürlich
161 niemand für irgendwelche Fehler oder all die WIRKLICH SCHLIMMEN
162 FESTPLATTEN-SCHÄDEN verantwortlich machen, die bei der Verwendung
163 entstehen könnten ;>
168   -------------------------------------------------------------------------
173 Wie jetzt?
174 ¯¯¯¯¯¯¯¯¯¯
175 ewiki benötigt:
177 - Webserver (Apache, Nanoweb, ...)
178 - PHP 4.1 oder neuer
179 - nach Mglk. eine MySQL Datenbank (läuft aber auch ohne)
180 - deine bereits exitierenden Webseite
181 - die wundervollen "magic slashes" in antiken PHP version sollten wirklich
182   abgeschalten sein
184 Wenn du keine MySQL-Datenbank hast, dann verwende die Erweiterung für
185 die Datei-Datenbank.
189 In yoursite.php integrieren
190 ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
191 In den nächsten Abschitten, soll mit dem Begriff "yoursite.php" der
192 Teil deiner bestehenden Seite verstanden werden, der das Seitenlayout
193 erzeugt (der also zumindest die <html><body> Tags um die Ausgaben von
194 ewiki.php bastelt).
195 Die schlichteste Lösung findet sich auch noch mal in example-2.php:
197     <HTML>
198     <BODY>
199     <?php
201        mysql_connect("localhost", "DB-USER-NAME", "PASSWORD");
202        mysql_query("use DATABASE-NAME-HERE");
204        define("EWIKI_SCRIPT", "yoursite.php?page=);
205        error_reporting(0);
207        include("ewiki.php");
209        echo   ewiki_page();
211     ?>
212     </BODY>
213     </HTML>
214    
215 Die ersten beiden Befehle öffnen eine Verbindung zur MySQL-Datenbank,
216 normalerweise würde man das Ergebnis von mysql_conect() in einer Variable
217 wie "$db" ablegen, aber da PHP ohnehin nicht auf deren Verwendung besteht,
218 wenn es nur eine DB-Verbindung gibt, wird eine solche Variable in
219 "ewiki.php" auch gar nicht verwendet (und der Name dieser Variable wäre
220 damit hier egal).
222 Der Wert in der define() Zeile sagt ewiki wie die Hyperlinks zu den
223 referenzierten WikiSeiten lauten müssen, damit ewiki.php auch für die
224 nächste angeklickte WikiSeite aufgerufen wird.
225 Wenn du nur ein einziges "yoursite.php" Skript hast, wirst du den Wert
226 direkt in "ewiki.php" verändern wollen.
228 Das error_reporting(0) wird sehr empfohlen.
230 Das include("ewiki.php") lädt endlich die ewiki "Bibliothek" und setzt
231 alle bis hierher noch nicht definierten EWIKI_ Konstanten.
233 Der Aufruf der ewiki_page() Funktion gibt diejenige WikiSeite zurück, die
234 vom Browser angefragt wurde. Du mußt hier "echo" davorsetzen, denn sonst
235 wird der Text nicht ausgegeben (verpufft im PHP-Nirvana) - ewiki gibt die
236 erzeugte Seite nicht selber aus.
240 Den WikiSeitenNamen bestimmen
241 ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
242 Wenn du ewiki_page() einfach so aufrufst wie im oberen Beispiel angegeben
243 (empfohlen), dann wird es versuchen, den Namen der angefragten Seite selber
244 zu ermmitteln ($_SERVER["PATH_INFO"] oder GET-Variablen '?id=' oder '?name='
245 oder '?page=' oder '?file=' in $_REQUEST["name"]). 
247 Wenn yoursite.php aber einen anderen Weg benutzt (andere Parameternamen),
248 um den WikiSeitenNamen zu übergeben, dann kann man ihn schlicht als ersten
249 Parameter angeben:
251   ewiki_page( $id = "WikiSeitenNanem" );
254 Example-4.php zeigt das beispielsweise, um die Liste der aktualisierten
255 Seiten einzubinden.
261 WikiSprache einstellen (deutsch)
262 ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
263 Ich hab es jetzt schon einige Leute behaupten hören, aber auch beim
264 IntranetExplodierer kann man die "bevorzugten Sprachen" irgendwo einstellen.
265 Wers nicht findet, kann ja auch gleichmal auf einen aktuellen Browser
266 wechseln - das lohnt sich nicht nur wegen der vielen Seiten, die es dann
267 plötzlich doch auf Deutsch gibt!
269 Wer es partou nicht hinbekommt, kann natürlich die deutsche Sprache für
270 ewiki erzwingen; hilfreich hierfür ist z.B. die include()-Datei
271 "fragments/force_lang_de.php".
273 Es funktioniert aber auch mit diesem Befehl, der irgendwo in ewiki.php,
274 config.php oder yoursite.php eingefügt werden kann (nicht empfohlen):
276 $_SERVER["HTTP_ACCEPT_LANGUAGE"] = "de; q=1.0, en; q=0.2, eo, nl";
281   -------------------------------------------------------------------------
286 Im Detail
287 ¯¯¯¯¯¯¯¯¯
288 Die MySQL DB Tabellenstruktur ist zu einem gewissen Grad kompatibel mit der
289 des allseits bekannten »PHPWiki« (normalerweise reicht es EWIKI_DB_TABLE_NAME
290 auf "wiki" zu ändern, um PhpWikis DB weiterzuverwenden).
291 Dies ist der MySQL Befehl, der die DB-Tabelle erstellt (beim ersten Start,
292 automatisch):
294     CREATE TABLE ewiki (
295         pagename VARCHAR(160) NOT NULL,
296         version INTEGER UNSIGNED NOT NULL DEFAULT 0,
297         flags INTEGER UNSIGNED DEFAULT 0,
298         content MEDIUMTEXT,
299         author VARCHAR(100) DEFAULT 'ewiki',
300         created INTEGER UNSIGNED DEFAULT 0,
301         lastmodified INTEGER UNSIGNED DEFAULT 0,
302         refs TEXT,
303         meta TEXT,
304         hits INTEGER UNSIGNED DEFAULT 0,
305         PRIMARY KEY id (pagename, version)
306     )
308 Den Spaltennamen {pagename} mochte ich eigentlich nicht, aber weil das der
309 offensichtlich einzige Unterschied zur PhpWiki-Tabelle war, kam mir die Idee
310 mit der Kombatibilität un so hab ich das adaptiert.
311 Dummerweise muß nun die ewiki_database() Funktion "pagename" ständig von
312 und nach "id" übersetzen.
314 Die Spalte {version} wird zur Speicherung der verschiedenen abgelegten
315 Seitenänderungen verwendet. In anderen Wikis gibt es zu diesem Zweck eine
316 Bonus-tabelle wie "backup" oder "history", aber ich hab den Sinn von sowas
317 bisher nicht verstanden; und daher gibt es in ewiki nur diese eine Tabelle
318 (und das scheint absolut zu reichen)!
319 Die erste {version} einer Seite erhält die Nummer 1. Eine bestehende
320 Seiten {version} wird niemals überschrieben werden => sehr sicherer MySQL-
321 Einsatz.
323 Mehr über die {flags} in dem entsprechenden Abschnitt in der README. Das
324 Feld {content} enthält natürlich den WikiSeitenQuelltext. {created} und
325 {lastmodified} enthalten die entsprechenden Zeitangaben im UNIX format.
327 {refs} enthälte eine "\n" - getrennte Liste von referenzierten WikiSeiten.
328 Der Code um diese List zu erzeugen ist etwas unsauber, so daß oftmals
329 GeisterSeiten aufgeführt sind. Wieauchimmer, daß beeinträchtigt ewiki
330 nicht wirklich, und eine Korrektur wäre Zeit- und Geschwindigkeits-
331 verschwendung.
333 {meta} kann Bonusinfos enth, so daß die Tabellenstruktur nicht bei jeder
334 Erweiterung geändert werden muß. Aktuell nur für Binärdaten (Bilder)
335 verwendet.
337 {hits} zählt die Seitenaufrufe, und ist nicht in {meta} integriert, weil
338 separat schneller und einfacher zu verwenden.
340 Die ewiki DB Tabelle kann nicht nur Texteseiten enthalten, sondern auch
341 binären Inhalt (vornehmlich Bilder), siehe {flags}.
343 Das Ein-Tabellen-Konzept hat es übrigens auch recht einfach gemacht, das
344 Datei-basierte DB-Backend zu entwickeln. Eine Beispieldatei:
346    id: WikiPageName\r
347    version: 1\r
348    flags: 1\r
349    author: 127.0.0.1:3054\r
350    created: 1046532697\r
351    lastmodified: 1046532697\r
352    refs: \nErfurtWiki\nNewestPages\n\r
353    \r
354    !! WikiSourceContent
355    <more-text>...
360 ewiki_ Funktionen
361 ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
362 Einige der Basis-Funktionen aus ewiki.php können getrennt von den anderen
363 verwendet werden, andere sind ausgelegt um durch bessere Implementierungen
364 ersetzt zu werden.
367    ewiki_page($id)
368    ---------------
369        Hauptfunktion, die die angefragte WikiSeite (oder die mit $id
370        angegebene) aus der DB holt, und mit ewiki_format() die fertige
371        HTML-Seite erzeugt.
372        Wenn die angefragte Seite nicht existert, wird eine edit-Box
373        zurückgegeben.
376    ewiki_page_...()
377    ----------------
378        Die meisten Fkt. mit diesem Prefix wurden aus der Hauptfkt.
379        herausgetrennt, um ewiki übersichtlicher und leichter erweiterbar
380        zu machen.
381        Die meisten enthalten Code um spezielle/interne Seiten zu erzeugen
382        (Suche, Neuest, Info, und das Edit <FORMular>, ...)
385    ewiki_script()
386    --------------
387        Erzeugt URL aus angegebener Seiten $id und $action, verwendet dazu
388        die EWIKI_SCRIPT-Konstante. Dieser wrapper ermöglicht es auch die
389        eigentlich reservierten Schrägstriche in Seitennamen zu verwenden.
392    ewiki_control_links($id, $data)
393    -------------------------------
394        Gibt die Zeile mit "DieseSeiteÄndern, SeitenInfo, ... links" aus.
397    ewiki_format($wiki_source, $scan_links=1, $html_allowed=0)
398    ----------------------------------------------------------
399        Erzeugt die formatierten (HTML) Ausgabe für den übergebenen
400        WikiQuelltext.
402        Der zweite Parameter gibt an, ob nach denen im Quelltext referenzierten
403        WikiLinks in der DB nachgesehen werden soll. Wenn dieser  Parameter 0
404        ist, dann wird eine bereits vorh. $ewiki_links Array stattdessen
405        verwendet, um zu prüfen ob eine Seite in der DB vorh. ist.
408    ewiki_link_regex_callback()
409    ---------------------------
410        Aufgerufen aus ewiki_format(). Um ewiki_format() {die eigentliche
411        WikiEngine} weiter von der Datenbank zu trennen, verwendet diese
412        Fkt. das globale array in $ewiki_links, in dem normalerweise vorher
413        schon gefundene WikiSeiten eingetragen wurden (siehe zweiter Param.
414        von ewiki_format) um entweder einen normalen Verweis oder einen
415        Fragezeichen-Link auszugeben (wenn die angegebene Seite noch nicht
416        exisitiert).
419    ewiki_binary()
420    --------------
421        Wird automatisch aufgerufen, wenn das Skript mit dem ?binary= Anhang
422        aufgerufen wird, um referenzierte / hochgeladene Bilder auszugeben.
425    ewiki_author()
426    --------------
427        erzeugt einen String, der mit REMOTE_ADDR und $ewiki_author
428        angereichert wurde.
429       
431    ewiki_database($FUNCTION, $args=array() )
432    ------------------------------------------
433        Diese Funktion ist die "Datenbankabstraktion" in ewiki. Sie enthält
434        ''only'' sechs SQL Kommandos, die ersetzt werden müßtem, wenn du eine
435        andere DB verwenden mußt.
436        Die einzelnen "atomaren" Funktionen sind beschrieben in der
437        orignialen README-Datei.
443 $GLOBALS Verschmutzung
444 ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
445 Zumindest die ewiki_page() Funktion erzeugt einige Variablen im globalen
446 Namensraum. Natürlich haben auch diese Namen, die sich mit irgendetwas
447 aus yoursite.php überschneiden sollten:
449  $ewiki_id      - Enthält die DB-$id der aktuellen Seite, ist nicht
450                   immer identisch mit $ewiki_title.
452  $ewiki_action  - Der $action-Parameter, mit dem die Seite angefordert
453                   wurde.
455  $ewiki_title   - Wird nach dem ersten Aufruf von ewiki_page() gestzt,
456                   am nützlichsten um in dem <TITLE> Tag ausgegeben
457                   zu werden - dafür muß aber ewiki_page() schon im
458                   Kopfbereich aufgerufen werden, die Ausgabe gepuffert,
459                   damit der Seitentitel noch innerhalb von <HEAD>
460                   ausgegeben werden kann.
462  $ewiki_script  - Eine Kopie von EWIKI_SCRIPT.
464  $ewiki_links   - Ist ein Arraym daß in ewiki_format() prodiziert wird, und
465                   alle gesuchten WikiSeitenNamen mit einem Wert von 0 oder 1
466                   assoziiert, je nach dem, ob die Seite existiert oder nicht.
467                   Wird diese variable jedoch auf ==true gesetzt (also kein
468                   Array), wird angenommen, daß alle WikiSeiten existieren.
470  $ewiki_author  - Der Inhalt dieser Variable wird in der {author}-Spalte
471                   von gespeicherten WikiSeiten abgelegt (zusammen mit
472                   IP:PORT).
473                   Wenn yoursite.php Benutzer kennt und authentifizieren
474                   kann, sollte der Nutzername hier abgelegt werden.
475                   Diese Feld sollte aber NICHT ZUGEMÜLLT werden mit
476                   irgendwelchen Bonusinfos.
478  $ewiki_auth_user  - Enthält Namen eines wirklich authentifizierten
479                   Benutzers im _PROTECTED_MODE. Nicht notwendig, wird aber
480                   u.a. gerne von ewiki_auth() und ewiki_auth_user() zur
481                   Vereinfachung verwendet.
483  $ewiki_ring    - Berechtigungslevel im _PROTECTED_MODE
484                   3 = nur lesen
485                   2 = normaler Benutzer (lesen, editieren, ...)
486                   1 = Moderator (auch Seiten löschen?)
487                   0 = Administrator (darf alles)
489  $ewiki_plugins - Dieses array verbindet Aufgabengruppen (z.B. "database"
490                   oder "image_resize") mit Funktionsnamen.
491                   Dies stellt einen wirklich einfachen und dennoch mächtigen
492                   Weg dar, um ewiki zu erweitern.
493                   Es gibt ein eigenes Kapitel darüber in der orig. README.
495  $ewiki_config  - Ersetzt teilweise die EWIKI_ Konstanten.
497 Folgende gibt's nich mehr (teilweise in $ewiki_config):
499  $ewiki_data, $ewiki_interwiki, $ewiki_internal_pages,
502                   
505 EWIKI_ Konstanten
506 ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
507 - - WARNUNG - WARNUNG -  WARNUNG - WARNUNG - WARNUNG -  WARNUNG - WARNUNG - -
508 WARNUNG: Dieser Abschnitt ist grundsätzlich besonders inaktuell! Von daher
509 sollte ein Studium des gleichnamigen Abschnitts in der orig. README-Datei
510 wirklich vorgezogen werden!! Viele der neu hinzugekommenen Konstanten werden
511 hier schlichtweg nicht erwähnt, oder inzwischen sogar __falsch__ beschrieben.
512 - - WARNUNG - WARNUNG -  WARNUNG - WARNUNG - WARNUNG -  WARNUNG - WARNUNG - -
514 Dieser Abschnitt erklärt einige der Konstanten und wie man sie verwenden
515 kann, um ewiki nach der eigenen Pfeife tanzen zu lassen.
517 Normalerweise solltest diese innherhalb von "ewiki.php" angepaßt werden, einige
518 sind jedoch mehr wie Statusvariablen ausgelegt und sollten von "yoursite.php"
519 in Abhängigkeit von dort vorhanden Infos gesetzt werden (wenn dort Benutzer
520 eingeloggt sind z.B.).
521 Dann ist es gut einige der Konstanten vorzudefinieren (einmal def. Konst.
522 können nicht wieder geändert werden).
525  EWIKI_SCRIPT
526      Wichtigste Einstellung. Wird von ewiki.php verwendet, um Links zu
527      anderen WikiSeiten zu erzeugen.
529      Es benötigt den Namen von yourscript.php, daß selbst wiederrum
530      ewiki.php geeignet einbindet.
531      Der Name der angefragten WikiSeite wird immer schlicht an den hier
532      definierten TextString angehängt, daher sollter dieser immer in
533      "/" oder "?" oder "?id=" oder "?name=" oder "?page=" enden, damit
534      eine gültige URL dabei herauskommt und der SeitenName von ewiki_page()
535      gefunden wird.
537      Wenn auf deinem Server mod_rewrite vorhanden ist und funktioniert,
538      könntest du diese Konst. auch leer lassen, so alle Anfragen zu
539      http://wiki.example.com/ an das richtige Skript übergeben werden.
540      Ansonsten ist es gut, wenn eine URL absolut zum Server-Hauptpfad
541      angegeben ist, also z.B. "/~user/wiki/index.php/", damit Browser
542      keine ungültigen URLs erzeugen, sobald eine $action vor den
543      Seitennamen gesetzt wird (z.B. "edit/DieseSeite").
545      Die Konstante wird von ewiki_script() eingesetzt um URLs zu den
546      angegebenen Seiten zu erstellen (wobei einige Fehler abgefangen
547      werden).
549  EWIKI_SCRIPT_URL
550      Sollte eine absolute URL enthalten, die ebenfalls zum ewiki-wrapper
551      zeigt, z.B. "http://www.example.com/wiki/?id="
554  EWIKI_DB_TABLE_NAME
555      Setzt den Namen der MySQL DB Tabelle fest, die erzeugt und verwendet
556      werden soll, um alle WikiSeiten abzulegen.
559  EWIKI_PAGE_INDEX
560      Definiert den Namen der WikiSeite, die als Startseite angezeigt werden
561      soll.
562  EWIKI_PAGE_NEWEST
563      Name (intern erzeugt) der Seite, die List der zuletzt hinzugefügten
564      Seiten enthält.
565  EWIKI_PAGE_SEARCH
566      Enthält den WikiSeitenNamen für dei SuchFunktion.
569  EWIKI_CONTROL_LINE
570      Wenn auf 0 gestzt, wird die Zeile unter einer WikiSeite mit
571      "DieseSeiteÄndern, SeitenInfo, ..." nicht angezeigt.
572      In diesem Fall sollte der Edit-Link in yoursite.php erzeugt werden.
573      Besser ist es normalerweise das Aussehen der Ausgabe in
574      ewiki_control_links() selbst zu ändern.
576  EWIKI_AUTO_EDIT
577      Bei 1 (voreinstellung) wird automatisch eine Edit-Box für
578      nicht-exisiterende Seiten angezeigt, ansonsten wird eine ZwischenSeite
579      ("Bitte ändere mich!") angezeigt (wie in PhpWiki).
581  EWIKI_LIST_LIMIT
582      Maximale Anzahl von Seiten, die in den generierten Listen angezeigt
583      werden sollen (Suche, ...)
585  EWIKI_PRINT_TITLE
586      Wenn 0 werden keine SeitenTitel (WikiSeiten und InterneSeiten)
587      angeziegt.
590  EWIKI_ALLOW_HTML
591      Normalerweise sollte im Wiki keine HTML erlaubt sein - böses JavaScript
592      und <brokenHTML/>, andere Leute nerven.
594      Siehe orig. README für mehr Informationen.
595      
597  EWIKI_RESCUE_HTML
598      Überholt, siehe plugins/markup_rescuehtml.php
601  EWIKI_DB_F_TEXT
602      Dieses Flag wird für normale WikiSeiten in der DB gesetzt.
604  EWIKI_DB_F_BINARY
605      Für binären Inhalt in der DB.
606     
607  EWIKI_DB_F_DISABLED
608      DB-Eintrage werden hiermit ausgeknippst.
610  EWIKI_DB_F_HTML
611      Erlaubt die Verwendung von HTML im WikiQuelltext, unabhängig von
612      EWIKI_ALLOW_HTML.
614  EWIKI_DB_F_READONLY
615      WikiSeite kann nicht verändert werden, so dieses Flag gesetzt ist.
617  EWIKI_DB_F_WRITEABLE
618      Umkehrung von READONLY, nur nützlich wenn zuvor alle Seiten mit
619      EWIKI_EDIT_AUTHENTICATE schriebgeschützt wurden.
622  EWIKI_ALLOW_OVERWRITE
623      Für eingeloggte nutzer kann yoursite.php diese Konst. auf 1 setzen, um
624      auch das Ändern von schreibgeschützten Seiten zu erlauben.
626  EWIKI_EDIT_AUTHENTICATE
627      Hiermit kann man ewiki dahingehend kaputt machen, daß alle Seiten
628      schreibgeschützt werden, und nur veränderbar sind, so yoursite.php
629      $ewiki_author setzt.
632  EWIKI_SCRIPT_BINARY
633      Um binäre Daten ausgeben zu können, muß hier ein wrapper-script
634      angegeben werden, daß ein Datenbank-Verbindung öffnet und keine
635      Textausgaben erzeugt, bevor nicht ewiki.php eingebunden wurde,
636      da sonst nur Datenmüll ausgegeben würde.
638      Um alle binary-Funktionalität (Bilder hochladen / cachen) loszuwerden,
639      einfach diese Konstante auf "" setzen, und die folgenden zwei auf 0:
642  EWIKI_CACHE_IMAGES
643      Bilder zwischenspeichern.
645  EWIKI_IMAGE_MAXSIZE
646      Maximale Größe von Bildern die in der DB abgelegt werden sollen.
648  EWIKI_IMAGE_RESIZE
649      Bilder herunterskalieren, wenn zu groß.
651  EWIKI_IDF_INTERNAL 
652      Wird verwendet um hochgeladene Bilder zu identifizieren. Bitte
653      im laufenden Betrieb nicht ändern.
654      
656  EWIKI_ADDPARAMDELIM
657      Automatisch definiert, enthält entweder "?" oder "&", abhängig von
658      EWIKI_SCRIPT.
661  EWIKI_T_*
662      überholt, siehe ewiki_t() und $ewiki_t[] in der englischen README
665  EWIKI_CHARS_U
666  EWIKI_CHARS_L
667      Erlaubte Zeichen in WikiSeitenNamen (große und kleine Letter). Hiermit
668      kann man das wiki lokalisieren; deutsche Umlaute sind schon enthalten.
670  UNIX_MILLENNIUM
671      Sehr wichtiges Ereignis ;)
672     
674 Im tools/ Ordner ist ein kleines Script, mit dem man die erwähnten
675 SeitenFlags ändern kann.
679 $ewiki_config[] array
680 ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
681 Einige der EWIKI_ Konstanten wurden durch Einträge im $ewiki_config[] Array
682 ersetzt oder ergänzt (die Konstanten können weiterhin zur Voreinstellung
683 verwendet werden). Der Vorteil dieses Arrays ist, daß die Einstellungen auch
684 zur Laufzeit geändert werden können.
686 Für eine komplette und (einigermaßen) aktuelle Übersicht bemühe bitte die
687 englischsprachige README.
692   -------------------------------------------------------------------------
697 Nur WikiQuelltextTransformation einsetzen
698 ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
699 Die ewiki_format Funktion war entworfen, um sie auch unabhängig von dem
700 restlichen WikiSkript einsetzen zu können.
701 Benötigt normalerweise nur den "wiki_source" Parmeter und erzeugt die
702 HTML-Seite daraus.
703     ewiki_format($wiki_source, 0);
705 Alles was man noch anpassen muß ist die $ewiki_links Variable. Setze
706 $ewiki_links=true ("true" und nicht "1") so daß ewiki_format() später
707 annimmt alle WikiSeiten würden existieren.
709 Wers eilig hat, kann auch die extrahierte Variante fragments/wiki_format.inc
710 verwenden, die Frank Luithle beigesteuert hat.
715   -------------------------------------------------------------------------
720 Ohne MySQL DB verwenden
721 ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
722 Sollte dein Provider keine MySQL Datenbank für dich bereithalten, kannst
723 du das plugin "db_flat_files.php" verwenden (einfach include("plugins/...");
724 aufrufen um es zu laden).
726 Alle WikiSeiten werden dann in Textdateien in einem nur dafür
727 bereitgestelltem Ordner gespeichert. Stelle hierzu noch die Konstante
728 EWIKI_DBFILES_DIRECTORY in der Datei "ewiki.php" passend ein ("/tmp" würde
729 jedesmal gelöscht, wenn der Server neu startet).
730 Das Verzeichnus muß relativ zum ewiki.php script angegeben werden, oder
731 absolut zum Serverhauptverzeichnis, nicht aber relativ zum DocumentRoot
732 deines Webspeicherplatzes!  In diesem Beispiel wäre "./pages" richtig:
734 Erstelle ein neues Verzeichnis (via FTP-Programm) und gib dem Webserver
735 Schreibzugriff dafür mit dem Befehl " chmod 777 ./pages ".
736 ftp> cd .../ewiki
737 ftp> mkdir pages
738 ftp> chmod 777 pages
739 ftp> ls
740 -rw----r--    1 deinname deinname    57024 01. Jan 00:00 ewiki.php
741 -rw----r--    1 deinname deinname      512 01. Jan 00:00 index.php
742 drw----r-x    2 deinname deinname     4096 01. Jan 00:00 init-pages
743 drwxrwxrwx    2 deinname deinname     4096 25. Feb 23:59 pages
744 drw----r-x    5 deinname deinname     4096 01. Jan 00:00 plugins
745 -rw----r--    1 deinname deinname    15826 01. Jan 00:00 README.de
746 ftp> quit
748 Mit einem graphischem FTP-Programm gibt es auch immer die Mglk. die
749 "Dateizugriffsrechte" einzustellen.
753 db_fast_files
754 ¯¯¯¯¯¯¯¯¯¯¯¯¯
755 Diese neuere Version von db_flat_files, speichert die WikiSeiten
756 komprimiert in einem Binär-Format (kann man nicht mehr mit Editor
757 ansehen und bearbeiten). Zusätzlich wurde der HitZähler aktiviert.
759 db_fast_files wurde in db_flat_files integriert, so daß das neue
760 Format jetzt nur noch über eine Konstante aktiviert werden muß
761 (beide Dateiformate können gleichzeitig in der DB vorhanden sein).
762 Für die schnellere Variante aktiviere in "plugins/db_flat_files.php"
763 die entsprechende Konstante:
764    define("EWIKI_DB_FAST_FILES", 1);
765 (Diese Einstellung könntest du aber auch schon in der "config.php"
766 eintragen.)
768 Zusätzliche Konstante: EWIKI_DBFILES_GZLEVEL sagt wieviel Zeit
769 beim Komprimieren verschwendet werden soll:
770 0 - keine Komprimierung
771 1 - ein ganz klein wenig Kompr.
772 2 - Voreinstellung, schnell
773 5 - normaler Wert in zlib, gute Komprimierung
774 9 - langsam für allerbeste Kompression
776 Dieses plugin wurde von Carsten Senf beigesteuert.
781   --------------------------------------------------------------------------
786 BöseBäckSläshes
787 ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
788 Wenn auf deinen Seiten pötzlich viele "\" RückwärtsSchrägStriche
789 auftauchen liegt das an einer Fehlkonfiguration von PHP. In älteren
790 Versionen war leider immer die Option "magic_slashes_gpc" aktiviert
791 (siehe auch php.ini).
793 Bitte am besten deinen WebserverProvider das zu ändern. Wenn du aber bei
794 einem der BilligHoster (umsonst wie sourceforge.net oder tripod.com) bist,
795 gilt wie immer: einem geschenkten Gaul...
796 Dann verwende bitte "fragements/strip_wonderful_slashes.php", um das
797 Problem zumindest zu umschiffen, oder ändere deine .htaccess Datei (Apache)
798 wie darin beschrieben.
802   --------------------------------------------------------------------------
806 Paßwörter und tools/
807 ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
808 Die tools/ sind gefährlich und daher per Voreinstellung nicht ohne weiteres
809 Nutzbar. In der Datei "tools/t_config.php" wird das Script
810 "fragmenst/funcs/auth.php" geladen, daß für den Browser-Login-Dialog
811 verantwortlich ist. Wenn du also die tools/ verwenden willst, mußt du dort
812 zuerst einen Benutzer mit Paßwort eintragen, sonst geht nix.
814 Um hingegen dein Wiki zu schützen, so daß nur einige wenige Personen die
815 Seiten editieren können, ließ dir bitte die Datei "plugins/auth/README.auth"
816 durch (leider nur in Englisch). Sie beschreibt den _PROTECTED_MODE und
817 stellt die entsprechenden Plugins vor.