]> git.mxchange.org Git - mailer.git/blobdiff - inc/modules/admin/what-config_network_types.php
mailer project continued:
[mailer.git] / inc / modules / admin / what-config_network_types.php
index 0871c70c18910c3e57aab1aae38207466d3c1da4..f6af185807b7978fab4f46dca6912330c47205d5 100644 (file)
@@ -16,7 +16,7 @@
  * $Author::                                                          $ *
  * -------------------------------------------------------------------- *
  * Copyright (c) 2003 - 2009 by Roland Haeder                           *
- * Copyright (c) 2009 - 2011 by Mailer Developer Team                   *
+ * Copyright (c) 2009 - 2012 by Mailer Developer Team                   *
  * For more information visit: http://mxchange.org                      *
  *                                                                      *
  * This program is free software; you can redistribute it and/or modify *
@@ -57,7 +57,178 @@ 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
+       t.`network_id`,
+       t.`network_type_id`,
+       t.`network_type_handler`,
+       t.`network_type_reload_time_unit`,
+       d.`network_active`,
+       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` AS t
+INNER JOIN
+       `{?_MYSQL_PREFIX?}_network_data` AS d
+ON
+       d.network_id=t.network_id
+WHERE
+       t.`network_id`=%s AND
+       t.`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);
+
+                       // Is the network active?
+                       if ($content['network_active'] == 'N') {
+                               // Not active
+                               displayMessage('{--ADMIN_NETWORK_NOT_ACTIVE--}');
+                               return;
+                       } // END - if
+
+                       // 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_HANDLER_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_handler`,
+       `network_type_reload_time_unit`
+FROM
+       `{?_MYSQL_PREFIX?}_network_types`
+WHERE
+       `network_id`=%s
+ORDER BY
+       `network_type_handler` 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_HANDLER_TYPES_404=' . bigintval(getRequestElement('network_id')) . '%}');
+       }
+
+       // Free result
+       SQL_FREERESULT($result);
 } else {
        // Generate network list for this script
        outputHtml(generateAdminNetworkList());