X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Flibs%2Fnetwork_functions.php;h=92174639cab7979bfe389342f1e06ff738b10145;hb=15b33f67108fcf717fc56fc9cb931f7c22a69737;hp=5794a6f219fcbbf09bae3aabd88ec92d06ee385e;hpb=fbdd6b3a1bd2559e3f5186f859f40e71eee45ccc;p=mailer.git diff --git a/inc/libs/network_functions.php b/inc/libs/network_functions.php index 5794a6f219..92174639ca 100644 --- a/inc/libs/network_functions.php +++ b/inc/libs/network_functions.php @@ -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); } @@ -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`, @@ -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? @@ -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)) { @@ -524,17 +529,21 @@ function generateAdminDistinctNetworkTypeList () { $content = ''; // Query all types of this network - $result = SQL_QUERY('SELECT - t.`network_type_id`, t.`network_type_handler`, 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_handler` ASC', __FUNCTION__, __LINE__); + t.`network_type_handler` ASC", __FUNCTION__, __LINE__); // Do we have entries? if (!SQL_HASZERONUMS($result)) { @@ -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 @@ -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_HANDLER_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 translateNetworkRequestParamKey ($param) { - // Get the message id - return '{--ADMIN_NETWORK_REQUEST_PARAMETER_' . strtoupper($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 @@ -973,7 +1018,7 @@ function doAdminNetworkProcessHandleNetworkTypes () { $GLOBALS['network_display'] = false; } else { // Nothing selected/found - loadTemplate('admin_settings_unsaved', false, '{--ADMIN_NETWORK_HANDLER_TYPES_NOTHING_FOUND--}'); + loadTemplate('admin_settings_unsaved', false, '{--ADMIN_NETWORK_TYPE_HANDLER_NOTHING_FOUND--}'); } } // END - if } @@ -1115,7 +1160,7 @@ function doAdminNetworkProcessAddNetworkType () { // Is the network type handle already used with given network? if (isNetworkTypeHandleValid(postRequestElement('network_type_handler'), getRequestElement('network_id'))) { // Already added - loadTemplate('admin_settings_unsaved', false, '{%message,ADMIN_NETWORK_HANDLER_TYPES_HANDLE_ALREADY_ADDED=' . postRequestElement('network_type_handler') . '%}'); + loadTemplate('admin_settings_unsaved', false, '{%message,ADMIN_NETWORK_TYPE_HANDLER_ALREADY_ADDED=' . postRequestElement('network_type_handler') . '%}'); // ... so abort here return false; @@ -1142,7 +1187,7 @@ function doAdminNetworkProcessAddNetworkType () { loadTemplate('admin_network_type_added', false, postRequestArray()); } else { // Not added - loadTemplate('admin_settings_unsaved', false, '{%message,ADMIN_NETWORK_HANDLER_TYPES_NOT_ADDED=' . postRequestElement('network_type_handler') . '%}'); + loadTemplate('admin_settings_unsaved', false, '{%message,ADMIN_NETWORK_TYPE_HANDLER_NOT_ADDED=' . postRequestElement('network_type_handler') . '%}'); } } @@ -1191,10 +1236,10 @@ function doAdminNetworkProcessChangeHandlerTypes () { // Do we have updates? if ($updated > 0) { // Updates done - displayMessage('{%message,ADMIN_NETWORK_HANDLER_TYPES_UPDATED=' . $updated . '%}'); + displayMessage('{%message,ADMIN_NETWORK_TYPE_HANDLER_UPDATED=' . $updated . '%}'); } else { // Nothing changed - loadTemplate('admin_settings_unsaved', false, '{--ADMIN_NETWORK_HANDLER_TYPES_NOTHING_CHANGED--}'); + loadTemplate('admin_settings_unsaved', false, '{--ADMIN_NETWORK_TYPE_HANDLER_NOTHING_CHANGED--}'); } } // END - if } @@ -1271,10 +1316,10 @@ function doAdminNetworkProcessRemoveNetworkTypes () { // Do we have removes? if ($removed > 0) { // Removals done - displayMessage('{%message,ADMIN_NETWORK_HANDLER_TYPES_REMOVED=' . $removed . '%}'); + displayMessage('{%message,ADMIN_NETWORK_TYPE_HANDLER_REMOVED=' . $removed . '%}'); } else { // Nothing removed - loadTemplate('admin_settings_unsaved', false, '{--ADMIN_NETWORK_HANDLER_TYPES_NOTHING_REMOVED--}'); + loadTemplate('admin_settings_unsaved', false, '{--ADMIN_NETWORK_TYPE_HANDLER_NOTHING_REMOVED--}'); } } // END - if } @@ -1307,7 +1352,7 @@ function doAdminNetworkProcessRemoveNetworkRequestParams () { } // Adds a request parameter to given network and type -function doAdminNetworkProcessAddNetworkRequestParams () { +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 doAdminNetworkProcessAddHandlerTypesConfig () { +function doAdminNetworkProcessAddHandlerTypesConfig ($displayMessage = true) { // Remove the 'ok' part unsetPostRequestElement('ok'); @@ -1443,6 +1488,8 @@ function doAdminNetworkProcessAddHandlerTypesConfig () { $content = array(); $id = 'network_max_reload_time_ye'; $skip = false; + + // Get all POST data $postData = postRequestArray(); // Convert "reload time selections" @@ -1458,31 +1505,75 @@ function doAdminNetworkProcessAddHandlerTypesConfig () { 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_HANDLER_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_HANDLER_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 doAdminNetworkProcessEditHandlerTypesConfig () { +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. @@ -1514,19 +1605,67 @@ function doAdminNetworkProcessEditHandlerTypesConfig () { 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_HANDLER_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_HANDLER_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(); + } } } @@ -1616,12 +1755,12 @@ ORDER BY __FUNCTION__, __LINE__); // Start an empty SQL query - $SQL = ''; + $SQL = "
INSERT INTO `{?_MYSQL_PREFIX?}_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 .= "
('" .
+		$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'] . '),
'; + $content['network_query_amount'] . "),\n"; } // END - while // Remove last commata and close braces - $SQL = substr($SQL, 0, -7) . '
'; + $SQL = substr($SQL, 0, -2) . ''; // Free result SQL_FREERESULT($result); @@ -1658,7 +1797,8 @@ function doAdminNetworkExportNetworkTypes () { `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 @@ -1685,11 +1825,14 @@ ORDER BY // 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 @@ -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