]> git.mxchange.org Git - mailer.git/blobdiff - inc/libs/network_functions.php
Extension ext-network continued:
[mailer.git] / inc / libs / network_functions.php
index 85ade7690060a7ca29650de6acf8c43863a96574..5c9515f24ae52d3bc96d2a6bd6edfb20c46cda14 100644 (file)
@@ -126,7 +126,7 @@ function isNetworkTypeHandleValid ($type, $networkId) {
 // Checks wether the given network request parameter is already used (valid)
 function isNetworkRequestElementValid ($key, $type, $networkId) {
        // Query for it
-       $result = SQL_QUERY_ESC("SELECT `network_param_id` FROM `{?_MYSQL_PREFIX?}_network_request_params` WHERE `network_id`=%s AND `network_type_id`=%s AND `network_request_param_key`='%s' LIMIT 1",
+       $result = SQL_QUERY_ESC("SELECT `network_request_param_id` FROM `{?_MYSQL_PREFIX?}_network_request_params` WHERE `network_id`=%s AND `network_type_id`=%s AND `network_request_param_key`='%s' LIMIT 1",
                array($networkId, $type, $key), __FUNCTION__, __LINE__);
 
        // Does it exist?
@@ -325,7 +325,7 @@ function getNetworkRequestParamsDataById ($networkId) {
 
        // Query for the network data
        $result = SQL_QUERY_ESC("SELECT
-       `network_param_id`,
+       `network_request_param_id`,
        `network_id`,
        `network_type_id`,
        `network_request_param_key`,
@@ -334,7 +334,7 @@ function getNetworkRequestParamsDataById ($networkId) {
 FROM
        `{?_MYSQL_PREFIX?}_network_request_params`
 WHERE
-       `network_param_id`=%s
+       `network_request_param_id`=%s
 LIMIT 1",
                array(bigintval($networkId)), __FUNCTION__, __LINE__);
 
@@ -384,7 +384,7 @@ function doNetworkUpdateParamsByArray ($networkId, $networkParamData) {
        } // END - if
 
        // Just call our inner method
-       return adminSaveSettings($networkParamData, '_network_request_params', sprintf("`network_param_id`=%s", bigintval($networkId)), array(), false, false);
+       return adminSaveSettings($networkParamData, '_network_request_params', sprintf("`network_request_param_id`=%s", bigintval($networkId)), array(), false, false);
 }
 
 // Removes given network entry
@@ -803,6 +803,25 @@ function isNetworkApiConfigured ($networkId) {
        return $GLOBALS[__FUNCTION__][$networkId];
 }
 
+// Checks wether the given network type handler is configured
+function isNetworkTypeHandlerConfigured ($networkId, $networkTypeId) {
+       // Do we have cache?
+       if (!isset($GLOBALS[__FUNCTION__][$networkId][$networkTypeId])) {
+               // Determine it
+               $GLOBALS[__FUNCTION__][$networkId][$networkTypeId] = (countSumTotalData(
+                       bigintval($networkTypeId),
+                       'network_types_config',
+                       'network_data_id',
+                       'network_type_id',
+                       true,
+                       sprintf(' AND `network_id`=%s', bigintval($networkId))
+               ) == 1);
+       } // END - if
+
+       // Return cache
+       return $GLOBALS[__FUNCTION__][$networkId][$networkTypeId];
+}
+
 //------------------------------------------------------------------------------
 //                             Call-back functions
 //------------------------------------------------------------------------------
@@ -1249,7 +1268,7 @@ function doAdminNetworkProcessRemoveNetworkParam () {
                        // Update this entry?
                        if ($sel == 1) {
                                // Remove this entry
-                               $removed += doAdminRemoveNetworkEntry('request_params', 'network_param_id', $networkId);
+                               $removed += doAdminRemoveNetworkEntry('request_params', 'network_request_param_id', $networkId);
                        } // END - if
                } // END - foreach
 
@@ -1293,7 +1312,7 @@ function doAdminNetworkProcessAddNetworkParam () {
        // Output message
        if (!SQL_HASZEROAFFECTED()) {
                // Successfully added
-               loadTemplate('admin_network_network_request_param_added', false, postRequestArray());
+               loadTemplate('admin_network_request_param_added', false, postRequestArray());
        } else {
                // Not added
                loadTemplate('admin_settings_unsaved', false, '{%message,ADMIN_NETWORK_REQUEST_PARAMETER_NOT_ADDED=' . postRequestElement('network_request_param_key') . '%}');
@@ -1376,6 +1395,118 @@ function doAdminNetworkProcessNetworkApiConfig () {
        }
 }
 
+// Only adds network type configuration if not yet present
+function doAdminNetworkProcessAddNetworkTypesConfig () {
+       // 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.
+        */
+       foreach (array('network_min_waiting_time', 'network_min_remain_clicks', 'network_min_payment', 'network_allow_erotic') as $element) {
+               // Is this element empty?
+               if (postRequestElement($element) == '') {
+                       // Then unset it to get a NULL for optional parameter
+                       unsetPostRequestElement($element);
+               } // END - if
+       } // END - foreach
+
+       // Initialize variables
+       $content = array();
+       $id = 'network_max_reload_time_ye';
+       $skip = false;
+       $postData = postRequestArray();
+
+       // Convert "reload time selections"
+       convertSelectionsToEpocheTime($postData, $content, $id, $skip);
+
+       // Set the POST array back
+       setPostRequestArray($postData);
+
+       // 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--}');
+               return;
+       } // END - if
+
+       // Get SQL query for new entry
+       $SQL = getInsertSqlFromArray(postRequestArray(), 'network_types_config');
+
+       // Run the query
+       SQL_QUERY($SQL, __FUNCTION__, __LINE__);
+
+       // Output message
+       if (!SQL_HASZEROAFFECTED()) {
+               // Successfully added
+               displayMessage('{--ADMIN_CONFIG_NETWORK_TYPE_HANDLER_SAVED--}');
+       } else {
+               // Not added
+               loadTemplate('admin_settings_unsaved', false, '{--ADMIN_CONFIG_NETWORK_TYPE_HANDLER_NOT_SAVED--}');
+       }
+}
+
+// Only changes network type configuration if not yet present
+function doAdminNetworkProcessEditNetworkTypesConfig () {
+       // 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.
+        */
+       foreach (array('network_min_waiting_time', 'network_min_remain_clicks', 'network_min_payment', 'network_allow_erotic') as $element) {
+               // Is this element empty?
+               if (postRequestElement($element) == '') {
+                       // Then unset it to get a NULL for optional parameter
+                       unsetPostRequestElement($element);
+               } // END - if
+       } // END - foreach
+
+       // Initialize variables
+       $content = array();
+       $id = 'network_max_reload_time_ye';
+       $skip = false;
+       $postData = postRequestArray();
+
+       // Convert "reload time selections"
+       convertSelectionsToEpocheTime($postData, $content, $id, $skip);
+
+       // Set the POST array back
+       setPostRequestArray($postData);
+
+       // 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--}');
+               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'));
+
+       // Run the query
+       SQL_QUERY($SQL, __FUNCTION__, __LINE__);
+
+       // Output message
+       if (!SQL_HASZEROAFFECTED()) {
+               // Successfully added
+               displayMessage('{--ADMIN_CONFIG_NETWORK_TYPE_HANDLER_SAVED--}');
+       } else {
+               // Not added
+               loadTemplate('admin_settings_unsaved', false, '{--ADMIN_CONFIG_NETWORK_TYPE_HANDLER_NOT_CHANGED--}');
+       }
+}
+
 // Do expression code for this extension
 function doExpressionNetwork ($data) {
        // Construct replacer