]> git.mxchange.org Git - mailer.git/blobdiff - inc/libs/network_functions.php
useProxy is duplicate, because isProxyUsed() is cached, fixed bug in IP resolver...
[mailer.git] / inc / libs / network_functions.php
index 449e5c3b5b1acf86fb87bb7e8ef2a8cf67f52845..92174639cab7979bfe389342f1e06ff738b10145 100644 (file)
@@ -106,6 +106,9 @@ function doAdminNetworkProcessForm () {
                debug_report_bug(__FUNCTION__, __LINE__, 'Invalid do ' . getRequestElement('do') . ', function ' . $functionName .' does not exist.', false);
        } // END - if
 
+       // Init global arrays
+       $GLOBALS['network_types_disabled'] = array();
+
        // Call-back the method handling our request
        call_user_func($functionName);
 }
@@ -129,7 +132,7 @@ function isNetworkNameValid ($name) {
 // Checks wether the given network type is already used (valid)
 function isNetworkTypeHandleValid ($type, $networkId) {
        // Query for it
-       $result = SQL_QUERY_ESC("SELECT `network_type_id` FROM `{?_MYSQL_PREFIX?}_network_types` WHERE `network_id`=%s AND `network_type_handle`='%s' LIMIT 1",
+       $result = SQL_QUERY_ESC("SELECT `network_type_id` FROM `{?_MYSQL_PREFIX?}_network_types` WHERE `network_id`=%s AND `network_type_handler`='%s' LIMIT 1",
                array(
                        $networkId,
                        $type
@@ -202,7 +205,7 @@ function getNetworkDataById ($networkId, $column = '') {
                $GLOBALS['network_data'][$networkId] = array();
 
                // Query for the network data
-               $result = SQL_QUERY_ESC('SELECT
+               $result = SQL_QUERY_ESC("SELECT
        `network_id`,
        `network_short_name`,
        `network_title`,
@@ -217,7 +220,7 @@ FROM
        `{?_MYSQL_PREFIX?}_network_data`
 WHERE
        `network_id`=%s
-LIMIT 1',
+LIMIT 1",
                        array(bigintval($networkId)), __FUNCTION__, __LINE__);
 
                // Do we have an entry?
@@ -257,7 +260,7 @@ function getNetworkDataByTypeId ($networkId, $column = '') {
                $GLOBALS['network_data'][$networkId] = array();
 
                // Query for the network data
-               $result = SQL_QUERY_ESC('SELECT
+               $result = SQL_QUERY_ESC("SELECT
        d.`network_id`,
        d.`network_short_name`,
        d.`network_title`,
@@ -268,7 +271,7 @@ function getNetworkDataByTypeId ($networkId, $column = '') {
        d.`network_charset`,
        d.`network_require_id_card`,
        d.`network_query_amount`,
-       t.`network_type_handle`,
+       t.`network_type_handler`,
        t.`network_type_api_url`,
        t.`network_type_click_url`,
        t.`network_type_banner_url`
@@ -280,7 +283,7 @@ ON
        d.`network_id`=t.`network_id`
 WHERE
        t.`network_type_id`=%s
-LIMIT 1',
+LIMIT 1",
                        array(bigintval($networkId)), __FUNCTION__, __LINE__);
 
                // Do we have an entry?
@@ -318,7 +321,7 @@ function getNetworkTypeDataById ($networkId) {
        $result = SQL_QUERY_ESC('SELECT
        `network_type_id`,
        `network_id`,
-       `network_type_handle`,
+       `network_type_handler`,
        `network_type_api_url`,
        `network_type_click_url`,
        `network_type_banner_url`
@@ -438,14 +441,16 @@ function generateAdminNetworkList () {
        $content = '';
 
        // Query for all networks
-       $result = SQL_QUERY('SELECT
+       $result = SQL_QUERY("SELECT
        `network_id`,
        `network_short_name`,
        `network_title`
 FROM
        `{?_MYSQL_PREFIX?}_network_data`
+WHERE
+       `network_active`='Y'
 ORDER BY
-       `network_short_name` ASC', __FUNCTION__, __LINE__);
+       `network_short_name` ASC", __FUNCTION__, __LINE__);
 
        // Do we have entries?
        if (!SQL_HASZERONUMS($result)) {
@@ -481,13 +486,13 @@ function generateAdminNetworkTypeList ($networkId) {
        // Query all types of this network
        $result = SQL_QUERY_ESC('SELECT
        `network_type_id`,
-       `network_type_handle`
+       `network_type_handler`
 FROM
        `{?_MYSQL_PREFIX?}_network_types`
 WHERE
        `network_id`=%s
 ORDER BY
-       `network_type_handle` ASC',
+       `network_type_handler` ASC',
                array(
                        bigintval($networkId)
                ), __FUNCTION__, __LINE__);
@@ -524,17 +529,21 @@ function generateAdminDistinctNetworkTypeList () {
        $content = '';
 
        // Query all types of this network
-       $result = SQL_QUERY('SELECT
-       t.`network_type_id`, t.`network_type_handle`, d.`network_title`
+       $result = SQL_QUERY("SELECT
+       t.`network_type_id`,
+       t.`network_type_handler`,
+       d.`network_title`
 FROM
        `{?_MYSQL_PREFIX?}_network_types` AS t
 LEFT JOIN
        `{?_MYSQL_PREFIX?}_network_data` AS d
 ON
        t.`network_id`=d.`network_id`
+WHERE
+       d.`network_active`='Y'
 ORDER BY
        d.`network_short_name` ASC,
-       t.`network_type_handle` ASC', __FUNCTION__, __LINE__);
+       t.`network_type_handler` ASC", __FUNCTION__, __LINE__);
 
        // Do we have entries?
        if (!SQL_HASZERONUMS($result)) {
@@ -576,7 +585,7 @@ function generateNetworkTypeOptions ($networkId) {
                $GLOBALS[__FUNCTION__][$networkId] = generateOptionList(
                        'network_types',
                        'network_type_id',
-                       'network_type_handle',
+                       'network_type_handler',
                        $networkId,
                        '',
                        sprintf(
@@ -593,11 +602,11 @@ function generateNetworkTypeOptions ($networkId) {
 }
 
 // Generates an options list of all available (hard-coded) handlers
-function generateNetworkTypesAvailableOptions () {
+function generateNetworkTypesAvailableOptions ($defaultType = NULL) {
        // Is it cached?
-       if (!isset($GLOBALS[__FUNCTION__])) {
+       if (!isset($GLOBALS[__FUNCTION__][$defaultType])) {
                // Generate list
-               $GLOBALS[__FUNCTION__] = generateOptionList(
+               $GLOBALS[__FUNCTION__][$defaultType] = generateOptionList(
                        '/ARRAY/',
                        array(
                                'banner',
@@ -631,7 +640,7 @@ function generateNetworkTypesAvailableOptions () {
                                'traffic'
                        ),
                        array(),
-                       '',
+                       $defaultType,
                        '', '',
                        $GLOBALS['network_types_disabled'],
                        'translateNetworkTypeHandler'
@@ -639,7 +648,7 @@ function generateNetworkTypesAvailableOptions () {
        } // END - if
 
        // Return content
-       return $GLOBALS[__FUNCTION__];
+       return $GLOBALS[__FUNCTION__][$defaultType];
 }
 
 // Generates an options list (somewhat getter) ofr request keys
@@ -669,8 +678,8 @@ function generateNetworkRequestKeyOptions () {
                        array(),
                        '',
                        '', '',
-                       $GLOBALS['network_params_disabled'],
-                       'translateNetworkRequestElement'
+                       $GLOBALS['network_request_params_disabled'],
+                       'translateNetworkRequestParamKey'
                );
        } // END - if
 
@@ -736,26 +745,62 @@ function generateNetworkApiActiveOptions ($default = '') {
 
 // Translates 'translate_name' for e.g. templates
 function translateNetworkTranslationName ($name) {
-       // Get the message id
-       return '{--ADMIN_NETWORK_TRANSLATE_' . strtoupper($name) . '_NAME--}';
+       // Generate id
+       $messageId = 'ADMIN_NETWORK_TRANSLATE_' . strtoupper($name) . '_NAME';
+
+       // Is the message id there?
+       if (!isMessageIdValid($messageId)) {
+               // Not valid type
+               debug_report_bug(__FUNCTION__, __LINE__, 'type=' . $type . ' is invalid.');
+       } // END - if
+
+       // Return message id
+       return '{--' . $messageId . '--}';
 }
 
 // Translates the network type handler (e.g. banner, paidmail) for templates
 function translateNetworkTypeHandler ($type) {
-       // Get the message id
-       return '{--ADMIN_NETWORK_TYPES_' . strtoupper($type) . '--}';
+       // Generate id
+       $messageId = 'ADMIN_NETWORK_TYPE_HANDLER_' . strtoupper($type);
+
+       // Is the message id there?
+       if (!isMessageIdValid($messageId)) {
+               // Not valid type
+               debug_report_bug(__FUNCTION__, __LINE__, 'type=' . $type . ' is invalid.');
+       } // END - if
+
+       // Return message id
+       return '{--' . $messageId . '--}';
 }
 
 // Translates request type
 function translateNetworkRequestType ($type) {
-       // Get the message id
-       return '{--ADMIN_NETWORK_REQUEST_TYPE_' . strtoupper($type) . '--}';
+       // Generate id
+       $messageId = 'ADMIN_NETWORK_REQUEST_TYPE_' . strtoupper($type) . '';
+
+       // Is the message id there?
+       if (!isMessageIdValid($messageId)) {
+               // Not valid type
+               debug_report_bug(__FUNCTION__, __LINE__, 'type=' . $type . ' is invalid.');
+       } // END - if
+
+       // Return message id
+       return '{--' . $messageId . '--}';
 }
 
 // Translates request parameter
-function translateNetworkRequestElement ($param) {
-       // Get the message id
-       return '{--ADMIN_NETWORK_REQUEST_PARAMETER_' . strtoupper($param) . '--}';
+function translateNetworkRequestParamKey ($param) {
+       // Generate id
+       $messageId = 'ADMIN_NETWORK_REQUEST_PARAMETER_' . strtoupper($param) . '';
+
+       // Is the message id there?
+       if (!isMessageIdValid($messageId)) {
+               // Not valid param
+               debug_report_bug(__FUNCTION__, __LINE__, 'param=' . $param . ' is invalid.');
+       } // END - if
+
+       // Return message id
+       return '{--' . $messageId . '--}';
 }
 
 // Translates API index
@@ -893,7 +938,7 @@ function doAdminNetworkProcessAddNetwork () {
 }
 
 // Displays selected networks for editing
-function doAdminNetworkProcessHandleNetwork () {
+function doAdminNetworkProcessHandleNetworks () {
        // Do we have selections?
        if (ifPostContainsSelections()) {
                // Something has been selected, so start displaying one by one
@@ -927,7 +972,7 @@ function doAdminNetworkProcessHandleNetwork () {
 }
 
 // Handle network type form
-function doAdminNetworkProcessHandleNetworkType () {
+function doAdminNetworkProcessHandleNetworkTypes () {
        // Do we have selections?
        if (ifPostContainsSelections()) {
                // Load network data
@@ -973,7 +1018,7 @@ function doAdminNetworkProcessHandleNetworkType () {
                        $GLOBALS['network_display'] = false;
                } else {
                        // Nothing selected/found
-                       loadTemplate('admin_settings_unsaved', false, '{--ADMIN_NETWORK_TYPES_NOTHING_FOUND--}');
+                       loadTemplate('admin_settings_unsaved', false, '{--ADMIN_NETWORK_TYPE_HANDLER_NOTHING_FOUND--}');
                }
        } // END - if
 }
@@ -983,7 +1028,7 @@ function doAdminNetworkProcessHandleRequestParams () {
        // Do we have selections?
        if (ifPostContainsSelections()) {
                // Init cache array
-               $GLOBALS['network_params_disabled'] = array();
+               $GLOBALS['network_request_params_disabled'] = array();
 
                // Load network data
                $networkData = getNetworkDataById(getRequestElement('network_id'));
@@ -1000,13 +1045,13 @@ function doAdminNetworkProcessHandleRequestParams () {
                                if (count($networkRequestData) > 0) {
                                        if (isFormSent('edit')) {
                                                // Add row template for deleting
-                                               $OUT .= loadTemplate('admin_edit_network_params_row', true, $networkRequestData);
+                                               $OUT .= loadTemplate('admin_edit_network_request_params_row', true, $networkRequestData);
                                        } elseif (isFormSent('delete')) {
                                                // Get type data
                                                $networkRequestData['network_type_data'] = getNetworkTypeDataById($networkRequestData['network_type_id']);
 
                                                // Add row template for deleting
-                                               $OUT .= loadTemplate('admin_delete_network_params_row', true, $networkRequestData);
+                                               $OUT .= loadTemplate('admin_delete_network_request_params_row', true, $networkRequestData);
                                        } else {
                                                // Problem!
                                                debug_report_bug(__FUNCTION__, __LINE__, 'Cannot detect edit/del.');
@@ -1019,9 +1064,9 @@ function doAdminNetworkProcessHandleRequestParams () {
                if (!empty($OUT)) {
                        // Output main template
                        if (isFormSent('edit')) {
-                               loadTemplate('admin_edit_network_params', false, $OUT);
+                               loadTemplate('admin_edit_network_request_params', false, $OUT);
                        } elseif (isFormSent('delete')) {
-                               loadTemplate('admin_delete_network_params', false, $OUT);
+                               loadTemplate('admin_delete_network_request_params', false, $OUT);
                        } else {
                                // Problem!
                                debug_report_bug(__FUNCTION__, __LINE__, 'Cannot detect edit/del.');
@@ -1037,7 +1082,7 @@ function doAdminNetworkProcessHandleRequestParams () {
 }
 
 // Changes given networks
-function doAdminNetworkProcessChangeNetwork () {
+function doAdminNetworkProcessChangeNetworks () {
        // Do we have selections?
        if (ifPostContainsSelections()) {
                // By default nothing is updated
@@ -1084,7 +1129,7 @@ function doAdminNetworkProcessChangeNetwork () {
 }
 
 // Removes given networks
-function doAdminNetworkProcessRemoveNetwork () {
+function doAdminNetworkProcessRemoveNetworks () {
        // Do we have selections?
        if (ifPostContainsSelections()) {
                // By default nothing is removed
@@ -1113,9 +1158,9 @@ function doAdminNetworkProcessRemoveNetwork () {
 // Add a network type handler if not yet found
 function doAdminNetworkProcessAddNetworkType () {
        // Is the network type handle already used with given network?
-       if (isNetworkTypeHandleValid(postRequestElement('network_type_handle'), getRequestElement('network_id'))) {
+       if (isNetworkTypeHandleValid(postRequestElement('network_type_handler'), getRequestElement('network_id'))) {
                // Already added
-               loadTemplate('admin_settings_unsaved', false, '{%message,ADMIN_NETWORK_TYPES_HANDLE_ALREADY_ADDED=' . postRequestElement('network_type_handle') . '%}');
+               loadTemplate('admin_settings_unsaved', false, '{%message,ADMIN_NETWORK_TYPE_HANDLER_ALREADY_ADDED=' . postRequestElement('network_type_handler') . '%}');
 
                // ... so abort here
                return false;
@@ -1142,12 +1187,12 @@ function doAdminNetworkProcessAddNetworkType () {
                loadTemplate('admin_network_type_added', false, postRequestArray());
        } else {
                // Not added
-               loadTemplate('admin_settings_unsaved', false, '{%message,ADMIN_NETWORK_TYPES_NOT_ADDED=' . postRequestElement('network_type_handle') . '%}');
+               loadTemplate('admin_settings_unsaved', false, '{%message,ADMIN_NETWORK_TYPE_HANDLER_NOT_ADDED=' . postRequestElement('network_type_handler') . '%}');
        }
 }
 
 // Changes given network type handlers
-function doAdminNetworkProcessChangeNetworkType () {
+function doAdminNetworkProcessChangeHandlerTypes () {
        // Do we have selections?
        if (ifPostContainsSelections()) {
                // By default nothing is updated
@@ -1191,16 +1236,16 @@ function doAdminNetworkProcessChangeNetworkType () {
                // Do we have updates?
                if ($updated > 0) {
                        // Updates done
-                       displayMessage('{%message,ADMIN_NETWORK_TYPES_UPDATED=' . $updated . '%}');
+                       displayMessage('{%message,ADMIN_NETWORK_TYPE_HANDLER_UPDATED=' . $updated . '%}');
                } else {
                        // Nothing changed
-                       loadTemplate('admin_settings_unsaved', false, '{--ADMIN_NETWORK_TYPES_NOTHING_CHANGED--}');
+                       loadTemplate('admin_settings_unsaved', false, '{--ADMIN_NETWORK_TYPE_HANDLER_NOTHING_CHANGED--}');
                }
        } // END - if
 }
 
 // Changes given network request parameters
-function doAdminNetworkProcessChangeNetworkParam () {
+function doAdminNetworkProcessChangeRequestParams () {
        // Do we have selections?
        if (ifPostContainsSelections()) {
                // By default nothing is updated
@@ -1253,7 +1298,7 @@ function doAdminNetworkProcessChangeNetworkParam () {
 }
 
 // Removes given network type handlers
-function doAdminNetworkProcessRemoveNetworkType () {
+function doAdminNetworkProcessRemoveNetworkTypes () {
        // Do we have selections?
        if (ifPostContainsSelections()) {
                // By default nothing is removed
@@ -1271,16 +1316,16 @@ function doAdminNetworkProcessRemoveNetworkType () {
                // Do we have removes?
                if ($removed > 0) {
                        // Removals done
-                       displayMessage('{%message,ADMIN_NETWORK_TYPES_REMOVED=' . $removed . '%}');
+                       displayMessage('{%message,ADMIN_NETWORK_TYPE_HANDLER_REMOVED=' . $removed . '%}');
                } else {
                        // Nothing removed
-                       loadTemplate('admin_settings_unsaved', false, '{--ADMIN_NETWORK_TYPES_NOTHING_REMOVED--}');
+                       loadTemplate('admin_settings_unsaved', false, '{--ADMIN_NETWORK_TYPE_HANDLER_NOTHING_REMOVED--}');
                }
        } // END - if
 }
 
 // Removes given network request parameters
-function doAdminNetworkProcessRemoveNetworkParam () {
+function doAdminNetworkProcessRemoveNetworkRequestParams () {
        // Do we have selections?
        if (ifPostContainsSelections()) {
                // By default nothing is removed
@@ -1307,7 +1352,7 @@ function doAdminNetworkProcessRemoveNetworkParam () {
 }
 
 // Adds a request parameter to given network and type
-function doAdminNetworkProcessAddNetworkParam () {
+function doAdminNetworkProcessAddRequestParam () {
        // Is the request parameter already used with given network?
        if (isNetworkRequestElementValid(postRequestElement('network_request_param_key'), postRequestElement('network_type_id'), getRequestElement('network_id'))) {
                // Already added
@@ -1419,7 +1464,7 @@ function doAdminNetworkProcessNetworkApiConfig () {
 }
 
 // Only adds network type configuration if not yet present
-function doAdminNetworkProcessAddNetworkTypesConfig () {
+function doAdminNetworkProcessAddHandlerTypesConfig ($displayMessage = true) {
        // Remove the 'ok' part
        unsetPostRequestElement('ok');
 
@@ -1443,6 +1488,8 @@ function doAdminNetworkProcessAddNetworkTypesConfig () {
        $content = array();
        $id = 'network_max_reload_time_ye';
        $skip = false;
+
+       // Get all POST data
        $postData = postRequestArray();
 
        // Convert "reload time selections"
@@ -1454,35 +1501,79 @@ function doAdminNetworkProcessAddNetworkTypesConfig () {
        // Is there already an entry?
        if (isNetworkTypeHandlerConfigured(getRequestElement('network_id'), getRequestElement('network_type_id'))) {
                // This network type handler is already configured
-               displayMessage('{--ADMIN_NETWORK_TYPE_HANDLER_ALREADY_CONFIGURED--}');
+               displayMessage('{--ADMIN_NETWORK_HANDLER_TYPE_HANDLER_ALREADY_CONFIGURED--}');
                return;
        } // END - if
 
-       // Get SQL query for new entry
-       $SQL = getInsertSqlFromArray(postRequestArray(), 'network_types_config');
+       // Copy 'set all' and remove it from POST data
+       $setAll = (postRequestElement('set_all') === 'Y');
+       unsetPostRequestElement('set_all');
 
-       // Run the query
-       SQL_QUERY($SQL, __FUNCTION__, __LINE__);
+       // Shall we set for all?
+       if ($setAll === true) {
+               // Get all handlers
+               $result = SQL_QUERY_ESC('SELECT `network_type_id` FROM `{?_MYSQL_PREFIX?}_network_types` WHERE `network_id`=%s ORDER BY `network_type_id` ASC',
+                       array(bigintval(getRequestElement('network_id'))), __FUNCTION__, __LINE__);
 
-       // Output message
-       if (!SQL_HASZEROAFFECTED()) {
-               // Successfully added
-               displayMessage('{--ADMIN_CONFIG_NETWORK_TYPE_HANDLER_SAVED--}');
+               // Do we have entries?
+               if (SQL_HASZERONUMS($result)) {
+                       // No, then abort here
+                       displayMessage('{--ADMIN_CONFIG_NETWORK_HANDLER_SET_ALL_404--}');
+                       return;
+               } // END - if
+
+               // Init number of rows
+               $numRows = 0;
+
+               // Fetch all ids
+               while (list($typeId) = SQL_FETCHROW($result)) {
+                       // Set it in GET data
+                       setGetRequestElement('network_type_id', $typeId);
+
+                       // Call this function again
+                       $numRows += doAdminNetworkProcessAddHandlerTypesConfig(false);
+               } // END - while
+
+               // Free result
+               SQL_FREERESULT($result);
+
+               // Output message
+               if ($numRows > 0) {
+                       // Something has been updated
+                       displayMessage('{%message,ADMIN_CONFIG_NETWORK_HANDLER_TYPE_ALL_HANDLER_SAVED=' . bigintval($numRows) . '%}');
+               } else {
+                       // Nothing has been saved
+                       loadTemplate('admin_settings_unsaved', false, '{--ADMIN_CONFIG_NETWORK_HANDLER_TYPE_HANDLER_NOT_CHANGED--}');
+               }
        } else {
-               // Not added
-               loadTemplate('admin_settings_unsaved', false, '{--ADMIN_CONFIG_NETWORK_TYPE_HANDLER_NOT_SAVED--}');
+               // Get SQL query for new entry
+               $SQL = getInsertSqlFromArray(postRequestArray(), 'network_types_config');
+
+               // Run the query
+               SQL_QUERY($SQL, __FUNCTION__, __LINE__);
+
+               // Shall we display the message?
+               if ($displayMessage === true) {
+                       // Output message
+                       if (!SQL_HASZEROAFFECTED()) {
+                               // Successfully added
+                               displayMessage('{--ADMIN_CONFIG_NETWORK_HANDLER_TYPE_HANDLER_SAVED--}');
+                       } else {
+                               // Not added
+                               loadTemplate('admin_settings_unsaved', false, '{--ADMIN_CONFIG_NETWORK_HANDLER_TYPE_HANDLER_NOT_SAVED--}');
+                       }
+               } else {
+                       // Return amount of affected rows (1 or 2)
+                       return SQL_AFFECTEDROWS();
+               }
        }
 }
 
 // Only changes network type configuration if not yet present
-function doAdminNetworkProcessEditNetworkTypesConfig () {
+function doAdminNetworkProcessEditHandlerTypesConfig ($displayMessage = true) {
        // Remove the 'ok' part
        unsetPostRequestElement('ok');
 
-       // Add both ids
-       setPostRequestElement('network_id', bigintval(getRequestElement('network_id')));
-       setPostRequestElement('network_type_id', bigintval(getRequestElement('network_type_id')));
-
        /*
         * Some parameters are optional, at least one must be given so check a bunch
         * of parameters.
@@ -1510,23 +1601,71 @@ function doAdminNetworkProcessEditNetworkTypesConfig () {
        // Is there already an entry?
        if (!isNetworkTypeHandlerConfigured(getRequestElement('network_id'), getRequestElement('network_type_id'))) {
                // This network type handler is not configured
-               displayMessage('{--ADMIN_NETWORK_TYPE_HANDLER_NOT_CONFIGURED--}');
+               displayMessage('{--ADMIN_NETWORK_HANDLER_TYPE_HANDLER_NOT_CONFIGURED--}');
                return;
        } // END - if
 
-       // Get SQL query for new entry
-       $SQL = getUpdateSqlFromArray(postRequestArray(), 'network_types_config', 'network_data_id', postRequestElement('network_data_id'), array('network_data_id'));
+       // Copy 'set all' and remove it from POST data
+       $setAll = (postRequestElement('set_all') === 'Y');
+       unsetPostRequestElement('set_all');
 
-       // Run the query
-       SQL_QUERY($SQL, __FUNCTION__, __LINE__);
+       // Shall we set for all?
+       if ($setAll === true) {
+               // Get all data entries
+               $result = SQL_QUERY_ESC('SELECT `network_data_id` FROM `{?_MYSQL_PREFIX?}_network_types_config` WHERE `network_id`=%s ORDER BY `network_type_id` ASC',
+                       array(bigintval(getRequestElement('network_id'))), __FUNCTION__, __LINE__);
 
-       // Output message
-       if (!SQL_HASZEROAFFECTED()) {
-               // Successfully added
-               displayMessage('{--ADMIN_CONFIG_NETWORK_TYPE_HANDLER_SAVED--}');
+               // Do we have entries?
+               if (SQL_HASZERONUMS($result)) {
+                       // No, then abort here
+                       displayMessage('{--ADMIN_CONFIG_NETWORK_HANDLER_SET_ALL_404--}');
+                       return;
+               } // END - if
+
+               // Init number of rows
+               $numRows = 0;
+
+               // Fetch all ids
+               while (list($dataId) = SQL_FETCHROW($result)) {
+                       // Set it in GET data
+                       setPostRequestElement('network_data_id', $dataId);
+
+                       // Call this function again
+                       $numRows += doAdminNetworkProcessEditHandlerTypesConfig(false);
+               } // END - while
+
+               // Free result
+               SQL_FREERESULT($result);
+
+               // Output message
+               if ($numRows > 0) {
+                       // Something has been updated
+                       displayMessage('{%message,ADMIN_CONFIG_NETWORK_HANDLER_TYPE_ALL_HANDLER_SAVED=' . bigintval($numRows) . '%}');
+               } else {
+                       // Nothing has been saved
+                       loadTemplate('admin_settings_unsaved', false, '{--ADMIN_CONFIG_NETWORK_HANDLER_TYPE_HANDLER_NOT_CHANGED--}');
+               }
        } else {
-               // Not added
-               loadTemplate('admin_settings_unsaved', false, '{--ADMIN_CONFIG_NETWORK_TYPE_HANDLER_NOT_CHANGED--}');
+               // Get SQL query for new entry
+               $SQL = getUpdateSqlFromArray(postRequestArray(), 'network_types_config', 'network_data_id', postRequestElement('network_data_id'), array('network_data_id'));
+
+               // Run the query
+               SQL_QUERY($SQL, __FUNCTION__, __LINE__);
+
+               // Shall we display the message?
+               if ($displayMessage === true) {
+                       // Output message
+                       if (!SQL_HASZEROAFFECTED()) {
+                               // Successfully added
+                               displayMessage('{--ADMIN_CONFIG_NETWORK_HANDLER_TYPE_HANDLER_SAVED--}');
+                       } else {
+                               // Not added
+                               loadTemplate('admin_settings_unsaved', false, '{--ADMIN_CONFIG_NETWORK_HANDLER_TYPE_HANDLER_NOT_CHANGED--}');
+                       }
+               } else {
+                       // Return amount of affected rows (1 or 2)
+                       return SQL_AFFECTEDROWS();
+               }
        }
 }
 
@@ -1563,7 +1702,7 @@ function doAdminNetworkProcessExport () {
                // Network type handler
                'list_network_types'             => 'network_types',
                // Network request parameter
-               'list_network_params'            => 'network_request_params',
+               'list_network_request_params'    => 'network_request_params',
                // Network API response array index translation
                'list_network_array_translation' => 'network_array_translation',
        );
@@ -1616,12 +1755,12 @@ ORDER BY
                __FUNCTION__, __LINE__);
 
        // Start an empty SQL query
-       $SQL = '';
+       $SQL = "<pre>INSERT INTO `&#123;&#63;_MYSQL_PREFIX&#63;&#125;_network_data` (`network_short_name`,`network_title`,`network_reflink`,`network_data_separator`,`network_row_separator`,`network_request_type`,`network_charset`,`network_require_id_card`,`network_query_amount`) VALUES\n";
 
        // Load all entries
        while ($content = SQL_FETCHARRAY($result)) {
                // Add row
-               $SQL .= "<pre>('" .
+               $SQL .= "('" .
                        $content['network_short_name'] . "', '" .
                        $content['network_title'] . "', '" .
                        $content['network_reflink'] . "', '" .
@@ -1630,11 +1769,11 @@ ORDER BY
                        $content['network_request_type'] . "', '" .
                        $content['network_charset'] . "', '" .
                        $content['network_require_id_card'] . "', " .
-                       $content['network_query_amount'] . '),</pre>';
+                       $content['network_query_amount'] . "),\n";
        } // END - while
 
        // Remove last commata and close braces
-       $SQL = substr($SQL, 0, -7) . '</pre>';
+       $SQL = substr($SQL, 0, -2) . '</pre>';
 
        // Free result
        SQL_FREERESULT($result);
@@ -1655,10 +1794,11 @@ function doAdminNetworkExportNetworkTypes () {
        $result = SQL_QUERY_ESC('SELECT
        `network_type_id`,
        `network_id`,
-       `network_type_handle`,
+       `network_type_handler`,
        `network_type_api_url`,
        `network_type_click_url`,
-       `network_type_banner_url`
+       `network_type_banner_url`,
+       `network_type_reload_time_unit`
 FROM
        `{?_MYSQL_PREFIX?}_network_types`
 WHERE
@@ -1670,7 +1810,7 @@ ORDER BY
                ), __FUNCTION__, __LINE__);
 
        // Start an empty SQL query
-       $SQL = "<pre>INSERT INTO `&#123;&#63;_MYSQL_PREFIX&#63;&#125;_network_types` (`network_type_id`,`network_id`,`network_type_handle`,`network_type_api_url`,`network_type_click_url`,`network_type_banner_url`) VALUES\n";
+       $SQL = "<pre>INSERT INTO `&#123;&#63;_MYSQL_PREFIX&#63;&#125;_network_types` (`network_type_id`,`network_id`,`network_type_handler`,`network_type_api_url`,`network_type_click_url`,`network_type_banner_url`) VALUES\n";
 
        // Load all entries
        while ($content = SQL_FETCHARRAY($result)) {
@@ -1678,22 +1818,25 @@ ORDER BY
                $SQL .= '(' .
                        $content['network_type_id'] . ', ' .
                        $content['network_id'] . ", '" .
-                       $content['network_type_handle'] . "', '" .
+                       $content['network_type_handler'] . "', '" .
                        $content['network_type_api_url'] . "', '" .
                        $content['network_type_click_url'] . "', ";
                
                // Is the column NULL?
                if (is_null($content['network_type_banner_url'])) {
                        // Column is NULL
-                       $SQL .= "NULL),\n";
+                       $SQL .= 'NULL';
                } else {
                        // Column is set
-                       $SQL .= $content['network_type_banner_url'] . "'),\n";
+                       $SQL .= "'" . $content['network_type_banner_url'] . "'";
                }
+
+               // Add more
+               $SQL .= $content['network_type_reload_time_unit'] . "')\n";
        } // END - while
 
        // Remove last commata and close braces
-       $SQL = substr($SQL, 0, -1) . '</pre>';
+       $SQL = substr($SQL, 0, -2) . '</pre>';
 
        // Free result
        SQL_FREERESULT($result);
@@ -1738,7 +1881,7 @@ ORDER BY
                        $content['network_id'] . ', ' .
                        $content['network_type_id'] . ", '" .
                        $content['network_request_param_key'] . "', '" .
-                       $content['network_request_param_value'] . "', '";
+                       $content['network_request_param_value'] . "', ";
                
                // Is the column NULL?
                if (is_null($content['network_request_param_default'])) {
@@ -1746,7 +1889,7 @@ ORDER BY
                        $SQL .= "NULL),\n";
                } else {
                        // Column is set
-                       $SQL .= $content['network_request_param_default'] . "'),\n";
+                       $SQL .= "'" . $content['network_request_param_default'] . "'),\n";
                }
        } // END - while