Wrapper function isAdminsExpertWarningEnabled() introduced
[mailer.git] / inc / libs / admins_functions.php
index e549b1fca3b1b345f20b62f8d9df2881bf62d2af..fad8a524ed21294c0d946ca23fa6c454bbb7c1a5 100644 (file)
  * $Date::                                                            $ *
  * $Tag:: 0.2.1-FINAL                                                 $ *
  * $Author::                                                          $ *
- * Needs to be in all Files and every File needs "svn propset           *
- * svn:keywords Date Revision" (autoprobset!) at least!!!!!!            *
  * -------------------------------------------------------------------- *
  * Copyright (c) 2003 - 2009 by Roland Haeder                           *
- * Copyright (c) 2009, 2010 by Mailer Developer Team                    *
+ * Copyright (c) 2009 - 2011 by Mailer Developer Team                   *
  * For more information visit: http://www.mxchange.org                  *
  *                                                                      *
  * This program is free software; you can redistribute it and/or modify *
@@ -189,17 +187,19 @@ function adminsChangeAdminAccount ($postData, $element = '') {
                                // Rewrite cookie when it's own account
                                if ($adminId == $id) {
                                        // Set timeout cookie
-                                       setSession('admin_last', time());
+                                       setAdminLast(time());
 
-                                       if ($adminId != getSession('admin_id')) {
+                                       if ($adminId != getCurrentAdminId()) {
                                                // Update login cookie
-                                               setSession('admin_id', $adminId);
+                                               setAdminId($adminId);
 
                                                // Update password cookie as well?
-                                               if (!empty($add)) setSession('admin_md5', $hash);
-                                       } elseif (generateHash($postData['pass1'][$id], $salt) != getSession('admin_md5')) {
+                                               if (!empty($add)) {
+                                                       setAdminMd5($hash);
+                                               } // END - if
+                                       } elseif (generateHash($postData['pass1'][$id], $salt) != getAdminMd5()) {
                                                // Update password cookie
-                                               setSession('admin_md5', $hash);
+                                               setAdminMd5($hash);
                                        }
                                } // END - if
 
@@ -258,18 +258,21 @@ LIMIT 1",
                                // Skip login/id entry
                                if (in_array($entry, array('login', 'id'))) continue;
 
-                               // Do we have a non-string (e.g. number, NOW() or back-tick at the beginning?
-                               if ((bigintval($value[$id], true, false) === $value[$id]) || ($value[$id] == 'NOW()') || (substr($value[$id], 0, 1) == '`'))  {
+                               // Do we have a non-string (e.g. number, NULL, NOW() or back-tick at the beginning?
+                               if (is_null($value[$id])) {
+                                       // NULL detected
+                                       $SQL .= '`' . $entry . '`=NULL, ';
+                               } elseif ((bigintval($value[$id], true, false) === $value[$id]) || ($value[$id] == 'NOW()') || (substr($value[$id], 0, 1) == '`'))  {
                                        // No need for ticks (')
-                                       $SQL .= '`' . $entry . '`=' . $value[$id] . ',';
+                                       $SQL .= '`' . $entry . '`=' . $value[$id] . ', ';
                                } else {
                                        // Strings need ticks (') around them
-                                       $SQL .= '`' . $entry . "`='" . SQL_ESCAPE($value[$id]) . "',";
+                                       $SQL .= '`' . $entry . "`='" . SQL_ESCAPE($value[$id]) . "', ";
                                }
                        } // END - foreach
 
-                       // Remove last tick and finish query
-                       $SQL = substr($SQL, 0, -1) . ' WHERE `id`=%s LIMIT 1';
+                       // Remove last 2 chars and finish query
+                       $SQL = substr($SQL, 0, -2) . ' WHERE `id`=%s LIMIT 1';
 
                        // Run it
                        SQL_QUERY_ESC($SQL, array(bigintval($id)), __FUNCTION__, __LINE__);
@@ -282,7 +285,7 @@ LIMIT 1",
        } // END - if
 
        // Remove cache file
-       runFilterChain('post_admin_edited', postRequestArray());
+       runFilterChain('post_form_submited', postRequestArray());
 }
 
 // Make admin accounts editable
@@ -351,7 +354,7 @@ function adminsDeleteAdminAccount ($postData) {
                                $content['id'] = $id;
 
                                // Load row template and switch color
-                               $OUT .= loadTemplate('admin_del_admins_row', true, $content);
+                               $OUT .= loadTemplate('admin_delete_admins_row', true, $content);
                        } // END - if
 
                        // Free result
@@ -359,7 +362,7 @@ function adminsDeleteAdminAccount ($postData) {
                } // END - foreach
 
                // Load template
