if() condition simplified and some minor rewrites
[mailer.git] / inc / modules / admin / overview-inc.php
index ccaaa3f03467608e4013ea4e2bed1563e12b0906..972644fe83607b26873d8aee761b48762dd98c57 100644 (file)
@@ -127,11 +127,12 @@ function OUTPUT_SELECTED_TASKS ($POST, $result_tasks) {
 FROM `{!_MYSQL_PREFIX!}_task_system`
 WHERE `id`=%s AND (`assigned_admin`=%s OR (`assigned_admin`=0 AND `status`='NEW'))
 LIMIT 1",
-                       array(bigintval($id), getCurrentAdminId()), __FILE__, __LINE__);
+                               array(bigintval($id), getCurrentAdminId()), __FILE__, __LINE__);
+
+                       // Task is found?
                        if (SQL_NUMROWS($result_task) == 1) {
                                // Task is valid...
                                list($tid, $uid, $type, $subj, $text, $created, $status, $aid) = SQL_FETCHROW($result_task);
-                               SQL_FREERESULT($result_task);
 
                                if ($aid == '0') {
                                        // Assgin current admin to unassgigned task
@@ -147,14 +148,25 @@ LIMIT 1",
                                        $add = "<li>{--ADMIN_TASK_SUPPORT_MODE--}: <strong>".$mode."</strong></li>";
                                } // END - if
 
+                               // Is a userid assign?
                                if ($uid > 0) {
+                                       // Then load his data!
+                                       // @TODO Can this SQL be encapsulated in a function, so all similar queries can be rewritten?
                                        $result_user = SQL_QUERY_ESC("SELECT gender, surname, family, email FROM `{!_MYSQL_PREFIX!}_user_data` WHERE userid=%s LIMIT 1",
-                                       array(bigintval($uid)), __FILE__, __LINE__);
+                                               array(bigintval($uid)), __FILE__, __LINE__);
+
+                                       // Entry found?
                                        if (SQL_NUMROWS($result_user) == 1) {
                                                list($gender, $sname, $fname, $email) = SQL_FETCHROW($result_user);
-                                               SQL_FREERESULT($result_user);
                                                $add = "<li>{--ADMIN_MEMBER_UID--}: <strong>".generateUserProfileLink($uid)." (<a href=\"".generateMemberEmailLink($email, "user_data")."\">".translateGender($gender)." ".$sname." ".$fname."</a>)</strong></li>";
-                                       } // END - if
+                                       } else {
+                                               // Invalid userid, so log and zero it
+                                               DEBUG_LOG(__FUNCTION__, __LINE__, 'Invalid userid=' . $uid . '-> Not found!');
+                                               $uid = 0;
+                                       }
+
+                                       // Free result
+                                       SQL_FREERESULT($result_user);
                                } // END - if
 
                                // Decode entities of the text
@@ -168,8 +180,12 @@ LIMIT 1",
                                $title = getMessage('TASK_NO_TITLE');
 
                                // Shall I list SQL commands assigned to an extension installation or update task?
-                               if (((GET_EXT_VERSION('sql_patches') != '') && (getConfig('verbose_sql') == 'Y')) || (!EXT_IS_ACTIVE('sql_patches'))) {
+                               // OLD WAY: if (((GET_EXT_VERSION('sql_patches') != '') && (getConfig('verbose_sql') == 'Y')) || (!EXT_IS_ACTIVE('sql_patches'))) {
+                               if ((getConfig('verbose_sql') == 'Y')) {
+                                       // Extract extension name from subject
                                        $ext_name = substr($subj, 1, strpos($subj, ':') - 1);
+
+                                       // Update task or extension task?
                                        if ($type == 'EXTENSION') {
                                                // Load SQL commands for registering
                                                REGISTER_EXTENSION($ext_name, $id, true);
@@ -183,7 +199,7 @@ LIMIT 1",
                                                // Prepare extension name and version
                                                $ext_name = substr($ext_name, 7);
                                                $ext_name = substr($ext_name, 0, strpos($ext_name, '-'));
-                                               $test = '[UPDATE-'.$ext_name.'-';
+                                               $test = '[UPDATE-' . $ext_name . '-';
                                                $ext_ver = substr($subj, strlen($test));
                                                $ext_ver = substr($ext_ver, 0, strpos($ext_ver, ':'));
 
@@ -200,12 +216,13 @@ LIMIT 1",
                                                $ext_name = '';
                                        }
 
-                                       // Add SQLs to a table
+                                       // Auto-init SQL handler
                                        if (!IS_SQLS_VALID()) INIT_SQLS();
-                                       if (empty($title)) $title = '';
+
+                                       // Add SQLs to a table
                                        if ((!empty($ext_name)) && (GET_EXT_VERSION('sql_patches')) && (getConfig('verbose_sql') == 'Y')) {
                                                // Add verbose SQL table
-                                               $text .= EXTENSION_VERBOSE_TABLE($title, " class=\"admin_table top2 left2 right2\"", true, "100%")."<br />\n";
+                                               $text .= EXTENSION_VERBOSE_TABLE($title, " class=\"admin_table top2 left2 right2\"", true, '100%')."<br />\n";
                                        } // END - if
                                } elseif ((!empty($ext_name)) && (!empty($ext_ver))) {
                                        // Run SQL commands in dry mode but only return the notes
@@ -213,7 +230,7 @@ LIMIT 1",
                                        $text .= EXT_GET_NOTES();
                                } else {
                                        // This should not normally happen!
-                                       debug_report_bug('ext_name(' . $ext_name . ') or ext_ver (' . $ext_ver . ') is empty!');
+                                       debug_report_bug('ext_name(' . $ext_name . ') or ext_ver(' . $ext_ver . ') is empty! sql_patches=' . GET_EXT_VERSION('sql_patches') . '/verbose_sql=' . getConfig('verbose_sql'));
                                }
 
                                // Prepare array for the template
@@ -231,8 +248,7 @@ LIMIT 1",
 
                                // Which task do we actually have here?
                                // @TODO Rewrite this to something with include files
-                               switch ($type)
-                               {
+                               switch ($type) {
                                        case 'EXTENSION': // Install new extensions
                                                $ext_name = substr($subj, 1, strpos($subj, ':') - 1);
                                                $result_lines = SQL_QUERY_ESC("SELECT `id` FROM `{!_MYSQL_PREFIX!}_extensions` WHERE `ext_name`='%s' LIMIT 1",
@@ -270,8 +286,7 @@ LIMIT 1",
 
                                        case 'SUPPORT_MEMBER': // Assign on member's support request
                                                // @TODO This may also be rewritten to include files
-                                               switch ($mode)
-                                               {
+                                               switch ($mode) {
                                                        default: // @TODO Unknown support mode
                                                        DEBUG_LOG(__FILE__, __LINE__, sprintf("Unknown support mode %s detected. This part is under construction!", $mode));
                                                        $OUT .= "<div class=\"admin_failed medium\">".sprintf(getMessage('ADMIN_UNKNOWN_SUPPORT_MODE'), $mode)."</div>\n";
@@ -361,6 +376,11 @@ LIMIT 1",
   <td width=\"1%\" class=\"switch_sw".$SW." bottom2 right2\">&nbsp;</td>
 </tr>\n";
                        } // END - if
+
+                       // Free result
+                       SQL_FREERESULT($result_task);
+
+                       // Switch colors
                        $SW = 3 - $SW;
                } // END - foreach
                define('__TASK_ROWS', $OUT);