]> CyberLeo.Net >> Repos - SourceForge/phpwiki.git/blob - lib/config.php
Don't display $SignatureImg unless one is set in config.php
[SourceForge/phpwiki.git] / lib / config.php
1 <?php
2
3    // essential internal stuff -- skip it. Go down to Part One. There
4    // are four parts to this file that interest you, all labeled Part
5    // One, Two, Three and Four.
6
7    set_magic_quotes_runtime(0);
8    error_reporting(E_ALL ^ E_NOTICE);
9
10    if (!function_exists('rcs_id')) {
11       function rcs_id($id) { echo "<!-- $id -->\n"; };
12    }
13    rcs_id('$Id: config.php,v 1.28 2001-02-08 18:19:16 dairiki Exp $');
14    // end essential internal stuff
15
16
17    /////////////////////////////////////////////////////////////////////
18    // Part One:
19    // Constants and settings. Edit the values below for your site.
20    /////////////////////////////////////////////////////////////////////
21
22
23    // URL of index.php e.g. http://yoursite.com/phpwiki/index.php
24    // you can leave this empty - it will be calculated automatically
25    $ScriptUrl = "";
26    // URL of admin.php e.g. http://yoursite.com/phpwiki/admin.php
27    // you can leave this empty - it will be calculated automatically
28    // if you fill in $ScriptUrl you *MUST* fill in $AdminUrl as well!
29    $AdminUrl = "";
30
31    // Select your language - default language "C": English
32    // other languages available: Dutch "nl", Spanish "es", German "de",
33    // and Swedish "sv"
34    $LANG="C";
35
36    /////////////////////////////////////////////////////////////////////
37    // Part Two:
38    // Database section
39    // set your database here and edit the according section below.
40    // For PHP 4.0.4 and later you must use "dba" if you are using 
41    // DBM files for storage. "dbm" uses the older deprecated interface.
42    // The option 'default' will choose either dbm or dba, depending on
43    // the version of PHP you are running.
44    /////////////////////////////////////////////////////////////////////
45
46    $WhichDatabase = 'default'; // use one of "dbm", "dba", "mysql",
47                            // "pgsql", "msql", or "file"
48
49    // DBM and DBA settings (default)
50    if ($WhichDatabase == 'dbm' or $WhichDatabase == 'dba' or
51        $WhichDatabase == 'default') {
52       $DBMdir = "/tmp";
53       $WikiPageStore = "wiki";
54       $ArchivePageStore = "archive";
55       $WikiDB['wiki']      = "$DBMdir/wikipagesdb";
56       $WikiDB['archive']   = "$DBMdir/wikiarchivedb";
57       $WikiDB['wikilinks'] = "$DBMdir/wikilinksdb";
58       $WikiDB['hottopics'] = "$DBMdir/wikihottopicsdb";
59       $WikiDB['hitcount']  = "$DBMdir/wikihitcountdb";
60       // try this many times if the dbm is unavailable
61       define("MAX_DBM_ATTEMPTS", 20);
62
63       // for PHP3 use dbmlib, else use dbalib for PHP4
64       if ($WhichDatabase == 'default') {
65          if ( floor(phpversion()) == 3) {
66             $WhichDatabase = 'dbm';
67          } else {
68             $WhichDatabase = 'dba';
69          }
70       }
71
72       if ($WhichDatabase == 'dbm') {
73           include "lib/dbmlib.php"; 
74       } else {
75           include "lib/dbalib.php";
76       }
77
78    // MySQL settings -- see INSTALL.mysql for details on using MySQL
79    } elseif ($WhichDatabase == 'mysql') {
80       $WikiPageStore = "wiki";
81       $ArchivePageStore = "archive";
82       $WikiLinksStore = "wikilinks";
83       $WikiScoreStore = "wikiscore";
84       $HitCountStore = "hitcount";
85       $mysql_server = 'localhost';
86       $mysql_user = 'root';
87       $mysql_pwd = '';
88       $mysql_db = 'wiki';
89       include "lib/mysql.php";
90
91    // PostgreSQL settings -- see INSTALL.pgsql for more details
92    } elseif ($WhichDatabase == 'pgsql') {
93       $pg_dbhost    = "localhost";
94       $pg_dbport    = "5432";
95       $WikiDataBase  = "wiki"; // name of the database in Postgresql
96       $WikiPageStore = "wiki";
97       $ArchivePageStore = "archive";
98       $WikiLinksPageStore = "wikilinks";
99       $HotTopicsPageStore = "hottopics";
100       $HitCountPageStore = "hitcount";
101       include "lib/pgsql.php";
102
103    // MiniSQL (mSQL) settings -- see INSTALL.msql for details on using mSQL
104    } elseif ($WhichDatabase == 'msql') {
105       $msql_db = "wiki";
106       $WikiPageStore = array();
107       $ArchivePageStore = array();
108       $WikiPageStore['table']         = "wiki";
109       $WikiPageStore['page_table']    = "wikipages";
110       $ArchivePageStore['table']      = "archive";
111       $ArchivePageStore['page_table'] = "archivepages";
112       // should be the same as wikipages.line
113       define("MSQL_MAX_LINE_LENGTH", 128);
114       include "lib/msql.php";
115
116    // Filesystem DB settings
117    } elseif ($WhichDatabase == 'file') {
118       $DBdir = "/tmp/wiki";
119       $WikiPageStore = "wiki";
120       $ArchivePageStore = "archive";
121       $WikiDB['wiki']      = "$DBdir/pages";
122       $WikiDB['archive']   = "$DBdir/archive";
123       $WikiDB['wikilinks'] = "$DBdir/links";
124       $WikiDB['hottopics'] = "$DBdir/hottopics";
125       $WikiDB['hitcount']  = "$DBdir/hitcount";
126       include "lib/db_filesystem.php";
127
128     } else die("Invalid '\$WhichDatabase' in lib/config.php"); 
129
130
131    /////////////////////////////////////////////////////////////////////
132    // Part Three:
133    // Miscellaneous
134    /////////////////////////////////////////////////////////////////////
135
136    // logo image (path relative to index.php)
137    $logo = "images/wikibase.png";
138
139    // Signature image which is shown after saving an edited page
140    // If this is left blank (or unset), the signature will be omitted.
141    //$SignatureImg = "images/signature.png";
142
143    // date & time formats used to display modification times, etc.
144    // formats are given as format strings to PHP date() function
145    $datetimeformat = "F j, Y";  // may contain time of day
146    $dateformat = "F j, Y";      // must not contain time
147
148    // this defines how many page names to list when displaying
149    // the MostPopular pages; the default is to show the 20 most popular pages
150    define("MOST_POPULAR_LIST_LENGTH", 20);
151
152    // this defines how many page names to list when displaying related pages
153    define("NUM_RELATED_PAGES", 5);
154
155    // number of user-defined external references, i.e. "[1]"
156    define("NUM_LINKS", 12);
157
158    // allowed protocols for links - be careful not to allow "javascript:"
159    // within a named link [name|uri] one more protocol is defined: phpwiki
160    $AllowedProtocols = "http|https|mailto|ftp|news|gopher";
161
162    // URLs ending with the following extension should be inlined as images
163    $InlineImages = "png|jpg|gif";
164
165
166    // If the last edit is older than MINOR_EDIT_TIMEOUT seconds, the default
167    // state for the "minor edit" checkbox on the edit page form will be off
168    // (even if the page author hasn't changed.)
169    define("MINOR_EDIT_TIMEOUT", 7 * 24 * 3600);
170
171  
172    // Perl regexp for WikiNames
173    // (?<!..) & (?!...) used instead of '\b' because \b matches '_' as well
174    $WikiNameRegexp = "(?<![A-Za-z0-9])([A-Z][a-z]+){2,}(?![A-Za-z0-9])";
175
176
177    // InterWiki linking -- wiki-style links to other wikis on the web
178    // Set InterWikiLinking to 1 if you would like to enable this feature
179    $InterWikiLinking = 0;
180
181    if ($InterWikiLinking) {
182       // Intermap file for InterWikiLinks -- define other wikis there
183       $interwikimap_file = "lib/interwiki.map";
184
185       include ('lib/interwiki.php');
186       // sets also $InterWikiLinkRegexp
187    }
188
189
190    /////////////////////////////////////////////////////////////////////
191    // Part Four:
192    // Original pages and layout
193    /////////////////////////////////////////////////////////////////////
194
195    // need to define localization function first -- skip this
196    if (!function_exists ('gettext')) {
197       $lcfile = "locale/$LANG/LC_MESSAGES/phpwiki.php";
198       if (file_exists($lcfile)) { include($lcfile); }
199       else { $locale = array(); }
200
201       function gettext ($text) { 
202          global $locale;
203          if (!empty ($locale[$text]))
204            return $locale[$text];
205          return $text;
206       }
207    } else {
208       putenv ("LANG=$LANG");
209       bindtextdomain ("phpwiki", "./locale");
210       textdomain ("phpwiki");
211    }
212    // end of localization function
213
214    // Template files (filenames are relative to script position)
215    $templates = array(
216         "BROWSE" =>    gettext("templates/browse.html"),
217         "EDITPAGE" =>  gettext("templates/editpage.html"),
218         "EDITLINKS" => gettext("templates/editlinks.html"),
219         "MESSAGE" =>   gettext("templates/message.html")
220         );
221
222    /* WIKI_PGSRC -- specifies the source for the initial page contents
223     * of the Wiki.  The setting of WIKI_PGSRC only has effect when
224     * the wiki is accessed for the first time (or after clearing the
225     * database.) WIKI_PGSRC can either name a directory or a zip file.
226     * In either case WIKI_PGSRC is scanned for files --- one file per page.
227     *
228     * If the files appear to be MIME formatted messages, they are
229     * scanned for application/x-phpwiki content-types.  Any suitable
230     * content is added to the wiki.
231     * The files can also be plain text files, in which case the page name
232     * is taken from the file name.
233     */
234
235    define('WIKI_PGSRC', gettext("./pgsrc")); // Default (old) behavior.
236    //define('WIKI_PGSRC', './wiki.zip'); // New style.
237
238    // DEFAULT_WIKI_PGSRC is only used when the language is *not*
239    // the default (English) and when reading from a directory:
240    // in that case some English pages are inserted into the wiki as well
241    // DEFAULT_WIKI_PGSRC defines where the English pages reside 
242    define('DEFAULT_WIKI_PGSRC', "./pgsrc");
243
244
245
246    //////////////////////////////////////////////////////////////////////
247    // you shouldn't have to edit anyting below this line
248
249    if (empty($ScriptUrl)) {
250       $port = ($SERVER_PORT == 80) ? '' : ":$SERVER_PORT";
251       $ScriptUrl = "http://$SERVER_NAME$port$SCRIPT_NAME";
252    }
253    if (defined('WIKI_ADMIN') && !empty($AdminUrl))
254       $ScriptUrl = $AdminUrl;
255
256    $FieldSeparator = "\263";
257
258    if (isset($PHP_AUTH_USER)) {
259         $remoteuser = $PHP_AUTH_USER;
260    } else {
261
262       // Apache won't show REMOTE_HOST unless the admin configured it
263       // properly. We'll be nice and see if it's there.
264
265       getenv('REMOTE_HOST') ? ($remoteuser = getenv('REMOTE_HOST'))
266                             : ($remoteuser = getenv('REMOTE_ADDR'));
267    }
268
269    // constants used for HTML output. HTML tags may allow nesting
270    // other tags always start at level 0
271    define("ZERO_LEVEL", 0);
272    define("NESTED_LEVEL", 1);
273
274    // constants for flags in $pagehash
275    define("FLAG_PAGE_LOCKED", 1);
276 ?>