]> CyberLeo.Net >> Repos - SourceForge/phpwiki.git/blob - g
Use black list of extensions instead of white list
[SourceForge/phpwiki.git] / g
1 <?php // -*-php-*- $Id$
2
3 /*
4  * Copyright (C) 2008-2009 Alcatel-Lucent
5  *
6  * This file is part of PhpWiki.
7  *
8  * PhpWiki is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation; either version 2 of the License, or
11  * (at your option) any later version.
12  *
13  * PhpWiki is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with PhpWiki; if not, write to the Free Software
20  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
21 */
22
23 /*
24  * Standard Alcatel-Lucent disclaimer for contributing to open source
25  *
26  * "The Configuration File ("Contribution") has not been tested and/or
27  * validated for release as or in products, combinations with products or
28  * other commercial use. Any use of the Contribution is entirely made at
29  * the user's own responsibility and the user can not rely on any features,
30  * functionalities or performances Alcatel-Lucent has attributed to the
31  * Contribution.
32  *
33  * THE CONTRIBUTION BY ALCATEL-LUCENT IS PROVIDED AS IS, WITHOUT WARRANTY
34  * OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
35  * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, COMPLIANCE,
36  * NON-INTERFERENCE AND/OR INTERWORKING WITH THE SOFTWARE TO WHICH THE
37  * CONTRIBUTION HAS BEEN MADE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL
38  * ALCATEL-LUCENT BE LIABLE FOR ANY DAMAGES OR OTHER LIABLITY, WHETHER IN
39  * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
40  * CONTRIBUTION OR THE USE OR OTHER DEALINGS IN THE CONTRIBUTION, WHETHER
41  * TOGETHER WITH THE SOFTWARE TO WHICH THE CONTRIBUTION RELATES OR ON A STAND
42  * ALONE BASIS."
43  */
44
45 ini_set("memory_limit", "64M");
46
47 // Disable compression, seems needed to get all the messages.
48 $no_gz_buffer=true;
49
50 require_once('pre.php');
51
52 if (!$group_id || !$project) {
53     exit_error("Invalid Project", "Invalid Project");
54 } else if (!($project->usesPlugin("wiki"))) {
55     exit_error("Wiki plugin not activated in project", $project->getPublicName());
56 } else {
57
58     $group_name = $project->getUnixName();
59     $group_public_name = $project->getPublicName();
60     $is_external = $project->getIsExternal();
61
62     define('VIRTUAL_PATH', '/wiki/g/'.$group_name);
63     define('PAGE_PREFIX', '_g'.$group_id.'_');
64
65     define('THEME', 'gforge');
66
67     // For Gforge, we create some specific pages, located in the theme
68     // except for project "help"
69     if ($group_name == "help") {
70         define('WIKI_PGSRC', 'pgsrc/');
71     } else {
72         define('WIKI_PGSRC', 'themes/gforge/pgsrc/');
73     }
74
75     define('GFORGE', true);
76
77     define('PATH_INFO_PREFIX', '/'.$group_name . '/');
78     define('USE_PATH_INFO', true);
79
80     define('WIKI_NAME', $group_name);
81
82     define('UPLOAD_FILE_PATH', '/opt/groups/'.WIKI_NAME.'/www/uploads/');
83     // define('UPLOAD_DATA_PATH', SERVER_URL . '/www/'.WIKI_NAME.'/uploads/');
84     // define('UPLOAD_DATA_PATH', SERVER_URL . '/www/'.WIKI_NAME.'/uploads/');
85     define('UPLOAD_DATA_PATH', '/www/'.WIKI_NAME.'/uploads/');
86
87     // Do not use a directory per user but only one (per project)
88     define('UPLOAD_USERDIR', false);
89
90     // Use black list of extensions instead of white list
91     define('DISABLE_UPLOAD_ONLY_ALLOWED_EXTENSIONS', true);
92
93     // GForge is UTF-8, so use the same.
94     define('CHARSET', 'UTF-8');
95
96     // Disable access log (already in apache & gforge).
97     define('ACCESS_LOG_SQL', 0);
98
99     define('DEBUG', ($sys_install_type != 'production'));
100     // define('_DEBUG_LOGIN', true);
101
102     // Disable VACUUM (they are performed every night)
103     define('DATABASE_OPTIMISE_FREQUENCY', 0);
104
105     define('ADMIN_USER', 'ACOS Forge Administrator');
106     define('ADMIN_PASSWD', 'xxx');
107
108     // Allow ".jpeg" as extension
109     define('INLINE_IMAGES', 'png|jpg|jpeg|gif');
110
111     // Allow template with MediaWiki syntax
112     define('ENABLE_MARKUP_TEMPLATE', true);
113
114     // Allow tables with MediaWiki syntax
115     define('ENABLE_MARKUP_MEDIAWIKI_TABLE', true);
116
117     // Allow parsing of headers for CreateToc
118     define('TOC_FULL_SYNTAX', true);
119
120     // Allow <div> and <span> in wiki code
121     define('ENABLE_MARKUP_DIVSPAN', true);
122
123     // Disable ENABLE_ACDROPDOWN, it creates a <style> in the <body> (illegal)
124     define('ENABLE_ACDROPDOWN', false);
125
126     define('TOOLBAR_PAGELINK_PULLDOWN', false);
127     define('TOOLBAR_TEMPLATE_PULLDOWN', false);
128     define('TOOLBAR_IMAGE_PULLDOWN', true);
129
130     // Disable WYSIWYG
131     define('ENABLE_WYSIWYG', false);
132
133     // Which backend? Might need to be seperately installed. See lib/WysiwygEdit/
134     // Recommended is only Wikiwyg.
135     //
136     //  Wikiwyg     http://openjsan.org/doc/i/in/ingy/Wikiwyg/
137     //  tinymce     http://tinymce.moxiecode.com/
138     //  FCKeditor   http://fckeditor.net/
139     //  spaw        http://sourceforge.net/projects/spaw
140     //  htmlarea3
141     //  htmlarea2
142     define('WYSIWYG_BACKEND', 'tinymce');
143     //
144     // Store all WYSIWYG pages as HTML? Will loose most link and plugin options.
145     // Not recommended, but presented here to test several WYSIWYG backends.
146     define('WYSIWYG_DEFAULT_PAGETYPE_HTML', false);
147
148     // Disable public pages
149     define('ENABLE_PAGE_PUBLIC', false);
150     
151     // Enable external pages
152     define('ENABLE_EXTERNAL_PAGES', $is_external);
153
154     // Let all revisions be stored. Default since 1.3.11
155     define('MAJOR_MIN_KEEP', 2147483647);
156     define('MINOR_MIN_KEEP', 2147483647);
157     define('MAJOR_MAX_AGE', 2147483647);
158     define('MAJOR_KEEP', 2147483647);
159     define('MINOR_MAX_AGE', 2147483647);
160     define('MINOR_KEEP', 2147483647);
161     define('AUTHOR_MAX_AGE', 2147483647);
162     define('AUTHOR_KEEP', 2147483647);
163     define('AUTHOR_MIN_AGE', 2147483647);
164     define('AUTHOR_MAX_KEEP', 2147483647);
165
166     //
167     // Define access rights for the wiki.
168     //
169
170     // Allow anonymous user to view the pages.
171     define('ALLOW_ANON_USER', true);
172
173     // Do not allow anon users to edit pages
174     define('ALLOW_ANON_EDIT', false);
175
176     // Do not allow fake user
177     define('ALLOW_BOGO_LOGIN', false);
178     define('ALLOW_USER_PASSWORDS', true);
179
180     // A dedicated auth has been created to get auth from GForge
181     $USER_AUTH_ORDER = array("GForge");
182     define('USER_AUTH_ORDER', 'GForge');
183     define('USER_AUTH_POLICY', 'strict');
184
185     define('EXTERNAL_LINK_TARGET', '_top');
186
187     // Override the default configuration for CONSTANTS before index.php
188     $LANG='en'; $LC_ALL='en_US';
189
190     // We use a local interwiki map file
191     define('INTERWIKI_MAP_FILE', 'themes/gforge/interwiki.map');
192
193     define('DEFAULT_WIKI_PAGES', "");
194
195     define('ERROR_REPORTING', E_ERROR);
196
197     define('DBAUTH_AUTH_CHECK', "SELECT IF(passwd='\$password',1,0) as ok FROM plugin_wiki_pref WHERE userid='\$userid'");
198     define('DBAUTH_AUTH_USER_EXISTS', "SELECT userid FROM plugin_wiki_pref WHERE userid='\$userid'");
199     define('DBAUTH_AUTH_CREATE', "INSERT INTO plugin_wiki_pref (passwd,userid) VALUES ('\$password','\$userid')");
200     define('DBAUTH_PREF_SELECT', "SELECT prefs FROM plugin_wiki_pref WHERE userid='\$userid'");
201     define('DBAUTH_PREF_UPDATE', "UPDATE plugin_wiki_pref SET prefs='\$pref_blob' WHERE userid='\$userid'");
202     define('DBAUTH_PREF_INSERT', "INSERT INTO plugin_wiki_pref (prefs,userid) VALUES ('\$pref_blob','\$userid')");
203     define('DBAUTH_IS_MEMBER', "SELECT userid FROM plugin_wiki_pref WHERE userid='\$userid' AND groupname='\$groupname'");
204     define('DBAUTH_GROUP_MEMBERS', "SELECT userid FROM plugin_wiki_pref WHERE groupname='\$groupname'");
205     define('DBAUTH_USER_GROUPS', "SELECT groupname FROM plugin_wiki_pref WHERE userid='\$userid'");
206
207     define('USE_DB_SESSION', true);
208
209     define('USE_BYTEA', true);
210
211     define('ENABLE_SPAMBLOCKLIST', false);
212     
213     define('ENCRYPTED_PASSWD', true);
214
215     define('ENABLE_REVERSE_DNS', true);
216
217     define('ZIPDUMP_AUTH', false);
218
219     define('ENABLE_RAW_HTML', true);
220
221     define('ENABLE_RAW_HTML_LOCKEDONLY', true);
222
223     define('ENABLE_RAW_HTML_SAFE', true);
224
225     define('STRICT_MAILABLE_PAGEDUMPS', false);
226
227     define('DEFAULT_DUMP_DIR', "/tmp/wikidump");
228     define('HTML_DUMP_DIR', "/tmp/wikidumphtml");
229     define('HTML_DUMP_SUFFIX', ".html");
230
231     define('MAX_UPLOAD_SIZE', 16777216);
232
233     define('MINOR_EDIT_TIMEOUT', 604800);
234
235     define('COMPRESS_OUTPUT', false);
236
237     define('CACHE_CONTROL', "NO_CACHE");
238
239     define('CACHE_CONTROL_MAX_AGE', 600);
240
241     define('COOKIE_EXPIRATION_DAYS', 365);
242
243     define('GROUP_METHOD', "WIKIPAGE");
244
245     define('DBAUTH_AUTH_CRYPT_METHOD', "plain");
246
247     define('DEFAULT_LANGUAGE', "en");
248
249     define('DISABLE_GETIMAGESIZE', true);
250
251     if (isset($sys_use_selenium) && $sys_use_selenium) {
252         // Temporary disabled for selenium based tests.
253         define('ENABLE_EDIT_TOOLBAR', false);
254     }
255
256     // If the user is logged in, let the Wiki know
257     if (session_loggedin()){
258         // let php do it's session stuff too!
259         //ini_set('session.save_handler', 'files');
260         // session_start();
261         $user = session_get_user();
262
263         if ($user && is_object($user) && !$user->isError() && $user->isActive()) {
264             $user_name = $user->getRealName();
265             $_SESSION['user_id'] = $user_name;
266             $_SERVER['PHP_AUTH_USER'] = $user_name;
267             $HTTP_SERVER_VARS['PHP_AUTH_USER'] = $user_name;
268         }
269     } else {
270         // clear out the globals, just in case...
271     }
272
273     // Load the default configuration.
274     include "index.php";
275
276     // Override the default configuration for VARIABLES after index.php:
277     // E.g. Use another DB:
278     $DBParams['dbtype'] = 'SQL';
279     $DBParams['dsn']    = 'pgsql://' . $sys_dbuser . ':' .
280         $sys_dbpasswd . '@' . $sys_dbhost .'/' . $sys_dbname;
281
282     $DBParams['prefix'] = "plugin_wiki_";
283
284     // Start the wiki
285     include "lib/main.php";
286 }
287 ?>