1 <?php // -*-php-*- $Id$
4 * Copyright (C) 2008-2010 Alcatel-Lucent
6 * This file is part of PhpWiki.
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.
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.
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
24 * Standard Alcatel-Lucent disclaimer for contributing to open source
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
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
45 ini_set("memory_limit", "64M");
47 // Disable compression, seems needed to get all the messages.
50 require_once('../../env.inc.php');
51 require_once $gfcommon.'include/pre.php';
52 require_once $gfplugins.'wiki/common/wikiconfig.class.php';
54 if (!$group_id || !$project) {
56 } else if (!($project->usesPlugin("wiki"))) {
57 exit_disabled('home');
60 $group_name = $project->getUnixName();
61 $group_public_name = $project->getPublicName();
63 $is_external = method_exists($project, 'getIsExternal') && $project->getIsExternal();
65 $wc = new WikiConfig($group_id);
67 define('VIRTUAL_PATH', '/wiki/g/'.$group_name);
68 define('PAGE_PREFIX', '_g'.$group_id.'_');
70 define('THEME', 'fusionforge');
72 // For FusionForge, we create some specific pages, located in the theme
73 // except for project "help"
74 if ($group_name == "help") {
75 define('WIKI_PGSRC', 'pgsrc');
77 define('WIKI_PGSRC', 'themes/fusionforge/pgsrc');
80 define('FUSIONFORGE', true);
82 define('PATH_INFO_PREFIX', '/'.$group_name . '/');
83 define('USE_PATH_INFO', true);
85 define('WIKI_NAME', $group_name);
87 define('DISABLE_MARKUP_WIKIWORD', $wc->getWikiConfig('DISABLE_MARKUP_WIKIWORD'));
89 define('NUM_SPAM_LINKS', 20 * ($wc->getWikiConfig('NUM_SPAM_LINKS')));
91 define('ENABLE_RATEIT', $wc->getWikiConfig('ENABLE_RATEIT'));
93 define('UPLOAD_FILE_PATH', '/opt/groups/'.WIKI_NAME.'/www/uploads/');
94 // define('UPLOAD_DATA_PATH', SERVER_URL . '/www/'.WIKI_NAME.'/uploads/');
95 define('UPLOAD_DATA_PATH', '/www/'.WIKI_NAME.'/uploads/');
97 // Do not use a directory per user but only one (per project)
98 define('UPLOAD_USERDIR', false);
100 // Use black list of extensions instead of white list
101 define('DISABLE_UPLOAD_ONLY_ALLOWED_EXTENSIONS', true);
103 // Get the maximum upload filesize from PHP config
104 define('MAX_UPLOAD_SIZE', octets(ini_get('upload_max_filesize')));
106 // Disable access log (already in Apache & FusionForge).
107 define('ACCESS_LOG_SQL', 0);
109 define('DEBUG', ($sys_install_type != 'production'));
112 define('DATABASE_TYPE', 'SQL');
113 // Dummy value (to avoid warning in SystemInfo plugin)
114 define('DATABASE_DSN', 'pgsql://localhost/user_phpwiki');
116 // Disable VACUUM (they are performed every night)
117 define('DATABASE_OPTIMISE_FREQUENCY', 0);
119 // TBD: the name should be taken from FusionForge
120 // define('ADMIN_USER', 'ACOS Forge Administrator');
121 define('ADMIN_USER', 'The PhpWiki programming team');
123 define('ADMIN_PASSWD', 'xxx');
125 // Allow ".svg" and ".swf" as extensions
126 define('INLINE_IMAGES', 'png|jpg|jpeg|gif|svg|swf');
128 // Allow <div> and <span> in wiki code
129 define('ENABLE_MARKUP_DIVSPAN', true);
131 // Disable ENABLE_ACDROPDOWN, it creates a <style> in the <body> (illegal)
132 define('ENABLE_ACDROPDOWN', false);
133 define('ENABLE_AJAX', false);
135 define('TOOLBAR_PAGELINK_PULLDOWN', false);
136 define('TOOLBAR_TEMPLATE_PULLDOWN', false);
137 define('TOOLBAR_IMAGE_PULLDOWN', true);
139 // Enable external pages
140 define('ENABLE_EXTERNAL_PAGES', $is_external);
142 // Let all revisions be stored. Default since 1.3.11
143 define('MAJOR_MIN_KEEP', 2147483647);
144 define('MINOR_MIN_KEEP', 2147483647);
145 define('MAJOR_MAX_AGE', 2147483647);
146 define('MAJOR_KEEP', 2147483647);
147 define('MINOR_MAX_AGE', 2147483647);
148 define('MINOR_KEEP', 2147483647);
149 define('AUTHOR_MAX_AGE', 2147483647);
150 define('AUTHOR_KEEP', 2147483647);
151 define('AUTHOR_MIN_AGE', 2147483647);
152 define('AUTHOR_MAX_KEEP', 2147483647);
155 // Define access rights for the wiki.
158 // Do not allow anon users to edit pages
159 define('ALLOW_ANON_EDIT', false);
161 // Do not allow fake user
162 define('ALLOW_BOGO_LOGIN', false);
164 // A dedicated auth has been created to get auth from FusionForge
165 $USER_AUTH_ORDER = array("FusionForge");
166 define('USER_AUTH_ORDER', 'FusionForge');
167 define('USER_AUTH_POLICY', 'strict');
169 define('EXTERNAL_LINK_TARGET', '_top');
171 // Override the default configuration for CONSTANTS before index.php
172 $LANG='en'; $LC_ALL='en_US';
174 // We use a local interwiki map file
175 define('INTERWIKI_MAP_FILE', 'themes/fusionforge/interwiki.map');
177 define('DEFAULT_WIKI_PAGES', "");
179 define('DBAUTH_AUTH_CHECK', "SELECT IF(passwd='\$password',1,0) as ok FROM plugin_wiki_pref WHERE userid='\$userid'");
180 define('DBAUTH_AUTH_USER_EXISTS', "SELECT userid FROM plugin_wiki_pref WHERE userid='\$userid'");
181 define('DBAUTH_AUTH_CREATE', "INSERT INTO plugin_wiki_pref (passwd,userid) VALUES ('\$password','\$userid')");
182 define('DBAUTH_PREF_SELECT', "SELECT prefs FROM plugin_wiki_pref WHERE userid='\$userid'");
183 define('DBAUTH_PREF_UPDATE', "UPDATE plugin_wiki_pref SET prefs='\$pref_blob' WHERE userid='\$userid'");
184 define('DBAUTH_PREF_INSERT', "INSERT INTO plugin_wiki_pref (prefs,userid) VALUES ('\$pref_blob','\$userid')");
185 define('DBAUTH_IS_MEMBER', "SELECT userid FROM plugin_wiki_pref WHERE userid='\$userid' AND groupname='\$groupname'");
186 define('DBAUTH_GROUP_MEMBERS', "SELECT userid FROM plugin_wiki_pref WHERE groupname='\$groupname'");
187 define('DBAUTH_USER_GROUPS', "SELECT groupname FROM plugin_wiki_pref WHERE userid='\$userid'");
189 define('USE_DB_SESSION', true);
191 define('USE_BYTEA', true);
193 define('ENABLE_REVERSE_DNS', false);
195 // Perhaps propose Web DAV location ?
196 define('DEFAULT_DUMP_DIR', "");
197 define('HTML_DUMP_DIR', "");
199 define('COMPRESS_OUTPUT', false);
201 define('CACHE_CONTROL', "NO_CACHE");
203 define('DEFAULT_LANGUAGE', "en");
205 define('DISABLE_GETIMAGESIZE', true);
207 // If the user is logged in, let the Wiki know
208 if (session_loggedin()) {
209 $user = session_get_user();
210 if ($user && is_object($user) && !$user->isError() && $user->isActive()) {
211 $user_name = $user->getRealName();
212 $_SESSION['user_id'] = $user_name;
213 $_SERVER['PHP_AUTH_USER'] = $user_name;
214 $HTTP_SERVER_VARS['PHP_AUTH_USER'] = $user_name;
217 // clear out the globals, just in case...
220 // Load the default configuration.
221 require_once(dirname(__FILE__).'/lib/prepend.php');
222 require_once(dirname(__FILE__).'/lib/IniConfig.php');
223 IniConfig(dirname(__FILE__)."/config/config-default.ini");
225 // Override the default configuration for VARIABLES after index.php:
226 // E.g. Use another DB:
227 $DBParams['dbtype'] = 'SQL';
228 $DBParams['dsn'] = 'ffpgsql://' . $sys_dbuser . ':' .
229 $sys_dbpasswd . '@' . $sys_dbhost .'/' . $sys_dbname;
231 $DBParams['prefix'] = "plugin_wiki_";
234 include dirname(__FILE__).'/lib/main.php';
238 * Return a number of octets from a string like "300M"
240 function octets($val) {
242 $last = strtolower($val[strlen($val)-1]);
244 // The 'G' modifier is available since PHP 5.1.0