]> git.mxchange.org Git - mailer.git/blobdiff - inc/modules/admin/overview-inc.php
Began to rewrite whole script for newly added filters, new extension stub 'network...
[mailer.git] / inc / modules / admin / overview-inc.php
index 5e84a577fdcb41af2acc4c4111e159df6c7335ac..5574b354e4b79b9282f954d4bbefac594eeb2f4a 100644 (file)
@@ -42,7 +42,7 @@ function OUTPUT_STANDARD_OVERVIEW(&$result_tasks) {
 
        // First check for solved and not assigned tasks and assign them to current admin
        $result_task = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_task_system SET assigned_admin='%s' WHERE assigned_admin < 1 AND status != 'NEW'",
-        array(GET_ADMIN_ID(get_session('admin_login'))), __FILE__, __LINE__);
+               array(GET_CURRENT_ADMIN_ID()), __FILE__, __LINE__);
 
        // We currently don't want to install an extension so let's find out if we need...
        $EXT_LOAD_MODE = "register";
@@ -55,53 +55,40 @@ function OUTPUT_STANDARD_OVERVIEW(&$result_tasks) {
                if ((substr($file, 0, 4) == "ext-") && (substr($file, -4) == ".php")) {
                        //* DEBUG: */ echo $file."<br />\n";
                        // Possible newly installed extension found so we extract extension's name
-                       $ext = strtolower(substr($file, 4, -4)); // Keep always extension names on lower case!!!
+                       $ext_name = strtolower(substr($file, 4, -4)); // Keep always extension names on lower case!!!
 
                        // Init variables
-                       $ext_ver = "";
                        $result = false;
 
                        // Check if extension is installed or not
-                       if ((is_array($cacheArray['extensions']['ext_version'])) && (isset($cacheArray['extensions']['ext_version'][$ext]))) {
-                               // Load version from cache
-                               if (!empty($cacheArray['extensions']['ext_version'][$ext])) {
-                                       // Extension is installed so we can get it's version number
-                                       $ext_ver = $cacheArray['extensions']['ext_version'][$ext];
-                               } else {
-                                       // Extension is not installed so no version number was found
-                                       $ext_ver = "";
-                               }
-                       } elseif (!EXT_IS_ACTIVE("cache")) {
-                               // Load data from database
-                               $result = SQL_QUERY_ESC("SELECT id, ext_version FROM "._MYSQL_PREFIX."_extensions WHERE ext_name='%s' LIMIT 1",
-                                array($ext), __FILE__, __LINE__);
-                       }
+                       $ext_ver = GET_EXT_VERSION($ext_name);
 
                        // Is the extension not yet installed?
-                       if ((SQL_NUMROWS($result) == 0) && (empty($ext_ver))) {
+                       if (empty($ext_ver)) {
                                // Generate subject line
-                               $ext_subj = sprintf("[%s:]", $ext);
-
-                               // Create a task for newly installed extension
-                               CREATE_NEW_EXTENSION_TASK(GET_ADMIN_ID(get_session('admin_login')), $ext_subj, $ext);
+                               $ext_subj = sprintf("[%s:]", $ext_name);
 
                                // We maybe want to install an extension so let's test-drive it...
-                               include(PATH."inc/extensions/".$file);
+                               if (LOAD_EXTENSION($ext_name, $EXT_LOAD_MODE)) {
+                                       // Create a task for newly installed extension
+                                       CREATE_NEW_EXTENSION_TASK(GET_CURRENT_ADMIN_ID(), $ext_subj, $ext_name);
+                               } // END - if
                        } else {
-                               // Maybe we want to update?
-                               if ((empty($cacheArray['extensions']['ext_version'][$ext])) && (SQL_NUMROWS($result) == 1)) {
-                                       list($dummy, $ext_ver) = SQL_FETCHROW($result);
-                                       SQL_FREERESULT($result);
+                               // Test-drive extension in update mode
+                               include(sprintf("%sinc/extensions/ext-%s.php", PATH, $ext_name));
+
+                               // Update extension if extension is installed and outdated
+                               //* DEBUG: */ print "ext={$ext_name},ver={$EXT_VERSION}/".GET_EXT_VERSION($ext_name)."<br />\n";
+                               if ($EXT_VERSION > $ext_ver) {
+                                       // Update the extension
+                                       EXTENSION_UPDATE($ext_name, $ext_ver);
                                } // END - if
 
-                               // Update extension
-                               if (!empty($ext_ver)) EXTENSION_UPDATE($file, $ext, $ext_ver);
-
-                               if (!empty($cacheArray['active_extensions'][$ext])) {
+                               if (isset($cacheArray['active_extensions'][$ext_name])) {
                                        // Maybe we want to keept the current extension active?
-                                       if (($cacheArray['active_extensions'][$ext] == "Y") && (!EXT_IS_ACTIVE($ext))) {
+                                       if (($cacheArray['active_extensions'][$ext_name] == "Y") && (!EXT_IS_ACTIVE($ext_name))) {
                                                // Reactivate this extension!
-                                               ACTIVATE_EXTENSION($ext);
+                                               ACTIVATE_EXTENSION($ext_name);
                                        } // END - if
                                } // END - if
                        }
@@ -116,7 +103,7 @@ function OUTPUT_STANDARD_OVERVIEW(&$result_tasks) {
 FROM "._MYSQL_PREFIX."_task_system
 WHERE assigned_admin='%s' OR (assigned_admin='0' AND status='NEW')
 ORDER BY userid DESC, task_type DESC, subject, task_created DESC",
-        array(GET_ADMIN_ID(get_session('admin_login'))), __FILE__, __LINE__);
+               array(GET_CURRENT_ADMIN_ID()), __FILE__, __LINE__);
 
        if (SQL_NUMROWS($result_tasks) > 0) {
                // New jobs found!
@@ -138,7 +125,7 @@ function OUTPUT_SELECTED_TASKS($_POST, $result_tasks) {
                $OUT = ""; $SW = 2;
                foreach ($_POST['task'] as $id => $sel) {
                        $result_task = SQL_QUERY_ESC("SELECT id, userid, task_type, subject, text, task_created, status, assigned_admin FROM "._MYSQL_PREFIX."_task_system WHERE id=%s AND (assigned_admin='%s' OR (assigned_admin='0' AND status='NEW')) LIMIT 1",
-                        array(bigintval($id), GET_ADMIN_ID(get_session('admin_login'))), __FILE__, __LINE__);
+                               array(bigintval($id), GET_CURRENT_ADMIN_ID()), __FILE__, __LINE__);
                        if (SQL_NUMROWS($result_task) == 1) {
                                // Task is valid...
                                list($tid, $uid, $type, $subj, $text, $created, $status, $aid) = SQL_FETCHROW($result_task);
@@ -147,7 +134,7 @@ function OUTPUT_SELECTED_TASKS($_POST, $result_tasks) {
                                if ($aid == "0") {
                                        // Assgin current admin to unassgigned task
                                        $result_assign = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_task_system SET assigned_admin='%s' WHERE id=%s LIMIT 1",
-                                        array(GET_ADMIN_ID(get_session('admin_login')), bigintval($tid)), __FILE__, __LINE__);
+                                               array(GET_CURRENT_ADMIN_ID(), bigintval($tid)), __FILE__, __LINE__);
                                } // END - if
 
                                $ADD = "";
@@ -158,7 +145,7 @@ function OUTPUT_SELECTED_TASKS($_POST, $result_tasks) {
                                } // END - if
 
                                if ($uid > 0) {
-                                       $result_user = SQL_QUERY_ESC("SELECT gender, surname, family, email FROM "._MYSQL_PREFIX."_user_data WHERE userid=%s LIMIT 1",
+                                       $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__);
                                        if (SQL_NUMROWS($result_user) == 1) {
                                                list($gender, $sname, $fname, $email) = SQL_FETCHROW($result_user);
@@ -178,7 +165,7 @@ function OUTPUT_SELECTED_TASKS($_POST, $result_tasks) {
                                $title = TASK_NO_TITLE;
 
                                // Shall I list SQL commands assigned to an extension installation or update task?
-                               if (((GET_EXT_VERSION("sql_patches") != '') && ($_CONFIG['verbose_sql'] == "Y")) || (!EXT_IS_ACTIVE("sql_patches"))) {
+                               if (((GET_EXT_VERSION("sql_patches") != '') && (getConfig('verbose_sql') == "Y")) || (!EXT_IS_ACTIVE("sql_patches"))) {
                                        $ext_name = substr($subj, 1, strpos($subj, ":") - 1);
                                        if ($type == "EXTENSION") {
                                                // Load SQL commands for registering
@@ -190,7 +177,7 @@ function OUTPUT_SELECTED_TASKS($_POST, $result_tasks) {
                                                // Set title
                                                $title = ADMIN_SQLS_EXECUTED_ON_REGISTER;
                                        } elseif ($type == "EXTENSION_UPDATE") {
-                                               // Load SQL commands for update (already done!)
+                                               // Prepare extension name and version
                                                $ext_name = substr($ext_name, 7);
                                                $ext_name = substr($ext_name, 0, strpos($ext_name, "-"));
                                                $test = "[UPDATE-".$ext_name."-";
@@ -198,7 +185,7 @@ function OUTPUT_SELECTED_TASKS($_POST, $result_tasks) {
                                                $ext_ver = substr($ext_ver, 0, strpos($ext_ver, ":"));
 
                                                // Load SQLs from file
-                                               $SQLs = EXTENSION_UPDATE("ext-".$ext_name.".php", $ext_name, $ext_ver, true);
+                                               $SQLs = EXTENSION_UPDATE($ext_name, $ext_ver, true);
 
                                                // Add notes to text
                                                $text .= $NOTES;
@@ -213,13 +200,13 @@ function OUTPUT_SELECTED_TASKS($_POST, $result_tasks) {
                                        // Add SQLs to a table
                                        if (empty($SQLs)) $SQLs = array();
                                        if (empty($title)) $title = "";
-                                       if ((!empty($ext_name)) && (GET_EXT_VERSION("sql_patches")) && ($_CONFIG['verbose_sql'] == "Y")) {
+                                       if ((!empty($ext_name)) && (GET_EXT_VERSION("sql_patches")) && (getConfig('verbose_sql') == "Y")) {
                                                // Add verbose SQL table
                                                $text .= EXTENSION_VERBOSE_TABLE($SQLs, $title, " class=\"admin_table top2 left2 right2\"", true, "100%")."<br />\n";
                                        } // END - if
                                } else {
                                        // Run SQL commands in dry mode but only return the notes
-                                       $SQLs = EXTENSION_UPDATE("ext-".$ext_name.".php", $ext_name, $ext_ver, true);
+                                       $SQLs = EXTENSION_UPDATE($ext_name, $ext_ver, true);
                                        $text .= $NOTES;
                                }
 
@@ -257,7 +244,7 @@ function OUTPUT_SELECTED_TASKS($_POST, $result_tasks) {
 
                                                // Close task but not already closes or deleted or update tasks
                                                if (($status != "CLOSED") && ($status != "DELETED") && ($type != "EXTENSION_UPDATE")) {
-                                                       ADMIN_SOLVE_TASK($tid);
+                                                       RUN_FILTER('solve_task', $tid);
                                                } // END - if
                                        }
                                        break;
@@ -269,7 +256,7 @@ function OUTPUT_SELECTED_TASKS($_POST, $result_tasks) {
                                        // Close task
                                        if (($status != "CLOSED") && ($status != "DELETED")) {
                                                // Solve the task
-                                               ADMIN_SOLVE_TASK($tid);
+                                               RUN_FILTER('solve_task', $tid);
                                        } // END - if
                                        break;
 
@@ -312,7 +299,7 @@ function OUTPUT_SELECTED_TASKS($_POST, $result_tasks) {
                                        if (EXT_IS_ACTIVE("wernis")) {
                                                // Extension is installed so let him send a notification to the user
                                                $result_pay = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_user_wernis WHERE userid=%s AND wernis_timestamp=%s LIMIT 1",
-                                                array(bigintval($uid), bigintval($created)), __FILE__, __LINE__);
+                                                       array(bigintval($uid), bigintval($created)), __FILE__, __LINE__);
                                                list($pid) = SQL_FETCHROW($result_pay);
                                                SQL_FREERESULT($result_pay);
 
@@ -338,8 +325,8 @@ function OUTPUT_SELECTED_TASKS($_POST, $result_tasks) {
                                        break;
 
                                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__);
+                                       $result = SQL_QUERY_ESC("SELECT nl_timespan FROM `"._MYSQL_PREFIX."_user_data` WHERE userid=%s LIMIT 1",
+                                               array(bigintval($uid)), __FILE__, __LINE__);
                                        list($span) = SQL_FETCHROW($result);
                                        SQL_FREERESULT($result);
 
@@ -378,19 +365,19 @@ function OUTPUT_SELECTED_TASKS($_POST, $result_tasks) {
                                // Unassign from tasks
                                foreach ($_POST['task'] as $id => $sel) {
                                        $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_task_system SET assigned_admin=0 WHERE id=%s AND assigned_admin=%s LIMIT 1",
-                                        array(bigintval($id), GET_ADMIN_ID(get_session('admin_login'))), __FILE__, __LINE__);
+                                        array(bigintval($id), GET_CURRENT_ADMIN_ID()), __FILE__, __LINE__);
                                }
                        } elseif (isset($_POST['del'])) {
                                // Delete tasks
                                foreach ($_POST['task'] as $id => $sel) {
                                        $result = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_task_system WHERE id=%s AND assigned_admin IN (%s,0) LIMIT 1",
-                                        array(bigintval($id), GET_ADMIN_ID(get_session('admin_login'))), __FILE__, __LINE__);
+                                        array(bigintval($id), GET_CURRENT_ADMIN_ID()), __FILE__, __LINE__);
                                }
                        }
 
                        // Update query
                        $result_tasks = SQL_QUERY_ESC("SELECT id, assigned_admin, userid, task_type, subject, text, task_created FROM "._MYSQL_PREFIX."_task_system WHERE assigned_admin=%s OR (assigned_admin=0 AND status='NEW') ORDER BY task_created DESC",
-                        array(GET_ADMIN_ID(get_session('admin_login'))), __FILE__, __LINE__);
+                        array(GET_CURRENT_ADMIN_ID()), __FILE__, __LINE__);
                } // END - if
 
                // There are uncompleted jobs!
@@ -445,7 +432,7 @@ function OUTPUT_SELECTED_TASKS($_POST, $result_tasks) {
                        );
 
                        // Do we have extension task?
-                       if (($type == "EXTENSION") && (!GET_EXT_VERSION($infos) == "")) {
+                       if (($type == "EXTENSION") && (GET_EXT_VERSION($infos) == "")) {
                                // Load extension row template
                                LOAD_TEMPLATE("admin_overview_list_ext_rows", false, $content);
                        } else {