From 7e85fc750f468744ec8a86acd8a8ed309a1ff970 Mon Sep 17 00:00:00 2001 From: quix0r Date: Mon, 9 Nov 2009 19:14:53 +0000 Subject: [PATCH] Editing of network data completed --- .gitattributes | 2 + inc/language/network_de.php | 5 + inc/libs/network_functions.php | 95 +++++++++++++++++-- inc/modules/admin/admin-inc.php | 16 +++- .../de/html/admin/admin_del_networks.tpl | 22 +++++ .../de/html/admin/admin_del_networks_row.tpl | 43 +++++++++ .../de/html/admin/admin_edit_networks.tpl | 4 + .../de/html/admin/admin_edit_networks_row.tpl | 3 +- 8 files changed, 174 insertions(+), 16 deletions(-) create mode 100644 templates/de/html/admin/admin_del_networks.tpl create mode 100644 templates/de/html/admin/admin_del_networks_row.tpl diff --git a/.gitattributes b/.gitattributes index 2db984e69a..1f2d2a92cb 100644 --- a/.gitattributes +++ b/.gitattributes @@ -976,6 +976,8 @@ templates/de/html/admin/admin_del_cats_row.tpl -text templates/de/html/admin/admin_del_email_bonus.tpl -text templates/de/html/admin/admin_del_email_normal.tpl -text templates/de/html/admin/admin_del_email_notify.tpl -text +templates/de/html/admin/admin_del_networks.tpl -text +templates/de/html/admin/admin_del_networks_row.tpl -text templates/de/html/admin/admin_del_payments.tpl -text templates/de/html/admin/admin_del_payments_row.tpl -text templates/de/html/admin/admin_del_sponsor.tpl -text diff --git a/inc/language/network_de.php b/inc/language/network_de.php index 106fe359be..1c21386df2 100644 --- a/inc/language/network_de.php +++ b/inc/language/network_de.php @@ -48,9 +48,11 @@ addMessages(array( 'ADMIN_NETWORK_DO_404' => "Es wurde der Parameter 'do' nicht übermittelt.", 'ADMIN_NETWORK_FORM_NOT_SENT' => "Es wurde kein bekanntes Formular versendet.", 'ADMIN_NETWORK_NOTHING_FOUND' => "Es wurden keine Daten zum Editieren oder Löschen gefunden.", + 'ADMIN_NETWORK_NOTHING_CHANGED' => "Es wurden keine Änderungen an den allgemeinen Daten ausgeführt.", // - Form titles 'ADMIN_NETWORK_ADD_TITLE' => "Neues Werbenetzwerk hinzufügen - Allgemeine Daten", 'ADMIN_NETWORK_EDIT_TITLE' => "Werbenetzwerk editieren - Allgemeine Daten", + 'ADMIN_NETWORK_DELETE_TITLE' => "Werbenetzwerk löschen - Allgemeine Daten", // - Link titles 'ADMIN_NETWORK_LIST_TYPES_LINK_TITLE' => "Weiter zu den Werbearten", 'ADMIN_NETWORK_LIST_PARAMS_LINK_TITLE' => "Weiter zu den Abfrageparametern", @@ -61,6 +63,9 @@ addMessages(array( 'ADMIN_NETWORK_EDIT' => "Editieren", 'ADMIN_NETWORK_CHANGE' => "Daten ändern", 'ADMIN_NETWORK_DELETE' => "Löschen", + 'ADMIN_NETWORK_REMOVE' => "Daten entfernen", + // - Success nots + 'ADMIN_NETWORK_UPDATED' => "Es wurden %s Einträge in den allgemeinen Daten aktualisiert.", // - Sponsor networks 'ADMIN_NETWORK_NONE_SUPPORTED' => "Es sind noch keine Werbenetzwerke eingerichtet.", 'ADMIN_NETWORK_SHORT_NAME' => "Kurzname", diff --git a/inc/libs/network_functions.php b/inc/libs/network_functions.php index 998dbd42ed..6c186eac85 100644 --- a/inc/libs/network_functions.php +++ b/inc/libs/network_functions.php @@ -117,6 +117,18 @@ LIMIT 1", return $networkData; } +// Updates given network (id) with data from array +function doNetworkUpdateDataByArray ($id, $networkData) { + // Ids lower one are not accepted + if ($id < 1) { + // Not good, should be fixed + debug_report_bug('Network id ' . $id . ' is smaller than 1.'); + } // END - if + + // Just call our inner method + return adminSaveSettings($networkData, '_network_data', sprintf("`network_id`=%s", bigintval($id)), array(), false, false); +} + //------------------------------------------------------------------------------ // Call-back functions //------------------------------------------------------------------------------ @@ -172,16 +184,27 @@ function doAdminNetworkProcessHandlenetworkForm () { // Add color $networkData['sw'] = $SW; - // Make selection box for network_request_type - $networkData['network_request_type'] = generateOptionList( - '/ARRAY/', - array('GET','POST'), - array(getMessage('ADMIN_NETWORK_REQUEST_TYPE_GET'), getMessage('ADMIN_NETWORK_REQUEST_TYPE_POST')), - $networkData['network_request_type'] - ); + if (isPostRequestElementSet('edit')) { + // Make selection box for network_request_type + $networkData['network_request_type'] = generateOptionList( + '/ARRAY/', + array('GET','POST'), + array(getMessage('ADMIN_NETWORK_REQUEST_TYPE_GET'), getMessage('ADMIN_NETWORK_REQUEST_TYPE_POST')), + $networkData['network_request_type'] + ); + + // Add row template and switch color + $OUT .= loadTemplate('admin_edit_networks_row', true, $networkData); + } elseif (isPostRequestElementSet('del')) { + // Translate the request type + $networkData['network_request_type'] = getMessage('ADMIN_NETWORK_REQUEST_TYPE_' . $networkData['network_request_type']); - // Add row template and switch color - $OUT .= loadTemplate('admin_edit_networks_row', true, $networkData); + // Add row template and switch color + $OUT .= loadTemplate('admin_del_networks_row', true, $networkData); + } else { + // Problem! + debug_report_bug('Cannot detect edit/del.'); + } $SW = 3 - $SW; } // END - if } // END - if @@ -190,7 +213,14 @@ function doAdminNetworkProcessHandlenetworkForm () { // If we have no rows, we don't need to display the edit form if (!empty($OUT)) { // Output main template - loadTemplate('admin_edit_networks', false, $OUT); + if (isPostRequestElementSet('edit')) { + loadTemplate('admin_edit_networks', false, $OUT); + } elseif (isPostRequestElementSet('del')) { + loadTemplate('admin_del_networks', false, $OUT); + } else { + // Problem! + debug_report_bug('Cannot detect edit/del.'); + } // Don't display the list/add new form $GLOBALS['network_display'] = false; @@ -201,5 +231,50 @@ function doAdminNetworkProcessHandlenetworkForm () { } // END - if } +// Changes given networks +function doAdminNetworkProcessChangenetworkForm () { + // Do we have selections? + if (countPostSelection() > 0) { + // By default nothing is updated + $updated = 0; + + // Something has been selected, so start updating them + foreach (postRequestElement('sel') as $id => $sel) { + // Update this entry? + if ($sel == 1) { + // Init data array + $networkData = array(); + + // Transfer whole array, except 'sel' + foreach (postRequestArray() as $key=>$entry) { + // Skip 'sel' and submit button + if (in_array($key, array('sel', 'change'))) continue; + + // Do we have this enty? + if (!isset($entry[$id])) { + // Not found, needs fixing + debug_report_bug('No entry in key=' . $key . ', id=' . $id . ' found.'); + } // END - if + + // Add this entry + $networkData[$key] = $entry[$id]; + } // END - foreach + + // Update the network data + $updated += doNetworkUpdateDataByArray($id, $networkData); + } // END - if + } // END - foreach + + // Do we have updates? + if ($updated > 0) { + // Updates done + loadTemplate('admin_settings_saved', false, sprintf(getMessage('ADMIN_NETWORK_UPDATED'), $updated)); + } else { + // Nothing changed + loadTemplate('admin_settings_saved', false, getMessage('ADMIN_NETWORK_NOTHING_CHANGED')); + } + } // END - if +} + // [EOF] ?> diff --git a/inc/modules/admin/admin-inc.php b/inc/modules/admin/admin-inc.php index c962ea20bf..7d38f8fa16 100644 --- a/inc/modules/admin/admin-inc.php +++ b/inc/modules/admin/admin-inc.php @@ -561,16 +561,16 @@ function adminMenuSelectionBox_DEPRECATED ($mode, $default = '', $defid = '') { } // Wrapper for $_POST and adminSaveSettings -function adminSaveSettingsFromPostData ($tableName = '_config', $whereStatement = '`config`=0', $translateComma = array(), $alwaysAdd = false) { +function adminSaveSettingsFromPostData ($tableName = '_config', $whereStatement = '`config`=0', $translateComma = array(), $alwaysAdd = false, $displayMessage = true) { // Get the array $postData = postRequestArray(); // Call the lower function - adminSaveSettings($postData, $tableName, $whereStatement, $translateComma, $alwaysAdd); + adminSaveSettings($postData, $tableName, $whereStatement, $translateComma, $alwaysAdd, $displayMessage); } // Save settings to the database -function adminSaveSettings (&$postData, $tableName = '_config', $whereStatement = '`config`=0', $translateComma = array(), $alwaysAdd = false) { +function adminSaveSettings (&$postData, $tableName = '_config', $whereStatement = '`config`=0', $translateComma = array(), $alwaysAdd = false, $displayMessage = true) { // Prepare all arrays, variables $DATA = array(); $skip = false; @@ -656,11 +656,17 @@ function adminSaveSettings (&$postData, $tableName = '_config', $whereStatement // Simply run generated SQL string SQL_QUERY($sql, __FUNCTION__, __LINE__); + // Remember affected rows + $affected = SQL_AFFECTEDROWS(); + // Rebuild cache rebuildCacheFile('config', 'config'); - // Settings saved - loadTemplate('admin_settings_saved', false, getMessage('SETTINGS_SAVED')); + // Settings saved, so display message? + if ($displayMessage === true) loadTemplate('admin_settings_saved', false, getMessage('SETTINGS_SAVED')); + + // Return affected rows + return $affected; } // Generate a selection box diff --git a/templates/de/html/admin/admin_del_networks.tpl b/templates/de/html/admin/admin_del_networks.tpl new file mode 100644 index 0000000000..d9f2427b3a --- /dev/null +++ b/templates/de/html/admin/admin_del_networks.tpl @@ -0,0 +1,22 @@ +
+
+ + + + + $content + + + +
+ {--ADMIN_NETWORK_DELETE_TITLE--} +
+
+ +
+ {--ADMIN_NETWORK_LIST_NOTE--} +
+
diff --git a/templates/de/html/admin/admin_del_networks_row.tpl b/templates/de/html/admin/admin_del_networks_row.tpl new file mode 100644 index 0000000000..a456914323 --- /dev/null +++ b/templates/de/html/admin/admin_del_networks_row.tpl @@ -0,0 +1,43 @@ +  + + {--ADMIN_NETWORK_TITLE--}: + + + $content[network_title] + + {--ADMIN_NETWORK_SHORT_NAME--}: + + $content[network_short_name] + + +  + + {--ADMIN_NETWORK_REFLINK--}: + + $content[network_reflink] + + {--ADMIN_NETWORK_DATA_SEPERATOR--}: + + $content[network_data_seperator] + + +  + + {--ADMIN_NETWORK_REQUEST_TYPE--}: + + $content[network_request_type] + + {--ADMIN_NETWORK_ROW_SEPERATOR--}: + + $content[network_row_seperator] + + +  + + {--ADMIN_NETWORK_CHARSET--}: + + $content[network_charset] + +   + +  diff --git a/templates/de/html/admin/admin_edit_networks.tpl b/templates/de/html/admin/admin_edit_networks.tpl index b92fc35f1b..b11db61567 100644 --- a/templates/de/html/admin/admin_edit_networks.tpl +++ b/templates/de/html/admin/admin_edit_networks.tpl @@ -15,4 +15,8 @@ + +
+ {--ADMIN_NETWORK_LIST_NOTE--} +
diff --git a/templates/de/html/admin/admin_edit_networks_row.tpl b/templates/de/html/admin/admin_edit_networks_row.tpl index 131a5daf0a..cf4da8d962 100644 --- a/templates/de/html/admin/admin_edit_networks_row.tpl +++ b/templates/de/html/admin/admin_edit_networks_row.tpl @@ -2,6 +2,7 @@ {--ADMIN_NETWORK_TITLE--}: + {--ADMIN_NETWORK_SHORT_NAME--}: @@ -24,7 +25,7 @@ {--ADMIN_NETWORK_REQUEST_TYPE--}: - $content[network_request_type] -- 2.39.5