unit tests MDL-22017 made test_usergetdate() work on machines in different timezones
[moodle.git] / mod / wiki / ewiki / README.de
CommitLineData
39fcb981 1
2README.de
14a960ac
PS
3���������
4Dies ist eine teilweise �bersetzung der README Datei, die weiterhin als
39fcb981 5Referenz verwendet sollte, da hier nur ein paar allgemeine und Setup-
6Informationen enthalten sind.
7
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
15
16 2 Wie jetzt?
17 2.1 In yoursite.php integrieren
18 2.2 Den WikiSeitenNamen bestimmen
19 2.9.1 WikiSprache einstellen (deutsch)
20
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
26
27 4.1 Nur die WikiQuelltextTransformation einsetzen
28
29 6.1.2 Ohne MySQL DB verwenden (WICHTIG)
30 6.1.3 db_fast_files
14a960ac 31 7.3.3 B�seB�ckSl�shes \\\\" (WICHTIG)
39fcb981 32
14a960ac 33 9.5.5 Pa�w�rter und tools/
39fcb981 34
35
36
37 -------------------------------------------------------------------------
38
39
40
41Was ist das?
14a960ac 42������������
39fcb981 43Dies ist eine "WikiWikiWeb" Bibliothek, die in der PHP Webskriptsprache
44implementiert ist. Ein WikiWiki ist eine Webseite, die von wirklich jedem
14a960ac 45ver�ndert/erg�nzt werden kann, der dort vorbeischaut (ohne vorhergehenden
39fcb981 46Registrierungskram).
47
48Es sollte relativ einfach in bestehende Websites integrierbar sein,
49weil es eben kein komplettes Script sondern vielmehr eine Bibliothek
14a960ac 50ist, die kein fertiges Seitenlayout erzwingt. Stattdessen k�nnen die
39fcb981 51erzeugten WikiSeiten als Inhalt in das Layout einer bestehenden Seite
52eingebunden werden.
53
54
55
56Warum "ErfurtWiki"?
14a960ac 57�������������������
39fcb981 58Meine Heimatstadt (Erfurt liegt nahe bei Weimar.de) - und das ist wirklich
14a960ac 59nix weiter als ein Name! Der interne Projektname ist �brigens "ewiki".
39fcb981 60
61
62Warum sollte man ausgerechnet dieses Wiki verwenden wollen?
63
64 - es ist wirklich alles notwendige in einer einzigen Skriptdatei, so
14a960ac 65 da� keine 20 anderen Dateien mit herumliegen m�ssen, wenn man es
39fcb981 66 in die eigene Site einbindet
67
68 - vordefinierte Layouts werden nicht aufgezwungen, es gibt Beispielseiten
14a960ac 69 aber keine Skins oder Themes aus denen man w�hlen m��te; das Wiki pa�t
39fcb981 70 sich wirklich in eine existierende Seite ein
71
14a960ac 72 - es ist vergleichsweise schnell, regul�re Ausdr�cke werden zwar auch hier
39fcb981 73 verwendet, aber nicht so exzessiv wie in anderen Wikis
14a960ac 74 (haupts�chlich einfache und flinke String-Funktionen)
39fcb981 75
76 - der Funktionsumfang ist inzwischen beachtlich :)
77
78
79
80WikiAlternativen
14a960ac
PS
81����������������
82Es gibt auch noch andere h�bsche WikiWare, falls jemand hiermit nicht
83gl�cklich werden tut:
39fcb981 84
14a960ac 85* PhpWiki ist deutlich vollst�ndiger,
39fcb981 86 siehe http://freshmeat.net/projects/phpwiki,
14a960ac 87 unterst�tzt versch. Datenbanktypen, Lokalisierung, integrierter
39fcb981 88 Administrationsbereich
89
90* Miki ist eine kleine WikiImplementierung in PHP von Jukka
91 Zitting. http://miki.sourceforge.net/
92
14a960ac 93* http://coWiki.org/ ist tats�chlich mehr ein CMS denn ein Wiki
39fcb981 94
14a960ac 95* Und schlie�lich: sfWiki - das sourceforge Wiki (daher auch zu finden
39fcb981 96 bei http://sfwiki.sourceforge.net/). Teile der WikiSyntax sieht ein
14a960ac
PS
97 wenig merkw�rdig aus, ein paar andere Sachen sind ganz nett; und es
98 unterst�tzt Benutzerauthentifizierung
39fcb981 99
14a960ac 100* f�r andere Wikis in anderen Programmiersprachen einfach mal die
39fcb981 101 Suchmaschienen nerven:
102 http://www.freshmeat.net/search/?q=wiki&section=projects
103 http://www.google.com/search?q=wiki
104
105
106
107Autor
14a960ac
PS
108�����
109Mario Salzer <milky*erphesfurt�de>
39fcb981 110ICQ95596825 und Yahoo: icq95596825
111
112Und alle anderen wurden in die Datei CREDITS verbannt ;->
113
114Dies ist ein relativ neues Projekt. Um es zu verbessern, bin ich sehr
14a960ac 115auf R�ckmeldungen angewiesen. Jede Mail ist ein wertvoller Beitrag!
39fcb981 116
117
118
119ProjektSeiten
14a960ac 120�������������
39fcb981 121freshmeat
122- http://freshmeat.net/ewiki
123
124demo:
125- http://erfurtwiki.sourceforge.net/
126
127neueste Versionen (instabile EnwicklerVersionen):
128- http://erfurtwiki.sourceforge.net/downloads/
129
130
131
132Support bekommen
14a960ac
PS
133����������������
134Hilfe bei der Installation gibt's nat�rlich, und selbstverst�ndlich sind
135wir 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).
39fcb981 138Bevor du aber einen BugReport versendest, lies dir bitte folgende Anleitung
139durch (absolut notwendig um KOSTENLOSEN support zu bekommen):
140
141http://www.lugbz.org/documents/smart-questions_de.html
142
14a960ac 143Danach bitte nicht z�gern, einen der Autoren zu kontakten oder einfach eine
39fcb981 144Nachricht in BugReports oder UserSuggestion auf unserer ProjektSeite zu
145hinterlassen.
146Wenn du dich auf unserer http://erfurtwiki.sourceforge.net/?MailingList
14a960ac 147anmeldest, hast du die M�glichkeit Hilfe f�r dein Problem von einer gr��eren
39fcb981 148Gruppe von Leuten zu bekommen (an- und wieder abmelden geht schnell).
149
150
151
152Lizens
14a960ac 153������
39fcb981 154Dieses "Programm" wird als "Public Domain" vertrieben. Public Domain
155ist wie "FreeWare", nur ein bischen mehr frei ;-> Man kann sich das
14a960ac
PS
156vorstellen, wie die GPL ohne an die GPL gebunden zu sein. (Tats�chlich
157wollte ich einfach keine LICENSE Datei mitreinpacken, die gr��er ist als
39fcb981 158das eigentliche Programm.)
159
14a960ac
PS
160Da dies ein freies (Bier) St�ck Software ist, kann mich nat�rlich
161niemand f�r irgendwelche Fehler oder all die WIRKLICH SCHLIMMEN
162FESTPLATTEN-SCH�DEN verantwortlich machen, die bei der Verwendung
163entstehen k�nnten ;>
39fcb981 164
165
166
167
168 -------------------------------------------------------------------------
169
170
171
172
173Wie jetzt?
14a960ac
PS
174����������
175ewiki ben�tigt:
39fcb981 176
177- Webserver (Apache, Nanoweb, ...)
178- PHP 4.1 oder neuer
14a960ac 179- nach Mglk. eine MySQL Datenbank (l�uft aber auch ohne)
39fcb981 180- deine bereits exitierenden Webseite
181- die wundervollen "magic slashes" in antiken PHP version sollten wirklich
182 abgeschalten sein
183
14a960ac 184Wenn du keine MySQL-Datenbank hast, dann verwende die Erweiterung f�r
39fcb981 185die Datei-Datenbank.
186
187
188
189In yoursite.php integrieren
14a960ac
PS
190���������������������������
191In den n�chsten Abschitten, soll mit dem Begriff "yoursite.php" der
39fcb981 192Teil deiner bestehenden Seite verstanden werden, der das Seitenlayout
193erzeugt (der also zumindest die <html><body> Tags um die Ausgaben von
194ewiki.php bastelt).
14a960ac
PS
195Die schlichteste L�sung findet sich auch noch mal in example-2.php:
196
39fcb981 197 <HTML>
198 <BODY>
199 <?php
200
201 mysql_connect("localhost", "DB-USER-NAME", "PASSWORD");
202 mysql_query("use DATABASE-NAME-HERE");
203
204 define("EWIKI_SCRIPT", "yoursite.php?page=);
205 error_reporting(0);
206
207 include("ewiki.php");
208
209 echo ewiki_page();
210
211 ?>
212 </BODY>
213 </HTML>
14a960ac
PS
214
215Die ersten beiden Befehle �ffnen eine Verbindung zur MySQL-Datenbank,
216normalerweise w�rde man das Ergebnis von mysql_conect() in einer Variable
39fcb981 217wie "$db" ablegen, aber da PHP ohnehin nicht auf deren Verwendung besteht,
218wenn es nur eine DB-Verbindung gibt, wird eine solche Variable in
14a960ac 219"ewiki.php" auch gar nicht verwendet (und der Name dieser Variable w�re
39fcb981 220damit hier egal).
221
222Der Wert in der define() Zeile sagt ewiki wie die Hyperlinks zu den
14a960ac
PS
223referenzierten WikiSeiten lauten m�ssen, damit ewiki.php auch f�r die
224n�chste angeklickte WikiSeite aufgerufen wird.
39fcb981 225Wenn du nur ein einziges "yoursite.php" Skript hast, wirst du den Wert
14a960ac 226direkt in "ewiki.php" ver�ndern wollen.
39fcb981 227
228Das error_reporting(0) wird sehr empfohlen.
229
14a960ac 230Das include("ewiki.php") l�dt endlich die ewiki "Bibliothek" und setzt
39fcb981 231alle bis hierher noch nicht definierten EWIKI_ Konstanten.
232
14a960ac
PS
233Der Aufruf der ewiki_page() Funktion gibt diejenige WikiSeite zur�ck, die
234vom Browser angefragt wurde. Du mu�t hier "echo" davorsetzen, denn sonst
39fcb981 235wird der Text nicht ausgegeben (verpufft im PHP-Nirvana) - ewiki gibt die
236erzeugte Seite nicht selber aus.
237
238
239
240Den WikiSeitenNamen bestimmen
14a960ac 241�����������������������������
39fcb981 242Wenn du ewiki_page() einfach so aufrufst wie im oberen Beispiel angegeben
243(empfohlen), dann wird es versuchen, den Namen der angefragten Seite selber
244zu ermmitteln ($_SERVER["PATH_INFO"] oder GET-Variablen '?id=' oder '?name='
14a960ac 245oder '?page=' oder '?file=' in $_REQUEST["name"]).
39fcb981 246
247Wenn yoursite.php aber einen anderen Weg benutzt (andere Parameternamen),
14a960ac 248um den WikiSeitenNamen zu �bergeben, dann kann man ihn schlicht als ersten
39fcb981 249Parameter angeben:
250
251 ewiki_page( $id = "WikiSeitenNanem" );
252
253
254Example-4.php zeigt das beispielsweise, um die Liste der aktualisierten
255Seiten einzubinden.
256
257
258
259
260
261WikiSprache einstellen (deutsch)
14a960ac
PS
262��������������������������������
263Ich hab es jetzt schon einige Leute behaupten h�ren, aber auch beim
39fcb981 264IntranetExplodierer kann man die "bevorzugten Sprachen" irgendwo einstellen.
265Wers nicht findet, kann ja auch gleichmal auf einen aktuellen Browser
266wechseln - das lohnt sich nicht nur wegen der vielen Seiten, die es dann
14a960ac 267pl�tzlich doch auf Deutsch gibt!
39fcb981 268
14a960ac
PS
269Wer es partou nicht hinbekommt, kann nat�rlich die deutsche Sprache f�r
270ewiki erzwingen; hilfreich hierf�r ist z.B. die include()-Datei
39fcb981 271"fragments/force_lang_de.php".
272
273Es funktioniert aber auch mit diesem Befehl, der irgendwo in ewiki.php,
14a960ac 274config.php oder yoursite.php eingef�gt werden kann (nicht empfohlen):
39fcb981 275
276$_SERVER["HTTP_ACCEPT_LANGUAGE"] = "de; q=1.0, en; q=0.2, eo, nl";
277
278
279
280
281 -------------------------------------------------------------------------
282
283
284
285
286Im Detail
14a960ac 287���������
39fcb981 288Die MySQL DB Tabellenstruktur ist zu einem gewissen Grad kompatibel mit der
14a960ac
PS
289des allseits bekannten �PHPWiki� (normalerweise reicht es EWIKI_DB_TABLE_NAME
290auf "wiki" zu �ndern, um PhpWikis DB weiterzuverwenden).
39fcb981 291Dies ist der MySQL Befehl, der die DB-Tabelle erstellt (beim ersten Start,
292automatisch):
293
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 )
307
308Den Spaltennamen {pagename} mochte ich eigentlich nicht, aber weil das der
309offensichtlich einzige Unterschied zur PhpWiki-Tabelle war, kam mir die Idee
14a960ac
PS
310mit der Kombatibilit�t un so hab ich das adaptiert.
311Dummerweise mu� nun die ewiki_database() Funktion "pagename" st�ndig von
312und nach "id" �bersetzen.
39fcb981 313
314Die Spalte {version} wird zur Speicherung der verschiedenen abgelegten
14a960ac 315Seiten�nderungen verwendet. In anderen Wikis gibt es zu diesem Zweck eine
39fcb981 316Bonus-tabelle wie "backup" oder "history", aber ich hab den Sinn von sowas
317bisher nicht verstanden; und daher gibt es in ewiki nur diese eine Tabelle
318(und das scheint absolut zu reichen)!
14a960ac
PS
319Die erste {version} einer Seite erh�lt die Nummer 1. Eine bestehende
320Seiten {version} wird niemals �berschrieben werden => sehr sicherer MySQL-
39fcb981 321Einsatz.
322
14a960ac
PS
323Mehr �ber die {flags} in dem entsprechenden Abschnitt in der README. Das
324Feld {content} enth�lt nat�rlich den WikiSeitenQuelltext. {created} und
39fcb981 325{lastmodified} enthalten die entsprechenden Zeitangaben im UNIX format.
326
14a960ac
PS
327{refs} enth�lte eine "\n" - getrennte Liste von referenzierten WikiSeiten.
328Der Code um diese List zu erzeugen ist etwas unsauber, so da� oftmals
329GeisterSeiten aufgef�hrt sind. Wieauchimmer, da� beeintr�chtigt ewiki
330nicht wirklich, und eine Korrektur w�re Zeit- und Geschwindigkeits-
39fcb981 331verschwendung.
332
14a960ac
PS
333{meta} kann Bonusinfos enth, so da� die Tabellenstruktur nicht bei jeder
334Erweiterung ge�ndert werden mu�. Aktuell nur f�r Bin�rdaten (Bilder)
39fcb981 335verwendet.
336
14a960ac 337{hits} z�hlt die Seitenaufrufe, und ist nicht in {meta} integriert, weil
39fcb981 338separat schneller und einfacher zu verwenden.
339
340Die ewiki DB Tabelle kann nicht nur Texteseiten enthalten, sondern auch
14a960ac 341bin�ren Inhalt (vornehmlich Bilder), siehe {flags}.
39fcb981 342
14a960ac 343Das Ein-Tabellen-Konzept hat es �brigens auch recht einfach gemacht, das
39fcb981 344Datei-basierte DB-Backend zu entwickeln. Eine Beispieldatei:
345
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
14a960ac 353\r
39fcb981 354 !! WikiSourceContent
355 <more-text>...
356
357
358
359
360ewiki_ Funktionen
14a960ac
PS
361�����������������
362Einige der Basis-Funktionen aus ewiki.php k�nnen getrennt von den anderen
39fcb981 363verwendet werden, andere sind ausgelegt um durch bessere Implementierungen
364ersetzt zu werden.
365
366
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
14a960ac 373 zur�ckgegeben.
39fcb981 374
375
376 ewiki_page_...()
377 ----------------
378 Die meisten Fkt. mit diesem Prefix wurden aus der Hauptfkt.
14a960ac 379 herausgetrennt, um ewiki �bersichtlicher und leichter erweiterbar
39fcb981 380 zu machen.
381 Die meisten enthalten Code um spezielle/interne Seiten zu erzeugen
382 (Suche, Neuest, Info, und das Edit <FORMular>, ...)
383
384
385 ewiki_script()
386 --------------
387 Erzeugt URL aus angegebener Seiten $id und $action, verwendet dazu
14a960ac
PS
388 die EWIKI_SCRIPT-Konstante. Dieser wrapper erm�glicht es auch die
389 eigentlich reservierten Schr�gstriche in Seitennamen zu verwenden.
39fcb981 390
391
392 ewiki_control_links($id, $data)
393 -------------------------------
14a960ac 394 Gibt die Zeile mit "DieseSeite�ndern, SeitenInfo, ... links" aus.
39fcb981 395
396
397 ewiki_format($wiki_source, $scan_links=1, $html_allowed=0)
398 ----------------------------------------------------------
14a960ac 399 Erzeugt die formatierten (HTML) Ausgabe f�r den �bergebenen
39fcb981 400 WikiQuelltext.
401
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
14a960ac 405 verwendet, um zu pr�fen ob eine Seite in der DB vorh. ist.
39fcb981 406
407
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).
417
418
419 ewiki_binary()
420 --------------
421 Wird automatisch aufgerufen, wenn das Skript mit dem ?binary= Anhang
422 aufgerufen wird, um referenzierte / hochgeladene Bilder auszugeben.
423
424
425 ewiki_author()
426 --------------
427 erzeugt einen String, der mit REMOTE_ADDR und $ewiki_author
428 angereichert wurde.
14a960ac 429
39fcb981 430
431 ewiki_database($FUNCTION, $args=array() )
432 ------------------------------------------
14a960ac
PS
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.
39fcb981 436 Die einzelnen "atomaren" Funktionen sind beschrieben in der
437 orignialen README-Datei.
438
439
440
441
442
443$GLOBALS Verschmutzung
14a960ac 444����������������������
39fcb981 445Zumindest die ewiki_page() Funktion erzeugt einige Variablen im globalen
14a960ac
PS
446Namensraum. Nat�rlich haben auch diese Namen, die sich mit irgendetwas
447aus yoursite.php �berschneiden sollten:
39fcb981 448
14a960ac 449 $ewiki_id - Enth�lt die DB-$id der aktuellen Seite, ist nicht
39fcb981 450 immer identisch mit $ewiki_title.
451
452 $ewiki_action - Der $action-Parameter, mit dem die Seite angefordert
453 wurde.
454
455 $ewiki_title - Wird nach dem ersten Aufruf von ewiki_page() gestzt,
14a960ac
PS
456 am n�tzlichsten um in dem <TITLE> Tag ausgegeben
457 zu werden - daf�r mu� aber ewiki_page() schon im
39fcb981 458 Kopfbereich aufgerufen werden, die Ausgabe gepuffert,
459 damit der Seitentitel noch innerhalb von <HEAD>
460 ausgegeben werden kann.
461
462 $ewiki_script - Eine Kopie von EWIKI_SCRIPT.
463
14a960ac 464 $ewiki_links - Ist ein Arraym da� in ewiki_format() prodiziert wird, und
39fcb981 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
14a960ac 468 Array), wird angenommen, da� alle WikiSeiten existieren.
39fcb981 469
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.
14a960ac 475 Diese Feld sollte aber NICHT ZUGEM�LLT werden mit
39fcb981 476 irgendwelchen Bonusinfos.
477
14a960ac 478 $ewiki_auth_user - Enth�lt Namen eines wirklich authentifizierten
39fcb981 479 Benutzers im _PROTECTED_MODE. Nicht notwendig, wird aber
480 u.a. gerne von ewiki_auth() und ewiki_auth_user() zur
481 Vereinfachung verwendet.
482
483 $ewiki_ring - Berechtigungslevel im _PROTECTED_MODE
484 3 = nur lesen
485 2 = normaler Benutzer (lesen, editieren, ...)
14a960ac 486 1 = Moderator (auch Seiten l�schen?)
39fcb981 487 0 = Administrator (darf alles)
488
489 $ewiki_plugins - Dieses array verbindet Aufgabengruppen (z.B. "database"
490 oder "image_resize") mit Funktionsnamen.
14a960ac 491 Dies stellt einen wirklich einfachen und dennoch m�chtigen
39fcb981 492 Weg dar, um ewiki zu erweitern.
14a960ac 493 Es gibt ein eigenes Kapitel dar�ber in der orig. README.
39fcb981 494
495 $ewiki_config - Ersetzt teilweise die EWIKI_ Konstanten.
496
497Folgende gibt's nich mehr (teilweise in $ewiki_config):
498
499 $ewiki_data, $ewiki_interwiki, $ewiki_internal_pages,
500
501
14a960ac 502
39fcb981 503
504
505EWIKI_ Konstanten
14a960ac 506�����������������
39fcb981 507- - WARNUNG - WARNUNG - WARNUNG - WARNUNG - WARNUNG - WARNUNG - WARNUNG - -
14a960ac 508WARNUNG: Dieser Abschnitt ist grunds�tzlich besonders inaktuell! Von daher
39fcb981 509sollte ein Studium des gleichnamigen Abschnitts in der orig. README-Datei
510wirklich vorgezogen werden!! Viele der neu hinzugekommenen Konstanten werden
14a960ac 511hier schlichtweg nicht erw�hnt, oder inzwischen sogar __falsch__ beschrieben.
39fcb981 512- - WARNUNG - WARNUNG - WARNUNG - WARNUNG - WARNUNG - WARNUNG - WARNUNG - -
513
14a960ac 514Dieser Abschnitt erkl�rt einige der Konstanten und wie man sie verwenden
39fcb981 515kann, um ewiki nach der eigenen Pfeife tanzen zu lassen.
516
14a960ac 517Normalerweise solltest diese innherhalb von "ewiki.php" angepa�t werden, einige
39fcb981 518sind jedoch mehr wie Statusvariablen ausgelegt und sollten von "yoursite.php"
14a960ac 519in Abh�ngigkeit von dort vorhanden Infos gesetzt werden (wenn dort Benutzer
39fcb981 520eingeloggt sind z.B.).
521Dann ist es gut einige der Konstanten vorzudefinieren (einmal def. Konst.
14a960ac 522k�nnen nicht wieder ge�ndert werden).
39fcb981 523
524
525 EWIKI_SCRIPT
526 Wichtigste Einstellung. Wird von ewiki.php verwendet, um Links zu
527 anderen WikiSeiten zu erzeugen.
528
14a960ac 529 Es ben�tigt den Namen von yourscript.php, da� selbst wiederrum
39fcb981 530 ewiki.php geeignet einbindet.
531 Der Name der angefragten WikiSeite wird immer schlicht an den hier
14a960ac 532 definierten TextString angeh�ngt, daher sollter dieser immer in
39fcb981 533 "/" oder "?" oder "?id=" oder "?name=" oder "?page=" enden, damit
14a960ac 534 eine g�ltige URL dabei herauskommt und der SeitenName von ewiki_page()
39fcb981 535 gefunden wird.
536
537 Wenn auf deinem Server mod_rewrite vorhanden ist und funktioniert,
14a960ac
PS
538 k�nntest du diese Konst. auch leer lassen, so alle Anfragen zu
539 http://wiki.example.com/ an das richtige Skript �bergeben werden.
39fcb981 540 Ansonsten ist es gut, wenn eine URL absolut zum Server-Hauptpfad
541 angegeben ist, also z.B. "/~user/wiki/index.php/", damit Browser
14a960ac 542 keine ung�ltigen URLs erzeugen, sobald eine $action vor den
39fcb981 543 Seitennamen gesetzt wird (z.B. "edit/DieseSeite").
544
545 Die Konstante wird von ewiki_script() eingesetzt um URLs zu den
546 angegebenen Seiten zu erstellen (wobei einige Fehler abgefangen
547 werden).
548
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="
552
553
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.
557
558
559 EWIKI_PAGE_INDEX
560 Definiert den Namen der WikiSeite, die als Startseite angezeigt werden
561 soll.
562 EWIKI_PAGE_NEWEST
14a960ac
PS
563 Name (intern erzeugt) der Seite, die List der zuletzt hinzugef�gten
564 Seiten enth�lt.
39fcb981 565 EWIKI_PAGE_SEARCH
14a960ac 566 Enth�lt den WikiSeitenNamen f�r dei SuchFunktion.
39fcb981 567
568
569 EWIKI_CONTROL_LINE
570 Wenn auf 0 gestzt, wird die Zeile unter einer WikiSeite mit
14a960ac 571 "DieseSeite�ndern, SeitenInfo, ..." nicht angezeigt.
39fcb981 572 In diesem Fall sollte der Edit-Link in yoursite.php erzeugt werden.
573 Besser ist es normalerweise das Aussehen der Ausgabe in
14a960ac 574 ewiki_control_links() selbst zu �ndern.
39fcb981 575
576 EWIKI_AUTO_EDIT
14a960ac 577 Bei 1 (voreinstellung) wird automatisch eine Edit-Box f�r
39fcb981 578 nicht-exisiterende Seiten angezeigt, ansonsten wird eine ZwischenSeite
14a960ac 579 ("Bitte �ndere mich!") angezeigt (wie in PhpWiki).
39fcb981 580
581 EWIKI_LIST_LIMIT
582 Maximale Anzahl von Seiten, die in den generierten Listen angezeigt
583 werden sollen (Suche, ...)
584
585 EWIKI_PRINT_TITLE
586 Wenn 0 werden keine SeitenTitel (WikiSeiten und InterneSeiten)
587 angeziegt.
588
589
590 EWIKI_ALLOW_HTML
14a960ac 591 Normalerweise sollte im Wiki keine HTML erlaubt sein - b�ses JavaScript
39fcb981 592 und <brokenHTML/>, andere Leute nerven.
593
14a960ac
PS
594 Siehe orig. README f�r mehr Informationen.
595
39fcb981 596
597 EWIKI_RESCUE_HTML
14a960ac 598 �berholt, siehe plugins/markup_rescuehtml.php
39fcb981 599
600
601 EWIKI_DB_F_TEXT
14a960ac 602 Dieses Flag wird f�r normale WikiSeiten in der DB gesetzt.
39fcb981 603
604 EWIKI_DB_F_BINARY
14a960ac
PS
605 F�r bin�ren Inhalt in der DB.
606
39fcb981 607 EWIKI_DB_F_DISABLED
608 DB-Eintrage werden hiermit ausgeknippst.
609
610 EWIKI_DB_F_HTML
14a960ac 611 Erlaubt die Verwendung von HTML im WikiQuelltext, unabh�ngig von
39fcb981 612 EWIKI_ALLOW_HTML.
613
614 EWIKI_DB_F_READONLY
14a960ac 615 WikiSeite kann nicht ver�ndert werden, so dieses Flag gesetzt ist.
39fcb981 616
617 EWIKI_DB_F_WRITEABLE
14a960ac
PS
618 Umkehrung von READONLY, nur n�tzlich wenn zuvor alle Seiten mit
619 EWIKI_EDIT_AUTHENTICATE schriebgesch�tzt wurden.
39fcb981 620
621
622 EWIKI_ALLOW_OVERWRITE
14a960ac
PS
623 F�r eingeloggte nutzer kann yoursite.php diese Konst. auf 1 setzen, um
624 auch das �ndern von schreibgesch�tzten Seiten zu erlauben.
39fcb981 625
626 EWIKI_EDIT_AUTHENTICATE
14a960ac
PS
627 Hiermit kann man ewiki dahingehend kaputt machen, da� alle Seiten
628 schreibgesch�tzt werden, und nur ver�nderbar sind, so yoursite.php
39fcb981 629 $ewiki_author setzt.
630
631
632 EWIKI_SCRIPT_BINARY
14a960ac
PS
633 Um bin�re Daten ausgeben zu k�nnen, mu� hier ein wrapper-script
634 angegeben werden, da� ein Datenbank-Verbindung �ffnet und keine
39fcb981 635 Textausgaben erzeugt, bevor nicht ewiki.php eingebunden wurde,
14a960ac 636 da sonst nur Datenm�ll ausgegeben w�rde.
39fcb981 637
14a960ac 638 Um alle binary-Funktionalit�t (Bilder hochladen / cachen) loszuwerden,
39fcb981 639 einfach diese Konstante auf "" setzen, und die folgenden zwei auf 0:
640
641
642 EWIKI_CACHE_IMAGES
643 Bilder zwischenspeichern.
644
645 EWIKI_IMAGE_MAXSIZE
14a960ac 646 Maximale Gr��e von Bildern die in der DB abgelegt werden sollen.
39fcb981 647
648 EWIKI_IMAGE_RESIZE
14a960ac 649 Bilder herunterskalieren, wenn zu gro�.
39fcb981 650
14a960ac 651 EWIKI_IDF_INTERNAL
39fcb981 652 Wird verwendet um hochgeladene Bilder zu identifizieren. Bitte
14a960ac
PS
653 im laufenden Betrieb nicht �ndern.
654
39fcb981 655
656 EWIKI_ADDPARAMDELIM
14a960ac 657 Automatisch definiert, enth�lt entweder "?" oder "&", abh�ngig von
39fcb981 658 EWIKI_SCRIPT.
659
660
661 EWIKI_T_*
14a960ac 662 �berholt, siehe ewiki_t() und $ewiki_t[] in der englischen README
39fcb981 663
664
665 EWIKI_CHARS_U
666 EWIKI_CHARS_L
14a960ac 667 Erlaubte Zeichen in WikiSeitenNamen (gro�e und kleine Letter). Hiermit
39fcb981 668 kann man das wiki lokalisieren; deutsche Umlaute sind schon enthalten.
669
670 UNIX_MILLENNIUM
671 Sehr wichtiges Ereignis ;)
39fcb981 672
14a960ac
PS
673
674Im tools/ Ordner ist ein kleines Script, mit dem man die erw�hnten
675SeitenFlags �ndern kann.
39fcb981 676
677
678
679$ewiki_config[] array
14a960ac
PS
680���������������������
681Einige der EWIKI_ Konstanten wurden durch Eintr�ge im $ewiki_config[] Array
682ersetzt oder erg�nzt (die Konstanten k�nnen weiterhin zur Voreinstellung
683verwendet werden). Der Vorteil dieses Arrays ist, da� die Einstellungen auch
684zur Laufzeit ge�ndert werden k�nnen.
39fcb981 685
14a960ac 686F�r eine komplette und (einigerma�en) aktuelle �bersicht bem�he bitte die
39fcb981 687englischsprachige README.
688
689
690
691
692 -------------------------------------------------------------------------
693
694
695
696
697Nur WikiQuelltextTransformation einsetzen
14a960ac
PS
698�����������������������������������������
699Die ewiki_format Funktion war entworfen, um sie auch unabh�ngig von dem
700restlichen WikiSkript einsetzen zu k�nnen.
701Ben�tigt normalerweise nur den "wiki_source" Parmeter und erzeugt die
39fcb981 702HTML-Seite daraus.
703 ewiki_format($wiki_source, 0);
704
14a960ac
PS
705Alles 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
707annimmt alle WikiSeiten w�rden existieren.
39fcb981 708
709Wers eilig hat, kann auch die extrahierte Variante fragments/wiki_format.inc
710verwenden, die Frank Luithle beigesteuert hat.
711
712
713
714
715 -------------------------------------------------------------------------
716
717
718
719
720Ohne MySQL DB verwenden
14a960ac
PS
721�����������������������
722Sollte dein Provider keine MySQL Datenbank f�r dich bereithalten, kannst
39fcb981 723du das plugin "db_flat_files.php" verwenden (einfach include("plugins/...");
724aufrufen um es zu laden).
725
14a960ac 726Alle WikiSeiten werden dann in Textdateien in einem nur daf�r
39fcb981 727bereitgestelltem Ordner gespeichert. Stelle hierzu noch die Konstante
14a960ac
PS
728EWIKI_DBFILES_DIRECTORY in der Datei "ewiki.php" passend ein ("/tmp" w�rde
729jedesmal gel�scht, wenn der Server neu startet).
730Das Verzeichnus mu� relativ zum ewiki.php script angegeben werden, oder
39fcb981 731absolut zum Serverhauptverzeichnis, nicht aber relativ zum DocumentRoot
14a960ac 732deines Webspeicherplatzes! In diesem Beispiel w�re "./pages" richtig:
39fcb981 733
734Erstelle ein neues Verzeichnis (via FTP-Programm) und gib dem Webserver
14a960ac 735Schreibzugriff daf�r mit dem Befehl " chmod 777 ./pages ".
39fcb981 736ftp> cd .../ewiki
737ftp> mkdir pages
738ftp> chmod 777 pages
739ftp> 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
742drw----r-x 2 deinname deinname 4096 01. Jan 00:00 init-pages
743drwxrwxrwx 2 deinname deinname 4096 25. Feb 23:59 pages
744drw----r-x 5 deinname deinname 4096 01. Jan 00:00 plugins
745-rw----r-- 1 deinname deinname 15826 01. Jan 00:00 README.de
746ftp> quit
747
748Mit einem graphischem FTP-Programm gibt es auch immer die Mglk. die
749"Dateizugriffsrechte" einzustellen.
750
751
752
753db_fast_files
14a960ac 754�������������
39fcb981 755Diese neuere Version von db_flat_files, speichert die WikiSeiten
14a960ac
PS
756komprimiert in einem Bin�r-Format (kann man nicht mehr mit Editor
757ansehen und bearbeiten). Zus�tzlich wurde der HitZ�hler aktiviert.
39fcb981 758
14a960ac
PS
759db_fast_files wurde in db_flat_files integriert, so da� das neue
760Format jetzt nur noch �ber eine Konstante aktiviert werden mu�
761(beide Dateiformate k�nnen gleichzeitig in der DB vorhanden sein).
762F�r die schnellere Variante aktiviere in "plugins/db_flat_files.php"
39fcb981 763die entsprechende Konstante:
764 define("EWIKI_DB_FAST_FILES", 1);
14a960ac 765(Diese Einstellung k�nntest du aber auch schon in der "config.php"
39fcb981 766eintragen.)
767
14a960ac 768Zus�tzliche Konstante: EWIKI_DBFILES_GZLEVEL sagt wieviel Zeit
39fcb981 769beim Komprimieren verschwendet werden soll:
7700 - keine Komprimierung
7711 - ein ganz klein wenig Kompr.
7722 - Voreinstellung, schnell
7735 - normaler Wert in zlib, gute Komprimierung
14a960ac 7749 - langsam f�r allerbeste Kompression
39fcb981 775
776Dieses plugin wurde von Carsten Senf beigesteuert.
777
778
779
780
781 --------------------------------------------------------------------------
782
783
784
785
14a960ac
PS
786B�seB�ckSl�shes
787���������������
788Wenn auf deinen Seiten p�tzlich viele "\" R�ckw�rtsSchr�gStriche
789auftauchen liegt das an einer Fehlkonfiguration von PHP. In �lteren
39fcb981 790Versionen war leider immer die Option "magic_slashes_gpc" aktiviert
791(siehe auch php.ini).
792
14a960ac 793Bitte am besten deinen WebserverProvider das zu �ndern. Wenn du aber bei
39fcb981 794einem der BilligHoster (umsonst wie sourceforge.net oder tripod.com) bist,
795gilt wie immer: einem geschenkten Gaul...
796Dann verwende bitte "fragements/strip_wonderful_slashes.php", um das
14a960ac 797Problem zumindest zu umschiffen, oder �ndere deine .htaccess Datei (Apache)
39fcb981 798wie darin beschrieben.
799
800
801
802 --------------------------------------------------------------------------
803
804
805
14a960ac
PS
806Pa�w�rter und tools/
807��������������������
808Die tools/ sind gef�hrlich und daher per Voreinstellung nicht ohne weiteres
39fcb981 809Nutzbar. In der Datei "tools/t_config.php" wird das Script
14a960ac
PS
810"fragmenst/funcs/auth.php" geladen, da� f�r den Browser-Login-Dialog
811verantwortlich ist. Wenn du also die tools/ verwenden willst, mu�t du dort
812zuerst einen Benutzer mit Pa�wort eintragen, sonst geht nix.
39fcb981 813
14a960ac
PS
814Um hingegen dein Wiki zu sch�tzen, so da� nur einige wenige Personen die
815Seiten editieren k�nnen, lie� dir bitte die Datei "plugins/auth/README.auth"
39fcb981 816durch (leider nur in Englisch). Sie beschreibt den _PROTECTED_MODE und
817stellt die entsprechenden Plugins vor.
818
819