diff -r d8156d18ac58 -r 97ae8e9d5e29 includes/common.php
--- a/includes/common.php Thu Sep 27 15:55:37 2007 -0400
+++ b/includes/common.php Sat Nov 03 07:43:35 2007 -0400
@@ -2,7 +2,7 @@
/*
* Enano - an open-source CMS capable of wiki functions, Drupal-like sidebar blocks, and everything in between
- * Version 1.0 (Banshee)
+ * Version 1.1.1
* Copyright (C) 2006-2007 Dan Fuhry
*
* This program is Free Software; you can redistribute and/or modify it under the terms of the GNU General Public License
@@ -23,7 +23,7 @@
exit;
}
-$version = '1.0.1';
+$version = '1.1.1';
function microtime_float()
{
@@ -56,12 +56,7 @@
if(defined('ENANO_DEBUG'))
{
-// require_once(ENANO_ROOT.'/includes/debugger/debugConsole.php');
- function dc_here($m) { return false; }
- function dc_dump($a, $g) { return false; }
- function dc_watch($n) { return false; }
- function dc_start_timer($u) { return false; }
- function dc_stop_timer($m) { return false; }
+ require_once(ENANO_ROOT.'/includes/debugger/debugConsole.php');
} else {
function dc_here($m) { return false; }
function dc_dump($a, $g) { return false; }
@@ -73,6 +68,9 @@
if ( file_exists( ENANO_ROOT . '/_nightly.php') )
require(ENANO_ROOT.'/_nightly.php');
+// List of scheduled tasks
+$cron_tasks = array();
+
// Start including files. LOTS of files. Yeah!
require_once(ENANO_ROOT.'/includes/constants.php');
dc_here('Enano CMS '.$version.' (dev) - debug window
Powered by debugConsole');
@@ -83,6 +81,7 @@
require_once(ENANO_ROOT.'/includes/sessions.php');
require_once(ENANO_ROOT.'/includes/template.php');
require_once(ENANO_ROOT.'/includes/plugins.php');
+require_once(ENANO_ROOT.'/includes/lang.php');
require_once(ENANO_ROOT.'/includes/comment.php');
require_once(ENANO_ROOT.'/includes/wikiformat.php');
require_once(ENANO_ROOT.'/includes/diff.php');
@@ -108,6 +107,7 @@
// In addition, $enano_config is used to fetch config information if die_semicritical() is called.
global $email;
+global $lang;
if(!isset($_SERVER['HTTP_HOST'])) grinding_halt('Cannot get hostname', '
Your web browser did not provide the HTTP Host: field. This site requires a modern browser that supports the HTTP 1.1 standard.
'); @@ -154,6 +154,65 @@ grinding_halt('Version mismatch', '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 upgrade?
'); } +// +// Low level maintenance +// + +// If the search algorithm backend has been changed, empty out the search cache (the two cache formats are incompatible with each other) +if ( getConfig('last_search_algo') != SEARCH_MODE ) +{ + if ( !$db->sql_query('DELETE FROM '.table_prefix.'search_cache;') ) + $db->_die(); + setConfig('last_search_algo', SEARCH_MODE); +} + +// If the AES key size has been changed, bail out and fast +if ( !getConfig('aes_key_size') ) +{ + setConfig('aes_key_size', AES_BITS); +} +else if ( $ks = getConfig('aes_key_size') ) +{ + if ( intval($ks) != AES_BITS ) + { + grinding_halt('AES key size changed', '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.
Please change the key size back to ' . $ks . ' bits and reload this page.
'); + } +} + +// Same for AES block size +if ( !getConfig('aes_block_size') ) +{ + setConfig('aes_block_size', AES_BLOCKSIZE); +} +else if ( $ks = getConfig('aes_block_size') ) +{ + if ( intval($ks) != AES_BLOCKSIZE ) + { + grinding_halt('AES block size changed', '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.
Please change the block size back to ' . $ks . ' bits and reload this page.
'); + } +} + +// Is there no default language? +if ( getConfig('lang_default') === false ) +{ + $q = $db->sql_query('SELECT lang_id FROM '.table_prefix.'language LIMIT 1;'); + if ( !$q ) + $db->_die('common.php - setting default language'); + if ( $db->numrows() < 1 && !defined('ENANO_ALLOW_LOAD_NOLANG') ) + { + grinding_halt('No languages', 'There are no languages installed on this site.
+If you are the website administrator, you may install a language by writing and executing a simple PHP script to install it:
++<?php +define("ENANO_ALLOW_LOAD_NOLANG", 1); +$_GET["title"] = "langinstall"; +require("includes/common.php"); +install_language("eng", "English", "English", ENANO_ROOT . "/language/english/enano.json");'); + } + $row = $db->fetchrow(); + setConfig('default_language', $row['lang_id']); +} + // Our list of tables included in Enano $system_table_list = Array( table_prefix.'categories', @@ -176,7 +235,10 @@ table_prefix.'groups', table_prefix.'group_members', table_prefix.'acl', - table_prefix.'search_cache' + table_prefix.'search_cache', + table_prefix.'page_groups', + table_prefix.'page_group_members', + table_prefix.'tags' ); dc_here('common: initializing base classes'); @@ -232,7 +294,7 @@ $text = RenderMan::render($n) . '