]> git.mxchange.org Git - mailer.git/blobdiff - inc/libs/admins_functions.php
More networks deactivated, isAdminsExpertSettingEnabled() introduced and some others...
[mailer.git] / inc / libs / admins_functions.php
index 3ac7769a2764db1e91171fe1caec801614c2d949..a3ff87855c6b9e0f673e233cc026b63bba371021 100644 (file)
@@ -16,7 +16,7 @@
  * $Author::                                                          $ *
  * -------------------------------------------------------------------- *
  * Copyright (c) 2003 - 2009 by Roland Haeder                           *
- * Copyright (c) 2009 - 2011 by Mailer Developer Team                   *
+ * Copyright (c) 2009 - 2012 by Mailer Developer Team                   *
  * For more information visit: http://mxchange.org                      *
  *                                                                      *
  * This program is free software; you can redistribute it and/or modify *
@@ -164,7 +164,7 @@ LIMIT 1",
                $email = '{%url=modules.php?module=' . $mod . '&what=admins_contct&id=' . bigintval($email) . '%}';
        } else {
                // This is strange and needs fixing
-               debug_report_bug(__FUNCTION__, __LINE__, 'email[' . gettype($email) . ']=' . $email . ',mod=' . $mod . ' - This should not happen.');
+               reportBug(__FUNCTION__, __LINE__, 'email[' . gettype($email) . ']=' . $email . ',mod=' . $mod . ' - This should not happen.');
        }
 
        // Return rewritten (?) email address