-               loadTemplate('admin_del_admins', false, $OUT);
+               loadTemplate('admin_delete_admins', false, $OUT);
        } else {
                // Cannot delete last account!
                loadTemplate('admin_settings_saved', false, '{--ADMIN_ADMINS_CANNOT_DELETE_LAST--}');
@@ -377,7 +380,7 @@ function adminsRemoveAdminAccount ($postData) {
                // Delete only when it's not your own account!
                if (($del == 1) && (getCurrentAdminId() != $id)) {
                        // Rewrite his tasks to all admins
-                       SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_task_system` SET `assigned_admin`=0 WHERE `assigned_admin`=%s",
+                       SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_task_system` SET `assigned_admin`=NULL WHERE `assigned_admin`=%s",
                                array($id), __FUNCTION__, __LINE__);
 
                        // Remove account
@@ -387,22 +390,19 @@ function adminsRemoveAdminAccount ($postData) {
        }
 
        // Remove cache if cache system is activated
-       runFilterChain('post_admin_deleted', postRequestArray());
+       runFilterChain('post_form_deleted', postRequestArray());
 }
 
 // List all admin accounts
 function adminsListAdminAccounts() {
        // Select all admin accounts
-       $result = SQL_QUERY("SELECT `id`, `login`, `email`, `default_acl` AS mode, `la_mode` FROM `{?_MYSQL_PREFIX?}_admins` ORDER BY `login` ASC", __FUNCTION__, __LINE__);
+       $result = SQL_QUERY('SELECT `id`, `login`, `email`, `default_acl` AS mode, `la_mode` FROM `{?_MYSQL_PREFIX?}_admins` ORDER BY `login` ASC', __FUNCTION__, __LINE__);
        $OUT = '';
        while ($content = SQL_FETCHARRAY($result)) {
                // Compile some variables
                $content['mode']    = '{--ADMINS_' . strtoupper($content['mode'])    . '_MODE--}';
                $content['la_mode'] = '{--ADMINS_' . strtoupper($content['la_mode']) . '_LA_SETTING--}';
 
-               // Prepare some more data
-               $content['email_link'] = generateEmailLink($content['id'], 'admins');
-
                // Load row template and switch color
                $OUT .= loadTemplate('admin_list_admins_row', true, $content);
        } // END - while
@@ -460,7 +460,7 @@ function sendAdminsEmails ($subj, $template, $content, $userid) {
                        }
                } elseif (($adminId == '0') || (empty($adminId))) {
                        // Select all email adresses
-                       $result = SQL_QUERY("SELECT `email` FROM `{?_MYSQL_PREFIX?}_admins` ORDER BY `id` ASC",
+                       $result = SQL_QUERY('SELECT `email` FROM `{?_MYSQL_PREFIX?}_admins` ORDER BY `id` ASC',
                                __FUNCTION__, __LINE__);
                } else {
                        // If Admin-Id is not "to-all" select
@@ -624,9 +624,9 @@ function getAdminLastFailure ($adminId) {
        return $data['last_failure'];
 }
 
-//*****************************************************************************
-//                     Below only filter functions
-//*****************************************************************************
+//-----------------------------------------------------------------------------
+//                                Filter Functions
+//-----------------------------------------------------------------------------
 
 // Filter for adding extra data to the query
 function FILTER_ADD_EXTRA_SQL_DATA ($add = '') {
@@ -649,7 +649,7 @@ function FILTER_RESET_ADMINS_LOGIN_FAILURES ($data) {
        // Prepare update data
        $postData['login'][getCurrentAdminId()]          = $data['login'];
        $postData['login_failures'][getCurrentAdminId()] = '0';
-       $postData['last_failure'][getCurrentAdminId()]   = '0000-00-00 00:00:00';
+       $postData['last_failure'][getCurrentAdminId()]   = null;
 
        // Change it in the admin
        adminsChangeAdminAccount($postData);
@@ -691,7 +691,7 @@ function FILTER_REHASH_ADMINS_PASSWORD ($data) {
        adminsChangeAdminAccount($postData);
 
        // Update cookie/session and data array
-       setSession('admin_md5', encodeHashForCookie($newHash));
+       setAdminMd5(encodeHashForCookie($newHash));
        $data['pass_hash'] = $newHash;
 
        // Always make sure the cache is destroyed
@@ -701,5 +701,14 @@ function FILTER_REHASH_ADMINS_PASSWORD ($data) {
        return $data;
 }
 
+// ---------------------------------------------------------------------------
+//                             Wrapper functions
+// ---------------------------------------------------------------------------
+
+// Wrapper function to check wether expert setting warning is enabled
+function isAdminsExpertWarningEnabled () {
+       return (getAminsExpertWarning() == 'Y');
+}
+
 // [EOF]
 ?>