* -------------------------------------------------------------------- *
* Kurzbeschreibung : Fuer die Administration benoetigte Funktionen *
* -------------------------------------------------------------------- *
* -------------------------------------------------------------------- *
* Kurzbeschreibung : Fuer die Administration benoetigte Funktionen *
* -------------------------------------------------------------------- *
+ * $Revision:: 856 $ *
+ * $Date:: 2009-03-06 20:24:32 +0100 (Fr, 06. March 2009) $ *
+ * $Tag:: 0.2.1-FINAL $ *
+ * $Author:: stelzi $ *
+ * Needs to be in all Files and every File needs "svn propset *
+ * svn:keywords Date Revision" (autoprobset!) at least!!!!!! *
* -------------------------------------------------------------------- *
* Copyright (c) 2003 - 2008 by Roland Haeder *
* For more information visit: http://www.mxchange.org *
* -------------------------------------------------------------------- *
* Copyright (c) 2003 - 2008 by Roland Haeder *
* For more information visit: http://www.mxchange.org *
// Is the entry there?
if (SQL_NUMROWS($result) == 0) {
// Ok, let's create the admin login
SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_admins` (login, password, email) VALUES ('%s', '%s', '%s')",
// Is the entry there?
if (SQL_NUMROWS($result) == 0) {
// Ok, let's create the admin login
SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_admins` (login, password, email) VALUES ('%s', '%s', '%s')",
- array($user, $md5, $email), __FILE__, __LINE__);
+ array($user, $md5, $email), __FUNCTION__, __LINE__);
// Only be executed on login procedure!
function CHECK_ADMIN_LOGIN ($admin_login, $password) {
// By default no admin is found
// Only be executed on login procedure!
function CHECK_ADMIN_LOGIN ($admin_login, $password) {
// By default no admin is found
// Update password and reset login failures
SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_admins` SET password='%s',login_failures=0,last_failure='0000-00-00 00:00:00' WHERE id=%s LIMIT 1",
// Update password and reset login failures
SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_admins` SET password='%s',login_failures=0,last_failure='0000-00-00 00:00:00' WHERE id=%s LIMIT 1",
- array($data['password'], $aid), __FILE__, __LINE__);
+ array($data['password'], $aid), __FUNCTION__, __LINE__);
- array($data['password'], $aid), __FILE__, __LINE__);
+ array($data['password'], $aid), __FUNCTION__, __LINE__);
if (($ret == "pass") && (GET_EXT_VERSION("admins") >= "0.7.0")) {
// Update counter
SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_admins` SET login_failures=login_failures+1,last_failure=NOW() WHERE id=%s LIMIT 1",
if (($ret == "pass") && (GET_EXT_VERSION("admins") >= "0.7.0")) {
// Update counter
SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_admins` SET login_failures=login_failures+1,last_failure=NOW() WHERE id=%s LIMIT 1",
if ((GET_EXT_VERSION("admins") >= "0.7.0") && ((EXT_VERSION_IS_OLDER("sql_patches", "0.3.6")) || (GET_EXT_VERSION("sql_patches") == ""))) {
// Reset counter on out-dated sql_patches version
SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_admins` SET login_failures=0,last_failure='0000-00-00 00:00:00' WHERE login='%s' LIMIT 1",
if ((GET_EXT_VERSION("admins") >= "0.7.0") && ((EXT_VERSION_IS_OLDER("sql_patches", "0.3.6")) || (GET_EXT_VERSION("sql_patches") == ""))) {
// Reset counter on out-dated sql_patches version
SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_admins` SET login_failures=0,last_failure='0000-00-00 00:00:00' WHERE login='%s' LIMIT 1",
//* DEBUG: */ echo __LINE__."*".$wht."/".$GLOBALS['module']."/".$GLOBALS['action']."/".$GLOBALS['what']."*<br />\n";
// Remove any spaces from variable
//* DEBUG: */ echo __LINE__."*".$wht."/".$GLOBALS['module']."/".$GLOBALS['action']."/".$GLOBALS['what']."*<br />\n";
// Remove any spaces from variable
// Check if action/what pair is valid
$result_action = SQL_QUERY_ESC("SELECT id FROM `{!_MYSQL_PREFIX!}_admin_menu`
WHERE `action`='%s' AND ((what='%s' AND what != 'overview') OR ((what='' OR `what` IS NULL) AND '%s'='overview'))
// Check if action/what pair is valid
$result_action = SQL_QUERY_ESC("SELECT id FROM `{!_MYSQL_PREFIX!}_admin_menu`
WHERE `action`='%s' AND ((what='%s' AND what != 'overview') OR ((what='' OR `what` IS NULL) AND '%s'='overview'))
-LIMIT 1", array($act, $wht, $wht), __FILE__, __LINE__);
+LIMIT 1", array($act, $wht, $wht), __FUNCTION__, __LINE__);
// Is valid but does the inlcude file exists?
$INC = sprintf("inc/modules/admin/action-%s.php", $act);
// Is valid but does the inlcude file exists?
$INC = sprintf("inc/modules/admin/action-%s.php", $act);
- if ((INCLUDE_READABLE($INC)) && (VALIDATE_MENU_ACTION("admin", $act, $wht)) && (__ACL_ALLOW == true)) {
+ if ((INCLUDE_READABLE($INC)) && (VALIDATE_MENU_ACTION("admin", $act, $wht)) && ($GLOBALS['acl_allow'] === true)) {
} else {
// Include file not found! :-(
LOAD_TEMPLATE("admin_menu_failed", false, sprintf(getMessage('ADMIN_ACTION_404'), $act));
} else {
// Include file not found! :-(
LOAD_TEMPLATE("admin_menu_failed", false, sprintf(getMessage('ADMIN_ACTION_404'), $act));
}
} else {
// Invalid action/what pair found!
LOAD_TEMPLATE("admin_menu_failed", false, sprintf(getMessage('ADMIN_ACTION_INVALID'), $act."/".$wht));
}
} else {
// Invalid action/what pair found!
LOAD_TEMPLATE("admin_menu_failed", false, sprintf(getMessage('ADMIN_ACTION_INVALID'), $act."/".$wht));
- $menuTitle = unserialize(base64_decode($data['title'][0]));
- $menuDescription = unserialize(base64_decode($data['descr'][0]));
+ $GLOBALS['menu']['title'] = unserialize(base64_decode($data['title'][0]));
+ $GLOBALS['menu']['description'] = unserialize(base64_decode($data['descr'][0]));
- $result_main = SQL_QUERY("SELECT action, title, descr FROM `{!_MYSQL_PREFIX!}_admin_menu` WHERE (what='' OR `what` IS NULL) ORDER BY `sort`, id DESC", __FILE__, __LINE__);
+ $result_main = SQL_QUERY("SELECT action, title, descr FROM `{!_MYSQL_PREFIX!}_admin_menu` WHERE (what='' OR `what` IS NULL) ORDER BY `sort`, id DESC", __FUNCTION__, __LINE__);
if (SQL_NUMROWS($result_main) > 0) {
$OUT = "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class=\"admin_menu_main\">
<tr><td colspan=\"2\" height=\"7\" class=\"seperator\"> </td></tr>\n";
if (SQL_NUMROWS($result_main) > 0) {
$OUT = "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class=\"admin_menu_main\">
<tr><td colspan=\"2\" height=\"7\" class=\"seperator\"> </td></tr>\n";
while (list($menu, $title, $descr) = SQL_FETCHROW($result_main)) {
if ((EXT_IS_ACTIVE("admins")) && (GET_EXT_VERSION("admins") > "0.2")) {
$ACL = ADMINS_CHECK_ACL($menu, "");
while (list($menu, $title, $descr) = SQL_FETCHROW($result_main)) {
if ((EXT_IS_ACTIVE("admins")) && (GET_EXT_VERSION("admins") > "0.2")) {
$ACL = ADMINS_CHECK_ACL($menu, "");
</tr>\n";
$result_what = SQL_QUERY_ESC("SELECT what, title, descr FROM `{!_MYSQL_PREFIX!}_admin_menu` WHERE `action`='%s' AND `what` != '' AND `what` IS NOT NULL ORDER BY `sort`, id DESC",
</tr>\n";
$result_what = SQL_QUERY_ESC("SELECT what, title, descr FROM `{!_MYSQL_PREFIX!}_admin_menu` WHERE `action`='%s' AND `what` != '' AND `what` IS NOT NULL ORDER BY `sort`, id DESC",
$OUT .= "<tr>
<td width=\"10\" class=\"seperator\"> </td>
<td class=\"admin_menu\">
<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class=\"admin_menu_sub\">\n";
$OUT .= "<tr>
<td width=\"10\" class=\"seperator\"> </td>
<td class=\"admin_menu\">
<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class=\"admin_menu_sub\">\n";
if ((EXT_IS_ACTIVE("admins")) && (GET_EXT_VERSION("admins") > "0.2")) {
$ACL = ADMINS_CHECK_ACL("", $wht_sub);
} else {
// ACL is "allow"... hmmm
$ACL = true;
}
if ((EXT_IS_ACTIVE("admins")) && (GET_EXT_VERSION("admins") > "0.2")) {
$ACL = ADMINS_CHECK_ACL("", $wht_sub);
} else {
// ACL is "allow"... hmmm
$ACL = true;
}
- <NOBR> <strong>--></strong> ";
- if ($readable === true)
- {
- if ($wht == $wht_sub)
- {
+ <nobr> <strong>--></strong> ";
+ if ($readable === true) {
+ if ($wht == $wht_sub) {
// Init cache
$GLOBALS['cache_instance']->init($cacheName);
// Prepare cache data
$data = array(
'output' => base64_encode($OUT),
// Init cache
$GLOBALS['cache_instance']->init($cacheName);
// Prepare cache data
$data = array(
'output' => base64_encode($OUT),
-//
-function ADD_MEMBER_SELECTION_BOX ($def="0", $add_all=false, $return=false, $none=false, $field="userid")
-{
+
+// Create member selection box
+function ADD_MEMBER_SELECTION_BOX ($def="0", $add_all=false, $return=false, $none=false, $field="userid") {
- $result = SQL_QUERY("SELECT userid, surname, family FROM `{!_MYSQL_PREFIX!}_user_data` ORDER BY userid", __FILE__, __LINE__);
+ $result = SQL_QUERY("SELECT userid, surname, family FROM `{!_MYSQL_PREFIX!}_user_data` ORDER BY userid", __FUNCTION__, __LINE__);
+
+ // Default output
- if ($add_all) $OUT = " <option value=\"all\">".ALL_MEMBERS."</option>\n";
- elseif ($none) $OUT = " <option value=\"0\">".SELECT_NONE."</option>\n";
- while (list($id, $sname, $fname) = SQL_FETCHROW($result))
- {
- $OUT .= " <option value=\"".bigintval($id)."\"";
- if ($def == $id) $OUT .= " selected=\"selected\"";
- $OUT .= ">".$sname." ".$fname." (".bigintval($id).")</option>\n";
- }
+ if ($add_all === true) $OUT = " <option value=\"all\">{--ALL_MEMBERS--}</option>\n";
+ elseif ($none === true) $OUT = " <option value=\"0\">{--SELECT_NONE--}</option>\n";
+
+ while ($content = SQL_FETCHARRAY($result)) {
+ $OUT .= " <option value=\"".bigintval($content['userid'])."\"";
+ if ($def == $content['userid']) $OUT .= " selected=\"selected\"";
+ $OUT .= ">".$content['surname']." ".$content['family']." (".bigintval($content['userid']).")</option>\n";
+ } // END - while
-//
-function ADMIN_MENU_SELECTION($MODE, $default="", $defid="") {
+
+// Create a menu selection box for given menu system
+function ADMIN_MENU_SELECTION ($MODE, $default="", $defid="") {
$wht = "`what` != ''";
if ($MODE == "action") $wht = "(what='' OR `what` IS NULL) AND action !='login'";
$result = SQL_QUERY_ESC("SELECT %s, title FROM `{!_MYSQL_PREFIX!}_admin_menu` WHERE ".$wht." ORDER BY `sort`",
$wht = "`what` != ''";
if ($MODE == "action") $wht = "(what='' OR `what` IS NULL) AND action !='login'";
$result = SQL_QUERY_ESC("SELECT %s, title FROM `{!_MYSQL_PREFIX!}_admin_menu` WHERE ".$wht." ORDER BY `sort`",
if (SQL_NUMROWS($result) > 0) {
// Load menu as selection
$OUT = "<select name=\"".$MODE."_menu";
if ((!empty($defid)) || ($defid == "0")) $OUT .= "[".$defid."]";
$OUT .= "\" size=\"1\" class=\"admin_select\">
if (SQL_NUMROWS($result) > 0) {
// Load menu as selection
$OUT = "<select name=\"".$MODE."_menu";
if ((!empty($defid)) || ($defid == "0")) $OUT .= "[".$defid."]";
$OUT .= "\" size=\"1\" class=\"admin_select\">
while (list($menu, $title) = SQL_FETCHROW($result)) {
$OUT .= " <option value=\"".$menu."\"";
if ((!empty($default)) && ($default == $menu)) $OUT .= " selected=\"selected\"";
while (list($menu, $title) = SQL_FETCHROW($result)) {
$OUT .= " <option value=\"".$menu."\"";
if ((!empty($default)) && ($default == $menu)) $OUT .= " selected=\"selected\"";
+// Wrapper for $_POST and ADMIN_SAVE_SETTINGS
+function ADMIN_SAVE_SETTINGS_POST () {
+ // Get the array
+ $POST = REQUEST_POST_ARRAY();
+
+ // Call the lower function
+ ADMIN_SAVE_SETTINGS($POST);
+}
+
-function ADMIN_SAVE_SETTINGS (&$POST, $tableName="_config", $whereStatement="config=0", $translateComma=array(), $alwaysAdd=false) {
+function ADMIN_SAVE_SETTINGS (&$POST, $tableName = "_config", $whereStatement = "config=0", $translateComma = array(), $alwaysAdd = false) {
- $result = SQL_QUERY("SELECT * FROM `{!_MYSQL_PREFIX!}".$tableName."` WHERE ".$whereStatement." LIMIT 1", __FILE__, __LINE__);
+ $result = SQL_QUERY("SELECT * FROM `{!_MYSQL_PREFIX!}".$tableName."` WHERE ".$whereStatement." LIMIT 1", __FUNCTION__, __LINE__);
- $result = SQL_QUERY("SELECT * FROM `{!_MYSQL_PREFIX!}".$tableName."` LIMIT 1", __FILE__, __LINE__);
+ $result = SQL_QUERY("SELECT * FROM `{!_MYSQL_PREFIX!}".$tableName."` LIMIT 1", __FUNCTION__, __LINE__);
$handle = opendir(sprintf("%sinc/modules/%s/", constant('PATH'), $menu)) or mxchange_die("Cannot load menu ".$menu."!");
// Init the selection box
$handle = opendir(sprintf("%sinc/modules/%s/", constant('PATH'), $menu)) or mxchange_die("Cannot load menu ".$menu."!");
// Init the selection box
} elseif (GET_EXT_VERSION("admins") >= "0.6.7") {
// Load from database when version of "admins" is enough
$result = SQL_QUERY_ESC("SELECT la_mode FROM `{!_MYSQL_PREFIX!}_admins` WHERE id=%s LIMIT 1",
} elseif (GET_EXT_VERSION("admins") >= "0.6.7") {
// Load from database when version of "admins" is enough
$result = SQL_QUERY_ESC("SELECT la_mode FROM `{!_MYSQL_PREFIX!}_admins` WHERE id=%s LIMIT 1",
- array($row, $table, $idRow, $id), __FILE__, __LINE__);
+ array($row, $table, $idRow, $id), __FUNCTION__, __LINE__);
- array($table, $row, $newStatus, $idRow, $id), __FILE__, __LINE__);
+ array($table, $row, $newStatus, $idRow, $id), __FUNCTION__, __LINE__);
- LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_STATUS_CHANGED_1.$cnt.ADMIN_STATUS_CHANGED_2.count($IDs).ADMIN_STATUS_CHANGED_3);
+ LOAD_TEMPLATE("admin_settings_saved", false, sprintf(getMessage('ADMIN_STATUS_CHANGED'), $cnt, count($IDs)));
- SEND_EMAIL($_POST['uid_raw'][$id], $subjectLine, $mail);
+ SEND_EMAIL(REQUEST_POST('uid_raw', $id), $subjectLine, $mail);
- SEND_ADMIN_NOTIFICATION($subjectLine, "admin_".$mode."_".strtolower($subjectPart)."_".$table, $content, $_POST['uid_raw'][$id]);
+ SEND_ADMIN_NOTIFICATION($subjectLine, "admin_".$mode."_".strtolower($subjectPart)."_".$table, $content, REQUEST_POST('uid_raw', $id));
- SEND_ADMIN_NOTIFICATION($subjectLine, "admin_".$mode."_".$table, $content, $_POST['uid_raw'][$id]);
+ SEND_ADMIN_NOTIFICATION($subjectLine, "admin_".$mode."_".$table, $content, REQUEST_POST('uid_raw', $id));
- $result = SQL_RESULT_FROM_ARRAY($table, $columns, $idColumn, $id, __FILE__, __LINE__);
+ $result = SQL_RESULT_FROM_ARRAY($table, $columns, $idColumn, $id, __FUNCTION__, __LINE__);
- array($table, $idColumn, $id), __FILE__, __LINE__);
+ array($table, $idColumn, $id), __FUNCTION__, __LINE__);
// Does the entry exist?
if ((isset($content[$column])) && (isset($statusInfo[$content[$column]]))) {
// Add these entries for update
// Does the entry exist?
if ((isset($content[$column])) && (isset($statusInfo[$content[$column]]))) {
// Add these entries for update
- $SQL .= sprintf(" %s='%s',", SQL_ESCAPE($column), SQL_ESCAPE($statusInfo[$content[$column]]));
+ $sql .= sprintf(" %s='%s',", SQL_ESCAPE($column), SQL_ESCAPE($statusInfo[$content[$column]]));
// Skip id, raw userid and 'do_$mode'
if (!in_array($key, array($idColumn, 'uid_raw', ('do_'.$mode)))) {
// Are there brackets () at the end?
if (substr($entries[$id], -2, 2) == "()") {
// Direct SQL command found
// Skip id, raw userid and 'do_$mode'
if (!in_array($key, array($idColumn, 'uid_raw', ('do_'.$mode)))) {
// Are there brackets () at the end?
if (substr($entries[$id], -2, 2) == "()") {
// Direct SQL command found
- $SQL .= sprintf(" %s=%s,", SQL_ESCAPE($key), SQL_ESCAPE($entries[$id]));
+ $sql .= sprintf(" %s=%s,", SQL_ESCAPE($key), SQL_ESCAPE($entries[$id]));
- $SQL .= sprintf(" %s='%s',", SQL_ESCAPE($key), SQL_ESCAPE($entries[$id]));
+ $sql .= sprintf(" %s='%s',", SQL_ESCAPE($key), SQL_ESCAPE($entries[$id]));
- $SQL = substr($SQL, 0, -1) . sprintf(" WHERE %s=%s AND %s='%s' LIMIT 1",
+ $sql = substr($sql, 0, -1) . sprintf(" WHERE %s=%s AND %s='%s' LIMIT 1",
// Load all data from that id
$result = SQL_QUERY_ESC("SELECT * FROM `{!_MYSQL_PREFIX!}_%s` WHERE %s=%s LIMIT 1",
// Load all data from that id
$result = SQL_QUERY_ESC("SELECT * FROM `{!_MYSQL_PREFIX!}_%s` WHERE %s=%s LIMIT 1",
- array($table, $idColumn, $id), __FILE__, __LINE__);
+ array($table, $idColumn, $id), __FUNCTION__, __LINE__);
- SQL_QUERY($SQL, array($table, $idColumn, substr($idList, 0, -1)), __FILE__, __LINE__);
+ SQL_QUERY($sql, array($table, $idColumn, substr($idList, 0, -1)), __FUNCTION__, __LINE__);
LOAD_TEMPLATE("admin_settings_saved", false, getMessage('ADMIN_ALL_ENTRIES_REMOVED'));
} else {
// Some are still there :(
LOAD_TEMPLATE("admin_settings_saved", false, getMessage('ADMIN_ALL_ENTRIES_REMOVED'));
} else {
// Some are still there :(
- LOAD_TEMPLATE("admin_settings_saved", false, sprintf(ADMIN_SOME_ENTRIES_NOT_DELETED, SQL_AFFECTEDROWS(), count($IDs)));
+ LOAD_TEMPLATE("admin_settings_saved", false, sprintf(getMessage('ADMIN_SOME_ENTRIES_NOT_DELETED'), SQL_AFFECTEDROWS(), count($IDs)));
// Add affected rows
$affected += SQL_AFFECTEDROWS();
// Load all data from that id
$result = SQL_QUERY_ESC("SELECT * FROM `{!_MYSQL_PREFIX!}_%s` WHERE %s=%s LIMIT 1",
// Add affected rows
$affected += SQL_AFFECTEDROWS();
// Load all data from that id
$result = SQL_QUERY_ESC("SELECT * FROM `{!_MYSQL_PREFIX!}_%s` WHERE %s=%s LIMIT 1",
- array($table, $idColumn, $id), __FILE__, __LINE__);
+ array($table, $idColumn, $id), __FUNCTION__, __LINE__);
LOAD_TEMPLATE("admin_settings_saved", false, getMessage('ADMIN_ALL_ENTRIES_EDITED'));
} else {
// Some are still there :(
LOAD_TEMPLATE("admin_settings_saved", false, getMessage('ADMIN_ALL_ENTRIES_EDITED'));
} else {
// Some are still there :(
- LOAD_TEMPLATE("admin_settings_saved", false, sprintf(ADMIN_SOME_ENTRIES_NOT_EDITED, $affected, count($IDs)));
+ LOAD_TEMPLATE("admin_settings_saved", false, sprintf(getMessage('ADMIN_SOME_ENTRIES_NOT_EDITED'), $affected, count($IDs)));
// Look up administator login
$result = SQL_QUERY_ESC("SELECT id, login, password FROM `{!_MYSQL_PREFIX!}_admins` WHERE email='%s' LIMIT 1",
// Look up administator login
$result = SQL_QUERY_ESC("SELECT id, login, password FROM `{!_MYSQL_PREFIX!}_admins` WHERE email='%s' LIMIT 1",
// Then try to find that user
$result = SQL_QUERY_ESC("SELECT id, password, email FROM `{!_MYSQL_PREFIX!}_admins` WHERE login='%s' LIMIT 1",
// Then try to find that user
$result = SQL_QUERY_ESC("SELECT id, password, email FROM `{!_MYSQL_PREFIX!}_admins` WHERE login='%s' LIMIT 1",
- array($passHash, $login), __FILE__, __LINE__);
+ array($passHash, $login), __FUNCTION__, __LINE__);
function ADMIN_UPDATE_TASK_DATA ($id, $row, $data) {
// Update the task
SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_task_system` SET %s='%s' WHERE id=%s LIMIT 1",
function ADMIN_UPDATE_TASK_DATA ($id, $row, $data) {
// Update the task
SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_task_system` SET %s='%s' WHERE id=%s LIMIT 1",
- array($row, $data, bigintval($id)), __FILE__, __LINE__);
+ array($row, $data, bigintval($id)), __FUNCTION__, __LINE__);