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.
9 1.1 Warum "ErfurtWiki"?
10 1.1.1 Besondere Features
11 1.1.2 WikiAlternativen
13 1.2.1 Support bekommen
18 2.1 In yoursite.php integrieren
19 2.2 Den WikiSeitenNamen bestimmen
20 2.9.1 WikiSprache einstellen (deutsch)
23 3.1 die ewiki_ Funktionen
24 3.2 $GLOBALS Verschmutzung
25 3.3 die EWIKI_ Konstanten
26 3.4 $ewiki_config[] array
28 4.1 Nur die WikiQuelltextTransformation einsetzen
30 6.1.2 Ohne MySQL DB verwenden (WICHTIG)
32 7.3.3 BöseBäckSläshes \\\\" (WICHTIG)
34 9.5.5 Paßwörter und tools/
38 -------------------------------------------------------------------------
44 Dies ist eine "WikiWikiWeb" Bibliothek, die in der Skriptsprache PHP
45 implementiert ist. Ein WikiWiki ist eine Webseite, die von wirklich jedem
46 verändert/ergänzt werden kann, der dort vorbeischaut (ohne vorhergehenden
49 Es sollte relativ einfach in bestehende Websites integrierbar sein,
50 weil es eben kein komplettes Script sondern eher eine Bibliothek ist,
51 die kein fertiges Seitenlayout erzwingt. Stattdessen können die
52 erzeugten WikiSeiten als Inhalt in das Layout einer bestehenden Seite
59 Der Projektname ist Zufall, hat sich der Autor ausgesucht (Heimatstadt),
60 und der interne Projektname ist übrigens "ewiki".
64 Besondere Eigenschaften
65 ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
66 ewiki ist nicht einfach nur schon-wieder-ein-neues-Wiki, sondern
67 hat einige besondere Features:
69 - ewiki besteht im Grunde nur aus einer einzigen Datei (monolithisch,
70 siehe auch "monsterwiki" in der [README])
71 - es werden keine vordefinierte Layouts werden aufgezwungen, das
72 Wiki läßt sich einfach in existierende Seiten einbauen
73 - es ist vergleichsweise schnell, reguläre Ausdrücke werden zwar
74 verwendet, aber nicht so exzessiv wie in anderen Wikis
75 (hauptsächlich einfache und flinke String-Funktionen)
76 - der Funktionsumfang ist inzwischen beachtlich :)
77 - anders als 95% aller Wikis ist es mal nicht GPL
78 - beherrscht Groß-/Kleinschreibungs-unempfindliche WikiLinks,
79 verschiedenste Datenbanktypen, und alle erweiterten Funktionen
80 sind rein optional (mächtige Pluginschnittstelle)
86 Wem ewiki nicht zusagen sollte, dem seien folgende Wiki engines ans
87 Herz gelegt (testen schadet ja nix):
89 - PWiki2 ist der neue Stern am Himmel PHP-basierter Wikis, es wird
90 aktuell sehr intensiv und schnell weiterentwickelt, immer einen
91 Blick wert: http://www.pwiki2.org/
92 - PmWiki ist eine der ausgereifteren Wiki-Umsetzungen für PHP; gibt
93 es schon eine ganze Weile, hat eine große Usergemeinde und wird
94 aktiv gepflegt und weiterentwickelt. http://pmwiki.org/
95 - WakkaWiki von Hendrik Mans ist auch eine sehr mächtige PHP
96 Umsetzung, siehe http://www.wakkawiki.com/
97 - Miki ist eine kleine WikiImplementierung in PHP von Jukka
98 Zitting. http://miki.sourceforge.net/
99 - coWiki - ist komplett OOP and das Quellcode-Layout ist großartig
100 (nur die Doku scheisse). Sehr große Funktionsvielfalt, aber ist
101 mehr ein CMS als ein Wiki (Authentifizierungsquark) und hat auch
102 etwas merkwürdiges Markup. Aber bitte selber testen:
104 - PhpWiki has a more complete approach than this WikiWare,
105 get it from http://freshmeat.net/projects/phpwiki,
106 it has support for different database types, features localization
107 and comes with an integrated admin area and also lots of plugins
108 made by its gigantic user base and development group. It initially
109 inspired the ewiki project, but also was the reason for starting
111 - PhpWiki hat einen etwas ganzheitlicheren Ansatz als ewiki,
112 siehe http://freshmeat.net/projects/phpwiki,
113 unterstützt versch. Datenbanktypen, Lokalisierung, integrierter
114 Administrationsbereich und jede Menge Plugins (fest verdrahtet)
115 durch die riesige Benutzergemeinde und immer noch aktive
116 Entwicklungsabteilung. War anfänglich Inspiration für ewiki -
117 aber auch der eigentliche Auslöser ein neues Wiki in die Welt zu
120 Der BESTE PLATZ um nach teuflischen Konkurrenz-Implementierungen zu
122 http://c2.com/cgi/wiki?WikiEngines
124 Und es gibt auch eine neue WikiEngine Vergleichs-Tabelle, in der
125 die verschiedenen Wikis nach Features sortiert werden sollen:
126 http://wikifeatures.wiki.taoriver.net/moin.cgi/WikiEngine
128 Warum wir die "Konkurrenz" empfehlen? Ganz einfach: ewiki ist KEIN
129 kommerzielles Projekt - unser Leben hängt nicht davon ab, ob wir
130 tausende von Benutzern haben; es macht also auch keinen Sinn jemanden
131 zu überreden es zu verwenden. Obwohl ewiki zwar recht flexibel ist,
132 kann es kaum DIE Lösung für jedermann sein (wär doch bescheurt,
134 Die freie Wahl zu haben ist eine feine Sache, und die FreeSoftware-
135 Gemeinde bietet im Bereich Wiki eine ganze Menge - also probier'
136 doch einfach selber aus, welches Wiki für DICH am meisten bringt.
142 - http://freshmeat.net/ewiki
145 - http://erfurtwiki.sourceforge.net/
147 neueste Versionen (instabile EnwicklerVersionen):
148 - http://erfurtwiki.sourceforge.net/downloads/
151 - http://www.freelists.org/archives/ewiki/
157 Hilfe bei der Installation gibt's natürlich, und selbstverständlich
158 sind wir auch dankbar für jeden Hinweis über bestehende Probleme und
159 Fehler (bekanntermaßen ist die REAMDE noch nicht ausführlich genug
160 und stellenweise überhaupt keine Hilfe). Bevor du aber einen
161 BugReport versendest, lies dir bitte folgende Anleitung durch
162 (absolut notwendig um KOSTENLOSEN support zu bekommen):
164 http://www.lugbz.org/documents/smart-questions_de.html
166 Danach bitte nicht zögern, einen der Autoren zu kontakten oder
167 einfach eine Nachricht in BugReports oder UserSuggestion auf unserer
168 ProjektSeite zu hinterlassen. Wenn du dich auf unserer
169 http://erfurtwiki.sourceforge.net/?MailingList anmeldest, hast du
170 die Möglichkeit Hilfe für dein Problem von einer größeren Gruppe von
171 Leuten zu bekommen (an- und wieder abmelden geht schnell).
177 Dieses "Programm" wird als "Public Domain" vertrieben. Public Domain
178 ist wie "FreeWare", nur ein bischen mehr frei ;-> Man kann sich das
179 vorstellen, wie die GPL ohne an die GPL gebunden zu sein.
181 Da dies ein freies (Bier) Stück Software ist, kann mich natürlich
182 niemand für irgendwelche Fehler oder all die WIRKLICH SCHLIMMEN
183 FESTPLATTEN-SCHÄDEN verantwortlich machen, die bei der Verwendung
190 Mario Salzer <milky*erphesfurt·de> icq95596825 (auch Yahoo, Jabber)
191 Andy Fundinger <andy*burgiss·com> von http://burgiss.com/
193 Und alle anderen wurden in die Datei CREDITS verbannt ;->
195 Dies ist ein relativ neues Projekt. Um es zu verbessern, bin ich
196 sehr auf Rückmeldungen angewiesen. Jede Mail ist ein wertvoller
202 -------------------------------------------------------------------------
209 ewiki ist supi-einfach zu installieren, du brauchst nur einen Webserver
210 mit Unterstützung für PHP (4.1 oder später). Es läuft auch ohne SQL-
211 Datenbank, allerdings mußt du dann ein paar zusätzliche Einstellungen
212 machen (siehe "db/flat_files" in der [README.plugins]).
213 Wenn du den Tarball entpackt hast, reicht es aber meistens einfach den
214 Browser darauf zu richten [http://localhost/ewiki/], um es zum Laufen zu
217 In den folgenden Abschnitten geht es darum, das Wiki in eine bestehende
218 Seite / -Vorlage zu integrieren. Andernfalls kannst du auch einfach eines
219 der mitgelieferten Layouts aus examples/ verwenden, ohne daß du noch groß
220 irgendwas einrichten müßtest.
222 Falls du keinen Bock hast, dir hier irgendwas durchzulesen, einfach nur
223 ein Wiki willst, wird dich sicher unser neuer cooler web-install-service
225 http://ewiki.berlios.de/installer/
229 In yoursite.php integrieren
230 ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
231 In den nächsten Abschitten, soll mit dem Begriff "yoursite.php" der
232 Teil deiner bestehenden Seite verstanden werden, der das Seitenlayout
233 erzeugt (der also zumindest die <html><body> Tags um die Ausgaben von
237 mysql_connect("localhost", "DB-USER-NAME", "PASSWORD"); #[1]
238 mysql_query("use DATABASE-NAME-HERE");
240 define("EWIKI_SCRIPT", "yoursite.php?page="); #[2]
241 include("ewiki.php"); #[3]
247 echo ewiki_page(); #[4]
252 [1] Die ersten beiden Befehle öffnen eine Verbindung zur MySQL-Datenbank.
253 Normalerweise würde man das Ergebnis von mysql_conect() in einer Variable
254 wie "$db" ablegen, aber da PHP ohnehin nicht auf deren Verwendung besteht,
255 wenn es nur eine DB-Verbindung gibt, wird eine solche Variable in
256 "ewiki.php" auch gar nicht verwendet (und der Name dieser Variable wäre
259 [2] Der Wert in der define() Zeile sagt ewiki wie die Hyperlinks zu den
260 referenzierten WikiSeiten lauten müssen, damit ewiki.php auch für die
261 nächste angeklickte WikiSeite aufgerufen wird.
262 Wenn du nur ein einziges "yoursite.php" Skript hast, wirst du den Wert
263 direkt in "ewiki.php" verändern wollen.
265 [3] Das include("ewiki.php") lädt endlich die ewiki "Bibliothek" und
266 setzt alle bis hierher noch nicht definierten EWIKI_ Konstanten.
268 [4] Der Aufruf der ewiki_page() Funktion gibt diejenige WikiSeite zurück,
269 die vom Browser angefragt wurde. Du mußt hier "echo" davorsetzen, denn
270 sonst wird der Text nicht ausgegeben (verpufft im PHP-Nirvana) - ewiki
271 gibt die erzeugte Seite nicht selber aus.
273 Beachte, daß vor dem allerersten <HTML>-Tag zunächst einmal ein <?php-
274 Code-Block stehen muß, in dem die "ewiki.php" (oder auch "config.php")
275 geladen werden spollte. Wenn das nämlich nicht rechtzeitig geschieht,
276 funktionieren später die hochgeladenen Bilder und Dateien nicht.
280 Den WikiSeitenNamen bestimmen
281 ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
282 Wenn du ewiki_page() einfach so aufrufst wie im oberen Beispiel angegeben
283 (empfohlen), dann wird es versuchen, den Namen der angefragten Seite selber
284 zu ermmitteln ($_SERVER["PATH_INFO"] oder GET-Variablen '?id=' oder '?name='
285 oder '?page=' oder '?file=' in $_REQUEST["name"]).
287 Wenn yoursite.php aber einen anderen Weg benutzt (andere Parameternamen),
288 um den WikiSeitenNamen zu übergeben, dann kann man ihn schlicht als ersten
291 ewiki_page( $id = "WikiSeitenNanem" );
293 Example-4.php zeigt das beispielsweise, um die Liste der aktualisierten
300 WikiSprache einstellen (deutsch)
301 ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
302 Ich hab es jetzt schon einige Leute behaupten hören, aber auch beim
303 IntranetExplodierer kann man die "bevorzugten Sprachen" irgendwo einstellen.
304 Wers nicht findet, kann ja auch gleichmal auf einen aktuellen Browser
305 wechseln - das lohnt sich nicht nur wegen der vielen Seiten, die es dann
306 plötzlich doch auf Deutsch gibt!
308 Wer es partou nicht hinbekommt, kann natürlich die deutsche Sprache für
309 ewiki erzwingen; hilfreich hierfür ist z.B. die include()-Datei
310 "fragments/force_lang_de.php".
312 Es funktioniert aber auch mit diesem Befehl, der irgendwo in ewiki.php,
313 config.php oder yoursite.php eingefügt werden kann (nicht empfohlen):
315 $_SERVER["HTTP_ACCEPT_LANGUAGE"] = "de; q=1.0, en; q=0.2, eo, nl";
320 -------------------------------------------------------------------------
327 Die MySQL DB Tabellenstruktur ist zu einem gewissen Grad kompatibel mit der
328 des allseits bekannten »PHPWiki« (normalerweise reicht es EWIKI_DB_TABLE_NAME
329 auf "wiki" zu ändern, um PhpWikis DB weiterzuverwenden).
330 Dies ist der MySQL Befehl, der die DB-Tabelle erstellt (beim ersten Start,
334 pagename VARCHAR(160) NOT NULL,
335 version INTEGER UNSIGNED NOT NULL DEFAULT 0,
336 flags INTEGER UNSIGNED DEFAULT 0,
338 author VARCHAR(100) DEFAULT 'ewiki',
339 created INTEGER UNSIGNED DEFAULT 0,
340 lastmodified INTEGER UNSIGNED DEFAULT 0,
343 hits INTEGER UNSIGNED DEFAULT 0,
344 PRIMARY KEY id (pagename, version)
347 Den Spaltennamen {pagename} mochte ich eigentlich nicht, aber weil das der
348 offensichtlich einzige Unterschied zur PhpWiki-Tabelle war, kam mir die Idee
349 mit der Kombatibilität un so hab ich das adaptiert.
350 Dummerweise muß nun die ewiki_database() Funktion "pagename" ständig von
351 und nach "id" übersetzen.
353 Die Spalte {version} wird zur Speicherung der verschiedenen abgelegten
354 Seitenänderungen verwendet. In anderen Wikis gibt es zu diesem Zweck eine
355 Bonus-tabelle wie "backup" oder "history", aber ich hab den Sinn von sowas
356 bisher nicht verstanden; und daher gibt es in ewiki nur diese eine Tabelle
357 (und das scheint absolut zu reichen)!
358 Die erste {version} einer Seite erhält die Nummer 1. Eine bestehende
359 Seiten {version} wird niemals überschrieben werden => sehr sicherer MySQL-
362 Mehr über die {flags} in dem entsprechenden Abschnitt in der README. Das
363 Feld {content} enthält natürlich den WikiSeitenQuelltext. {created} und
364 {lastmodified} enthalten die entsprechenden Zeitangaben im UNIX format.
366 {refs} enthälte eine "\n" - getrennte Liste von referenzierten WikiSeiten.
367 Der Code um diese List zu erzeugen ist etwas unsauber, so daß oftmals
368 GeisterSeiten aufgeführt sind. Wieauchimmer, daß beeinträchtigt ewiki
369 nicht wirklich, und eine Korrektur wäre Zeit- und Geschwindigkeits-
372 {meta} kann Bonusinfos enth, so daß die Tabellenstruktur nicht bei jeder
373 Erweiterung geändert werden muß. Aktuell nur für Binärdaten (Bilder)
376 {hits} zählt die Seitenaufrufe, und ist nicht in {meta} integriert, weil
377 separat schneller und einfacher zu verwenden.
379 Die ewiki DB Tabelle kann nicht nur Texteseiten enthalten, sondern auch
380 binären Inhalt (vornehmlich Bilder), siehe {flags}.
382 Das Ein-Tabellen-Konzept hat es übrigens auch recht einfach gemacht, das
383 Datei-basierte DB-Backend zu entwickeln. Eine Beispieldatei:
388 author: 127.0.0.1:3054
\r
389 created: 1046532697
\r
390 lastmodified: 1046532697
\r
391 refs: \nErfurtWiki\nNewestPages\n
\r
401 Einige der Basis-Funktionen aus ewiki.php können getrennt von den anderen
402 verwendet werden, andere sind ausgelegt um durch bessere Implementierungen
408 Hauptfunktion, die die angefragte WikiSeite (oder die mit $id
409 angegebene) aus der DB holt, und mit ewiki_format() die fertige
411 Wenn die angefragte Seite nicht existert, wird eine edit-Box
417 Die meisten Fkt. mit diesem Prefix wurden aus der Hauptfkt.
418 herausgetrennt, um ewiki übersichtlicher und leichter erweiterbar
420 Die meisten enthalten Code um spezielle/interne Seiten zu erzeugen
421 (Suche, Neuest, Info, und das Edit <FORMular>, ...)
426 Erzeugt URL aus angegebener Seiten $id und $action, verwendet dazu
427 die EWIKI_SCRIPT-Konstante. Dieser wrapper ermöglicht es auch die
428 eigentlich reservierten Schrägstriche in Seitennamen zu verwenden.
431 ewiki_control_links($id, $data)
432 -------------------------------
433 Gibt die Zeile mit "DieseSeiteÄndern, SeitenInfo, ... links" aus.
436 ewiki_format($wiki_source, $scan_links=1, $html_allowed=0)
437 ----------------------------------------------------------
438 Erzeugt die formatierten (HTML) Ausgabe für den übergebenen
441 Der zweite Parameter gibt an, ob nach denen im Quelltext referenzierten
442 WikiLinks in der DB nachgesehen werden soll. Wenn dieser Parameter 0
443 ist, dann wird eine bereits vorh. $ewiki_links Array stattdessen
444 verwendet, um zu prüfen ob eine Seite in der DB vorh. ist.
447 ewiki_link_regex_callback()
448 ---------------------------
449 Aufgerufen aus ewiki_format(). Um ewiki_format() {die eigentliche
450 WikiEngine} weiter von der Datenbank zu trennen, verwendet diese
451 Fkt. das globale array in $ewiki_links, in dem normalerweise vorher
452 schon gefundene WikiSeiten eingetragen wurden (siehe zweiter Param.
453 von ewiki_format) um entweder einen normalen Verweis oder einen
454 Fragezeichen-Link auszugeben (wenn die angegebene Seite noch nicht
460 Wird automatisch aufgerufen, wenn das Skript mit dem ?binary= Anhang
461 aufgerufen wird, um referenzierte / hochgeladene Bilder auszugeben.
466 erzeugt einen String, der mit REMOTE_ADDR und $ewiki_author
470 ewiki_database($FUNCTION, $args=array() )
471 ------------------------------------------
472 Diese Funktion ist die "Datenbankabstraktion" in ewiki. Sie enthält
473 ''only'' sechs SQL Kommandos, die ersetzt werden müßtem, wenn du eine
474 andere DB verwenden mußt.
475 Die einzelnen "atomaren" Funktionen sind beschrieben in der
476 orignialen README-Datei.
482 $GLOBALS Verschmutzung
483 ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
484 Zumindest die ewiki_page() Funktion erzeugt einige Variablen im globalen
485 Namensraum. Natürlich haben auch diese Namen, die sich mit irgendetwas
486 aus yoursite.php überschneiden sollten:
488 $ewiki_id - Enthält die DB-$id der aktuellen Seite, ist nicht
489 immer identisch mit $ewiki_title.
491 $ewiki_action - Der $action-Parameter, mit dem die Seite angefordert
494 $ewiki_title - Wird nach dem ersten Aufruf von ewiki_page() gestzt,
495 am nützlichsten um in dem <TITLE> Tag ausgegeben
496 zu werden - dafür muß aber ewiki_page() schon im
497 Kopfbereich aufgerufen werden, die Ausgabe gepuffert,
498 damit der Seitentitel noch innerhalb von <HEAD>
499 ausgegeben werden kann.
501 $ewiki_script - Eine Kopie von EWIKI_SCRIPT.
503 $ewiki_links - Ist ein Arraym daß in ewiki_format() prodiziert wird, und
504 alle gesuchten WikiSeitenNamen mit einem Wert von 0 oder 1
505 assoziiert, je nach dem, ob die Seite existiert oder nicht.
506 Wird diese variable jedoch auf ==true gesetzt (also kein
507 Array), wird angenommen, daß alle WikiSeiten existieren.
509 $ewiki_author - Der Inhalt dieser Variable wird in der {author}-Spalte
510 von gespeicherten WikiSeiten abgelegt (zusammen mit
512 Wenn yoursite.php Benutzer kennt und authentifizieren
513 kann, sollte der Nutzername hier abgelegt werden.
514 Diese Feld sollte aber NICHT ZUGEMÜLLT werden mit
515 irgendwelchen Bonusinfos.
517 $ewiki_auth_user - Enthält Namen eines wirklich authentifizierten
518 Benutzers im _PROTECTED_MODE. Nicht notwendig, wird aber
519 u.a. gerne von ewiki_auth() und ewiki_auth_user() zur
520 Vereinfachung verwendet.
522 $ewiki_ring - Berechtigungslevel im _PROTECTED_MODE
524 2 = normaler Benutzer (lesen, editieren, ...)
525 1 = Moderator (auch Seiten löschen?)
526 0 = Administrator (darf alles)
528 $ewiki_plugins - Dieses array verbindet Aufgabengruppen (z.B. "database"
529 oder "image_resize") mit Funktionsnamen.
530 Dies stellt einen wirklich einfachen und dennoch mächtigen
531 Weg dar, um ewiki zu erweitern.
532 Es gibt ein eigenes Kapitel darüber in der orig. README.
534 $ewiki_config - Ersetzt teilweise die EWIKI_ Konstanten.
536 Folgende gibt's nich mehr (teilweise in $ewiki_config):
538 $ewiki_data, $ewiki_interwiki, $ewiki_internal_pages,
546 - - WARNUNG - WARNUNG - WARNUNG - WARNUNG - WARNUNG - WARNUNG - WARNUNG - -
547 WARNUNG: Dieser Abschnitt ist grundsätzlich besonders inaktuell! Von daher
548 sollte ein Studium des gleichnamigen Abschnitts in der orig. README-Datei
549 wirklich vorgezogen werden!! Viele der neu hinzugekommenen Konstanten werden
550 hier schlichtweg nicht erwähnt, oder inzwischen sogar __falsch__ beschrieben.
551 - - WARNUNG - WARNUNG - WARNUNG - WARNUNG - WARNUNG - WARNUNG - WARNUNG - -
553 Dieser Abschnitt erklärt einige der Konstanten und wie man sie verwenden
554 kann, um ewiki nach der eigenen Pfeife tanzen zu lassen.
556 Normalerweise solltest diese innherhalb von "ewiki.php" angepaßt werden, einige
557 sind jedoch mehr wie Statusvariablen ausgelegt und sollten von "yoursite.php"
558 in Abhängigkeit von dort vorhanden Infos gesetzt werden (wenn dort Benutzer
559 eingeloggt sind z.B.).
560 Dann ist es gut einige der Konstanten vorzudefinieren (einmal def. Konst.
561 können nicht wieder geändert werden).
565 Wichtigste Einstellung. Wird von ewiki.php verwendet, um Links zu
566 anderen WikiSeiten zu erzeugen.
568 Es benötigt den Namen von yourscript.php, daß selbst wiederrum
569 ewiki.php geeignet einbindet.
570 Der Name der angefragten WikiSeite wird immer schlicht an den hier
571 definierten TextString angehängt, daher sollter dieser immer in
572 "/" oder "?" oder "?id=" oder "?name=" oder "?page=" enden, damit
573 eine gültige URL dabei herauskommt und der SeitenName von ewiki_page()
576 Wenn auf deinem Server mod_rewrite vorhanden ist und funktioniert,
577 könntest du diese Konst. auch leer lassen, so alle Anfragen zu
578 http://wiki.example.com/ an das richtige Skript übergeben werden.
579 Ansonsten ist es gut, wenn eine URL absolut zum Server-Hauptpfad
580 angegeben ist, also z.B. "/~user/wiki/index.php/", damit Browser
581 keine ungültigen URLs erzeugen, sobald eine $action vor den
582 Seitennamen gesetzt wird (z.B. "edit/DieseSeite").
584 Die Konstante wird von ewiki_script() eingesetzt um URLs zu den
585 angegebenen Seiten zu erstellen (wobei einige Fehler abgefangen
589 Sollte eine absolute URL enthalten, die ebenfalls zum ewiki-wrapper
590 zeigt, z.B. "http://www.example.com/wiki/?id="
594 Setzt den Namen der MySQL DB Tabelle fest, die erzeugt und verwendet
595 werden soll, um alle WikiSeiten abzulegen.
599 Definiert den Namen der WikiSeite, die als Startseite angezeigt werden
602 Name (intern erzeugt) der Seite, die List der zuletzt hinzugefügten
605 Enthält den WikiSeitenNamen für dei SuchFunktion.
609 Wenn auf 0 gestzt, wird die Zeile unter einer WikiSeite mit
610 "DieseSeiteÄndern, SeitenInfo, ..." nicht angezeigt.
611 In diesem Fall sollte der Edit-Link in yoursite.php erzeugt werden.
612 Besser ist es normalerweise das Aussehen der Ausgabe in
613 ewiki_control_links() selbst zu ändern.
616 Bei 1 (voreinstellung) wird automatisch eine Edit-Box für
617 nicht-exisiterende Seiten angezeigt, ansonsten wird eine ZwischenSeite
618 ("Bitte ändere mich!") angezeigt (wie in PhpWiki).
621 Maximale Anzahl von Seiten, die in den generierten Listen angezeigt
622 werden sollen (Suche, ...)
625 Wenn 0 werden keine SeitenTitel (WikiSeiten und InterneSeiten)
630 Normalerweise sollte im Wiki keine HTML erlaubt sein - böses JavaScript
631 und <brokenHTML/>, andere Leute nerven.
633 Siehe orig. README für mehr Informationen.
637 Überholt, siehe plugins/markup_rescuehtml.php
641 Dieses Flag wird für normale WikiSeiten in der DB gesetzt.
644 Für binären Inhalt in der DB.
647 DB-Eintrage werden hiermit ausgeknippst.
650 Erlaubt die Verwendung von HTML im WikiQuelltext, unabhängig von
654 WikiSeite kann nicht verändert werden, so dieses Flag gesetzt ist.
657 Umkehrung von READONLY, nur nützlich wenn zuvor alle Seiten mit
658 EWIKI_EDIT_AUTHENTICATE schriebgeschützt wurden.
661 EWIKI_ALLOW_OVERWRITE
662 Für eingeloggte nutzer kann yoursite.php diese Konst. auf 1 setzen, um
663 auch das Ändern von schreibgeschützten Seiten zu erlauben.
665 EWIKI_EDIT_AUTHENTICATE
666 Hiermit kann man ewiki dahingehend kaputt machen, daß alle Seiten
667 schreibgeschützt werden, und nur veränderbar sind, so yoursite.php
672 Um binäre Daten ausgeben zu können, muß hier ein wrapper-script
673 angegeben werden, daß ein Datenbank-Verbindung öffnet und keine
674 Textausgaben erzeugt, bevor nicht ewiki.php eingebunden wurde,
675 da sonst nur Datenmüll ausgegeben würde.
677 Um alle binary-Funktionalität (Bilder hochladen / cachen) loszuwerden,
678 einfach diese Konstante auf "" setzen, und die folgenden zwei auf 0:
682 Bilder zwischenspeichern.
685 Maximale Größe von Bildern die in der DB abgelegt werden sollen.
688 Bilder herunterskalieren, wenn zu groß.
691 Wird verwendet um hochgeladene Bilder zu identifizieren. Bitte
692 im laufenden Betrieb nicht ändern.
696 Automatisch definiert, enthält entweder "?" oder "&", abhängig von
701 überholt, siehe ewiki_t() und $ewiki_t[] in der englischen README
706 Erlaubte Zeichen in WikiSeitenNamen (große und kleine Letter). Hiermit
707 kann man das wiki lokalisieren; deutsche Umlaute sind schon enthalten.
710 Sehr wichtiges Ereignis ;)
713 Im tools/ Ordner ist ein kleines Script, mit dem man die erwähnten
714 SeitenFlags ändern kann.
718 $ewiki_config[] array
719 ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
720 Einige der EWIKI_ Konstanten wurden durch Einträge im $ewiki_config[] Array
721 ersetzt oder ergänzt (die Konstanten können weiterhin zur Voreinstellung
722 verwendet werden). Der Vorteil dieses Arrays ist, daß die Einstellungen auch
723 zur Laufzeit geändert werden können.
725 Für eine komplette und (einigermaßen) aktuelle Übersicht bemühe bitte die
726 englischsprachige README.
731 -------------------------------------------------------------------------
736 Nur WikiQuelltextTransformation einsetzen
737 ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
738 Die ewiki_format Funktion war entworfen, um sie auch unabhängig von dem
739 restlichen WikiSkript einsetzen zu können.
740 Benötigt normalerweise nur den "wiki_source" Parmeter und erzeugt die
742 ewiki_format($wiki_source, 0);
744 Alles was man noch anpassen muß ist die $ewiki_links Variable. Setze
745 $ewiki_links=true ("true" und nicht "1") so daß ewiki_format() später
746 annimmt alle WikiSeiten würden existieren.
748 Wers eilig hat, kann auch die extrahierte Variante fragments/wiki_format.inc
749 verwenden, die Frank Luithle beigesteuert hat.
754 -------------------------------------------------------------------------
759 Ohne MySQL DB verwenden
760 ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
761 Sollte dein Provider keine MySQL Datenbank für dich bereithalten, kannst
762 du das plugin "db_flat_files.php" verwenden (einfach include("plugins/...");
763 aufrufen um es zu laden).
765 Alle WikiSeiten werden dann in Textdateien in einem nur dafür
766 bereitgestelltem Ordner gespeichert. Stelle hierzu noch die Konstante
767 EWIKI_DBFILES_DIRECTORY in der Datei "ewiki.php" passend ein ("/tmp" würde
768 jedesmal gelöscht, wenn der Server neu startet).
769 Das Verzeichnus muß relativ zum ewiki.php script angegeben werden, oder
770 absolut zum Serverhauptverzeichnis, nicht aber relativ zum DocumentRoot
771 deines Webspeicherplatzes! In diesem Beispiel wäre "./pages" richtig:
773 Erstelle ein neues Verzeichnis (via FTP-Programm) und gib dem Webserver
774 Schreibzugriff dafür mit dem Befehl " chmod 777 ./pages ".
779 -rw----r-- 1 deinname deinname 57024 01. Jan 00:00 ewiki.php
780 -rw----r-- 1 deinname deinname 512 01. Jan 00:00 index.php
781 drw----r-x 2 deinname deinname 4096 01. Jan 00:00 init-pages
782 drwxrwxrwx 2 deinname deinname 4096 25. Feb 23:59 pages
783 drw----r-x 5 deinname deinname 4096 01. Jan 00:00 plugins
784 -rw----r-- 1 deinname deinname 15826 01. Jan 00:00 README.de
787 Mit einem graphischem FTP-Programm gibt es auch immer die Mglk. die
788 "Dateizugriffsrechte" einzustellen.
794 Diese neuere Version von db_flat_files, speichert die WikiSeiten
795 komprimiert in einem Binär-Format (kann man nicht mehr mit Editor
796 ansehen und bearbeiten). Zusätzlich wurde der HitZähler aktiviert.
798 db_fast_files wurde in db_flat_files integriert, so daß das neue
799 Format jetzt nur noch über eine Konstante aktiviert werden muß
800 (beide Dateiformate können gleichzeitig in der DB vorhanden sein).
801 Für die schnellere Variante aktiviere in "plugins/db_flat_files.php"
802 die entsprechende Konstante:
803 define("EWIKI_DB_FAST_FILES", 1);
804 (Diese Einstellung könntest du aber auch schon in der "config.php"
807 Zusätzliche Konstante: EWIKI_DBFILES_GZLEVEL sagt wieviel Zeit
808 beim Komprimieren verschwendet werden soll:
809 0 - keine Komprimierung
810 1 - ein ganz klein wenig Kompr.
811 2 - Voreinstellung, schnell
812 5 - normaler Wert in zlib, gute Komprimierung
813 9 - langsam für allerbeste Kompression
815 Dieses plugin wurde von Carsten Senf beigesteuert.
820 --------------------------------------------------------------------------
827 Wenn auf deinen Seiten pötzlich viele "\" RückwärtsSchrägStriche
828 auftauchen liegt das an einer Fehlkonfiguration von PHP. In älteren
829 Versionen war leider immer die Option "magic_slashes_gpc" aktiviert
830 (siehe auch php.ini).
832 Bitte am besten deinen WebserverProvider das zu ändern. Wenn du aber bei
833 einem der BilligHoster (umsonst wie sourceforge.net oder tripod.com) bist,
834 gilt wie immer: einem geschenkten Gaul...
835 Dann verwende bitte "fragements/strip_wonderful_slashes.php", um das
836 Problem zumindest zu umschiffen, oder ändere deine .htaccess Datei (Apache)
837 wie darin beschrieben.
841 --------------------------------------------------------------------------
847 Die tools/ sind gefährlich und daher per Voreinstellung nicht ohne weiteres
848 Nutzbar. In der Datei "tools/t_config.php" wird das Script
849 "fragmenst/funcs/auth.php" geladen, daß für den Browser-Login-Dialog
850 verantwortlich ist. Wenn du also die tools/ verwenden willst, mußt du dort
851 zuerst einen Benutzer mit Paßwort eintragen, sonst geht nix.
853 Um hingegen dein Wiki zu schützen, so daß nur einige wenige Personen die
854 Seiten editieren können, ließ dir bitte die Datei "plugins/auth/README.auth"
855 durch (leider nur in Englisch). Sie beschreibt den _PROTECTED_MODE und
856 stellt die entsprechenden Plugins vor.