<?php
/************************************************************************
- * MXChange v0.2.1 Start: 08/25/2003 *
- * =============== Last change: 07/01/2005 *
+ * Mailer v0.2.1-FINAL Start: 08/25/2003 *
+ * =================== Last change: 07/01/2005 *
* *
* -------------------------------------------------------------------- *
* File : modules.php *
* svn:keywords Date Revision" (autoprobset!) at least!!!!!! *
* -------------------------------------------------------------------- *
* Copyright (c) 2003 - 2009 by Roland Haeder *
+ * Copyright (c) 2009, 2010 by Mailer Developer Team *
* For more information visit: http://www.mxchange.org *
* *
* This program is free software; you can redistribute it and/or modify *
$GLOBALS['startTime'] = microtime(true);
// Init output mode and module
-$GLOBALS['output_mode'] = 0;
-$GLOBALS['module'] = '';
+$GLOBALS['output_mode'] = '0';
+$GLOBALS['module'] = 'unknown';
// Needed include files
require('inc/config-global.php');
setContentType('text/html');
// Fix missing module to 'index'
-if (!isGetRequestElementSet('module')) setRequestGetElement('module', 'index');
+if (!isGetRequestParameterSet('module')) {
+ // Set element
+ setGetRequestParameter('module', 'index');
+
+ // ... and module
+ setModule('index');
+} // END - if
// The header file
loadIncludeOnce('inc/header.php');
// Is the maintenance mode active or goes all well?
if ((isExtensionActive('maintenance')) && (getConfig('maintenance') == 'Y') && (!isAdmin()) && (getModule() != 'admin')) {
// Maintain mode is active and you are no admin
- addFatalMessage(__FILE__, __LINE__, getMessage('LANG_DOWN_MAINTAINCE'));
-} elseif ((SQL_IS_LINK_UP()) && (getTotalFatalErrors() == 0)) {
+ addFatalMessage(__FILE__, __LINE__, getMessage('MAILER_DOWN_FOR_MAINTENANCE'));
+} elseif ((SQL_IS_LINK_UP()) && (!ifFatalErrorsDetected())) {
// Construct module name
$GLOBALS['module_inc'] = sprintf("inc/modules/%s.php", getModule());
case 'mem_only': // Member-only access
case 'done': // All fine!
// Does the module exists on local file system?
- if ((isIncludeReadable($GLOBALS['module_inc'])) && (getTotalFatalErrors() == 0)) {
+ if ((isIncludeReadable($GLOBALS['module_inc'])) && (!ifFatalErrorsDetected())) {
// Module is valid, active and located on the local disc...
$isModuleValid = true;
- } elseif (getTotalFatalErrors() == 0) {
+ } elseif (!ifFatalErrorsDetected()) {
+ // Set HTTP status
+ setHttpStatus('404');
+
// Module not found!
- addFatalMessage(__FILE__, __LINE__, sprintf(getMessage('LANG_MOD_REG_404'), getModule()));
+ addFatalMessage(__FILE__, __LINE__, getMaskedMessage('MODULE_REGISTRY_404', getModule()));
}
break;
case '404':
- addFatalMessage(__FILE__, __LINE__, sprintf(getMessage('LANG_MOD_REG_404'), getModule()));
+ // Set HTTP status
+ setHttpStatus('404');
+
+ // Add fatal message
+ addFatalMessage(__FILE__, __LINE__, getMaskedMessage('MODULE_REGISTRY_404', getModule()));
break;
case 'locked':
+ // Set HTTP status
+ setHttpStatus('403');
+
if (!isIncludeReadable($GLOBALS['module_inc'])) {
+ // Set HTTP status
+ setHttpStatus('404');
+
// Module does addionally not exists
- addFatalMessage(__FILE__, __LINE__, sprintf(getMessage('LANG_MOD_REG_404'), getModule()));
+ addFatalMessage(__FILE__, __LINE__, getMaskedMessage('MODULE_REGISTRY_404', getModule()));
} // END - if
// Add fatal message
- addFatalMessage(__FILE__, __LINE__, sprintf(getMessage('LANG_MOD_REG_LOCKED'), getModule()));
+ addFatalMessage(__FILE__, __LINE__, getMaskedMessage('MODULE_IS_LOCKED', getModule()));
break;
default:
+ // Unknown module status
logDebugMessage(__FILE__, __LINE__, sprintf("Unknown status %s return from module check. Module=%s", $check, getModule()));
- addFatalMessage(__FILE__, __LINE__, sprintf(getMessage('LANG_MOD_REG_UNKNOWN'), $check));
+ addFatalMessage(__FILE__, __LINE__, getMaskedMessage('UNKNOWN_MODULE_STATUS', $check));
break;
} // END - switch
-} elseif (getTotalFatalErrors() == 0) {
- // MySQL problems!
+} elseif (!ifFatalErrorsDetected()) {
+ // MySQL problems detected
addFatalMessage(__FILE__, __LINE__, getMessage('MYSQL_ERRORS'));
}