]> CyberLeo.Net >> Repos - SourceForge/phpwiki.git/blob - config/config-dist.ini
More work for new ini config system. Tools has array type removed and first implimen...
[SourceForge/phpwiki.git] / config / config-dist.ini
1 ; This is the main configuration file for PhpWiki.
2 ;
3 ; This file is divided into seven parts: Parts Zero, One, Two, Three,
4 ; Four, Five and Six. Each one has different configuration settings you can
5 ; change; in all cases the default should work on your system,
6 ; however, we recommend you tailor things to your particular setting.
7
8 ;=========================================================================
9 ; Part Zero: Tricky Options
10 ;=========================================================================
11 ;
12 ; If PHP needs help in finding where you installed the rest of the PhpWiki
13 ; code, you can set the include_path here.
14 ;
15 ; Define PHP's include path so that it can find the PHP source code
16 ; for this PhpWiki.
17
18 ; You shouldn't need to do this unless you've moved index.php out
19 ; of the PhpWiki install directory.
20 ;
21 ; Note that on Windows-based servers, you should use ; rather than :
22 ; as the path separator.
23 ;INCLUDE_PATH = .:/usr/local/httpd/phpwiki
24
25 ; Set DEBUG to 1 to view the XHTML and CSS validator icons, page
26 ; processing timer, and possibly other debugging messages at the
27 ; bottom of each page.
28 ;DEBUG = true
29
30 ; Enable the new method of handling WikiUsers.  This is currently an
31 ; experimental feature, although it is considered fairly stable.  It's best
32 ; to leave it on, and only disable it if you have problems with it.
33 ENABLE_USER_NEW = true
34
35 ;==========================================================================
36 ; Part One: Authentication and security settings.
37 ;
38 ; See Part Three for more.
39 ;==========================================================================
40 ;
41 ; The name of your wiki.
42 ;
43 ; This is used to generate a keywords meta tag in the HTML templates,
44 ; in bookmark titles for any bookmarks made to pages in your wiki,
45 ; and during RSS generation for the <title> of the RSS channel.
46 ;
47 ; To use your own logo and signature files, name them PhpWikiLogo.png
48 ; and PhpWikiSignature.png and put them into themes/default/images
49 ; (substituting "PhpWiki" in the filename with the name you define
50 ; here).
51 ;
52 ; It is recommended this be a relatively short WikiWord like the
53 ; InterWiki monikers found in the InterWikiMap. (For examples, see
54 ; lib/interwiki.map).
55 WIKI_NAME = PhpWiki
56
57 ; Visitor Hostname Lookup
58 ;
59 ; If set, reverse dns lookups will be performed to attempt to convert
60 ; the user's IP number into a host name, in the case where the http
61 ; server does not do this.
62 ENABLE_REVERSE_DNS = true
63
64 ; Username and password of administrator.
65 ;
66 ; Set these to your preferences. For heaven's sake pick a good
67 ; password and use the passencrypt.php tool to encrypt the password from
68 ; prying eyes.
69 ; http://wolfram.org/writing/howto/password.html
70
71 ; Logging into the wiki with the admin user and password allows you to lock,
72 ; unlock, or remove pages and to perform other PhpWikiAdministration
73 ; functions. On all other occasions you should simply log in with your
74 ; regular WikiName.
75 ;ADMIN_USER = 
76 ;ADMIN_PASSWD =
77
78 ; It is recommended that you use the passencrypt.php utility to encode the
79 ; admin password, in the event that someone gains ftp or ssh access to the
80 ; server and directory containing phpwiki. Once you have pasted the
81 ; encrypted password into ADMIN_PASSWD, uncomment this next line.
82 ENCRYPTED_PASSWD = true
83
84 ; Private ZIP Dumps of All Wiki Pages
85 ;
86 ; If true, only the admin user can make zip dumps. Otherwise anyone
87 ; may download all wiki pages as a single zip archive.
88 ZIPDUMP_AUTH = false
89
90 ; The RawHtml plugin allows page authors to embed real, raw HTML into Wiki
91 ; pages.  This is a possible security threat, as much HTML (or, rather,
92 ; JavaScript) can be very risky.  If you are in a controlled environment,
93 ; however, it could be of use.
94 ENABLE_RAW_HTML = false;
95
96 ; If you define this to true, (MIME-type) page-dumps (either zip dumps,
97 ; or "dumps to directory" will be encoded using the quoted-printable
98 ; encoding.  If you're actually thinking of mailing the raw page dumps,
99 ; then this might be useful, since (among other things,) it ensures
100 ; that all lines in the message body are under 80 characters in length.
101 ;
102 ; Also, setting this will cause a few additional mail headers
103 ; to be generated, so that the resulting dumps are valid
104 ; RFC 2822 e-mail messages.
105 ;
106 ; Probably you can just leave this set to false, in which case you get
107 ; raw ('binary' content-encoding) page dumps.
108 STRICT_MAILABLE_PAGEDUMPS = false
109
110 ; Here you can change the filename suffix used for XHTML page dumps.
111 ; If you don't want any suffix just comment this out.
112 HTML_DUMP_SUFFIX = .html
113
114 ; The maximum file upload size, in bytes.
115 ; The default, 16777216, is 16MB.
116 MAX_UPLOAD_SIZE = 16777216
117
118 ; If the last edit is older than MINOR_EDIT_TIMEOUT seconds, the
119 ; default state for the "minor edit" checkbox on the edit page form
120 ; will be off.
121 ; The default, 604800, is one week (7 days)
122 MINOR_EDIT_TIMEOUT = 604800
123
124 ; PhpWiki can generate an access_log (in "NCSA combined log" format)
125 ; for you. If you want one, define this to the name of the log
126 ; file. The server must have write access to the directory specified.
127 ;ACCESS_LOG = /var/tmp/wiki_access_log
128
129 ; By default PhpWiki will try to have PHP compress its output
130 ; before sending it to the browser (if you have a recent enough
131 ; version of PHP and the browser supports it.)
132 ; Define COMPRESS_OUTPUT to false to prevent output compression.
133 ; Define COMPRESS_OUTPUT to true to force output compression,
134 ; even if we think your version of PHP does this in a buggy
135 ; fashion.
136 ; Leave it undefined to leave the choice up to PhpWiki.
137 ;
138 ; WARNING: Compressing the output has been reported to cause serious problems
139 ; when PHP is running as a CGI.
140 ;COMPRESS_OUTPUT = false
141
142 ; This controls how PhpWiki sets the HTTP cache control
143 ; headers (Expires: and Cache-Control:) 
144 ;
145 ; Choose one of:
146 ;
147 ; NONE: This is roughly the old (pre 1.3.4) behavior.  PhpWiki will
148 ;       instruct proxies and browsers never to cache PhpWiki output.
149 ;
150 ; STRICT: Cached pages will be invalidated whenever the database global
151 ;       timestamp changes.  This should behave just like NONE (modulo
152 ;       bugs in PhpWiki and your proxies and browsers), except that
153 ;       things will be slightly more efficient.
154 ;
155 ; LOOSE: Cached pages will be invalidated whenever they are edited,
156 ;       or, if the pages include plugins, when the plugin output could
157 ;       concievably have changed.
158 ;
159 ;       Behavior should be much like STRICT, except that sometimes
160 ;       wikilinks will show up as undefined (with the question mark)
161 ;       when in fact they refer to (recently) created pages.
162 ;       (Hitting your browsers reload or perhaps shift-reload button
163 ;       should fix the problem.)
164 ;
165 ; ALLOW_STALE: Proxies and browsers will be allowed to used stale pages.
166 ;       (The timeout for stale pages is controlled by CACHE_CONTROL_MAX_AGE.)
167 ;
168 ;       This setting will result in quirky behavior.  When you edit a
169 ;       page your changes may not show up until you shift-reload the
170 ;       page, etc...
171 ;
172 ;       This setting is generally not advisable, however it may be useful
173 ;       in certain cases (e.g. if your wiki gets lots of page views,
174 ;       and few edits by knowledgable people who won't freak over the quirks.)
175 ;
176 ; The recommended default is currently LOOSE.
177 ;
178 CACHE_CONTROL = LOOSE
179
180 ; Maximum page staleness, in seconds.
181 ;
182 ; This only has effect if CACHE_CONTROL is set to ALLOW_STALE.
183 CACHE_CONTROL_MAX_AGE = 600
184
185 ; PhpWiki normally caches a preparsed version (i.e. mostly
186 ; converted to HTML) of the most recent version of each page.
187 ; (Parsing the wiki-markup takes a fair amount of CPU.)
188 ;
189 ; Define WIKIDB_NOCACHE_MARKUP to true to disable the
190 ; caching of marked-up page content.
191 ;
192 ; Note that you can also disable markup caching on a per-page
193 ; temporary basis by addinging a query arg of '?nocache=1'
194 ; to the URL to the page.  (Use '?nocache=purge' to completely
195 ; discard the cached version of the page.)
196 ;
197 ; You can also purge the cached markup globally by using the
198 ; "Purge Markup Cache" button on the PhpWikiAdministration page.
199 ;WIKIDB_NOCACHE_MARKUP = true
200
201 ;======================================================================
202 ; Part Two: Database Selection
203 ;======================================================================
204
205 ; Select the database type:
206 ;
207 ;       ADODB: uses the ADODB library for data access.  Reportedly only
208 ;               works for MySQL backends.
209 ;       SQL: access one of several (currently only PostgreSQL, MySQL,
210 ;               and SQLite) SQL databases using the PEAR DB library.
211 ;       dba: use one of the standard UNIX dbm libraries.
212 ;       file: use a flat file database.
213 ;       cvs: use a CVS server to store everything.
214 DATABASE_TYPE = dba
215    
216 ; prefix for filenames or table names
217 ;
218 ; currently you MUST EDIT THE SQL file too (in the schemas/
219 ; directory because we aren't doing on the fly sql generation
220 ; during the installation.
221 ;DATABASE_PREFIX = phpwiki_
222
223 ; For SQL based backends, specify the database as a DSN (Data Source Name),
224 ; a kind of URL for databases.
225 ;
226 ; The most general form of a DSN looks like:
227 ;
228 ;       dbtype(dbsyntax)://username:password@protocol+hostspec/database
229 ;
230 ; For a MySQL database, the following should work:
231 ;
232 ;       mysql://user:password@host/databasename
233 ;
234 ; To connect over a unix socket, use something like
235 ;
236 ;       mysql://user:password@unix(/path/to/socket)/databasename
237 ;
238 ; Valid values for dbtype are mysql, pgsql, or sqlite.
239 ;
240 DATABASE_DSN = "mysql://guest@unix(/var/lib/mysql/mysql.sock)/test"
241
242 ; A table to store session information.  Only needed by SQL backends.
243 ;
244 ; A word of warning - any prefix defined above will be prepended to whatever
245 ; is given here.
246 DATABASE_SESSION_TABLE = session
247
248 ; For the file and dba backends, this specifies where the data files will be
249 ; located.  Ensure that the user that the webserver runs as has write access
250 ; to this directory.
251 ;
252 ; WARNING: leaving this as the default of '/tmp' will almost guarantee that
253 ; you'll lose your wiki data at some stage.
254 DATABASE_DIRECTORY = /tmp
255
256 ; For the dba backend, this defines which DBA variant you wish to use.
257 ;       gdbm - commonly available
258 ;       db2 - Berkeley DB v2; not supported by modern versions of PHP
259 ;       db3 - Berkeley DB v3; as per db2
260 ;       db4 - Berkeley DB v4; current version, however PHP has some issues
261 ;               with it's db4 support.
262 ;       dbm - Older dba handler; suffers from limits on the size of data
263 ;               items
264 DATABASE_DBA_HANDLER = db4
265
266 ; How long will the system wait for a database operation to complete?
267 ; Specified in seconds.
268 DATABASE_TIMEOUT = 20
269
270 ; The login code now uses PHP's session support. Usually, the default
271 ; configuration of PHP is to store the session state information in
272 ; /tmp. That probably will work fine, but fails e.g. on clustered
273 ; servers where each server has their own distinct /tmp (this is the
274 ; case on SourceForge's project web server.) You can specify an
275 ; alternate directory in which to store state information like so
276 ; (whatever user your httpd runs as must have read/write permission
277 ; in this directory):
278 ;SESSION_SAVE_PATH = some_other_directory
279
280 ;========================================================================
281 ; Section 3a: Page revisions
282 ;
283 ; The next section controls how many old revisions of each page are
284 ; kept in the database.
285 ;========================================================================
286 ;
287 ; There are two basic classes of revisions: major and minor. Which
288 ; class a revision belongs in is determined by whether the author
289 ; checked the "this is a minor revision" checkbox when they saved the
290 ; page.
291
292 ; There is, additionally, a third class of revisions: author
293 ; revisions. The most recent non-mergable revision from each distinct
294 ; author is an author revision.
295 ;
296 ; The expiry parameters for each of those three classes of revisions
297 ; can be adjusted seperately. For each class there are five
298 ; parameters (usually, only two or three of the five are actually
299 ; set) which control how long those revisions are kept in the
300 ; database.
301 ;
302 ;   MAX_KEEP: If set, this specifies an absolute maximum for the
303 ;             number of archived revisions of that class. This is
304 ;             meant to be used as a safety cap when a non-zero
305 ;             min_age is specified. It should be set relatively high,
306 ;             and it's purpose is to prevent malicious or accidental
307 ;             database overflow due to someone causing an
308 ;             unreasonable number of edits in a short period of time.
309 ;
310 ;   MIN_AGE:  Revisions younger than this (based upon the supplanted
311 ;             date) will be kept unless max_keep is exceeded. The age
312 ;             should be specified in days. It should be a
313 ;             non-negative, real number,
314 ;
315 ;   MIN_KEEP: At least this many revisions will be kept.
316 ;
317 ;   KEEP: No more than this many revisions will be kept.
318 ;
319 ;   MAX_AGE:  No revision older than this age will be kept.
320 ;
321 ; Definitions of terms used above:
322 ;
323 ; Supplanted date: Revisions are timestamped at the instant that they
324 ; cease being the current revision. Revision age is computed using
325 ; this timestamp, not the edit time of the page.
326 ;
327 ; Merging: When a minor revision is deleted, if the preceding
328 ; revision is by the same author, the minor revision is merged with
329 ; the preceding revision before it is deleted. Essentially: this
330 ; replaces the content (and supplanted timestamp) of the previous
331 ; revision with the content after the merged minor edit, the rest of
332 ; the page metadata for the preceding version (summary, mtime, ...)
333 ; is not changed.
334 ;
335 ; Keep up to 8 major edits, but keep them no longer than a month.
336 MAJOR_MAX_AGE = 32
337 MAJOR_KEEP = 8
338
339 ; Keep up to 4 minor edits, but keep them no longer than a week.
340 MINOR_MAX_AGE = 7
341 MINOR_KEEP = 4
342
343 ; Keep the latest contributions of the last 8 authors up to a year.
344 ; Additionally, (in the case of a particularly active page) try to
345 ; keep the latest contributions of all authors in the last week (even
346 ; if there are more than eight of them,) but in no case keep more
347 ; than twenty unique author revisions.
348 AUTHOR_MAX_AGE = 365
349 AUTHOR_KEEP = 8
350 AUTHOR_MIN_AGE = 7
351 AUTHOR_MAX_KEEP = 20
352
353 ;========================================================================
354 ; Part Three: User Authentication
355 ;========================================================================
356 ;
357 ; New user authentication configuration:
358 ; We support three basic authentication methods and a stacked array 
359 ; of advanced auth methods to get and check the passwords:
360 ;
361 ; ALLOW_ANON_USER         default true
362 ; ALLOW_ANON_EDIT         default true
363 ; ALLOW_BOGO_LOGIN        default true
364 ; ALLOW_USER_PASSWORDS    default true
365
366 ; allow anon users to view existing pages
367 ALLOW_ANON_USER = true
368 ; allow anon users to edit pages
369 ALLOW_ANON_EDIT = true
370
371 ; If ALLOW_BOGO_LOGIN is true, users are allowed to login (with
372 ; any/no password) using any userid which: 
373 ;  1) is not the ADMIN_USER, and
374 ;  2) is a valid WikiWord (matches $WikiNameRegexp.)
375 ; If true, users may be created by themselves. Otherwise we need seperate auth. 
376 ; If such a user will create a so called HomePage with his userid, he will 
377 ; be able to store his preferences and password there.
378 ALLOW_BOGO_LOGIN = true
379
380 ; True User Authentication:
381 ; To require user passwords:
382 ;   ALLOW_ANON_USER = false
383 ;   ALLOW_ANON_EDIT = false
384 ;   ALLOW_BOGO_LOGIN = false,
385 ;   ALLOW_USER_PASSWORDS = true.
386 ; Otherwise any anon or bogo user might login without any or a wrong password.
387 ALLOW_USER_PASSWORDS = true
388
389 ; Many different methods can be used to check user's passwords:
390 ;   BogoLogin:     WikiWord username, with no *actual* password checking,
391 ;                   although the user will still have to enter one.
392 ;   PersonalPage:  Store passwords in the users homepage metadata (simple)
393 ;   Db:            Use $DBAuthParams[] (see below) with the PearDB or 
394 ;                   ADODB only.
395 ;   LDAP:          Authenticate against LDAP_AUTH_HOST with LDAP_BASE_DN
396 ;   IMAP:          Authenticate against IMAP_AUTH_HOST (email account)
397 ;   POP3:          Authenticate against POP3_AUTH_HOST (email account)
398 ;   File:          Store username:crypted-passwords in .htaccess like files. 
399 ;                  Use Apache's htpasswd to manage this file.
400 ;   HttpAuth:      Use the protection by the webserver (.htaccess) or 
401 ;                  enforce it
402 ;
403 ; Several of these methods can be used together, in the manner specified by
404 ; USER_AUTH_POLICY, below.  To specify multiple authentication methods,
405 ; separate the name of each one with colons.
406 USER_AUTH_ORDER = PersonalPage : Db
407
408 ; For "security" purposes, you can specify that a password be at least a
409 ; certain number of characters long.  This applies even to the BogoLogin
410 ; method.
411 PASSWORD_LENGTH_MINIMUM = 2
412     
413 ; The following policies are available for user authentication:
414 ;       first-only: use only the first method in USER_AUTH_ORDER
415 ;       old:        ignore USER_AUTH_ORDER and try to use all available 
416 ;                       methods as in the previous PhpWiki releases (slow)
417 ;       strict:     check if the user exists for all methods: 
418 ;                       on the first existing user, try the password. 
419 ;                       dont try the other methods on failure then
420 ;       stacked:    check the given user - password combination for all
421 ;                       methods and return true on the first success.
422 USER_AUTH_POLICY = old
423
424 ; LDAP authentication options:
425 ;
426 ; The LDAP server to connect to.  Can either be a hostname, or a complete
427 ; URL to the server (useful if you want to use ldaps or specify a different
428 ; port number).
429 LDAP_AUTH_HOST = ldap://localhost:389
430
431 ; The organizational or domain BASE DN: e.g. "dc=mydomain,dc=com".
432 ;
433 ; Note: ou=Users and ou=Groups are used for GroupLdap Membership
434 LDAP_BASE_DN = "ou=Users,o=Development,dc=mycompany.com"
435
436 ; Some LDAP servers need some more options, such as the Windows Active
437 ; Directory Server.  Specify the options (as allowed by the PHP LDAP module)
438 ; and their values as NAME=value pairs separated by colons.
439 ; LDAP_SET_OPTION = LDAP_OPT_PROTOCOL_VERSION=3:LDAP_OPT_REFERRALS=0
440
441 ; DN to bind to the LDAP server as.
442 ; LDAP_AUTH_USER = CN=ldapuser,CN=Users,DC=uai,DC=int
443
444 ; Password to use to bind to the LDAP server, as the DN specified in
445 ; the LDAP_AUTH_USER option (above).
446 ; LDAP_AUTH_PASSWORD = s3kr1t
447
448 ; If you want to match usernames against an attribute other than uid,
449 ; specify it here.
450 ; LDAP_SEARCH_FIELD = sAMAccountName
451
452 ; IMAP authentication options:
453 ;
454 ; The IMAP server to check usernames from.  Defaults to localhost.
455 ;
456 ; Some IMAP_AUTH_HOST samples:
457 ;   "localhost", "localhost:143/imap/notls", 
458 ;   "localhost:993/imap/ssl/novalidate-cert" (SuSE refuses non-SSL conections)
459 ; IMAP_AUTH_HOST = localhost:143/imap/notls
460
461 ; POP3 authentication options:
462 ;
463 ; Host to connect to.
464 ; POP3_AUTH_HOST = localhost
465
466 ; Port to connect to.
467 ; POP3_AUTH_HOST = 110
468
469 ; File authentication options:
470 ;
471 ; File to read for authentication information.
472 ; Popular choices are /etc/shadow and /etc/httpd/.htpasswd
473 ; AUTH_USER_FILE = /etc/shadow
474
475 ; Defines whether the user is able to change their own password via PHPWiki.
476 ; Note that this means that the webserver user must be able to write to the
477 ; file specified in AUTH_USER_FILE.
478 ; AUTH_USER_FILE_STORABLE = false
479
480 ; Group membership.  PHPWiki supports defining permissions for a group as
481 ; well as for individual users.  This defines how group membership information
482 ; is obtained.  Supported values are:
483 ;
484 ;       NONE            group membership is not supported.
485 ;       WIKIPAGE        Defined in the metadata of a wiki page.
486 ;       DB              Stored in an ADODB or PearDB database.
487 ;       FILE            Flatfile.
488 ;       LDAP            Query LDAP to find the information.
489 GROUP_METHOD = WIKIPAGE
490
491 ; For GROUP_METHOD = FILE, the file given below is referenced to obtain
492 ; group membership information.  It should be in the same format as the
493 ; standard unix /etc/groups(5) file.
494 ; AUTH_GROUP_FILE = /etc/groups
495
496 ; External database authentication and authorization.
497 ;
498 ; If USER_AUTH_ORDER includes Db, or GROUP_METHOD = DB, the options listed
499 ; below define the SQL queries used to obtain the information out of the
500 ; database, and (in some cases) store the information back to the DB.
501 ;
502 ; The options appropriate for each query are currently undocumented, and
503 ; you should not be surprised if things change mightily in the future.
504 ;
505 ; A database DSN to connect to.  Defaults to the DSN specified for the Wiki
506 ; as a whole.
507 ; DBAUTH_AUTH_DSN = mysql://localhost/phpwiki
508 ;
509 ; USER/PASSWORD queries
510 ;
511 ; Check to see if the supplied username/password pair is OK
512 ;
513 ; plaintext passwords:
514 ; DBAUTH_AUTH_CHECK = SELECT IF(passwd="$password",1,0) as ok FROM user WHERE userid="$userid"
515 ;
516 ; database-hashed passwords (more secure):
517 ; DBAUTH_AUTH_CHECK = SELECT IF(passwd=PASSWORD("$password"),1,0) as ok FROM user WHERE userid="$userid"
518
519 ; If you want to use Unix crypt()ed passwords, you can use DBAUTH_AUTH_CHECK
520 ; to get the password out of the database with a simple SELECT query, and
521 ; specify DBAUTH_AUTH_USER_EXISTS and DBAUTH_AUTH_CRYPT_METHOD:
522 ; DBAUTH_AUTH_CHECK = SELECT password AS password FROM user where userid="$userid"
523 ; DBAUTH_AUTH_USER_EXISTS = SELECT userid FROM user WHERE userid="$userid"
524 ; DBAUTH_AUTH_CRYPT_METHOD = crypt
525 ;
526 ; Update the user's authentication credential.  If this is not defined but
527 ; DBAUTH_AUTH_CHECK is, then the user will be unable to update their
528 ; password.
529 ;
530 ; Plaintext passwords:
531 ; DBAUTH_AUTH_UPDATE = UPDATE user SET passwd="$password" WHERE userid="$userid"
532 ; Database-hashed passwords:
533 ; DBAUTH_AUTH_UPDATE = UPDATE user SET passwd=PASSWORD("$password") WHERE userid="$userid"
534 ;
535 ; Allow the user to create their own account.
536 ; DBAUTH_AUTH_CREATE = INSERT INTO user SET passwd=PASSWORD("$password"),userid="$userid"
537
538 ; USER/PREFERENCE queries
539 ;
540 ; If you choose to store your preferences in an external database, enable
541 ; the following queries.  Note that if you choose to store user preferences
542 ; in the 'user' table, only registered users get their prefs from the database,
543 ; self-created users do not.  Better to use the special 'pref' table.
544 ;
545 ; The prefs field stores the serialized form of the user's preferences array,
546 ; to ease the complication of storage.
547 ; DBAUTH_PREF_SELECT = SELECT prefs FROM user WHERE userid="$userid"
548 ; DBAUTH_PREF_SELECT = SELECT prefs FROM pref WHERE userid="$userid"
549
550 ; Update the user's preferences
551 ; DBAUTH_PREF_UPDATE = UPDATE user SET prefs="$pref_blob" WHERE userid="$userid"
552 ; DBAUTH_PREF_UPDATE = REPLACE INTO pref SET prefs="$pref_blob",userid="$userid"
553
554 ; USERS/GROUPS queries
555 ;
556 ; You can define 1:n or n:m user<=>group relations, as you wish.
557 ;
558 ; Sample configurations:
559 ;  only one group per user (1:n):
560 ;   DBAUTH_IS_MEMBER = SELECT user FROM user WHERE user="$userid" AND group="$groupname"
561 ;   DBAUTH_GROUP_MEMBERS = SELECT user FROM user WHERE group="$groupname"
562 ;   DBAUTH_USER_GROUPS = SELECT group FROM user WHERE user="$userid"
563 ;  multiple groups per user (n:m):
564 ;   DBAUTH_IS_MEMBER = SELECT userid FROM member WHERE userid="$userid" AND groupname="$groupname"
565 ;   DBAUTH_GROUP_MEMBERS = SELECT DISTINCT userid FROM member WHERE groupname="$groupname"
566 ;   DBAUTH_USER_GROUPS = SELECT groupname FROM member WHERE userid="$userid"
567
568 ; Old settings, only needed for ENABLE_USER_NEW = false
569 ;
570 ; The wiki can be protected by HTTP Auth. Use the username and password 
571 ; from there, but this is not sufficient. Try the other methods also.
572 ALLOW_HTTP_AUTH_LOGIN = false
573
574 ; If ALLOW_USER_LOGIN is true, any defined internal and external
575 ; authentication method is tried. If not, we don't care about
576 ; passwords, but listen to the next two constants. Note that external
577 ; authentication is not supported at this time, you will likely have
578 ; to patch code yourself to get PhpWiki to recognise userids and
579 ; passwords from an external source.
580 ALLOW_USER_LOGIN = false
581
582 ; also only if ENABLE_USER_NEW = false:
583 ; ALLOW_LDAP_LOGIN = false
584 ; ALLOW_IMAP_LOGIN = false
585
586 ; A interim page which gets displayed on every edit attempt
587 EDITING_POLICY = EditingPolicy
588
589 ;========================================================================
590 ; Part Four: Page appearance and layout
591 ;========================================================================
592
593 ; THEMES
594 ;
595 ; Most of the page appearance is controlled by files in the theme
596 ; subdirectory.
597 ;
598 ; There are a number of pre-defined themes shipped with PhpWiki.
599 ; Or you may create your own (e.g. by copying and then modifying one of
600 ; stock themes.)
601 ;
602 ; The complete list of installed themes can be found by doing 'ls themes/'
603 ; from the root of your PHPWiki installation.
604 THEME = default
605
606 ; Select a valid charset name to be inserted into the xml/html pages,
607 ; and to reference links to the stylesheets (css). For more info see:
608 ; <http://www.iana.org/assignments/character-sets>. Note that PhpWiki
609 ; has been extensively tested only with the latin1 (iso-8859-1)
610 ; character set.
611 ;
612 ; If you change the default from iso-8859-1 PhpWiki may not work
613 ; properly and will require code modifications, at the very least you
614 ; will have to convert the files in pgsrc or locale/xx/pgsrc to
615 ; match!
616 ;
617 ; Character sets similar to iso-8859-1 may work with little or no
618 ; modification depending on your setup. The database must also
619 ; support the same charset, and of course the same is true for the
620 ; web browser. (Some work is in progress hopefully to allow more
621 ; flexibility in this area in the future).
622 CHARSET = iso-8859-1
623
624 ; Select your language/locale - default language is "en" for English.
625 ; Other languages available:
626 ; English "en"  (English    - HomePage)
627 ; Dutch   "nl" (Nederlands - ThuisPagina)
628 ; Spanish "es" (Español    - PáginaPrincipal)
629 ; French  "fr" (Français   - Accueil)
630 ; German  "de" (Deutsch    - StartSeite)
631 ; Swedish "sv" (Svenska    - Framsida)
632 ; Italian "it" (Italiano   - PaginaPrincipale)
633 ; Japanese "ja" (Japanese   - ¥Û¡¼¥à¥Ú¡¼¥¸)
634 ;
635 ; If you set DEFAULT_LANGUAGE to the empty string, your system's
636 ; default language (as determined by the applicable environment
637 ; variables) will be used.
638 ;
639 DEFAULT_LANGUAGE = en
640
641 ; WIKI_PGSRC -- specifies the source for the initial page contents of
642 ; the Wiki. The setting of WIKI_PGSRC only has effect when the wiki is
643 ; accessed for the first time (or after clearing the database.)
644 ; WIKI_PGSRC can either name a directory or a zip file. In either case
645 ; WIKI_PGSRC is scanned for files -- one file per page.
646 WIKI_PGSRC = pgsrc
647
648 ; DEFAULT_WIKI_PGSRC is only used when the language is *not* the
649 ; default (English) and when reading from a directory: in that case
650 ; some English pages are inserted into the wiki as well.
651 ; DEFAULT_WIKI_PGSRC defines where the English pages reside.
652 ;
653 ; FIXME: is this really needed?  Can't we just copy these pages into
654 ; the localized pgsrc?
655 DEFAULT_WIKI_PGSRC = pgsrc
656 ; These are the pages which will get loaded from DEFAULT_WIKI_PGSRC.
657 DEFAULT_WIKI_PAGES = ReleaseNotes:SteveWainstead:TestPage
658
659 ;=========================================================================
660 ; Part Five: Mark-up options.
661 ;=========================================================================
662 ;
663 ; allowed protocols for links - be careful not to allow "javascript:"
664 ; URL of these types will be automatically linked.
665 ; within a named link [name|uri] one more protocol is defined: phpwiki
666 ; Separate each of the protocol names with a vertical pipe, and ensure there
667 ; is no extraneous whitespace.
668 ALLOWED_PROTOCOLS = http|https|mailto|ftp|news|nntp|ssh|gopher
669
670 ; URLs ending with the following extension should be inlined as images.
671 ; Specify as per ALLOWED_PROTOCOLS
672 INLINE_IMAGES = png|jpg|gif
673
674 ; Perl regexp for WikiNames ("bumpy words")
675 ; (?<!..) & (?!...) used instead of '\b' because \b matches '_' as well
676 WIKI_NAME_REGEXP = "(?<![[:alnum:]])(?:[[:upper:]][[:lower:]]+){2,}(?![[:alnum:]])"
677
678 ; Defaults to '/', but '.' was also used.
679 SUBPAGE_SEPARATOR = /
680
681 ; InterWiki linking -- wiki-style links to other wikis on the web
682 ;
683 ; The map will be taken from a page name InterWikiMap.
684 ; If that page is not found (or is not locked), or map
685 ; data can not be found in it, then the file specified
686 ; by INTERWIKI_MAP_FILE (if any) will be used.
687 INTERWIKI_MAP_FILE = lib/interwiki.map
688
689 ; Display a warning if the internal lib/interwiki.map is used, and 
690 ; not the public InterWikiMap page. This file is not readable from outside.
691 WARN_NONPUBLIC_INTERWIKIMAP = false
692
693 ; Regexp used for automatic keyword extraction.
694 ;
695 ; Any links on a page to pages whose names match this regexp will
696 ; be used keywords in the keywords meta tag.  (This is an aid to
697 ; classification by search engines.)  The value of the match is
698 ; used as the keyword.
699 ;
700 ; The default behavior is to match Category* and Topic* links.
701 KEYWORDS = Category:Topic
702 KEYWORD_LINK_REGEXP = "(?<=^'. join('|^', $keywords) . ')[[:upper:]].*$"
703
704 ; Author and Copyright Site Navigation Links
705 ;
706 ; These will be inserted as <link rel> tags in the html header of
707 ; every page, for search engines and for browsers like Mozilla which
708 ; take advantage of link rel site navigation.
709 ;
710 ; If you have your own copyright and contact information pages change
711 ; these as appropriate.
712 COPYRIGHTPAGE_TITLE = GNU General Public License
713 COPYRIGHTPAGE_URL = http://www.gnu.org/copyleft/gpl.html#SEC1
714 AUTHORPAGE_TITLE = The PhpWiki Programming Team
715 AUTHORPAGE_URL = http://phpwiki.sourceforge.net/phpwiki/ThePhpWikiProgrammingTeam
716
717
718 ;==========================================================================
719 ; Part Six: URL options.
720 ;==========================================================================
721 ;
722 ; You can probably skip this section.
723
724 ; The following section contains settings which you can use to tailor
725 ; the URLs which PhpWiki generates.
726 ;
727 ; Any of these parameters which are left undefined will be deduced
728 ; automatically. You need only set them explicitly if the
729 ; auto-detected values prove to be incorrect.
730 ;
731 ; In most cases the auto-detected values should work fine, so
732 ; hopefully you don't need to mess with this section.
733 ;
734 ; In case of local overrides of short placeholders, which themselves 
735 ; include index.php, we check for most constants. See '/wiki'.
736 ; We can override DATA_PATH and PHPWIKI_DIR to support multiple phpwiki 
737 ; versions (for development), but most likely other values like 
738 ; THEME, LANG and DbParams for a WikiFarm.
739
740 ; Canonical name and httpd port of the server on which this PhpWiki
741 ; resides.
742 ;/
743 ;SERVER_NAME = some.host.com
744 ;SERVER_PORT = 80
745
746 ; Relative URL (from the server root) of the PhpWiki
747 ; script.
748 ;SCRIPT_NAME = /some/where/index.php
749
750 ; URL of the PhpWiki install directory.  (You only need to set this
751 ; if you've moved index.php out of the install directory.)  This can
752 ; be either a relative URL (from the directory where the top-level
753 ; PhpWiki script is) or an absolute one.
754 ;DATA_PATH = /home/user/phpwiki
755
756 ; Path to the PhpWiki install directory.  This is the local
757 ; filesystem counterpart to DATA_PATH.  (If you have to set
758 ; DATA_PATH, your probably have to set this as well.)  This can be
759 ; either an absolute path, or a relative path interpreted from the
760 ; directory where the top-level PhpWiki script (normally index.php)
761 ; resides.
762 ;PHPWIKI_DIR = /home/user/public_html/phpwiki
763
764 ; PhpWiki will try to use short urls to pages, eg 
765 ; http://www.example.com/index.php/HomePage
766 ; If you want to use urls like 
767 ; http://www.example.com/index.php?pagename=HomePage
768 ; then define 'USE_PATH_INFO' as false by uncommenting the line below.
769 ; NB:  If you are using Apache >= 2.0.30, then you may need to to use
770 ; the directive "AcceptPathInfo On" in your Apache configuration file
771 ; (or in an appropriate <.htaccess> file) for the short urls to work:  
772 ; See http://httpd.apache.org/docs-2.0/mod/core.html#acceptpathinfo
773
774 ; See also http://phpwiki.sourceforge.net/phpwiki/PrettyWiki for more ideas
775 ; on prettifying your urls.
776 ;
777 ; Default: PhpWiki will try to divine whether use of PATH_INFO
778 ; is supported in by your webserver/PHP configuration, and will
779 ; use PATH_INFO if it thinks that is possible.
780 ;USE_PATH_INFO = false
781
782 ; VIRTUAL_PATH is the canonical URL path under which your your wiki
783 ; appears. Normally this is the same as dirname(SCRIPT_NAME), however
784 ; using, e.g. apaches mod_actions (or mod_rewrite), you can make it
785 ; something different.
786 ;
787 ; If you do this, you should set VIRTUAL_PATH here.
788 ;
789 ; E.g. your phpwiki might be installed at at /scripts/phpwiki/index.php,
790 ; but  * you've made it accessible through eg. /wiki/HomePage.
791 ;
792 ; One way to do this is to create a directory named 'wiki' in your
793 ; server root. The directory contains only one file: an .htaccess
794 ; file which reads something like:
795 ;
796 ;    Action x-phpwiki-page /scripts/phpwiki/index.php
797 ;    SetHandler x-phpwiki-page
798 ;    DirectoryIndex /scripts/phpwiki/index.php
799 ;
800 ; In that case you should set VIRTUAL_PATH to '/wiki'.
801 ;
802 ; (VIRTUAL_PATH is only used if USE_PATH_INFO is true.)
803 ;/
804 ;VIRTUAL_PATH = /SomeWiki
805
806 ;===========================================================================
807 ; Part Seven: Miscellaneous settings
808 ;===========================================================================
809
810 ; Disable HTTP redirects.
811 ;
812 ; (You probably don't need to touch this.)
813 ;
814 ; PhpWiki uses HTTP redirects for some of it's functionality.
815 ; (e.g. after saving changes, PhpWiki redirects your browser to
816 ; view the page you just saved.)
817 ;
818 ; Some web service providers (notably free European Lycos) don't seem to
819 ; allow these redirects.  (On Lycos the result in an "Internal Server Error"
820 ; report.)  In that case you can set DISABLE_HTTP_REDIRECT to true.
821 ; (In which case, PhpWiki will revert to sneakier tricks to try to
822 ; redirect the browser...)
823 ;DISABLE_HTTP_REDIRECT = true