// Filter for initializing randomizer
function FILTER_INIT_RANDOMIZER () {
+ // Only execute this filter if installed
+ if ((!isInstalled()) || (!isExtensionInstalledAndNewer('other', '0.2.5'))) return;
+
+ // Take a prime number which is long (if you know a longer one please try it out!)
+ setConfigEntry('_PRIME', 591623);
+
+ // Calculate "entropy" with the prime number (for code generation)
+ setConfigEntry('_ADD', (getConfig('_PRIME') * getConfig('_PRIME') / (pi() * getConfig('code_length') + 1)));
+
// Simply init the randomizer with seed and _ADD value
mt_srand(generateSeed() + getConfig('_ADD'));
}
if ((count($matches) > 0) && (count($matches[3]) > 0)) {
// Replace all matches
foreach ($matches[3] as $key => $cmd) {
- // Construct call-back function name
- $functionName = 'getExtension' . ucfirst(strtolower($cmd));
+ // By default we have no extension installed, so 'false' is assumed
+ $replacer = 'false';
- // Call the function
- $replacer = call_user_func_array($functionName, $matches[4][$key]);
+ // Is the extension installed?
+ if (isExtensionActive($matches[4][$key])) {
+ // Construct call-back function name
+ $functionName = 'getExtension' . ucfirst(strtolower($cmd));
+
+ // Call the function
+ $replacer = call_user_func_array($functionName, $matches[4][$key]);
+ } // END - if
// Replace it and insert parameter for GET request
$code = str_replace($matches[0][$key], sprintf("&%s=%s&rev=%s", $cmd, $replacer, getConfig('CURR_SVN_REVISION')), $code);
setIncludePool('reset', getArrayFromDirectory('inc/reset/', 'reset_'));
// Update database
- if (getConfig('DEBUG_RESET') != 'Y') updateConfiguration('last_update', time());
+ if ((!isConfigEntrySet('DEBUG_RESET')) || (getConfig('DEBUG_RESET') != 'Y')) updateConfiguration('last_update', time());
// Is the config entry set?
if (isExtensionInstalledAndNewer('sql_patches', '0.4.2')) {
mergeIncludePool('reset', getArrayFromDirectory('inc/weekly/', 'weekly_'));
// Update config
- if (getConfig('DEBUG_WEEKLY') != 'Y') updateConfiguration('last_week', $currWeek);
+ if ((isConfigEntrySet('DEBUG_WEEKLY')) && (getConfig('DEBUG_WEEKLY') != 'Y')) updateConfiguration('last_week', $currWeek);
} // END - if
// Create current month mark
mergeIncludePool('reset', getArrayFromDirectory('inc/monthly/', 'monthly_'));
// Update config
- if (getConfig('DEBUG_MONTHLY') != 'Y') updateConfiguration('last_month', $currMonth);
+ if ((isConfigEntrySet('DEBUG_MONTHLY')) && (getConfig('DEBUG_MONTHLY') != 'Y')) updateConfiguration('last_month', $currMonth);
} // END - if
} // END - if
// Get all values
if ((getOutputMode() != 1) && (getOutputMode() != -1)) {
// Fix module
- if (!isModuleSet()) setModule('index');
+ if (!isModuleSet()) {
+ // Is the request element set?
+ if (isGetRequestElementSet('module')) {
+ // Set module from request
+ setModule(getRequestElement('module'));
+ } else {
+ // Set default module 'index'
+ setModule('index');
+ }
+ } // END - if
// Fix 'what' if not yet set
if (!isWhatSet()) setWhat(getWhatFromModule(getModule()));
// Filter for checking and updating SVN revision
function FILTER_CHECK_SVN_REVISION () {
+ // Only execute this filter if installed and all config entries are there
+ if ((!isInstalled()) || (!isConfigEntrySet('patch_level'))) return;
+
// Check for patch level differences between databases and current hard-coded
if ((getConfig('CURR_SVN_REVISION') > getConfig('patch_level')) || (getConfig('patch_level') == 'CURR_SVN_REVISION') || (getConfig('patch_ctime') == 'UNIX_TIMES')) {
// Update database and CONFIG array
// Filter for running daily reset
function FILTER_RUN_DAILY_RESET () {
+ // Only execute this filter if installed
+ if ((!isInstalled()) || (!isAdminRegistered())) return;
+
// Shall we run the reset scripts? If a day has changed, maybe also a week/month has changed... Simple! :D
// 012 3 4 43 3 4432 2 3 3 21 1 221 1 221 1 2 21 1 22 10
- if (((date('d', getConfig('last_update')) != date('d', time())) || (getConfig('DEBUG_RESET') == 'Y')) && (!isInstallationPhase()) && (isAdminRegistered()) && (!isGetRequestElementSet('register')) && (getOutputMode() != 1)) {
+ if (((date('d', getConfig('last_update')) != date('d', time())) || ((isConfigEntrySet('DEBUG_RESET')) && (getConfig('DEBUG_RESET') == 'Y'))) && (!isInstallationPhase()) && (isAdminRegistered()) && (!isGetRequestElementSet('register')) && (getOutputMode() != 1)) {
// Tell every module we are in reset-mode!
doReset();
} // END - if
// Filter for loading more runtime includes (not for installation)
function FILTER_LOAD_RUNTIME_INCLUDES () {
// Load more includes
- foreach (array('inc/session.php','inc/versions.php') as $inc) {
+ foreach (array('inc/databases.php','inc/session.php','inc/versions.php') as $inc) {
// Load the include
loadIncludeOnce($inc);
} // END - foreach
// Init random number/cache buster
function FILTER_INIT_RANDOM_NUMBER () {
// Is the extension sql_patches installed and at least 0.3.6?
- if ((isExtensionActive('sql_patches')) && (getExtensionVersion('sql_patches') >= '0.3.6')) {
+ if ((isExtensionInstalledAndNewer('sql_patches', '0.3.6')) && (isExtensionInstalledAndNewer('other', '0.2.5'))) {
// Generate random number
setConfigEntry('RAND_NUMBER', generateRandomCode(10, mt_rand(10000, 32766), getUserId(), ''));
} else {
// Shall we display the copyright notice?
if ((!isGetRequestElementSet('frame')) && (basename($_SERVER['PHP_SELF']) != 'mailid_top.php') && ((getConfig('WRITE_FOOTER') == 'Y') || (isInstalling())) && ($GLOBALS['header_sent'] == 2)) {
// Backlink enabled?
- if ((getConfig('ENABLE_BACKLINK') == 'Y') || (isInstalling())) {
+ if (((isConfigEntrySet('ENABLE_BACKLINK')) && (getConfig('ENABLE_BACKLINK') == 'Y')) || (isInstalling())) {
// Copyright with backlink, thanks! :-)
loadTemplate('copyright_backlink');
} else {