author | Dan |
Thu, 05 Jul 2007 10:52:37 -0400 | |
changeset 45 | 9cb99e37bfc4 |
parent 21 | 663fcf528726 |
child 73 | 0a74676a2f2f |
permissions | -rw-r--r-- |
1 | 1 |
<?php |
2 |
||
3 |
/* |
|
4 |
* Enano - an open-source CMS capable of wiki functions, Drupal-like sidebar blocks, and everything in between |
|
21
663fcf528726
Updated all version numbers back to Banshee; a few preliminary steps towards full UTF-8 support in page URLs
Dan
parents:
16
diff
changeset
|
5 |
* Version 1.0 (Banshee) |
1 | 6 |
* Copyright (C) 2006-2007 Dan Fuhry |
7 |
* constants.php - important defines used Enano-wide |
|
8 |
* |
|
9 |
* This program is Free Software; you can redistribute and/or modify it under the terms of the GNU General Public License |
|
10 |
* as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. |
|
11 |
* |
|
12 |
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied |
|
13 |
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for details. |
|
14 |
*/ |
|
15 |
||
16 |
// Ban types |
|
17 |
||
18 |
define('BAN_IP', 1); |
|
19 |
define('BAN_USER', 2); |
|
20 |
define('BAN_EMAIL', 3); |
|
21 |
||
22 |
// ACL permission types |
|
23 |
define('AUTH_ALLOW', 4); |
|
24 |
define('AUTH_WIKIMODE', 3); // User can do this if wiki mode is enabled |
|
25 |
define('AUTH_DISALLOW', 2); |
|
26 |
define('AUTH_DENY', 1); // A Deny setting overrides *everything* |
|
27 |
||
28 |
define('ACL_TYPE_GROUP', 1); |
|
29 |
define('ACL_TYPE_USER', 2); |
|
30 |
define('ACL_TYPE_PRESET', 3); |
|
31 |
||
32 |
// System groups |
|
33 |
define('GROUP_ID_ADMIN', 2); |
|
34 |
define('GROUP_ID_MOD', 3); |
|
35 |
||
36 |
// |
|
37 |
// User types - don't touch these |
|
38 |
// |
|
39 |
||
40 |
// User can do absolutely everything |
|
41 |
define('USER_LEVEL_ADMIN', 9); |
|
42 |
||
43 |
// User can edit/[un]approve comments and do some basic administration |
|
44 |
define('USER_LEVEL_MOD', 5); |
|
45 |
||
46 |
// Default for members. When authed at this level, the user can change his/her password. |
|
47 |
define('USER_LEVEL_CHPREF', 3); |
|
48 |
||
49 |
// The level that you will be running at most of the time |
|
50 |
define('USER_LEVEL_MEMBER', 2); |
|
51 |
||
52 |
// Special level for guests |
|
53 |
define('USER_LEVEL_GUEST', 1); |
|
54 |
||
55 |
// Group status |
|
56 |
||
57 |
define('GROUP_CLOSED', 1); |
|
58 |
define('GROUP_REQUEST', 2); |
|
59 |
define('GROUP_HIDDEN', 3); |
|
60 |
define('GROUP_OPEN', 4); |
|
61 |
||
62 |
// Other stuff |
|
63 |
||
64 |
define('MAX_PMS_PER_BATCH', 7); // The maximum number of users that users can send PMs to in one go; restriction does not apply to users with mod_misc rights |
|
65 |
define('SEARCH_RESULTS_PER_PAGE', 10); |
|
66 |
define('MYSQL_MAX_PACKET_SIZE', 1048576); // 1MB; this is the default in MySQL 4.x I think |
|
67 |
define('SEARCH_MODE', 'FULLTEXT'); // Can be FULLTEXT or BUILTIN |
|
68 |
||
69 |
// Sidebar |
|
70 |
||
71 |
define('BLOCK_WIKIFORMAT', 0); |
|
72 |
define('BLOCK_TEMPLATEFORMAT', 1); |
|
73 |
define('BLOCK_HTML', 2); |
|
74 |
define('BLOCK_PHP', 3); |
|
75 |
define('BLOCK_PLUGIN', 4); |
|
76 |
define('SIDEBAR_LEFT', 1); |
|
77 |
define('SIDEBAR_RIGHT', 2); |
|
78 |
||
79 |
define('GENERAL_ERROR', 'General error'); |
|
80 |
define('GENERAL_NOTICE', 'Information'); |
|
81 |
define('CRITICAL_ERROR', 'Critical error'); |
|
82 |
||
83 |
// You can un-comment the next line to require database backups to be encrypted using the site's unique key. |
|
84 |
// This keeps the file safe in transit, but also prevents any type of editing to the file. This is NOT |
|
85 |
// recommended except for tiny sites because encrypting an average of 2MB of data will take a while. |
|
86 |
// define('SQL_BACKUP_CRYPT', ''); |
|
87 |
||
88 |
// Security |
|
89 |
||
90 |
define('AES_BITS', 192); // AES cipher strength - defaults to 192 and cannot be changed after installation |
|
91 |
||
92 |
// Define this to enable Mcrypt support which makes encryption work faster. This is only triggered if Mcrypt support is detected. |
|
93 |
// THIS IS DISABLED BECAUSE MCRYPT DOES NOT SEEM TO SUPPORT THE AES BLOCK SIZES THAT ENANO USES. |
|
94 |
//define('MCRYPT_ACCEL', ''); |
|
95 |
||
96 |
//if(defined('MCRYPT_RIJNDAEL_' . AES_BITS)) |
|
97 |
//{ |
|
98 |
// eval('$bs = MCRYPT_RIJNDAEL_' . AES_BITS . ';'); |
|
99 |
// $bs = mcrypt_module_get_algo_block_size($bs); |
|
100 |
// $bs = $bs * 8; |
|
101 |
// define('AES_BLOCKSIZE', $bs); |
|
102 |
//} |
|
103 |
// else |
|
104 |
// { |
|
105 |
// define('AES_BLOCKSIZE', AES_BITS); |
|
106 |
// } |
|
107 |
||
108 |
define('AES_BLOCKSIZE', 128); |
|
109 |
||
110 |
/* |
|
111 |
* MIMETYPES |
|
112 |
* |
|
113 |
* This array defines the 166 known MIME types used by the Enano file-extension filter. Whether extensions are allowed or not is |
|
114 |
* determined by a bitfield in the config table. |
|
115 |
*/ |
|
116 |
||
117 |
global $mime_types, $mimetype_exps, $mimetype_extlist; |
|
118 |
||
119 |
// IMPORTANT: this array can NEVER have items removed from it or key indexes changed |
|
120 |
$mime_types = Array ( |
|
121 |
'ai' => 'application/postscript', |
|
122 |
'aif' => 'audio/x-aiff', |
|
123 |
'aifc' => 'audio/x-aiff', |
|
124 |
'aiff' => 'audio/x-aiff', |
|
125 |
'au' => 'audio/basic', |
|
126 |
'avi' => 'video/x-msvideo', |
|
127 |
'bcpio' => 'application/x-bcpio', |
|
128 |
'bin' => 'application/octet-stream', |
|
129 |
'bmp' => 'image/bmp', |
|
130 |
'bz2' => 'application/x-bzip', |
|
131 |
'cdf' => 'application/x-netcdf', |
|
132 |
'cgm' => 'image/cgm', |
|
133 |
'class' => 'application/octet-stream', |
|
134 |
'cpio' => 'application/x-cpio', |
|
135 |
'cpt' => 'application/mac-compactpro', |
|
136 |
'csh' => 'application/x-csh', |
|
137 |
'css' => 'text/css', |
|
138 |
'dcr' => 'application/x-director', |
|
139 |
'dir' => 'application/x-director', |
|
140 |
'djv' => 'image/vnd.djvu', |
|
141 |
'djvu' => 'image/vnd.djvu', |
|
142 |
'dll' => 'application/octet-stream', |
|
143 |
'dms' => 'application/octet-stream', |
|
144 |
'doc' => 'application/msword', |
|
145 |
'dtd' => 'application/xml-dtd', |
|
146 |
'dvi' => 'application/x-dvi', |
|
147 |
'dxr' => 'application/x-director', |
|
148 |
'eps' => 'application/postscript', |
|
149 |
'etx' => 'text/x-setext', |
|
150 |
'exe' => 'application/octet-stream', |
|
151 |
'ez' => 'application/andrew-inset', |
|
152 |
'gif' => 'image/gif', |
|
153 |
'gram' => 'application/srgs', |
|
154 |
'grxml' => 'application/srgs+xml', |
|
155 |
'gtar' => 'application/x-gtar', |
|
156 |
'gz' => 'application/x-gzip', |
|
157 |
'hdf' => 'application/x-hdf', |
|
158 |
'hqx' => 'application/mac-binhex40', |
|
159 |
'htm' => 'text/html', |
|
160 |
'html' => 'text/html', |
|
161 |
'ice' => 'x-conference/x-cooltalk', |
|
162 |
'ico' => 'image/x-icon', |
|
163 |
'ics' => 'text/calendar', |
|
164 |
'ief' => 'image/ief', |
|
165 |
'ifb' => 'text/calendar', |
|
166 |
'iges' => 'model/iges', |
|
167 |
'igs' => 'model/iges', |
|
168 |
'jar' => 'application/zip', |
|
169 |
'jpe' => 'image/jpeg', |
|
170 |
'jpeg' => 'image/jpeg', |
|
171 |
'jpg' => 'image/jpeg', |
|
172 |
'js' => 'application/x-javascript', |
|
173 |
'kar' => 'audio/midi', |
|
174 |
'latex' => 'application/x-latex', |
|
175 |
'lha' => 'application/octet-stream', |
|
176 |
'lzh' => 'application/octet-stream', |
|
177 |
'm3u' => 'audio/x-mpegurl', |
|
178 |
'man' => 'application/x-troff-man', |
|
179 |
'mathml' => 'application/mathml+xml', |
|
180 |
'me' => 'application/x-troff-me', |
|
181 |
'mesh' => 'model/mesh', |
|
182 |
'mid' => 'audio/midi', |
|
183 |
'midi' => 'audio/midi', |
|
184 |
'mif' => 'application/vnd.mif', |
|
185 |
'mov' => 'video/quicktime', |
|
186 |
'movie' => 'video/x-sgi-movie', |
|
187 |
'mp2' => 'audio/mpeg', |
|
188 |
'mp3' => 'audio/mpeg', |
|
189 |
'mpe' => 'video/mpeg', |
|
190 |
'mpeg' => 'video/mpeg', |
|
191 |
'mpg' => 'video/mpeg', |
|
192 |
'mpga' => 'audio/mpeg', |
|
193 |
'ms' => 'application/x-troff-ms', |
|
194 |
'msh' => 'model/mesh', |
|
195 |
'mxu' => 'video/vnd.mpegurl', |
|
196 |
'nc' => 'application/x-netcdf', |
|
197 |
'oda' => 'application/oda', |
|
198 |
'ogg' => 'application/ogg', |
|
199 |
'ogm' => 'application/ogg', |
|
200 |
'pbm' => 'image/x-portable-bitmap', |
|
201 |
'pdb' => 'chemical/x-pdb', |
|
202 |
'pdf' => 'application/pdf', |
|
203 |
'pgm' => 'image/x-portable-graymap', |
|
204 |
'pgn' => 'application/x-chess-pgn', |
|
205 |
'png' => 'image/png', |
|
206 |
'pnm' => 'image/x-portable-anymap', |
|
207 |
'ppm' => 'image/x-portable-pixmap', |
|
208 |
'ppt' => 'application/vnd.ms-powerpoint', |
|
209 |
'ps' => 'application/postscript', |
|
210 |
'psd' => 'image/x-photoshop', |
|
211 |
'qt' => 'video/quicktime', |
|
212 |
'ra' => 'audio/x-realaudio', |
|
213 |
'ram' => 'audio/x-pn-realaudio', |
|
214 |
'ras' => 'image/x-cmu-raster', |
|
215 |
'rdf' => 'text/xml', |
|
216 |
'rgb' => 'image/x-rgb', |
|
217 |
'rm' => 'audio/x-pn-realaudio', |
|
218 |
'roff' => 'application/x-troff', |
|
219 |
'rpm' => 'audio/x-pn-realaudio-plugin', |
|
220 |
'rss' => 'text/xml', |
|
221 |
'rtf' => 'text/rtf', |
|
222 |
'rtx' => 'text/richtext', |
|
223 |
'sgm' => 'text/sgml', |
|
224 |
'sgml' => 'text/sgml', |
|
225 |
'sh' => 'application/x-sh', |
|
226 |
'shar' => 'application/x-shar', |
|
227 |
'silo' => 'model/mesh', |
|
228 |
'sit' => 'application/x-stuffit', |
|
229 |
'skd' => 'application/x-koan', |
|
230 |
'skm' => 'application/x-koan', |
|
231 |
'skp' => 'application/x-koan', |
|
232 |
'skt' => 'application/x-koan', |
|
233 |
'smi' => 'application/smil', |
|
234 |
'smil' => 'application/smil', |
|
235 |
'snd' => 'audio/basic', |
|
236 |
'so' => 'application/octet-stream', |
|
237 |
'spl' => 'application/x-futuresplash', |
|
238 |
'src' => 'application/x-wais-source', |
|
239 |
'stc' => 'application/zip', |
|
240 |
'std' => 'application/zip', |
|
241 |
'sti' => 'application/zip', |
|
242 |
'stm' => 'application/zip', |
|
243 |
'stw' => 'application/zip', |
|
244 |
'sv4cpio' => 'application/x-sv4cpio', |
|
245 |
'sv4crc' => 'application/x-sv4crc', |
|
246 |
'svg' => 'image/svg+xml', |
|
247 |
'swf' => 'application/x-shockwave-flash', |
|
248 |
'sxc' => 'application/zip', |
|
249 |
'sxd' => 'application/zip', |
|
250 |
'sxi' => 'application/zip', |
|
251 |
'sxm' => 'application/zip', |
|
252 |
'sxw' => 'application/zip', |
|
253 |
't' => 'application/x-troff', |
|
254 |
'tar' => 'application/x-tar', |
|
255 |
'tcl' => 'application/x-tcl', |
|
256 |
'tex' => 'application/x-tex', |
|
257 |
'texi' => 'application/x-texinfo', |
|
258 |
'texinfo' => 'application/x-texinfo', |
|
259 |
'tif' => 'image/tiff', |
|
260 |
'tiff' => 'image/tiff', |
|
261 |
'tr' => 'application/x-troff', |
|
262 |
'tsv' => 'text/tab-separated-values', |
|
263 |
'txt' => 'text/plain', |
|
264 |
'ustar' => 'application/x-ustar', |
|
265 |
'vcd' => 'application/x-cdlink', |
|
266 |
'vrml' => 'model/vrml', |
|
267 |
'vxml' => 'application/voicexml+xml', |
|
268 |
'wav' => 'audio/x-wav', |
|
269 |
'wbmp' => 'image/vnd.wap.wbmp', |
|
270 |
'wbxml' => 'application/vnd.wap.wbxml', |
|
271 |
'wml' => 'text/vnd.wap.wml', |
|
272 |
'wmlc' => 'application/vnd.wap.wmlc', |
|
273 |
'wmls' => 'text/vnd.wap.wmlscript', |
|
274 |
'wmlsc' => 'application/vnd.wap.wmlscriptc', |
|
275 |
'wrl' => 'model/vrml', |
|
276 |
'xbm' => 'image/x-xbitmap', |
|
277 |
'xcf' => 'image/xcf', |
|
278 |
'xht' => 'application/xhtml+xml', |
|
279 |
'xhtml' => 'application/xhtml+xml', |
|
280 |
'xls' => 'application/vnd.ms-excel', |
|
281 |
'xml' => 'text/xml', |
|
282 |
'xpi' => 'application/zip', |
|
283 |
'xpm' => 'image/x-xpixmap', |
|
284 |
'xsl' => 'text/xml', |
|
285 |
'xslt' => 'text/xml', |
|
286 |
'xwd' => 'image/x-xwindowdump', |
|
287 |
'xyz' => 'chemical/x-xyz', |
|
288 |
'zip' => 'application/zip', |
|
289 |
); |
|
290 |
||
291 |
$mimetype_extlist = Array( |
|
292 |
'application/andrew-inset'=>'ez', |
|
293 |
'application/mac-binhex40'=>'hqx', |
|
294 |
'application/mac-compactpro'=>'cpt', |
|
295 |
'application/mathml+xml'=>'mathml', |
|
296 |
'application/msword'=>'doc', |
|
297 |
'application/octet-stream'=>'bin dms lha lzh exe class so dll', |
|
298 |
'application/oda'=>'oda', |
|
299 |
'application/ogg'=>'ogg ogm', |
|
300 |
'application/pdf'=>'pdf', |
|
301 |
'application/postscript'=>'ai eps ps', |
|
302 |
'application/rdf+xml'=>'rdf', |
|
303 |
'application/smil'=>'smi smil', |
|
304 |
'application/srgs'=>'gram', |
|
305 |
'application/srgs+xml'=>'grxml', |
|
306 |
'application/vnd.mif'=>'mif', |
|
307 |
'application/vnd.ms-excel'=>'xls', |
|
308 |
'application/vnd.ms-powerpoint'=>'ppt', |
|
309 |
'application/vnd.wap.wbxml'=>'wbxml', |
|
310 |
'application/vnd.wap.wmlc'=>'wmlc', |
|
311 |
'application/vnd.wap.wmlscriptc'=>'wmlsc', |
|
312 |
'application/voicexml+xml'=>'vxml', |
|
313 |
'application/x-bcpio'=>'bcpio', |
|
314 |
'application/x-bzip'=>'gz bz2', |
|
315 |
'application/x-cdlink'=>'vcd', |
|
316 |
'application/x-chess-pgn'=>'pgn', |
|
317 |
'application/x-cpio'=>'cpio', |
|
318 |
'application/x-csh'=>'csh', |
|
319 |
'application/x-director'=>'dcr dir dxr', |
|
320 |
'application/x-dvi'=>'dvi', |
|
321 |
'application/x-futuresplash'=>'spl', |
|
322 |
'application/x-gtar'=>'gtar tar', |
|
323 |
'application/x-gzip'=>'gz', |
|
324 |
'application/x-hdf'=>'hdf', |
|
325 |
'application/x-jar'=>'jar', |
|
326 |
'application/x-javascript'=>'js', |
|
327 |
'application/x-koan'=>'skp skd skt skm', |
|
328 |
'application/x-latex'=>'latex', |
|
329 |
'application/x-netcdf'=>'nc cdf', |
|
330 |
'application/x-sh'=>'sh', |
|
331 |
'application/x-shar'=>'shar', |
|
332 |
'application/x-shockwave-flash'=>'swf', |
|
333 |
'application/x-stuffit'=>'sit', |
|
334 |
'application/x-sv4cpio'=>'sv4cpio', |
|
335 |
'application/x-sv4crc'=>'sv4crc', |
|
336 |
'application/x-tar'=>'tar', |
|
337 |
'application/x-tcl'=>'tcl', |
|
338 |
'application/x-tex'=>'tex', |
|
339 |
'application/x-texinfo'=>'texinfo texi', |
|
340 |
'application/x-troff'=>'t tr roff', |
|
341 |
'application/x-troff-man'=>'man', |
|
342 |
'application/x-troff-me'=>'me', |
|
343 |
'application/x-troff-ms'=>'ms', |
|
344 |
'application/x-ustar'=>'ustar', |
|
345 |
'application/x-wais-source'=>'src', |
|
346 |
'application/x-xpinstall'=>'xpi', |
|
347 |
'application/xhtml+xml'=>'xhtml xht', |
|
348 |
'application/xslt+xml'=>'xslt', |
|
349 |
'application/xml'=>'xml xsl', |
|
350 |
'application/xml-dtd'=>'dtd', |
|
351 |
'application/zip'=>'zip jar xpi sxc stc sxd std sxi sti sxm stm sxw stw ', |
|
352 |
'audio/basic'=>'au snd', |
|
353 |
'audio/midi'=>'mid midi kar', |
|
354 |
'audio/mpeg'=>'mpga mp2 mp3', |
|
355 |
'audio/ogg'=>'ogg ', |
|
356 |
'audio/x-aiff'=>'aif aiff aifc', |
|
357 |
'audio/x-mpegurl'=>'m3u', |
|
358 |
'audio/x-ogg'=>'ogg ', |
|
359 |
'audio/x-pn-realaudio'=>'ram rm', |
|
360 |
'audio/x-pn-realaudio-plugin'=>'rpm', |
|
361 |
'audio/x-realaudio'=>'ra', |
|
362 |
'audio/x-wav'=>'wav', |
|
363 |
'chemical/x-pdb'=>'pdb', |
|
364 |
'chemical/x-xyz'=>'xyz', |
|
365 |
'image/bmp'=>'bmp', |
|
366 |
'image/cgm'=>'cgm', |
|
367 |
'image/gif'=>'gif', |
|
368 |
'image/ief'=>'ief', |
|
369 |
'image/jpeg'=>'jpeg jpg jpe', |
|
370 |
'image/png'=>'png', |
|
371 |
'image/svg+xml'=>'svg', |
|
372 |
'image/tiff'=>'tiff tif', |
|
373 |
'image/vnd.djvu'=>'djvu djv', |
|
374 |
'image/vnd.wap.wbmp'=>'wbmp', |
|
375 |
'image/x-cmu-raster'=>'ras', |
|
376 |
'image/x-icon'=>'ico', |
|
377 |
'image/x-portable-anymap'=>'pnm', |
|
378 |
'image/x-portable-bitmap'=>'pbm', |
|
379 |
'image/x-portable-graymap'=>'pgm', |
|
380 |
'image/x-portable-pixmap'=>'ppm', |
|
381 |
'image/x-rgb'=>'rgb', |
|
382 |
'image/x-photoshop'=>'psd', |
|
383 |
'image/x-xbitmap'=>'xbm', |
|
384 |
'image/x-xpixmap'=>'xpm', |
|
385 |
'image/x-xwindowdump'=>'xwd', |
|
386 |
'model/iges'=>'igs iges', |
|
387 |
'model/mesh'=>'msh mesh silo', |
|
388 |
'model/vrml'=>'wrl vrml', |
|
389 |
'text/calendar'=>'ics ifb', |
|
390 |
'text/css'=>'css', |
|
391 |
'text/html'=>'html htm', |
|
392 |
'text/plain'=>'txt', |
|
393 |
'text/richtext'=>'rtx', |
|
394 |
'text/rtf'=>'rtf', |
|
395 |
'text/sgml'=>'sgml sgm', |
|
396 |
'text/tab-separated-values'=>'tsv', |
|
397 |
'text/vnd.wap.wml'=>'wml', |
|
398 |
'text/vnd.wap.wmlscript'=>'wmls', |
|
399 |
'text/xml'=>'xml xsl xslt rss rdf', |
|
400 |
'text/x-setext'=>'etx', |
|
401 |
'video/mpeg'=>'mpeg mpg mpe', |
|
402 |
'video/ogg'=>'ogm ogg', |
|
403 |
'video/quicktime'=>'qt mov', |
|
404 |
'video/vnd.mpegurl'=>'mxu', |
|
405 |
'video/x-msvideo'=>'avi', |
|
406 |
'video/x-ogg'=>'ogm ogg', |
|
407 |
'video/x-sgi-movie'=>'movie', |
|
408 |
'x-conference/x-cooltalk'=>'ice', |
|
409 |
// Added for Enano |
|
410 |
'image/xcf' => 'xcf xcfbz2 xcf.bz2', |
|
411 |
); |
|
412 |
||
413 |
$k = array_keys($mime_types); |
|
414 |
$mimetype_exps = Array(); |
|
415 |
foreach($k as $s => $x) |
|
416 |
{ |
|
417 |
$mimetype_exps[$x] = pow(2, $s); |
|
418 |
} |
|
419 |
||
420 |
unset($k, $s, $x); |