@@ -180,13 +180,17 @@ function adminsChangeAdminAccount ($postData, $element = '', $displayMessage = t
        foreach ($postData['login'] as $id => $login) {
                // Secure id number
                $id = bigintval($id);
-               /* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'id=' . $id . ',login=' . $login);
+               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'id=' . $id . ',login=' . $login);
 
                // When both passwords match update admin account
                if ((!empty($element)) && (isset($postData[$element]))) {
                        // Save this setting
                        SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_admins` SET `%s`='%s' WHERE `id`=%s LIMIT 1",
-                               array($element, $postData[$element][$id], $id), __FUNCTION__, __LINE__);
+                               array(
+                                       $element,
+                                       $postData[$element][$id],
+                                       $id
+                               ), __FUNCTION__, __LINE__);
 
                        // Admin account saved
                        $message = '{--ADMIN_ACCOUNT_SAVED--}';
@@ -318,7 +322,7 @@ function adminsEditAdminAccount ($postData) {
                $id = bigintval($id);
 
                // Get the admin's data
-               $result = SQL_QUERY_ESC("SELECT `login`,`email` FROM `{?_MYSQL_PREFIX?}_admins` WHERE `id`=%s LIMIT 1",
+               $result = SQL_QUERY_ESC("SELECT `login`, `email` FROM `{?_MYSQL_PREFIX?}_admins` WHERE `id`=%s LIMIT 1",
                        array($id), __FUNCTION__, __LINE__);
                if ((SQL_NUMROWS($result) == 1) && ($selected == 1)) {
                        // Entry found
@@ -354,7 +358,17 @@ function generateAdminAccessModeSelectionBox ($adminId = NULL) {
        $OUT = '<select name="access_mode[' . $adminId . ']" size="1" class="form_select">';
 
        // Add option list
-       $OUT .= generateOptionList('/ARRAY/', array('allow', 'deny'), array('{--ADMIN_ADMINS_ACCESS_MODE_ALLOW--}', '{--ADMIN_ADMINS_ACCESS_MODE_DENY--}'), getAdminDefaultAcl($adminId));
+       $OUT .= generateOptions(
+               '/ARRAY/',
+               array(
+                       'allow',
+                       'deny'
+               ), array(
+                       '{--ADMIN_ADMINS_ACCESS_MODE_ALLOW--}',
+                       '{--ADMIN_ADMINS_ACCESS_MODE_DENY--}'
+               ),
+               getAdminDefaultAcl($adminId)
+       );
 
        // Finish it
        $OUT .= '</select>';
@@ -366,10 +380,22 @@ function generateAdminAccessModeSelectionBox ($adminId = NULL) {
 // Generate menu mode selection box for given admin it
 function generateAdminMenuModeSelectionBox ($adminId = NULL) {
        // Start the selection box
-       $OUT = '<select name="la_mode[{%pipe,makeNullToZero=' . makeZeroToNull($adminId) . '%}]" size="1" class="form_select">';
+       $OUT = '<select name="la_mode[{%pipe,convertNullToZero=' . convertZeroToNull($adminId) . '%}]" size="1" class="form_select">';
 
        // Add option list
-       $OUT .= generateOptionList('/ARRAY/', array('global', 'OLD', 'NEW'), array('{--ADMIN_ADMINS_LA_MODE_GLOBAL--}', '{--ADMIN_ADMINS_LA_MODE_OLD--}', '{--ADMIN_ADMINS_LA_MODE_NEW--}'), getAdminMenuMode($adminId));
+       $OUT .= generateOptions(
+               '/ARRAY/',
+               array(
+                       'global',
+                       'OLD',
+                       'NEW'
+               ), array(
+                       '{--ADMIN_ADMINS_LA_MODE_GLOBAL--}',
+                       '{--ADMIN_ADMINS_LA_MODE_OLD--}',
+                       '{--ADMIN_ADMINS_LA_MODE_NEW--}'
+               ),
+               getAdminMenuMode($adminId)
+       );
 
        // Finish it
        $OUT .= '</select>';
@@ -389,10 +415,10 @@ function adminsDeleteAdminAccount ($postData) {
                        $id = bigintval($id);
 
                        // Get the admin's data
-                       $result = SQL_QUERY_ESC("SELECT `login`,`email`,`default_acl` AS `access_mode`,`la_mode` FROM `{?_MYSQL_PREFIX?}_admins` WHERE `id`=%s LIMIT 1",
+                       $result = SQL_QUERY_ESC("SELECT `login`, `email`, `default_acl` AS `access_mode`, `la_mode` FROM `{?_MYSQL_PREFIX?}_admins` WHERE `id`=%s LIMIT 1",
                                array($id), __FUNCTION__, __LINE__);
 
-                       // Do we have an entry?
+                       // Is there an entry?
                        if (SQL_NUMROWS($result) == 1) {
                                // Entry found, so load data
                                $content = SQL_FETCHARRAY($result);
@@ -474,7 +500,7 @@ ORDER BY
 
 // Sends out mail to all administrators
 // IMPORTANT: Please use sendAdminNotification() instead of calling this function directly
-function sendAdminsEmails ($subj, $template, $content, $userid) {
+function sendAdminsEmails ($subject, $template, $content, $userid) {
        // Trim template name
        $template = trim($template);
 
@@ -488,14 +514,18 @@ function sendAdminsEmails ($subj, $template, $content, $userid) {
        // No entries found?
        if (SQL_HASZERONUMS($result)) {
                // Create new entry (to all admins)
-               SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_admins_mails` (`admin_id`,`mail_template`) VALUES (0, '%s')",
+               SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_admins_mails` (`admin_id`, `mail_template`) VALUES (0, '%s')",
                        array($template), __FUNCTION__, __LINE__);
+
+               // Select all email adresses (default)
+               $result = SQL_QUERY('SELECT `email` FROM `{?_MYSQL_PREFIX?}_admins` ORDER BY `id` ASC',
+                       __FUNCTION__, __LINE__);
        } else {
                // Load admin ids...
                // @TODO This can be, somehow, rewritten
                $adminIds = array();
                while ($content = SQL_FETCHARRAY($result)) {
-                       $adminIds[] = $content['admin_id'];
+                       array_push($adminIds, $content['admin_id']);
                } // END - while
 
                // Free memory
@@ -506,15 +536,18 @@ function sendAdminsEmails ($subj, $template, $content, $userid) {
 
                // "implode" ids and query string
                $adminId = implode(',', $adminIds);
+
+               // To which admin shall we sent it?
                if ($adminId == '-1') {
+                       // Is an "event"
                        if (isExtensionActive('events')) {
                                // Add line to user events
-                               EVENTS_ADD_LINE($subj, $message, $userid);
+                               EVENTS_ADD_LINE($subject, $message, $userid);
                        } else {
                                // Log error for debug
-                               logDebugMessage(__FUNCTION__, __LINE__, sprintf("Extension 'events' missing: tpl=%s,subj=%s,userid=%s",
+                               logDebugMessage(__FUNCTION__, __LINE__, sprintf("Extension 'ext-events' missing: template=%s,subj=%s,userid=%s",
                                        $template,
-                                       $subj,
+                                       $subject,
                                        $userid
                                ));
                        }
@@ -529,9 +562,18 @@ function sendAdminsEmails ($subj, $template, $content, $userid) {
                }
        }
 
+       // Default is no special mail header
+       $mailHeader = '';
+
+       // Is the template a bug report?
+       if ($template == 'admin_report_bug') {
+               // Then set 'Reply-To:' again
+               $mailHeader = 'Reply-To: webmaster@mxchange.org' . chr(10);
+       } // END - if
+
        // Load email addresses and send away
        while ($content = SQL_FETCHARRAY($result)) {
-               sendEmail($content['email'], $subj, $message);
+               sendEmail($content['email'], $subject, $message, 'N', $mailHeader);
        } // END - while
 
        // Free memory
@@ -616,7 +658,7 @@ function getAminsExpertWarning () {
 function getAdminLoginFailures ($adminId) {
        // Admin login should not be empty
        if (empty($adminId)) {
-               debug_report_bug(__FUNCTION__, __LINE__, 'adminId is empty.');
+               reportBug(__FUNCTION__, __LINE__, 'adminId is empty.');
        } // END - if
 
        // By default no admin is found
@@ -634,7 +676,7 @@ function getAdminLoginFailures ($adminId) {
                $result = SQL_QUERY_ESC("SELECT `login_failures` FROM `{?_MYSQL_PREFIX?}_admins` WHERE `id`=%s LIMIT 1",
                        array($adminId), __FUNCTION__, __LINE__);
 
-               // Do we have an entry?
+               // Is there an entry?
                if (SQL_NUMROWS($result) == 1) {
                        // Get it
                        $data = SQL_FETCHARRAY($result);
@@ -652,7 +694,7 @@ function getAdminLoginFailures ($adminId) {
 function getAdminLastFailure ($adminId) {
        // Admin login should not be empty
        if (empty($adminId)) {
-               debug_report_bug(__FUNCTION__, __LINE__, 'adminId is empty.');
+               reportBug(__FUNCTION__, __LINE__, 'adminId is empty.');
        } // END - if
 
        // By default no admin is found
@@ -670,7 +712,7 @@ function getAdminLastFailure ($adminId) {
                $result = SQL_QUERY_ESC("SELECT UNIX_TIMESTAMP(`last_failure`) AS `last_failure` FROM `{?_MYSQL_PREFIX?}_admins` WHERE `id`=%s LIMIT 1",
                        array($adminId), __FUNCTION__, __LINE__);
 
-               // Do we have an entry?
+               // Is there an entry?
                if (SQL_NUMROWS($result) == 1) {
                        // Get it
                        $data = SQL_FETCHARRAY($result);
@@ -688,10 +730,15 @@ function getAdminLastFailure ($adminId) {
 //                             Wrapper functions
 //-----------------------------------------------------------------------------
 
-// Wrapper function to check wether expert setting warning is enabled
+// Wrapper function to check whether expert setting warning is enabled
 function isAdminsExpertWarningEnabled () {
        return (getAminsExpertWarning() == 'Y');
 }
 
+// Wrapper function to check whether expert setting is enabled
+function isAdminsExpertSettingEnabled () {
+       return (getAminsExpertSettings() == 'Y');
+}
+
 // [EOF]
 ?>