Extension ext-network continued, saving NULL entries fixed:
[mailer.git] / inc / modules / admin / what-list_network_params.php
1 <?php
2 /************************************************************************
3  * Mailer v0.2.1-FINAL                                Start: 11/26/2009 *
4  * ===================                          Last change: 11/26/2009 *
5  *                                                                      *
6  * -------------------------------------------------------------------- *
7  * File              : what-list_network_params.php                     *
8  * -------------------------------------------------------------------- *
9  * Short description : List/manage network API query parameters         *
10  * -------------------------------------------------------------------- *
11  * Kurzbeschreibung  : Verwaltet API-Abfrageparameter                   *
12  * -------------------------------------------------------------------- *
13  * $Revision::                                                        $ *
14  * $Date::                                                            $ *
15  * $Tag:: 0.2.1-FINAL                                                 $ *
16  * $Author::                                                          $ *
17  * Needs to be in all Files and every File needs "svn propset           *
18  * svn:keywords Date Revision" (autoprobset!) at least!!!!!!            *
19  * -------------------------------------------------------------------- *
20  * Copyright (c) 2003 - 2009 by Roland Haeder                           *
21  * Copyright (c) 2009, 2010 by Mailer Developer Team                    *
22  * For more information visit: http://www.mxchange.org                  *
23  *                                                                      *
24  * This program is free software; you can redistribute it and/or modify *
25  * it under the terms of the GNU General Public License as published by *
26  * the Free Software Foundation; either version 2 of the License, or    *
27  * (at your option) any later version.                                  *
28  *                                                                      *
29  * This program is distributed in the hope that it will be useful,      *
30  * but WITHOUT ANY WARRANTY; without even the implied warranty of       *
31  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the        *
32  * GNU General Public License for more details.                         *
33  *                                                                      *
34  * You should have received a copy of the GNU General Public License    *
35  * along with this program; if not, write to the Free Software          *
36  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,               *
37  * MA  02110-1301  USA                                                  *
38  ************************************************************************/
39
40 // Some security stuff...
41 if ((!defined('__SECURITY')) || (!isAdmin())) {
42         die();
43 } // END - if
44
45 // Add description as navigation point
46 addMenuDescription('admin', __FILE__);
47
48 // These are expert settings!
49 if (doVerifyExpertSettings() != 'agreed') {
50         // Abort here
51         return;
52 } // END - if
53
54 // By default we should display list/add new forms
55 $GLOBALS['network_display'] = true;
56
57 // Handle form here
58 doNetworkHandleForm();
59
60 // Display forms?
61 if ($GLOBALS['network_display'] === false) {
62         // Abort here
63         return;
64 } // END - if
65
66 // Do we have a network selected?
67 if (isGetRequestParameterSet('network')) {
68         // Get its data for template
69         $networkData = getNetworkDataById(getRequestParameter('network'));
70
71         // Init disabled list
72         $GLOBALS['network_params_disabled'] = array();
73
74         // Only show params from given type handler if choosen
75         $ADD = '';
76         if ((isPostRequestParameterSet('network_type_id')) && (!is_array(postRequestParameter('network_type_id')))) {
77                 // Only show from current type handler
78                 $ADD = sprintf(" AND p.`network_type_id`=%s", bigintval(postRequestParameter('network_type_id')));
79
80                 // Display message
81                 loadTemplate('admin_settings_saved', false, getMessage('ADMIN_NETWORK_REQUEST_PARAMS_LIST_LIMITED_TO_TYPE'));
82         } // END - if
83
84         // Load all advert types for given network
85         $result = SQL_QUERY_ESC("SELECT
86         p.`network_param_id`, t.`network_type_id`, t.`network_type_handle`, p.`request_param_key`, p.`request_param_value`, p.`request_param_default`
87 FROM
88         `{?_MYSQL_PREFIX?}_network_request_params` AS p
89 INNER JOIN
90         `{?_MYSQL_PREFIX?}_network_types` AS t
91 ON
92         p.`network_type_id`=t.`network_type_id`
93 WHERE
94         p.`network_id`=%s".$ADD."
95 ORDER BY
96         t.`network_type_handle` ASC,
97         p.`network_param_id` ASC",
98                 array(getRequestParameter('network')), __FILE__, __LINE__);
99
100         // Do we have entries?
101         if (SQL_NUMROWS($result) > 0) {
102                 // List all entries
103                 $OUT = ''; $SW = 2;
104                 while ($row = SQL_FETCHARRAY($result)) {
105                         // Add/translate some data
106                         $row['sw'] = $SW;
107
108                         // Add it to network if the type matches selected
109                         if ($row['network_type_id'] == postRequestParameter('network_type_id')) {
110                                 // Matches, then add it for disabling this entry
111                                 $GLOBALS['network_params_disabled'][$row['request_param_key']] = true;
112                         } // END - if
113
114                         // Is default value empty or null?
115                         if ((is_null($row['request_param_default'])) || (trim($row['request_param_default']) == '')) {
116                                 // Fix it to three dashes
117                                 $row['request_param_default'] = '---';
118                         } // END - if
119
120                         // Add row template and switch color
121                         $OUT .= loadTemplate('admin_list_network_params_row', true, $row);
122                         $SW = 3 - $SW;
123                 } // END - while
124
125                 // Prepare data for template
126                 $content = array(
127                         'rows'            => $OUT,
128                         'network_id'      => getRequestParameter('network'),
129                         'network_title'   => $networkData['network_title'],
130                         'network_reflink' => $networkData['network_reflink'],
131                 );
132
133                 // Load main template
134                 loadTemplate('admin_list_network_params', false, $content);
135         } else {
136                 // No entries found
137                 loadTemplate('admin_settings_saved', false, getMaskedMessage('ADMIN_NETWORK_REQUEST_PARAMS_404', $networkData['network_title']));
138         }
139
140         // Free result
141         SQL_FREERESULT($result);
142
143         // Add options list for network type
144         $networkData['type_options'] = generateNetworkTypeOptions(postRequestParameter('network_type_id'));
145
146         // Add options for parameter keys
147         $networkData['key_options'] = generateNetworkRequestKeyOptions('');
148
149         // Add form for adding new params
150         loadTemplate('admin_add_network_params', false, $networkData);
151 } else {
152         // Generate network list for this script
153         outputHtml(generateAdminNetworkList());
154 }
155
156 // [EOF]
157 ?>