X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Flibs%2Fnetwork_functions.php;h=92174639cab7979bfe389342f1e06ff738b10145;hb=15b33f67108fcf717fc56fc9cb931f7c22a69737;hp=b0c9552f8672a227ca20e74e19dc681ed09a9eb5;hpb=c9b2e406d8e94ffcff8bac9d453e671f337552e4;p=mailer.git diff --git a/inc/libs/network_functions.php b/inc/libs/network_functions.php index b0c9552f86..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_TYPE_HANDLER_' . 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 @@ -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(); + } } } @@ -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