Merged revisions 10677-11457 via svnmerge from
[wvapps.git] / gracefultavi / lib / init.php
blob8b704bdb8df52f812a9672f8ae0a6df9f7bbc54c
1 <?php
3 // General initialization code.
5 // Flag character for parse engine.
6 // Note: Must ABSOLUTELY be here, it is used in config.php.
7 $FlgChr = chr(255);
9 require('lib/defaults.php');
10 require('config.php');
11 require('lib/url.php');
12 require('lib/messages.php');
13 require('lib/pagestore.php');
14 require('lib/rate.php');
16 $PgTbl = $DBTablePrefix . 'pages';
17 $CoTbl = $DBTablePrefix . 'content';
18 $IwTbl = $DBTablePrefix . 'interwiki';
19 $SwTbl = $DBTablePrefix . 'sisterwiki';
20 $LkTbl = $DBTablePrefix . 'links';
21 $RtTbl = $DBTablePrefix . 'rate';
22 $RemTbl = $DBTablePrefix . 'remote_pages';
23 $PaTbl = $DBTablePrefix . 'parents';
24 $SuTbl = $DBTablePrefix . 'subscribe';
25 $VeTbl = $DBTablePrefix . 'version';
26 // Don't forget to update pagestore->lock() when adding new tables.
28 // page attributes
29 define('MUTABLE_ATTR', 1);
30 define('TEMPLATE_ATTR', 2);
31 //define('', 4);
32 //define('', 8);
33 //define('', 16);
35 $pagestore = new PageStore();
36 $db = $pagestore->dbh;
38 $Entity = array(); // Global parser entity list.
40 // Strip slashes from incoming variables.
41 if(get_magic_quotes_gpc())
43 if(isset($document)) $document = stripslashes($document);
44 if(isset($text_before)) $text_before = stripslashes($text_before);
45 if(isset($text_after)) $text_after = stripslashes($text_after);
46 if(isset($categories)) $categories = stripslashes($categories);
47 if(isset($comment)) $comment = stripslashes($comment);
48 if(isset($page)) $page = stripslashes($page);
49 if(isset($nickname)) $nickname = stripslashes($nickname);
52 // Read username from htaccess login
53 if(isset($_SERVER["PHP_AUTH_USER"]))
54 $UserName = $_SERVER["PHP_AUTH_USER"];
55 else if(isset($_SERVER["REMOTE_USER"]))
56 $UserName = $_SERVER["REMOTE_USER"];
58 // Read user preferences from cookie.
59 $prefstr = isset($HTTP_COOKIE_VARS[$CookieName]) ?
60 $HTTP_COOKIE_VARS[$CookieName] : '';
62 if(!empty($prefstr))
64 if(ereg("rows=([[:digit:]]+)", $prefstr, $result))
65 { $EditRows = $result[1]; }
66 if(ereg("nickname=([^&]*)", $prefstr, $result))
68 $NickName = rawurldecode($result[1]);
69 if (posix_getpwnam($NickName) !== false) { $NickName = ''; }
71 if(ereg("days=([[:digit:]]+)", $prefstr, $result))
72 { $DayLimit = $result[1]; }
73 if(ereg("min=([[:digit:]]+)", $prefstr, $result))
74 { $MinEntries = $result[1]; }
75 if(ereg("hotpages=([[:digit:]]+)", $prefstr, $result))
76 { $UseHotPages = $result[1]; }
77 if(ereg("hist=([[:digit:]]+)", $prefstr, $result))
78 { $HistMax = $result[1]; }
79 if(ereg("tzoff=(-?[[:digit:]]+)", $prefstr, $result))
80 { $TimeZoneOff = $result[1]; }
83 if($Charset != '')
84 { header("Content-Type: text/html; charset=$Charset"); }
86 $ViewMacroEngine=array();
88 if(!$WorkingDirectory) $WorkingDirectory = ".";
90 if($dir=opendir("$WorkingDirectory/macros"))
92 while($file=readdir($dir))
94 if ($file != ".." && $file != ".")
96 $pieces=explode(".", $file);
97 $name=$pieces[0];
98 if($pieces[count($pieces)-1]=="php")
100 require_once("macros/$file");
101 eval("\$ViewMacroEngine['$name']=new Macro_$name;");
102 if(isset($ViewMacroEngine[$name]->trigger))
104 // Macro has an alternate trigger defined, use that
105 // instead of the macro name.
106 $ViewMacroEngine[$ViewMacroEngine[$name]->trigger]=$ViewMacroEngine[$pieces[0]];
107 $name=$ViewMacroEngine[$name]->trigger;
108 unset($ViewMacroEngine[$pieces[0]]);
113 closedir($dir);