]> git.mxchange.org Git - mailer.git/blobdiff - inc/modules/admin/what-config_network_types.php
Fixes loading of network type config
[mailer.git] / inc / modules / admin / what-config_network_types.php
index 0871c70c18910c3e57aab1aae38207466d3c1da4..01800dc75f0468fdf1c42a404f61993d2b7f17ea 100644 (file)
@@ -57,7 +57,166 @@ if ($GLOBALS['network_display'] === false) {
 
 // Do we have a network selected?
 if (isGetRequestElementSet('network_id')) {
-       // @TODO Do something here
+       // Set current network id
+       setCurrentNetworkId(getRequestElement('network_id'));
+
+       // Is a network type handler selected?
+       if (isGetRequestElementSet('network_type_id')) {
+               // Load data for given network
+               $result = SQL_QUERY_ESC('SELECT
+       `network_id`,
+       `network_type_id`,
+       `network_type_handle`,
+       `network_type_reload_time_unit`,
+       NULL AS `network_data_id`,
+       NULL AS `network_max_reload_time`,
+       NULL AS `network_min_waiting_time`,
+       NULL AS `network_min_remain_clicks`,
+       NULL AS `network_min_payment`,
+       NULL AS `network_allow_erotic`
+FROM
+       `{?_MYSQL_PREFIX?}_network_types`
+WHERE
+       `network_id`=%s AND
+       `network_type_id`=%s
+LIMIT 1',
+                       array(
+                               bigintval(getRequestElement('network_id')),
+                               bigintval(getRequestElement('network_type_id'))
+                       ), __FUNCTION__, __LINE__);
+
+               // Do we have a record?
+               if (SQL_NUMROWS($result) == 1) {
+                       // Load it
+                       $content = SQL_FETCHARRAY($result);
+
+                       // Check for network type configuration
+                       $result_config = SQL_QUERY_ESC('SELECT
+       `network_data_id`,
+       `network_max_reload_time`,
+       `network_min_waiting_time`,
+       `network_min_remain_clicks`,
+       `network_min_payment`,
+       `network_allow_erotic`
+FROM
+       `{?_MYSQL_PREFIX?}_network_types_config`
+WHERE
+       `network_id`=%s AND
+       `network_type_id`=%s
+LIMIT 1',
+                               array(
+                                       bigintval(getRequestElement('network_id')),
+                                       bigintval($content['network_type_id'])
+                               ), __FUNCTION__, __LINE__);
+
+                       // Use template for adding
+                       $templateName = 'admin_add_config_network_type_form';
+
+                       // Do we also have configuration?
+                       if (SQL_NUMROWS($result_config) == 1) {
+                               // Load as well and merge it
+                               $content = merge_array($content, SQL_FETCHARRAY($result_config));
+
+                               // Use template for editing
+                               $templateName = 'admin_edit_config_network_type_form';
+                       } // END - if
+
+                       // Free result
+                       SQL_FREERESULT($result_config);
+
+                       // "Translate" some values
+                       $content['network_max_reload_time']  = createTimeSelections($content['network_max_reload_time'], 'network_max_reload_time', 'WDhms');
+
+                       // Load template
+                       loadTemplate($templateName, false, $content);
+
+                       // Abort here
+                       return;
+               } else {
+                       // No entry found
+                       displayMessage('{%message,ADMIN_ADD_CONFIG_NETWORK_TYPE_404', bigintval(getRequestElement('network_id')) . '/' . bigintval(getRequestElement('network_type_id')));
+               } // END - if
+
+               // Free result
+               SQL_FREERESULT($result);
+       } // END - if
+
+       // Get all type handlers
+       $result = SQL_QUERY_ESC('SELECT
+       `network_id`,
+       `network_type_id`,
+       `network_type_handle`,
+       `network_type_reload_time_unit`
+FROM
+       `{?_MYSQL_PREFIX?}_network_types`
+WHERE
+       `network_id`=%s
+ORDER BY
+       `network_type_handle` ASC',
+               array(
+                       bigintval(getRequestElement('network_id'))
+               ), __FUNCTION__, __LINE__);
+
+       // Do we have entries left?
+       if (!SQL_HASZERONUMS($result)) {
+               // Init row output
+               $OUT = '';
+
+               // List all entries
+               while ($content = SQL_FETCHARRAY($result)) {
+                       // Check if config entry is there
+                       $result_config = SQL_QUERY_ESC('SELECT
+       `network_data_id`,
+       `network_max_reload_time`,
+       `network_min_waiting_time`,
+       `network_min_remain_clicks`,
+       `network_min_payment`,
+       `network_allow_erotic`
+FROM
+       `{?_MYSQL_PREFIX?}_network_types_config`
+WHERE
+       `network_id`=%s AND
+       `network_type_id`=%s
+LIMIT 1',
+                               array(
+                                       bigintval(getRequestElement('network_id')),
+                                       bigintval($content['network_type_id'])
+                               ), __FUNCTION__, __LINE__);
+
+                       // Do we have an entry?
+                       if (SQL_NUMROWS($result_config) == 1) {
+                               // Load this data as well
+                               $content = merge_array($content, SQL_FETCHARRAY($result_config));
+
+                               // Add it with extra template
+                               $content['network_type_config_content'] = loadTemplate('admin_show_config_network_type', true, $content);
+                       } else {
+                               // No configuration found, so display form
+                               $content['network_type_config_content'] = loadTemplate('admin_add_config_network_type', true, $content);
+                       }
+
+                       // Free result
+                       SQL_FREERESULT($result_config);
+
+                       // Load row template
+                       $OUT .= loadTemplate('admin_config_network_types_row', true, $content);
+               } // END - while
+
+               // Prepare array for main template
+               $content = array(
+                       'network_id' => bigintval(getRequestElement('network_id')),
+                       'rows'       => $OUT
+               );
+
+               // Load main template
+               loadTemplate('admin_config_network_types', false, $content);
+       } else {
+               // No entries found
+               displayMessage('{%message,ADMIN_CONFIG_NETWORK_TYPES_404=' . bigintval(getRequestElement('network_id')) . '%}');
+       }
+
+       // Free result
+       SQL_FREERESULT($result);
 } else {
        // Generate network list for this script
        outputHtml(generateAdminNetworkList());