Commit | Line | Data |
---|---|---|
39fcb981 | 1 | |
2 | README.de | |
14a960ac PS |
3 | ��������� |
4 | Dies ist eine teilweise �bersetzung der README Datei, die weiterhin als | |
39fcb981 | 5 | Referenz verwendet sollte, da hier nur ein paar allgemeine und Setup- |
6 | Informationen 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 | ||
41 | Was ist das? | |
14a960ac | 42 | ������������ |
39fcb981 | 43 | Dies ist eine "WikiWikiWeb" Bibliothek, die in der PHP Webskriptsprache |
44 | implementiert ist. Ein WikiWiki ist eine Webseite, die von wirklich jedem | |
14a960ac | 45 | ver�ndert/erg�nzt werden kann, der dort vorbeischaut (ohne vorhergehenden |
39fcb981 | 46 | Registrierungskram). |
47 | ||
48 | Es sollte relativ einfach in bestehende Websites integrierbar sein, | |
49 | weil es eben kein komplettes Script sondern vielmehr eine Bibliothek | |
14a960ac | 50 | ist, die kein fertiges Seitenlayout erzwingt. Stattdessen k�nnen die |
39fcb981 | 51 | erzeugten WikiSeiten als Inhalt in das Layout einer bestehenden Seite |
52 | eingebunden werden. | |
53 | ||
54 | ||
55 | ||
56 | Warum "ErfurtWiki"? | |
14a960ac | 57 | ������������������� |
39fcb981 | 58 | Meine Heimatstadt (Erfurt liegt nahe bei Weimar.de) - und das ist wirklich |
14a960ac | 59 | nix weiter als ein Name! Der interne Projektname ist �brigens "ewiki". |
39fcb981 | 60 | |
61 | ||
62 | Warum 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 | ||
80 | WikiAlternativen | |
14a960ac PS |
81 | ���������������� |
82 | Es gibt auch noch andere h�bsche WikiWare, falls jemand hiermit nicht | |
83 | gl�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§ion=projects | |
103 | http://www.google.com/search?q=wiki | |
104 | ||
105 | ||
106 | ||
107 | Autor | |
14a960ac PS |
108 | ����� |
109 | Mario Salzer <milky*erphesfurt�de> | |
39fcb981 | 110 | ICQ95596825 und Yahoo: icq95596825 |
111 | ||
112 | Und alle anderen wurden in die Datei CREDITS verbannt ;-> | |
113 | ||
114 | Dies ist ein relativ neues Projekt. Um es zu verbessern, bin ich sehr | |
14a960ac | 115 | auf R�ckmeldungen angewiesen. Jede Mail ist ein wertvoller Beitrag! |
39fcb981 | 116 | |
117 | ||
118 | ||
119 | ProjektSeiten | |
14a960ac | 120 | ������������� |
39fcb981 | 121 | freshmeat |
122 | - http://freshmeat.net/ewiki | |
123 | ||
124 | demo: | |
125 | - http://erfurtwiki.sourceforge.net/ | |
126 | ||
127 | neueste Versionen (instabile EnwicklerVersionen): | |
128 | - http://erfurtwiki.sourceforge.net/downloads/ | |
129 | ||
130 | ||
131 | ||
132 | Support bekommen | |
14a960ac PS |
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). | |
39fcb981 | 138 | Bevor du aber einen BugReport versendest, lies dir bitte folgende Anleitung |
139 | durch (absolut notwendig um KOSTENLOSEN support zu bekommen): | |
140 | ||
141 | http://www.lugbz.org/documents/smart-questions_de.html | |
142 | ||
14a960ac | 143 | Danach bitte nicht z�gern, einen der Autoren zu kontakten oder einfach eine |
39fcb981 | 144 | Nachricht in BugReports oder UserSuggestion auf unserer ProjektSeite zu |
145 | hinterlassen. | |
146 | Wenn du dich auf unserer http://erfurtwiki.sourceforge.net/?MailingList | |
14a960ac | 147 | anmeldest, hast du die M�glichkeit Hilfe f�r dein Problem von einer gr��eren |
39fcb981 | 148 | Gruppe von Leuten zu bekommen (an- und wieder abmelden geht schnell). |
149 | ||
150 | ||
151 | ||
152 | Lizens | |
14a960ac | 153 | ������ |
39fcb981 | 154 | Dieses "Programm" wird als "Public Domain" vertrieben. Public Domain |
155 | ist wie "FreeWare", nur ein bischen mehr frei ;-> Man kann sich das | |
14a960ac PS |
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 | |
39fcb981 | 158 | das eigentliche Programm.) |
159 | ||
14a960ac PS |
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 ;> | |
39fcb981 | 164 | |
165 | ||
166 | ||
167 | ||
168 | ------------------------------------------------------------------------- | |
169 | ||
170 | ||
171 | ||
172 | ||
173 | Wie jetzt? | |
14a960ac PS |
174 | ���������� |
175 | ewiki 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 | 184 | Wenn du keine MySQL-Datenbank hast, dann verwende die Erweiterung f�r |
39fcb981 | 185 | die Datei-Datenbank. |
186 | ||
187 | ||
188 | ||
189 | In yoursite.php integrieren | |
14a960ac PS |
190 | ��������������������������� |
191 | In den n�chsten Abschitten, soll mit dem Begriff "yoursite.php" der | |
39fcb981 | 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). | |
14a960ac PS |
195 | Die 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 | |
215 | Die ersten beiden Befehle �ffnen eine Verbindung zur MySQL-Datenbank, | |
216 | normalerweise w�rde man das Ergebnis von mysql_conect() in einer Variable | |
39fcb981 | 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 | |
14a960ac | 219 | "ewiki.php" auch gar nicht verwendet (und der Name dieser Variable w�re |
39fcb981 | 220 | damit hier egal). |
221 | ||
222 | Der Wert in der define() Zeile sagt ewiki wie die Hyperlinks zu den | |
14a960ac PS |
223 | referenzierten WikiSeiten lauten m�ssen, damit ewiki.php auch f�r die |
224 | n�chste angeklickte WikiSeite aufgerufen wird. | |
39fcb981 | 225 | Wenn du nur ein einziges "yoursite.php" Skript hast, wirst du den Wert |
14a960ac | 226 | direkt in "ewiki.php" ver�ndern wollen. |
39fcb981 | 227 | |
228 | Das error_reporting(0) wird sehr empfohlen. | |
229 | ||
14a960ac | 230 | Das include("ewiki.php") l�dt endlich die ewiki "Bibliothek" und setzt |
39fcb981 | 231 | alle bis hierher noch nicht definierten EWIKI_ Konstanten. |
232 | ||
14a960ac PS |
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 | |
39fcb981 | 235 | wird der Text nicht ausgegeben (verpufft im PHP-Nirvana) - ewiki gibt die |
236 | erzeugte Seite nicht selber aus. | |
237 | ||
238 | ||
239 | ||
240 | Den WikiSeitenNamen bestimmen | |
14a960ac | 241 | ����������������������������� |
39fcb981 | 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=' | |
14a960ac | 245 | oder '?page=' oder '?file=' in $_REQUEST["name"]). |
39fcb981 | 246 | |
247 | Wenn yoursite.php aber einen anderen Weg benutzt (andere Parameternamen), | |
14a960ac | 248 | um den WikiSeitenNamen zu �bergeben, dann kann man ihn schlicht als ersten |
39fcb981 | 249 | Parameter angeben: |
250 | ||
251 | ewiki_page( $id = "WikiSeitenNanem" ); | |
252 | ||
253 | ||
254 | Example-4.php zeigt das beispielsweise, um die Liste der aktualisierten | |
255 | Seiten einzubinden. | |
256 | ||
257 | ||
258 | ||
259 | ||
260 | ||
261 | WikiSprache einstellen (deutsch) | |
14a960ac PS |
262 | �������������������������������� |
263 | Ich hab es jetzt schon einige Leute behaupten h�ren, aber auch beim | |
39fcb981 | 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 | |
14a960ac | 267 | pl�tzlich doch auf Deutsch gibt! |
39fcb981 | 268 | |
14a960ac PS |
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 | |
39fcb981 | 271 | "fragments/force_lang_de.php". |
272 | ||
273 | Es funktioniert aber auch mit diesem Befehl, der irgendwo in ewiki.php, | |
14a960ac | 274 | config.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 | ||
286 | Im Detail | |
14a960ac | 287 | ��������� |
39fcb981 | 288 | Die MySQL DB Tabellenstruktur ist zu einem gewissen Grad kompatibel mit der |
14a960ac PS |
289 | des allseits bekannten �PHPWiki� (normalerweise reicht es EWIKI_DB_TABLE_NAME |
290 | auf "wiki" zu �ndern, um PhpWikis DB weiterzuverwenden). | |
39fcb981 | 291 | Dies ist der MySQL Befehl, der die DB-Tabelle erstellt (beim ersten Start, |
292 | automatisch): | |
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 | ||
308 | Den Spaltennamen {pagename} mochte ich eigentlich nicht, aber weil das der | |
309 | offensichtlich einzige Unterschied zur PhpWiki-Tabelle war, kam mir die Idee | |
14a960ac PS |
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. | |
39fcb981 | 313 | |
314 | Die Spalte {version} wird zur Speicherung der verschiedenen abgelegten | |
14a960ac | 315 | Seiten�nderungen verwendet. In anderen Wikis gibt es zu diesem Zweck eine |
39fcb981 | 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)! | |
14a960ac PS |
319 | Die erste {version} einer Seite erh�lt die Nummer 1. Eine bestehende |
320 | Seiten {version} wird niemals �berschrieben werden => sehr sicherer MySQL- | |
39fcb981 | 321 | Einsatz. |
322 | ||
14a960ac PS |
323 | Mehr �ber die {flags} in dem entsprechenden Abschnitt in der README. Das |
324 | Feld {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. |
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- | |
39fcb981 | 331 | verschwendung. |
332 | ||
14a960ac PS |
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) | |
39fcb981 | 335 | verwendet. |
336 | ||
14a960ac | 337 | {hits} z�hlt die Seitenaufrufe, und ist nicht in {meta} integriert, weil |
39fcb981 | 338 | separat schneller und einfacher zu verwenden. |
339 | ||
340 | Die ewiki DB Tabelle kann nicht nur Texteseiten enthalten, sondern auch | |
14a960ac | 341 | bin�ren Inhalt (vornehmlich Bilder), siehe {flags}. |
39fcb981 | 342 | |
14a960ac | 343 | Das Ein-Tabellen-Konzept hat es �brigens auch recht einfach gemacht, das |
39fcb981 | 344 | Datei-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 | ||
360 | ewiki_ Funktionen | |
14a960ac PS |
361 | ����������������� |
362 | Einige der Basis-Funktionen aus ewiki.php k�nnen getrennt von den anderen | |
39fcb981 | 363 | verwendet werden, andere sind ausgelegt um durch bessere Implementierungen |
364 | ersetzt 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 | 445 | Zumindest die ewiki_page() Funktion erzeugt einige Variablen im globalen |
14a960ac PS |
446 | Namensraum. Nat�rlich haben auch diese Namen, die sich mit irgendetwas |
447 | aus 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 | ||
497 | Folgende gibt's nich mehr (teilweise in $ewiki_config): | |
498 | ||
499 | $ewiki_data, $ewiki_interwiki, $ewiki_internal_pages, | |
500 | ||
501 | ||
14a960ac | 502 | |
39fcb981 | 503 | |
504 | ||
505 | EWIKI_ Konstanten | |
14a960ac | 506 | ����������������� |
39fcb981 | 507 | - - WARNUNG - WARNUNG - WARNUNG - WARNUNG - WARNUNG - WARNUNG - WARNUNG - - |
14a960ac | 508 | WARNUNG: Dieser Abschnitt ist grunds�tzlich besonders inaktuell! Von daher |
39fcb981 | 509 | sollte ein Studium des gleichnamigen Abschnitts in der orig. README-Datei |
510 | wirklich vorgezogen werden!! Viele der neu hinzugekommenen Konstanten werden | |
14a960ac | 511 | hier schlichtweg nicht erw�hnt, oder inzwischen sogar __falsch__ beschrieben. |
39fcb981 | 512 | - - WARNUNG - WARNUNG - WARNUNG - WARNUNG - WARNUNG - WARNUNG - WARNUNG - - |
513 | ||
14a960ac | 514 | Dieser Abschnitt erkl�rt einige der Konstanten und wie man sie verwenden |
39fcb981 | 515 | kann, um ewiki nach der eigenen Pfeife tanzen zu lassen. |
516 | ||
14a960ac | 517 | Normalerweise solltest diese innherhalb von "ewiki.php" angepa�t werden, einige |
39fcb981 | 518 | sind jedoch mehr wie Statusvariablen ausgelegt und sollten von "yoursite.php" |
14a960ac | 519 | in Abh�ngigkeit von dort vorhanden Infos gesetzt werden (wenn dort Benutzer |
39fcb981 | 520 | eingeloggt sind z.B.). |
521 | Dann ist es gut einige der Konstanten vorzudefinieren (einmal def. Konst. | |
14a960ac | 522 | k�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 | |
674 | Im tools/ Ordner ist ein kleines Script, mit dem man die erw�hnten | |
675 | SeitenFlags �ndern kann. | |
39fcb981 | 676 | |
677 | ||
678 | ||
679 | $ewiki_config[] array | |
14a960ac PS |
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. | |
39fcb981 | 685 | |
14a960ac | 686 | F�r eine komplette und (einigerma�en) aktuelle �bersicht bem�he bitte die |
39fcb981 | 687 | englischsprachige README. |
688 | ||
689 | ||
690 | ||
691 | ||
692 | ------------------------------------------------------------------------- | |
693 | ||
694 | ||
695 | ||
696 | ||
697 | Nur WikiQuelltextTransformation einsetzen | |
14a960ac PS |
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 | |
39fcb981 | 702 | HTML-Seite daraus. |
703 | ewiki_format($wiki_source, 0); | |
704 | ||
14a960ac PS |
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. | |
39fcb981 | 708 | |
709 | Wers eilig hat, kann auch die extrahierte Variante fragments/wiki_format.inc | |
710 | verwenden, die Frank Luithle beigesteuert hat. | |
711 | ||
712 | ||
713 | ||
714 | ||
715 | ------------------------------------------------------------------------- | |
716 | ||
717 | ||
718 | ||
719 | ||
720 | Ohne MySQL DB verwenden | |
14a960ac PS |
721 | ����������������������� |
722 | Sollte dein Provider keine MySQL Datenbank f�r dich bereithalten, kannst | |
39fcb981 | 723 | du das plugin "db_flat_files.php" verwenden (einfach include("plugins/..."); |
724 | aufrufen um es zu laden). | |
725 | ||
14a960ac | 726 | Alle WikiSeiten werden dann in Textdateien in einem nur daf�r |
39fcb981 | 727 | bereitgestelltem Ordner gespeichert. Stelle hierzu noch die Konstante |
14a960ac PS |
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 | |
39fcb981 | 731 | absolut zum Serverhauptverzeichnis, nicht aber relativ zum DocumentRoot |
14a960ac | 732 | deines Webspeicherplatzes! In diesem Beispiel w�re "./pages" richtig: |
39fcb981 | 733 | |
734 | Erstelle ein neues Verzeichnis (via FTP-Programm) und gib dem Webserver | |
14a960ac | 735 | Schreibzugriff daf�r mit dem Befehl " chmod 777 ./pages ". |
39fcb981 | 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 | |
747 | ||
748 | Mit einem graphischem FTP-Programm gibt es auch immer die Mglk. die | |
749 | "Dateizugriffsrechte" einzustellen. | |
750 | ||
751 | ||
752 | ||
753 | db_fast_files | |
14a960ac | 754 | ������������� |
39fcb981 | 755 | Diese neuere Version von db_flat_files, speichert die WikiSeiten |
14a960ac PS |
756 | komprimiert in einem Bin�r-Format (kann man nicht mehr mit Editor |
757 | ansehen und bearbeiten). Zus�tzlich wurde der HitZ�hler aktiviert. | |
39fcb981 | 758 | |
14a960ac PS |
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" | |
39fcb981 | 763 | die entsprechende Konstante: |
764 | define("EWIKI_DB_FAST_FILES", 1); | |
14a960ac | 765 | (Diese Einstellung k�nntest du aber auch schon in der "config.php" |
39fcb981 | 766 | eintragen.) |
767 | ||
14a960ac | 768 | Zus�tzliche Konstante: EWIKI_DBFILES_GZLEVEL sagt wieviel Zeit |
39fcb981 | 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 | |
14a960ac | 774 | 9 - langsam f�r allerbeste Kompression |
39fcb981 | 775 | |
776 | Dieses plugin wurde von Carsten Senf beigesteuert. | |
777 | ||
778 | ||
779 | ||
780 | ||
781 | -------------------------------------------------------------------------- | |
782 | ||
783 | ||
784 | ||
785 | ||
14a960ac PS |
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 | |
39fcb981 | 790 | Versionen war leider immer die Option "magic_slashes_gpc" aktiviert |
791 | (siehe auch php.ini). | |
792 | ||
14a960ac | 793 | Bitte am besten deinen WebserverProvider das zu �ndern. Wenn du aber bei |
39fcb981 | 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 | |
14a960ac | 797 | Problem zumindest zu umschiffen, oder �ndere deine .htaccess Datei (Apache) |
39fcb981 | 798 | wie darin beschrieben. |
799 | ||
800 | ||
801 | ||
802 | -------------------------------------------------------------------------- | |
803 | ||
804 | ||
805 | ||
14a960ac PS |
806 | Pa�w�rter und tools/ |
807 | �������������������� | |
808 | Die tools/ sind gef�hrlich und daher per Voreinstellung nicht ohne weiteres | |
39fcb981 | 809 | Nutzbar. 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 |
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. | |
39fcb981 | 813 | |
14a960ac PS |
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" | |
39fcb981 | 816 | durch (leider nur in Englisch). Sie beschreibt den _PROTECTED_MODE und |
817 | stellt die entsprechenden Plugins vor. | |
818 | ||
819 |