]> git.mxchange.org Git - mailer.git/blobdiff - inc/modules/admin/admin-inc.php
Deleting of entries added
[mailer.git] / inc / modules / admin / admin-inc.php
index 377cdfab91be1ca2d7b26bded6c8ebf96a0d0ddd..1a8c01ad9970852bf207cae40bceab83fe3b45f5 100644 (file)
@@ -548,43 +548,20 @@ function ADMIN_MENU_SELECTION($MODE, $default="", $defid="") {
        // Return output
        return $OUT;
 }
-//
-function ADMIN_SAVE_SETTINGS (&$POST, $tableName="_config", $whereStatement="config=0", $translateComma = array(), $alwaysAdd=false) {
+// Save settings to the database
+function ADMIN_SAVE_SETTINGS (&$POST, $tableName="_config", $whereStatement="config=0", $translateComma=array(), $alwaysAdd=false) {
        global $_CONFIG, $cacheArray, $cacheInstance;
 
        // Prepare all arrays, variables
        $DATA = array();
        $skip = false;
-       $TEST2 = "";
 
        // Now, walk through all entries and prepare them for saving
        foreach ($POST as $id => $val) {
                // Process only formular field but not submit buttons ;)
                if ($id != "ok") {
                        // Do not save the ok value
-                       $TEST = substr($id, -3);
-
-                       // Improved way of checking! :-)
-                       if (in_array($TEST, array("_ye", "_mo", "_we", "_da", "_ho", "_mi", "_se"))) {
-                               // Found a multi-selection for timings?
-                               $TEST = substr($id, 0, -3);
-                               if ((isset($POST[$TEST."_ye"])) && (isset($POST[$TEST."_mo"])) && (isset($POST[$TEST."_we"])) && (isset($POST[$TEST."_da"])) && (isset($POST[$TEST."_ho"])) && (isset($POST[$TEST."_mi"])) && (isset($POST[$TEST."_se"])) && ($TEST != $TEST2)) {
-                                       // Generate timestamp
-                                       $POST[$TEST] = CREATE_TIMESTAMP_FROM_SELECTIONS($TEST, $POST);
-                                       $DATA[] = "$TEST='".$POST[$TEST]."'";
-
-                                       // Remove data from array
-                                       foreach (array("ye", "mo", "we", "da", "ho", "mi", "se") as $rem) {
-                                               unset($POST[$TEST."_".$rem]);
-                                       } // END - foreach
-
-                                       // Skip adding
-                                       unset($id); $skip = true; $TEST2 = $TEST;
-                               }
-                       } else {
-                               // Process this entry
-                               $skip = false; $TEST2 = "";
-                       }
+                       CONVERT_SELECTIONS_TO_TIMESTAMP($POST, $DATA, $id, $skip);
 
                        // Shall we process this ID? It muss not be empty, of course
                        if ((!$skip) && (!empty($id))) {
@@ -595,7 +572,7 @@ function ADMIN_SAVE_SETTINGS (&$POST, $tableName="_config", $whereStatement="con
                                if ((is_array($translateComma)) && (in_array($id, $translateComma))) {
                                        // Then do it here... :)
                                        $val = str_replace(",", ".", $val);
-                               }
+                               } // END - if
 
                                // Shall we add numbers or strings?
                                $test = (float)$val;
@@ -837,7 +814,23 @@ function ADMIN_DELETE_ENTRIES_CONFIRM ($IDs, $table, $columns=array(), $filterFu
                // Shall we delete here or list for deletion?
                if ($deleteNow) {
                        // Delete them
-                       die("DELETE!");
+                       $SQL = "DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_%s WHERE %s IN (%s)";
+                       $idList = "";
+                       foreach ($IDs as $id => $sel) {
+                               $idList .= $id.",";
+                       } // END - if
+
+                       // Run the query
+                       SQL_QUERY($SQL, array($table, $idColumn, substr($idList, 0, -1)), __FILE__, __LINE__);
+
+                       // Was this fine?
+                       if (SQL_AFFECTEDROWS() == count($IDs)) {
+                               // All deleted
+                               LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_ALL_ENTRIES_REMOVED);
+                       } else {
+                               // Some are still there :(
+                               LOAD_TEMPLATE("admin_settings_saved", false, sprintf(ADMIN_SOME_ENTRIES_NOT_DELETED, SQL_AFFECTEDROWS(), count($IDs)));
+                       }
                } else {
                        // List for deletion confirmation
                        ADMIN_BUILD_LIST("del", $IDs, $table, $columns, $filterFunctions, $extraValues, $idColumn, $userIdColumn);