author | Dan |
Tue, 20 Apr 2010 11:38:24 -0400 | |
changeset 1244 | ba80cfffb673 |
parent 1227 | bdac73ed481e |
child 1251 | d543689ed2eb |
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 |
|
1081
745200a9cc2a
Fixed some upgrade bugs; added support for choosing one's own date/time formats; rebrand as 1.1.7
Dan
parents:
956
diff
changeset
|
5 |
* Copyright (C) 2006-2009 Dan Fuhry |
1 | 6 |
* |
7 |
* This program is Free Software; you can redistribute and/or modify it under the terms of the GNU General Public License |
|
8 |
* as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. |
|
9 |
* |
|
10 |
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied |
|
11 |
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for details. |
|
12 |
*/ |
|
311
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
13 |
|
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
14 |
/** |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
15 |
* The main loader script that initializes everything about Enano in the proper order. Prepare to get |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
16 |
* redirected if you don't have $_GET['title'] or $_SERVER['PATH_INFO'] set up. |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
17 |
* @package Enano |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
18 |
* @subpackage Core |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
19 |
* @copyright See header block |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
20 |
*/ |
1 | 21 |
|
311
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
22 |
// Make sure we don't have an attempt to inject globals (register_globals on) |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
23 |
if ( isset($_REQUEST['GLOBALS']) ) |
1 | 24 |
{ |
1227
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
25 |
?> |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
26 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"><html><head><title>Hacking Attempt</title><meta http-equiv="Content-type" content="text/html; charset=utf-8" /></head><style type="text/css">body{background-color:#000;color:#CCC;font-family:trebuchet ms,sans-serif;font-size:9pt;}a{color:#FFF;}</style><body><p>Hacking attempt using <a href="http://www.hardened-php.net/index.76.html">PHP $GLOBALS overwrite vulnerability</a> detected, reported to admin</p><p>You're worse than this guy! Unless you are this guy...</p><p id="billp"><img alt=" " src="about:blank" id="billi" /></p><script type="text/javascript">// <![CDATA[ |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
27 |
window.onload=function(){counter();setInterval('counter();', 1000);};var text=false;var cnt=10;function counter(){if(!text){text=document.createElement('span');text.id='billc';text.innerHTML=cnt;text.style.fontSize='96pt';text.style.color='#FF0000';p=document.getElementById('billp');p.appendChild(text);}else{if(cnt==1){document.getElementById('billi').src='http://upload.wikimedia.org/wikipedia/commons/7/7f/Bill_Gates_2004_cr.jpg';document.getElementById('billc').innerHTML='';return;}cnt--;document.getElementById('billc').innerHTML=cnt+' ';}} |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
28 |
// ]]> |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
29 |
</script><p><span style="color:black;">You been f***ed by Enano | valid XHTML 1.1</span></p></body></html> |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
30 |
<?php |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
31 |
exit; |
1 | 32 |
} |
33 |
||
544
81b4499a963e
Added TinyMCE compression support and made some supporting modifications to common.php
Dan
parents:
541
diff
changeset
|
34 |
// only do this if it hasn't been done yet |
81b4499a963e
Added TinyMCE compression support and made some supporting modifications to common.php
Dan
parents:
541
diff
changeset
|
35 |
if ( !defined('ENANO_COMMON_ROOT_LOADED') ) |
81b4499a963e
Added TinyMCE compression support and made some supporting modifications to common.php
Dan
parents:
541
diff
changeset
|
36 |
{ |
81b4499a963e
Added TinyMCE compression support and made some supporting modifications to common.php
Dan
parents:
541
diff
changeset
|
37 |
|
81b4499a963e
Added TinyMCE compression support and made some supporting modifications to common.php
Dan
parents:
541
diff
changeset
|
38 |
// log this |
81b4499a963e
Added TinyMCE compression support and made some supporting modifications to common.php
Dan
parents:
541
diff
changeset
|
39 |
define('ENANO_COMMON_ROOT_LOADED', 1); |
81b4499a963e
Added TinyMCE compression support and made some supporting modifications to common.php
Dan
parents:
541
diff
changeset
|
40 |
|
311
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
41 |
// Our version number |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
42 |
// This needs to match the version number in the database. This number should |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
43 |
// be the expected output of enano_version(), which will always be in the |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
44 |
// format of 1.0.2, 1.0.2a1, 1.0.2b1, 1.0.2RC1 |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
45 |
// You'll want to change this for custom distributions. |
1195 | 46 |
$version = '1.1.8'; |
1 | 47 |
|
311
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
48 |
/** |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
49 |
* Returns a floating-point number with the current UNIX timestamp in microseconds. Defined very early because we gotta call it |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
50 |
* from very early on in the script to measure the starting time of Enano. |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
51 |
* @return float |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
52 |
*/ |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
53 |
|
442 | 54 |
// First check to see if something already declared this function.... it happens often. |
55 |
if ( !function_exists('microtime_float') ) |
|
1 | 56 |
{ |
1227
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
57 |
function microtime_float() |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
58 |
{ |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
59 |
list($usec, $sec) = explode(" ", microtime()); |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
60 |
return ((float)$usec + (float)$sec); |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
61 |
} |
1 | 62 |
} |
63 |
||
311
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
64 |
// Determine starting time |
1 | 65 |
global $_starttime; |
66 |
$_starttime = microtime_float(); |
|
67 |
||
311
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
68 |
// Verbose error reporting |
443
a48b72312f6d
Fix undefined E_STRICT under PHP 4; add PHP 4 deprecation notice in admin panel
Dan
parents:
442
diff
changeset
|
69 |
if ( defined('E_STRICT') ) |
a48b72312f6d
Fix undefined E_STRICT under PHP 4; add PHP 4 deprecation notice in admin panel
Dan
parents:
442
diff
changeset
|
70 |
{ |
1227
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
71 |
// PHP5, PHP6 |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
72 |
error_reporting(E_ALL & ~E_STRICT); |
443
a48b72312f6d
Fix undefined E_STRICT under PHP 4; add PHP 4 deprecation notice in admin panel
Dan
parents:
442
diff
changeset
|
73 |
} |
a48b72312f6d
Fix undefined E_STRICT under PHP 4; add PHP 4 deprecation notice in admin panel
Dan
parents:
442
diff
changeset
|
74 |
else |
a48b72312f6d
Fix undefined E_STRICT under PHP 4; add PHP 4 deprecation notice in admin panel
Dan
parents:
442
diff
changeset
|
75 |
{ |
1227
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
76 |
// PHP4 |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
77 |
error_reporting(E_ALL); |
443
a48b72312f6d
Fix undefined E_STRICT under PHP 4; add PHP 4 deprecation notice in admin panel
Dan
parents:
442
diff
changeset
|
78 |
} |
1 | 79 |
|
311
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
80 |
// |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
81 |
// Determine the location of Enano as an absolute path. |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
82 |
// |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
83 |
|
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
84 |
// We need to see if this is a specially marked Enano development server. You can create an Enano |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
85 |
// development server by cloning the Mercurial repository into a directory named repo, and then |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
86 |
// using symlinks to reference the original files so as to segregate unique files from non-unique |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
87 |
// and distribution-standard ones. Enano will pivot its root directory accordingly if the file |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
88 |
// .enanodev is found in the Enano root (not /repo/). |
470
a044ad834691
[minor] fix version number on license block comment in common.php
Dan
parents:
468
diff
changeset
|
89 |
if ( strpos(__FILE__, '/repo/') && file_exists(dirname(__FILE__) . '/../../.enanodev') ) |
2
0931d60f5bdb
Adding compatibility patch for Enano dev servers to common.php
dan@scribus.fuhry.local.fuhry.local
parents:
1
diff
changeset
|
90 |
{ |
1227
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
91 |
// We have a development directory. Remove /repo/ from the picture. |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
92 |
$filename = str_replace('/repo/', '/', __FILE__); |
2
0931d60f5bdb
Adding compatibility patch for Enano dev servers to common.php
dan@scribus.fuhry.local.fuhry.local
parents:
1
diff
changeset
|
93 |
} |
0931d60f5bdb
Adding compatibility patch for Enano dev servers to common.php
dan@scribus.fuhry.local.fuhry.local
parents:
1
diff
changeset
|
94 |
else |
0931d60f5bdb
Adding compatibility patch for Enano dev servers to common.php
dan@scribus.fuhry.local.fuhry.local
parents:
1
diff
changeset
|
95 |
{ |
1227
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
96 |
// Standard Enano installation |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
97 |
$filename = __FILE__; |
2
0931d60f5bdb
Adding compatibility patch for Enano dev servers to common.php
dan@scribus.fuhry.local.fuhry.local
parents:
1
diff
changeset
|
98 |
} |
0931d60f5bdb
Adding compatibility patch for Enano dev servers to common.php
dan@scribus.fuhry.local.fuhry.local
parents:
1
diff
changeset
|
99 |
|
311
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
100 |
// ENANO_ROOT is sometimes defined by plugins like AjIM that need the constant before the Enano API is initialized |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
101 |
if ( !defined('ENANO_ROOT') ) |
1227
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
102 |
define('ENANO_ROOT', dirname(dirname($filename))); |
1 | 103 |
|
311
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
104 |
// We deprecated debugConsole in 1.0.2 because it was never used and there were a lot of unneeded debugging points in the code. |
1 | 105 |
|
311
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
106 |
// _nightly.php is used to tag non-Mercurial-generated nightly builds |
1 | 107 |
if ( file_exists( ENANO_ROOT . '/_nightly.php') ) |
1227
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
108 |
require(ENANO_ROOT.'/_nightly.php'); |
1 | 109 |
|
311
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
110 |
// List of scheduled tasks (don't change this manually, use register_cron_task()) |
191
3dbe848431b0
Added a cron framework. Currently tasks will not be run; will implement into templates in next commit
Dan
parents:
155
diff
changeset
|
111 |
$cron_tasks = array(); |
3dbe848431b0
Added a cron framework. Currently tasks will not be run; will implement into templates in next commit
Dan
parents:
155
diff
changeset
|
112 |
|
544
81b4499a963e
Added TinyMCE compression support and made some supporting modifications to common.php
Dan
parents:
541
diff
changeset
|
113 |
} // check for ENANO_COMMON_ROOT_LOADED |
81b4499a963e
Added TinyMCE compression support and made some supporting modifications to common.php
Dan
parents:
541
diff
changeset
|
114 |
else |
81b4499a963e
Added TinyMCE compression support and made some supporting modifications to common.php
Dan
parents:
541
diff
changeset
|
115 |
{ |
1227
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
116 |
// loading a second time |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
117 |
if ( !defined('ENANO_COMMON_ROOT_LOADED_MULTI') ) |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
118 |
{ |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
119 |
define('ENANO_COMMON_ROOT_LOADED_MULTI', 1); |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
120 |
} |
544
81b4499a963e
Added TinyMCE compression support and made some supporting modifications to common.php
Dan
parents:
541
diff
changeset
|
121 |
} |
81b4499a963e
Added TinyMCE compression support and made some supporting modifications to common.php
Dan
parents:
541
diff
changeset
|
122 |
|
81b4499a963e
Added TinyMCE compression support and made some supporting modifications to common.php
Dan
parents:
541
diff
changeset
|
123 |
// If all we really need is the root directory, just leave now |
81b4499a963e
Added TinyMCE compression support and made some supporting modifications to common.php
Dan
parents:
541
diff
changeset
|
124 |
// checking for ENANO_COMMON_ROOT_LOADED_MULTI here means that if common |
81b4499a963e
Added TinyMCE compression support and made some supporting modifications to common.php
Dan
parents:
541
diff
changeset
|
125 |
// is included a second time, the rest of Enano will load. |
81b4499a963e
Added TinyMCE compression support and made some supporting modifications to common.php
Dan
parents:
541
diff
changeset
|
126 |
if ( defined('ENANO_COMMON_ROOTONLY') && !defined('ENANO_COMMON_ROOT_LOADED_MULTI') ) |
81b4499a963e
Added TinyMCE compression support and made some supporting modifications to common.php
Dan
parents:
541
diff
changeset
|
127 |
{ |
1227
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
128 |
return true; |
544
81b4499a963e
Added TinyMCE compression support and made some supporting modifications to common.php
Dan
parents:
541
diff
changeset
|
129 |
} |
81b4499a963e
Added TinyMCE compression support and made some supporting modifications to common.php
Dan
parents:
541
diff
changeset
|
130 |
|
1 | 131 |
// Start including files. LOTS of files. Yeah! |
132 |
require_once(ENANO_ROOT.'/includes/constants.php'); |
|
133 |
require_once(ENANO_ROOT.'/includes/functions.php'); |
|
134 |
require_once(ENANO_ROOT.'/includes/dbal.php'); |
|
135 |
require_once(ENANO_ROOT.'/includes/paths.php'); |
|
136 |
require_once(ENANO_ROOT.'/includes/sessions.php'); |
|
137 |
require_once(ENANO_ROOT.'/includes/template.php'); |
|
800
9cdfe82c56cd
Major underlying changes to namespace handling. Each namespace is handled by its own class which extends Namespace_Default. Much greater customization/pluggability potential, at the possible expense of some code reusing (though code reusing has been avoided thus far). Also a bit better handling of page passwords [SECURITY].
Dan
parents:
719
diff
changeset
|
138 |
require_once(ENANO_ROOT.'/includes/output.php'); |
1 | 139 |
require_once(ENANO_ROOT.'/includes/plugins.php'); |
607
935f3799b654
First stab at cache management backend. Everything seems to have been tested and working so far, but a number of things require a more specialized cache and can't go through the framework (e.g. user ranks which use references to map usernames to user IDs)
Dan
parents:
593
diff
changeset
|
140 |
require_once(ENANO_ROOT.'/includes/cache.php'); |
205 | 141 |
require_once(ENANO_ROOT.'/includes/lang.php'); |
1 | 142 |
require_once(ENANO_ROOT.'/includes/render.php'); |
143 |
require_once(ENANO_ROOT.'/includes/rijndael.php'); |
|
144 |
require_once(ENANO_ROOT.'/includes/email.php'); |
|
334
c72b545f1304
More localization work. Resolved major issue with JSON parser not parsing files over ~50KB. Switched JSON parser to the one from the Zend Framework (BSD licensed). Forced to split enano.json into five different files.
Dan
parents:
331
diff
changeset
|
145 |
require_once(ENANO_ROOT.'/includes/json2.php'); |
1 | 146 |
require_once(ENANO_ROOT.'/includes/pageprocess.php'); |
800
9cdfe82c56cd
Major underlying changes to namespace handling. Each namespace is handled by its own class which extends Namespace_Default. Much greater customization/pluggability potential, at the possible expense of some code reusing (though code reusing has been avoided thus far). Also a bit better handling of page passwords [SECURITY].
Dan
parents:
719
diff
changeset
|
147 |
require_once(ENANO_ROOT.'/includes/namespaces/default.php'); |
80
cb7dde69c301
Improved and enabled HTML optimization algorithm; enabled gzip compression; added but did not test at all the tag cloud class in includes/tagcloud.php, this is still very preliminary and not ready for any type of production use
Dan
parents:
76
diff
changeset
|
148 |
require_once(ENANO_ROOT.'/includes/tagcloud.php'); |
801
eb8b23f11744
Two big commits in one day I know, but redid password storage to use HMAC-SHA1. Consolidated much AES processing to three core methods in session that should handle everything automagically. Installation works; upgrades should. Rebranded as 1.1.6.
Dan
parents:
800
diff
changeset
|
149 |
require_once(ENANO_ROOT.'/includes/hmac.php'); |
1 | 150 |
|
151 |
strip_magic_quotes_gpc(); |
|
152 |
||
372
5bd429428101
A number of scattered changes. Profiler added and only enabled in debug mode (currently on), but awfully useful for fixing performance in the future. Started work on Admin:LangManager
Dan
parents:
371
diff
changeset
|
153 |
profiler_log('Files included and magic_quotes_gpc reversed if applicable'); |
5bd429428101
A number of scattered changes. Profiler added and only enabled in debug mode (currently on), but awfully useful for fixing performance in the future. Started work on Admin:LangManager
Dan
parents:
371
diff
changeset
|
154 |
|
311
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
155 |
// Enano has five main components: the database abstraction layer (DBAL), the session manager, |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
156 |
// the path/URL manager, the template engine, and the plugin manager. |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
157 |
// Each part has its own class and a global object; nearly all Enano functions are handled by one of these five components. |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
158 |
// All of these classes are singletons and are designed to carry as much data as possible within the object |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
159 |
// to make data access and function calling easy. |
1 | 160 |
|
161 |
global $db, $session, $paths, $template, $plugins; // Common objects |
|
162 |
global $enano_config; // A global used to cache config information without making loads of queries ;-) |
|
1227
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
163 |
// In addition, $enano_config is used to fetch config information if die_semicritical() is called. |
311
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
164 |
|
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
165 |
// Jim Tucek's e-mail encryption code |
1 | 166 |
global $email; |
167 |
||
313 | 168 |
// Language object |
209 | 169 |
global $lang; |
1 | 170 |
|
406
7468a663315f
Added some basic timezone support; DST support is still to come.
Dan
parents:
378
diff
changeset
|
171 |
// Timezone offset |
7468a663315f
Added some basic timezone support; DST support is still to come.
Dan
parents:
378
diff
changeset
|
172 |
global $timezone; |
7468a663315f
Added some basic timezone support; DST support is still to come.
Dan
parents:
378
diff
changeset
|
173 |
$timezone = 0; |
7468a663315f
Added some basic timezone support; DST support is still to come.
Dan
parents:
378
diff
changeset
|
174 |
|
711
f70d764aab33
Added initial support for DST. Rules are defined in constants.php and are extensible.
Dan
parents:
702
diff
changeset
|
175 |
// DST settings |
f70d764aab33
Added initial support for DST. Rules are defined in constants.php and are extensible.
Dan
parents:
702
diff
changeset
|
176 |
global $dst_params; |
f70d764aab33
Added initial support for DST. Rules are defined in constants.php and are extensible.
Dan
parents:
702
diff
changeset
|
177 |
$dst_params = array(0, 0, 0, 0, 60); |
f70d764aab33
Added initial support for DST. Rules are defined in constants.php and are extensible.
Dan
parents:
702
diff
changeset
|
178 |
|
832
7152ca0a0ce9
Major redesign of rendering pipeline that separates pages saved with MCE from pages saved with the plaintext editor (full description in long commit message)
Dan
parents:
812
diff
changeset
|
179 |
// Establish HTTPS |
7152ca0a0ce9
Major redesign of rendering pipeline that separates pages saved with MCE from pages saved with the plaintext editor (full description in long commit message)
Dan
parents:
812
diff
changeset
|
180 |
$is_https = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off'; |
7152ca0a0ce9
Major redesign of rendering pipeline that separates pages saved with MCE from pages saved with the plaintext editor (full description in long commit message)
Dan
parents:
812
diff
changeset
|
181 |
|
500
455277559782
Added basic CLI support for the Enano API. Loads automatically, just include common.php as normal. REVISION 500!!! :-D
Dan
parents:
470
diff
changeset
|
182 |
// Divert to CLI loader if running from CLI |
812
68060328e9c6
Added CLI installer. Supports interactive, command-line, and internal-call installation. Fixed a few bugs related to anti-SQL injection parser and plugin installation.
Dan
parents:
801
diff
changeset
|
183 |
if ( defined('ENANO_CLI') || ( isset($argc) && isset($argv) ) ) |
500
455277559782
Added basic CLI support for the Enano API. Loads automatically, just include common.php as normal. REVISION 500!!! :-D
Dan
parents:
470
diff
changeset
|
184 |
{ |
1227
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
185 |
if ( defined('ENANO_CLI') || ( is_int($argc) && is_array($argv) && !isset($_SERVER['REQUEST_URI']) ) ) |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
186 |
{ |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
187 |
require(ENANO_ROOT . '/includes/common_cli.php'); |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
188 |
return; |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
189 |
} |
500
455277559782
Added basic CLI support for the Enano API. Loads automatically, just include common.php as normal. REVISION 500!!! :-D
Dan
parents:
470
diff
changeset
|
190 |
} |
455277559782
Added basic CLI support for the Enano API. Loads automatically, just include common.php as normal. REVISION 500!!! :-D
Dan
parents:
470
diff
changeset
|
191 |
|
311
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
192 |
// Because Enano sends out complete URLs in several occasions, we need to know what hostname the user is requesting the page from. |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
193 |
// In future versions we may include a fallback "safety" host to use, but that's too much to worry about now |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
194 |
if ( !isset($_SERVER['HTTP_HOST']) ) |
1227
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
195 |
grinding_halt('Cannot get hostname', '<p>Your web browser did not provide the HTTP Host: field. This site requires a modern browser that supports the HTTP 1.1 standard.</p>'); |
311
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
196 |
|
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
197 |
// |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
198 |
// END BACKGROUND AND ENVIRONMENT CHECKS |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
199 |
// |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
200 |
|
592 | 201 |
profiler_log('Background/environment checks done'); |
202 |
||
311
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
203 |
// |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
204 |
// MAIN API INITIALIZATION |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
205 |
// |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
206 |
|
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
207 |
// The first thing we need to do is start the database connection. At this point, for all we know, Enano might not |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
208 |
// even be installed. If this connection attempt fails and it's because of a missing or corrupt config file, the |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
209 |
// user will be redirected (intelligently) to install.php. |
320
112debff64bd
SURPRISE! Preliminary PostgreSQL support added. The required schema file is not present in this commit and will be included at a later date. No installer support is implemented. Also in this commit: several fixes including <!-- SYSMSG ... --> was broken in template compiler; set fixed width on included images to prevent the thumbnail box from getting huge; added a much more friendly interface to AJAX responses that are invalid JSON
Dan
parents:
317
diff
changeset
|
210 |
|
1186
774ae986fded
Backout from 1.1.7 due to upgrade issue, fixed and retagging
Dan
parents:
1109
diff
changeset
|
211 |
$config_file = ( defined('IN_ENANO_INSTALL') && !defined('IN_ENANO_UPGRADE') ) ? '/config.new.php' : '/config.php'; |
371
dc6026376919
Improved compatibility with PostgreSQL and fixed a number of installer bugs; fixed missing "meta" category declaration in language files
Dan
parents:
354
diff
changeset
|
212 |
@include(ENANO_ROOT . $config_file); |
320
112debff64bd
SURPRISE! Preliminary PostgreSQL support added. The required schema file is not present in this commit and will be included at a later date. No installer support is implemented. Also in this commit: several fixes including <!-- SYSMSG ... --> was broken in template compiler; set fixed width on included images to prevent the thumbnail box from getting huge; added a much more friendly interface to AJAX responses that are invalid JSON
Dan
parents:
317
diff
changeset
|
213 |
unset($dbuser, $dbpasswd); |
112debff64bd
SURPRISE! Preliminary PostgreSQL support added. The required schema file is not present in this commit and will be included at a later date. No installer support is implemented. Also in this commit: several fixes including <!-- SYSMSG ... --> was broken in template compiler; set fixed width on included images to prevent the thumbnail box from getting huge; added a much more friendly interface to AJAX responses that are invalid JSON
Dan
parents:
317
diff
changeset
|
214 |
if ( !isset($dbdriver) ) |
1227
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
215 |
$dbdriver = 'mysql'; |
320
112debff64bd
SURPRISE! Preliminary PostgreSQL support added. The required schema file is not present in this commit and will be included at a later date. No installer support is implemented. Also in this commit: several fixes including <!-- SYSMSG ... --> was broken in template compiler; set fixed width on included images to prevent the thumbnail box from getting huge; added a much more friendly interface to AJAX responses that are invalid JSON
Dan
parents:
317
diff
changeset
|
216 |
|
112debff64bd
SURPRISE! Preliminary PostgreSQL support added. The required schema file is not present in this commit and will be included at a later date. No installer support is implemented. Also in this commit: several fixes including <!-- SYSMSG ... --> was broken in template compiler; set fixed width on included images to prevent the thumbnail box from getting huge; added a much more friendly interface to AJAX responses that are invalid JSON
Dan
parents:
317
diff
changeset
|
217 |
$db = new $dbdriver(); |
311
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
218 |
$db->connect(); |
1 | 219 |
|
372
5bd429428101
A number of scattered changes. Profiler added and only enabled in debug mode (currently on), but awfully useful for fixing performance in the future. Started work on Admin:LangManager
Dan
parents:
371
diff
changeset
|
220 |
profiler_log('Database connected'); |
5bd429428101
A number of scattered changes. Profiler added and only enabled in debug mode (currently on), but awfully useful for fixing performance in the future. Started work on Admin:LangManager
Dan
parents:
371
diff
changeset
|
221 |
|
311
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
222 |
// The URL separator is the character appended to contentPath + url_title type strings. |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
223 |
// If the contentPath has a ? in it, this should be an ampersand; else, it should be a |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
224 |
// question mark. |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
225 |
$sep = ( strstr(contentPath, '?') ) ? '&' : '?'; |
1 | 226 |
define('urlSeparator', $sep); |
227 |
unset($sep); // save 10 bytes of memory... |
|
228 |
||
719
f82da241eaf8
Fixed system table list; added safeguard against twice prefixing the tables in $system_table_list
Dan
parents:
711
diff
changeset
|
229 |
// Build the list of system tables (this is mostly done in constants.php, but that's before table_prefix is known) |
f82da241eaf8
Fixed system table list; added safeguard against twice prefixing the tables in $system_table_list
Dan
parents:
711
diff
changeset
|
230 |
if ( defined('table_prefix') && !defined('ENANO_TABLELIST_PREFIXED') ) |
f82da241eaf8
Fixed system table list; added safeguard against twice prefixing the tables in $system_table_list
Dan
parents:
711
diff
changeset
|
231 |
{ |
1227
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
232 |
define('ENANO_TABLELIST_PREFIXED', 1); |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
233 |
foreach ( $system_table_list as $i => $_ ) |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
234 |
{ |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
235 |
$system_table_list[$i] = table_prefix . $system_table_list[$i]; |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
236 |
} |
719
f82da241eaf8
Fixed system table list; added safeguard against twice prefixing the tables in $system_table_list
Dan
parents:
711
diff
changeset
|
237 |
} |
f82da241eaf8
Fixed system table list; added safeguard against twice prefixing the tables in $system_table_list
Dan
parents:
711
diff
changeset
|
238 |
|
1 | 239 |
// Select and fetch the site configuration |
240 |
$e = $db->sql_query('SELECT config_name, config_value FROM '.table_prefix.'config;'); |
|
311
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
241 |
if ( !$e ) |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
242 |
{ |
1227
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
243 |
$db->_die('Some critical configuration information could not be selected.'); |
311
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
244 |
} |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
245 |
// Used in die_semicritical to figure out whether to call getConfig() or not |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
246 |
define('ENANO_CONFIG_FETCHED', ''); |
1 | 247 |
|
311
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
248 |
// Initialize and fetch the site configuration array, which is used to cache the config |
1 | 249 |
$enano_config = Array(); |
250 |
while($r = $db->fetchrow()) |
|
251 |
{ |
|
1227
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
252 |
$enano_config[$r['config_name']] = $r['config_value']; |
1 | 253 |
} |
254 |
||
255 |
$db->free_result(); |
|
256 |
||
372
5bd429428101
A number of scattered changes. Profiler added and only enabled in debug mode (currently on), but awfully useful for fixing performance in the future. Started work on Admin:LangManager
Dan
parents:
371
diff
changeset
|
257 |
profiler_log('Config fetched'); |
5bd429428101
A number of scattered changes. Profiler added and only enabled in debug mode (currently on), but awfully useful for fixing performance in the future. Started work on Admin:LangManager
Dan
parents:
371
diff
changeset
|
258 |
|
613 | 259 |
if ( defined('ENANO_EXIT_AFTER_CONFIG') ) |
260 |
{ |
|
1227
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
261 |
return true; |
613 | 262 |
} |
263 |
||
311
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
264 |
// Now that we have the config, check the Enano version. |
348
87e08a6e4fec
Welcome to the new Enano installer. Much distance still to be covered but the basics are there.
Dan
parents:
335
diff
changeset
|
265 |
if ( enano_version(false, true) != $version && !defined('IN_ENANO_UPGRADE') ) |
1 | 266 |
{ |
1227
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
267 |
grinding_halt('Version mismatch', '<p>It seems that the Enano release we\'re trying to run ('.$version.') is different from the version specified in your database ('.enano_version().'). Perhaps you need to <a href="'.scriptPath.'/install/index.php">upgrade</a>?</p>'); |
1 | 268 |
} |
269 |
||
650
e45183014778
Added CDN support: a URL to a CDN can now be specified and Enano will load all images, CSS, and javascript (except TinyMCE) from that server
Dan
parents:
613
diff
changeset
|
270 |
// Set our CDN path |
666
402adf8ea719
Made cdnPath define conditionally; fixed common_cli not properly loading plugins
Dan
parents:
650
diff
changeset
|
271 |
if ( !defined('cdnPath') ) |
702 | 272 |
{ |
1227
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
273 |
$cdnpath = getConfig('cdn_path', scriptPath); |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
274 |
if ( empty($cdnpath) ) |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
275 |
$cdnpath = scriptPath; |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
276 |
define('cdnPath', $cdnpath); |
702 | 277 |
} |
650
e45183014778
Added CDN support: a URL to a CDN can now be specified and Enano will load all images, CSS, and javascript (except TinyMCE) from that server
Dan
parents:
613
diff
changeset
|
278 |
|
99
2332ebd75f61
Added a few low-level checks in config.php for changes of search algorithm and AES cipher parameters
Dan
parents:
80
diff
changeset
|
279 |
// |
2332ebd75f61
Added a few low-level checks in config.php for changes of search algorithm and AES cipher parameters
Dan
parents:
80
diff
changeset
|
280 |
// Low level maintenance |
2332ebd75f61
Added a few low-level checks in config.php for changes of search algorithm and AES cipher parameters
Dan
parents:
80
diff
changeset
|
281 |
// |
2332ebd75f61
Added a few low-level checks in config.php for changes of search algorithm and AES cipher parameters
Dan
parents:
80
diff
changeset
|
282 |
|
2332ebd75f61
Added a few low-level checks in config.php for changes of search algorithm and AES cipher parameters
Dan
parents:
80
diff
changeset
|
283 |
// If the AES key size has been changed, bail out and fast |
2332ebd75f61
Added a few low-level checks in config.php for changes of search algorithm and AES cipher parameters
Dan
parents:
80
diff
changeset
|
284 |
if ( !getConfig('aes_key_size') ) |
2332ebd75f61
Added a few low-level checks in config.php for changes of search algorithm and AES cipher parameters
Dan
parents:
80
diff
changeset
|
285 |
{ |
1227
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
286 |
setConfig('aes_key_size', AES_BITS); |
99
2332ebd75f61
Added a few low-level checks in config.php for changes of search algorithm and AES cipher parameters
Dan
parents:
80
diff
changeset
|
287 |
} |
2332ebd75f61
Added a few low-level checks in config.php for changes of search algorithm and AES cipher parameters
Dan
parents:
80
diff
changeset
|
288 |
else if ( $ks = getConfig('aes_key_size') ) |
2332ebd75f61
Added a few low-level checks in config.php for changes of search algorithm and AES cipher parameters
Dan
parents:
80
diff
changeset
|
289 |
{ |
1227
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
290 |
if ( intval($ks) != AES_BITS ) |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
291 |
{ |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
292 |
grinding_halt('AES key size changed', '<p>Enano has detected that the AES key size in constants.php has been changed. This change cannot be performed after installation, otherwise the private key would have to be re-generated and all passwords would have to be re-encrypted.</p><p>Please change the key size back to ' . $ks . ' bits and reload this page.</p>'); |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
293 |
} |
99
2332ebd75f61
Added a few low-level checks in config.php for changes of search algorithm and AES cipher parameters
Dan
parents:
80
diff
changeset
|
294 |
} |
2332ebd75f61
Added a few low-level checks in config.php for changes of search algorithm and AES cipher parameters
Dan
parents:
80
diff
changeset
|
295 |
|
2332ebd75f61
Added a few low-level checks in config.php for changes of search algorithm and AES cipher parameters
Dan
parents:
80
diff
changeset
|
296 |
// Same for AES block size |
2332ebd75f61
Added a few low-level checks in config.php for changes of search algorithm and AES cipher parameters
Dan
parents:
80
diff
changeset
|
297 |
if ( !getConfig('aes_block_size') ) |
2332ebd75f61
Added a few low-level checks in config.php for changes of search algorithm and AES cipher parameters
Dan
parents:
80
diff
changeset
|
298 |
{ |
1227
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
299 |
setConfig('aes_block_size', AES_BLOCKSIZE); |
99
2332ebd75f61
Added a few low-level checks in config.php for changes of search algorithm and AES cipher parameters
Dan
parents:
80
diff
changeset
|
300 |
} |
2332ebd75f61
Added a few low-level checks in config.php for changes of search algorithm and AES cipher parameters
Dan
parents:
80
diff
changeset
|
301 |
else if ( $ks = getConfig('aes_block_size') ) |
2332ebd75f61
Added a few low-level checks in config.php for changes of search algorithm and AES cipher parameters
Dan
parents:
80
diff
changeset
|
302 |
{ |
1227
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
303 |
if ( intval($ks) != AES_BLOCKSIZE ) |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
304 |
{ |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
305 |
grinding_halt('AES block size changed', '<p>Enano has detected that the AES block size in constants.php has been changed. This change cannot be performed after installation, otherwise all passwords would have to be re-encrypted.</p><p>Please change the block size back to ' . $ks . ' bits and reload this page.</p>'); |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
306 |
} |
99
2332ebd75f61
Added a few low-level checks in config.php for changes of search algorithm and AES cipher parameters
Dan
parents:
80
diff
changeset
|
307 |
} |
2332ebd75f61
Added a few low-level checks in config.php for changes of search algorithm and AES cipher parameters
Dan
parents:
80
diff
changeset
|
308 |
|
209 | 309 |
// Is there no default language? |
372
5bd429428101
A number of scattered changes. Profiler added and only enabled in debug mode (currently on), but awfully useful for fixing performance in the future. Started work on Admin:LangManager
Dan
parents:
371
diff
changeset
|
310 |
if ( getConfig('default_language') === false && !defined('IN_ENANO_MIGRATION') ) |
209 | 311 |
{ |
1227
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
312 |
$q = $db->sql_query('SELECT lang_id FROM '.table_prefix.'language LIMIT 1;'); |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
313 |
if ( !$q ) |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
314 |
$db->_die('common.php - setting default language'); |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
315 |
if ( $db->numrows() < 1 && !defined('ENANO_ALLOW_LOAD_NOLANG') ) |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
316 |
{ |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
317 |
grinding_halt('No languages', '<p>There are no languages installed on this site.</p> |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
318 |
<p>If you are the website administrator, you may install a language by writing and executing a simple PHP script to install it:</p> |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
319 |
<pre> |
209 | 320 |
<?php |
321 |
define("ENANO_ALLOW_LOAD_NOLANG", 1); |
|
322 |
require("includes/common.php"); |
|
323 |
install_language("eng", "English", "English", ENANO_ROOT . "/language/english/enano.json");</pre>'); |
|
1227
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
324 |
} |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
325 |
$row = $db->fetchrow(); |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
326 |
setConfig('default_language', $row['lang_id']); |
209 | 327 |
} |
328 |
||
372
5bd429428101
A number of scattered changes. Profiler added and only enabled in debug mode (currently on), but awfully useful for fixing performance in the future. Started work on Admin:LangManager
Dan
parents:
371
diff
changeset
|
329 |
profiler_log('Ran checks'); |
1 | 330 |
|
607
935f3799b654
First stab at cache management backend. Everything seems to have been tested and working so far, but a number of things require a more specialized cache and can't go through the framework (e.g. user ranks which use references to map usernames to user IDs)
Dan
parents:
593
diff
changeset
|
331 |
// Init cache |
935f3799b654
First stab at cache management backend. Everything seems to have been tested and working so far, but a number of things require a more specialized cache and can't go through the framework (e.g. user ranks which use references to map usernames to user IDs)
Dan
parents:
593
diff
changeset
|
332 |
$cache = new CacheManager(); |
935f3799b654
First stab at cache management backend. Everything seems to have been tested and working so far, but a number of things require a more specialized cache and can't go through the framework (e.g. user ranks which use references to map usernames to user IDs)
Dan
parents:
593
diff
changeset
|
333 |
|
311
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
334 |
// Load plugin manager |
1 | 335 |
$plugins = new pluginLoader(); |
336 |
||
311
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
337 |
// |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
338 |
// Mainstream API boot-up |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
339 |
// |
1 | 340 |
|
311
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
341 |
// Obtain list of plugins |
1 | 342 |
$plugins->loadAll(); |
311
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
343 |
|
590
03a60844c7c5
Several optimization changes including getting rid of a few eval()s. Added placeholder functions for the theme manager, which should be working now
Dan
parents:
544
diff
changeset
|
344 |
profiler_log('Fetched plugin list'); |
03a60844c7c5
Several optimization changes including getting rid of a few eval()s. Added placeholder functions for the theme manager, which should be working now
Dan
parents:
544
diff
changeset
|
345 |
|
311
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
346 |
global $plugins; |
1 | 347 |
|
311
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
348 |
// Load plugins from common because we can't give plugins full abilities in object context |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
349 |
foreach ( $plugins->load_list as $f ) |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
350 |
{ |
1227
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
351 |
if ( file_exists(ENANO_ROOT . '/plugins/' . $f) ) |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
352 |
include_once ENANO_ROOT . '/plugins/' . $f; |
311
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
353 |
} |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
354 |
|
372
5bd429428101
A number of scattered changes. Profiler added and only enabled in debug mode (currently on), but awfully useful for fixing performance in the future. Started work on Admin:LangManager
Dan
parents:
371
diff
changeset
|
355 |
profiler_log('Loaded plugins'); |
5bd429428101
A number of scattered changes. Profiler added and only enabled in debug mode (currently on), but awfully useful for fixing performance in the future. Started work on Admin:LangManager
Dan
parents:
371
diff
changeset
|
356 |
|
311
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
357 |
// Three fifths of the Enano API gets the breath of life right here. |
1 | 358 |
$session = new sessionManager(); |
359 |
$paths = new pathManager(); |
|
360 |
$template = new template(); |
|
361 |
$email = new EmailEncryptor(); |
|
362 |
||
372
5bd429428101
A number of scattered changes. Profiler added and only enabled in debug mode (currently on), but awfully useful for fixing performance in the future. Started work on Admin:LangManager
Dan
parents:
371
diff
changeset
|
363 |
profiler_log('Instanciated important singletons'); |
5bd429428101
A number of scattered changes. Profiler added and only enabled in debug mode (currently on), but awfully useful for fixing performance in the future. Started work on Admin:LangManager
Dan
parents:
371
diff
changeset
|
364 |
|
311
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
365 |
// We've got the five main objects - flick on the switch so if a problem occurs, we can have a "friendly" UI |
1 | 366 |
define('ENANO_BASE_CLASSES_INITIALIZED', ''); |
367 |
||
311
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
368 |
// From here on out, none of this functionality is needed during the installer stage. |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
369 |
// Once $paths->init() is called, we could be redirected to the main page, so we don't want |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
370 |
// that if the installer's running. Don't just go and define IN_ENANO_INSTALL from your |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
371 |
// script though, because that will make the DBAL look in the wrong place for the config file. |
32
4d87aad3c4c0
Finished everything on the TODO list (yay!); several CSS cleanups; tons more changes in this commit - see the patch for details
Dan
parents:
30
diff
changeset
|
372 |
if ( !defined('IN_ENANO_INSTALL') ) |
1 | 373 |
{ |
1227
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
374 |
// And here you have it, the de facto way to place a hook. Plugins can place hooks and hook |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
375 |
// into other plugins. You just never know. |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
376 |
$code = $plugins->setHook('base_classes_initted'); |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
377 |
foreach ( $code as $cmd ) |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
378 |
{ |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
379 |
eval($cmd); |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
380 |
} |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
381 |
|
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
382 |
profiler_log('Finished base_classes_initted hook'); |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
383 |
|
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
384 |
// One quick security check... |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
385 |
if ( !is_valid_ip($_SERVER['REMOTE_ADDR']) ) |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
386 |
{ |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
387 |
die('SECURITY: spoofed IP address: ' . htmlspecialchars($_SERVER['REMOTE_ADDR'])); |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
388 |
} |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
389 |
|
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
390 |
// For special and administration pages, sometimes there is a "preloader" function that must be run |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
391 |
// before the session manager and/or path manager get the init signal. Call it here. |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
392 |
$urlname = get_title(true); |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
393 |
list($page_id, $namespace) = RenderMan::strToPageID($urlname); |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
394 |
list($page_id_top) = explode('/', $page_id); |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
395 |
$fname = "page_{$namespace}_{$page_id_top}_preloader"; |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
396 |
if( ( $namespace == 'Admin' || $namespace == 'Special' ) && function_exists($fname)) |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
397 |
{ |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
398 |
call_user_func($fname); |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
399 |
} |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
400 |
|
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
401 |
profiler_log('Checked for (and ran, if applicable) preloader'); |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
402 |
|
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
403 |
// Add all of our built in special pages |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
404 |
foreach ( array('SpecialUserFuncs', 'SpecialPageFuncs', 'SpecialAdmin', 'SpecialCSS', 'SpecialUpDownload', 'SpecialSearch', 'PrivateMessages', 'SpecialGroups', 'SpecialLog') as $plugin ) |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
405 |
{ |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
406 |
$funcname = "{$plugin}_paths_init"; |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
407 |
if ( function_exists($funcname) ) |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
408 |
{ |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
409 |
$funcname(); |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
410 |
} |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
411 |
} |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
412 |
profiler_log('Added special pages'); |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
413 |
|
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
414 |
// All checks passed! Start the main components up. |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
415 |
$session->start(); |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
416 |
|
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
417 |
// This is where plugins will want to add pages from 1.1.x on out. You can still add |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
418 |
// pages at base_classes_initted but the titles won't be localized. This is because |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
419 |
// the session manager has to be started before localization will work in the user's |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
420 |
// preferred language. |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
421 |
$code = $plugins->setHook('session_started'); |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
422 |
foreach ( $code as $cmd ) |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
423 |
{ |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
424 |
eval($cmd); |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
425 |
} |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
426 |
|
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
427 |
profiler_log('Ran session_started hook'); |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
428 |
|
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
429 |
$paths->init($urlname); |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
430 |
|
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
431 |
// setup output format |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
432 |
if ( defined('ENANO_OUTPUT_FORMAT') ) |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
433 |
$class = 'Output_' . ENANO_OUTPUT_FORMAT; |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
434 |
else |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
435 |
$class = ( isset($_GET['noheaders']) ) ? 'Output_Naked' : 'Output_HTML'; |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
436 |
|
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
437 |
$output = new $class(); |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
438 |
|
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
439 |
// Are we running from the API? If so, did the page set a title? |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
440 |
if ( !defined('ENANO_INTERFACE_INDEX') && !defined('ENANO_INTERFACE_AJAX') && isset($title) ) |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
441 |
{ |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
442 |
$output->set_title($title); |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
443 |
} |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
444 |
|
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
445 |
// We're ready for whatever life throws us now, at least from an API point of view. |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
446 |
define('ENANO_MAINSTREAM', ''); |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
447 |
|
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
448 |
// If the site is disabled, bail out, unless we're trying to log in or administer the site |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
449 |
if(getConfig('site_disabled') == '1' && $session->user_level < USER_LEVEL_ADMIN) |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
450 |
{ |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
451 |
// is this one of the more critical special pages? |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
452 |
if ( $paths->namespace == 'Admin' || ( $paths->namespace == 'Special' && ( $paths->page_id == 'CSS' || $paths->page_id == 'Administration' || $paths->page_id == 'Login' ) ) ) |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
453 |
{ |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
454 |
// yeah, we need to keep this page available. do nothing; allow execution to continue |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
455 |
} |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
456 |
else |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
457 |
{ |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
458 |
if(!$n = getConfig('site_disabled_notice')) |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
459 |
{ |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
460 |
$n = 'The administrator has disabled the site. Please check back later.'; |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
461 |
} |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
462 |
|
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
463 |
$text = RenderMan::render($n) . ' |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
464 |
<div class="info-box"> |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
465 |
If you have an administrative account, you may <a href="'.makeUrlNS('Special', 'Login').'">log in</a> to the site. |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
466 |
</div>'; |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
467 |
$paths->wiki_mode = 0; |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
468 |
die_semicritical('Site disabled', $text); |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
469 |
} |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
470 |
} |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
471 |
else if ( getConfig('site_disabled') == '1' && $session->user_level >= USER_LEVEL_ADMIN ) |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
472 |
{ |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
473 |
// If the site is disabled but the user has admin rights, allow browsing |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
474 |
// and stuff, but display the orange box notifying the admin. |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
475 |
$template->site_disabled = true; |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
476 |
} |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
477 |
|
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
478 |
// At this point all of Enano is fully initialized and running and you're ready to do whatever you want. |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
479 |
$code = $plugins->setHook('common_post'); |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
480 |
foreach ( $code as $cmd ) |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
481 |
{ |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
482 |
eval($cmd); |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
483 |
} |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
484 |
|
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
485 |
profiler_log('Ran disabled-site checks and common_post'); |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
486 |
|
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
487 |
load_rank_data(); |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
488 |
|
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
489 |
profiler_log('Loaded user rank data'); |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
490 |
|
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
491 |
if ( isset($_GET['noheaders']) ) |
bdac73ed481e
Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Dan
parents:
1206
diff
changeset
|
492 |
$template->no_headers = true; |
1 | 493 |
} |
494 |
||
372
5bd429428101
A number of scattered changes. Profiler added and only enabled in debug mode (currently on), but awfully useful for fixing performance in the future. Started work on Admin:LangManager
Dan
parents:
371
diff
changeset
|
495 |
profiler_log('common finished'); |
5bd429428101
A number of scattered changes. Profiler added and only enabled in debug mode (currently on), but awfully useful for fixing performance in the future. Started work on Admin:LangManager
Dan
parents:
371
diff
changeset
|
496 |
|
311
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
497 |
// That's the end. Enano should be loaded now :-) |
a007145a0ff6
Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Dan
parents:
286
diff
changeset
|
498 |
|
1 | 499 |
?> |