]> git.mxchange.org Git - mailer.git/blobdiff - inc/modules/admin/overview-inc.php
'what','action','module' and 'output_mode' wrapped into functions (WARNUNG: Code...
[mailer.git] / inc / modules / admin / overview-inc.php
index 856454cffb38237950f0b7790baf212cb22210ad..4675398ce0491babca50a2e7ab2d7c3a3c513fcc 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,12 +180,16 @@ 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') {
+                                               // @TODO Should we init sql_notes here or inside REGISTER_EXTENSION()?
+                                               EXT_INIT_NOTES();
+
                                                // Load SQL commands for registering
                                                REGISTER_EXTENSION($ext_name, $id, true);
 
@@ -235,8 +251,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",
@@ -274,8 +289,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";
@@ -339,15 +353,15 @@ LIMIT 1",
 
                                                        case 'NL_UNSUBSCRIBE': // Newsletter unsubscriptions
                                                                $result = SQL_QUERY_ESC("SELECT nl_timespan FROM `{!_MYSQL_PREFIX!}_user_data` WHERE userid=%s LIMIT 1",
-                                                               array(bigintval($uid)), __FILE__, __LINE__);
+                                                                       array(bigintval($uid)), __FILE__, __LINE__);
                                                                list($span) = SQL_FETCHROW($result);
                                                                SQL_FREERESULT($result);
 
                                                                if ($span > 0) {
                                                                        // Undone unscubscribe request
                                                                        $content = array(
-                                                       'uid' => $uid,
-                                                       'id'  => $tid
+                                                                               'uid' => $uid,
+                                                                               'id'  => $tid
                                                                        );
                                                                        $OUT .= LOAD_TEMPLATE('admin_newsletter_tsk', true, $content);
                                                                } else {
@@ -365,6 +379,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);
@@ -403,8 +422,8 @@ LIMIT 1",
                        $content['assigned_admin'] = generateAdminLink($content['assigned_admin']);
 
                        // Generate infos
-                       switch ($content['task_type'])
-                       {
+                       // @TODO Try to move this in includes
+                       switch ($content['task_type']) {
                                case 'EXTENSION':
                                case 'EXTENSION_UPDATE':
                                        $content['infos'] = substr($content['subject'], 1, strpos($content['subject'], ':') - 1);