array($user), __FILE__, __LINE__);
if (SQL_NUMROWS($result) == 0) {
// Ok, let's create the admin login
- $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_admins (login, password, email) VALUES ('%s', '%s', '%s')",
- array($user, $md5, $email), __FILE__, __LINE__);
+ SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_admins (login, password, email) VALUES ('%s', '%s', '%s')",
+ array($user, $md5, $email), __FILE__, __LINE__);
$ret = "done";
} else {
// Free memory
return $ret;
}
// Only be executed on login procedure!
-function CHECK_ADMIN_LOGIN ($admin_login, $password)
-{
+function CHECK_ADMIN_LOGIN ($admin_login, $password) {
global $cacheArray, $_CONFIG, $cacheInstance;
- // Init variables
+ // By default no admin is found
$ret = "404";
- $data = array();
// Get admin id
$aid = GET_ADMIN_ID($admin_login);
+ // Init array with admin id by default
+ $data = array('aid' => $aid);
+
// Is the cache valid?
- if (!empty($cacheArray['admins']['password'][$aid])) {
+ if (isset($cacheArray['admins']['password'][$aid])) {
// Get password from cache
$data['password'] = $cacheArray['admins']['password'][$aid];
$ret = "pass";
- if (isset($_CONFIG['cache_hits'])) { $_CONFIG['cache_hits']++; } else { $_CONFIG['cache_hits'] = 1; }
+ if (getConfig('cache_hits') > 0) { $_CONFIG['cache_hits']++; } else { $_CONFIG['cache_hits'] = 1; }
// Include more admins data?
if (GET_EXT_VERSION("admins") >= "0.7.0") {
$data['last_failture'] = $cacheArray['admins']['last_failture'][$aid];
} // END - if
} elseif (!EXT_IS_ACTIVE("cache")) {
- $ADD = "";
- if (GET_EXT_VERSION("admins") >= "0.7.0") {
- // Load them here
- $ADD = ", login_failtures, UNIX_TIMESTAMP(last_failture) AS last_failture";
- } // END - if
+ // Add extra data via filter now
+ $ADD = RUN_FILTER('sql_admin_extra_data');
// Get password from DB
$result = SQL_QUERY_ESC("SELECT password".$ADD." FROM "._MYSQL_PREFIX."_admins WHERE id=%s LIMIT 1",
- array($aid), __FILE__, __LINE__);
+ array($aid), __FILE__, __LINE__);
+
+ // Entry found?
if (SQL_NUMROWS($result) == 1) {
// Login password found
$ret = "pass";
set_session('mxchange_admin_last_fail', $data['last_failture']);
// Update password and reset login failtures
- $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_admins SET password='%s',login_failtures=0,last_failture='0000-00-00 00:00:00' WHERE id=%s LIMIT 1",
+ SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_admins SET password='%s',login_failtures=0,last_failture='0000-00-00 00:00:00' WHERE id=%s LIMIT 1",
array($data['password'], $aid), __FILE__, __LINE__);
} else {
// Update password
- $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_admins SET password='%s' WHERE id=%s LIMIT 1",
+ SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_admins SET password='%s' WHERE id=%s LIMIT 1",
array($data['password'], $aid), __FILE__, __LINE__);
}
//
function ADMIN_DO_ACTION($wht) {
- global $menuDesription, $menuTitle, $_CONFIG, $cacheArray, $DATA, $DEPTH;
+ global $menuDesription, $menuTitle, $_CONFIG, $cacheArray, $DATA;
//* DEBUG: */ echo __LINE__."*".$wht."/".$GLOBALS['module']."/".$GLOBALS['action']."/".$GLOBALS['what']."*<br />\n";
if (EXT_IS_ACTIVE("cache")) {
// Define admin login name and ID number
define('__ADMIN_LOGIN', get_session('admin_login'));
- define('__ADMIN_ID' , GET_ADMIN_ID(get_session('admin_login')));
+ define('__ADMIN_ID' , GET_CURRENT_ADMIN_ID());
// Preload templates
if (EXT_IS_ACTIVE("admins")) {
include($INC);
} elseif (__ACL_ALLOW == false) {
// Access denied
- LOAD_TEMPLATE("admin_menu_failed", false, ADMINS_ACCESS_DENIED);
- ADD_FATAL(ADMINS_ACCESS_DENIED);
+ LOAD_TEMPLATE("admin_menu_failed", false, ADMIN_ACCESS_DENIED);
+ ADD_FATAL(ADMIN_ACCESS_DENIED);
} else {
// Include file not found! :-(
LOAD_TEMPLATE("admin_menu_failed", false, ADMIN_404_ACTION);
$menuTitle = array();
// Is there a cache instance?
- if ((is_object($cacheInstance)) && (isset($_CONFIG['cache_admin_menu'])) && ($_CONFIG['cache_admin_menu'] == "Y")) {
+ if ((is_object($cacheInstance)) && (getConfig('cache_admin_menu') == "Y")) {
// Create cache name
$cacheName = "admin_".$act."_".$wht."_".GET_LANGUAGE()."_".strtolower(get_session('admin_login'));
// Is that cache there?
- if ($cacheInstance->cache_file($cacheName)) {
+ if ($cacheInstance->loadCacheFile($cacheName)) {
// Then load it
- $data = $cacheInstance->cache_load();
+ $data = $cacheInstance->getArrayFromCache();
// Extract all parts
$OUT = base64_decode($data['output'][0]);
} // END - if
// Build main menu
- $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", __FILE__, __LINE__);
if (SQL_NUMROWS($result_main) > 0)
{
$OUT = "<TABLE border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class=\"admin_menu_main\">
}
$OUT .= "</NOBR></TD>
</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",
+ $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",
array($menu), __FILE__, __LINE__);
if ((SQL_NUMROWS($result_what) > 0) && ($act == $menu))
{
eval($eval);
// Is there a cache instance again?
- if ((is_object($cacheInstance)) && (isset($_CONFIG['cache_admin_menu'])) && ($_CONFIG['cache_admin_menu'] == "Y")) {
+ if ((is_object($cacheInstance)) && (getConfig('cache_admin_menu') == "Y")) {
// Init cache
- $cacheInstance->cache_init($cacheName);
+ $cacheInstance->init($cacheName);
// Prepare cache data
$data = array(
);
// Write the data away
- $cacheInstance->add_row($data);
+ $cacheInstance->addRow($data);
// Close cache
- $cacheInstance->cache_close();
+ $cacheInstance->finalize();
} // END - if
// Return or output content?
function ADD_MEMBER_SELECTION_BOX ($def="0", $add_all=false, $return=false, $none=false, $field="userid")
{
// Output selection form with all confirmed user accounts listed
- $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", __FILE__, __LINE__);
$OUT = "";
// USe this only for adding points (e.g. adding refs really makes no sence ;-) )
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",
+ $result = SQL_QUERY_ESC("SELECT %s, title FROM `"._MYSQL_PREFIX."_admin_menu` WHERE ".$wht." ORDER BY sort",
array($MODE), __FILE__, __LINE__);
if (SQL_NUMROWS($result) > 0) {
// Load menu as selection
global $_CONFIG, $cacheArray;
// Set the global mode as the mode for all admins
- $MODE = $_CONFIG['admin_menu']; $ADMIN = $MODE;
+ $MODE = getConfig('admin_menu');
+ $ADMIN = $MODE;
// Get admin id
- $aid = GET_ADMIN_ID(get_session('admin_login'));
+ $aid = GET_CURRENT_ADMIN_ID();
// Check individual settings of current admin
if (isset($cacheArray['admins']['la_mode'][$aid])) {
// Load from cache
$ADMIN = $cacheArray['admins']['la_mode'][$aid];
- if (isset($_CONFIG['cache_hits'])) { $_CONFIG['cache_hits']++; } else { $_CONFIG['cache_hits'] = 1; }
+ if (getConfig('cache_hits') > 0) { $_CONFIG['cache_hits']++; } else { $_CONFIG['cache_hits'] = 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($aid), __FILE__, __LINE__);
+ array($aid), __FILE__, __LINE__);
if (SQL_NUMROWS($result) == 1) {
// Load data
list($ADMIN) = SQL_FETCHROW($result);
global $_CONFIG;
// Set temporary the new settings
- $_CONFIG = array_merge($_CONFIG, $settingsArray);
+ $_CONFIG = merge_array($_CONFIG, $settingsArray);
// Now get the test URL
$content = GET_URL("check-updates3.php");
SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_admins SET password='%s' WHERE login='%s' LIMIT 1",
array($passHash, $login), __FILE__, __LINE__);
+ // Run filters
+ RUN_FILTER('post_admin_reset_pass', array('login' => $login, 'hash' => $passHash));
+
// Return output
return ADMIN_PASSWORD_RESET_DONE;
}