2 /************************************************************************
3 * Mailer v0.2.1-FINAL Start: 11/04/2009 *
4 * =================== Last change: 11/04/2009 *
6 * -------------------------------------------------------------------- *
7 * File : network_functions.php *
8 * -------------------------------------------------------------------- *
9 * Short description : Functions for ext-network *
10 * -------------------------------------------------------------------- *
11 * Kurzbeschreibung : Funktionen fuer ext-network *
12 * -------------------------------------------------------------------- *
15 * $Tag:: 0.2.1-FINAL $ *
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 *
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. *
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. *
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, *
38 ************************************************************************/
40 // Some security stuff...
41 if (!defined('__SECURITY')) {
45 // Handle a (maybe) sent form here
46 function doNetworkHandleForm () {
48 if ((isFormSent()) || (isPostRequestParameterSet('edit')) || (isPostRequestParameterSet('del')) || (isPostRequestParameterSet('change')) || (isPostRequestParameterSet('remove'))) {
50 if (isGetRequestParameterSet('do')) {
51 // Process the request
52 doAdminNetworkProcessForm();
55 loadTemplate('admin_settings_unsaved', false, getMessage('ADMIN_NETWORK_DO_404'));
60 // Processes an admin form
61 function doAdminNetworkProcessForm () {
63 if ((!isFormSent()) && (!isPostRequestParameterSet('edit')) && (!isPostRequestParameterSet('del')) && (!isPostRequestParameterSet('change')) && (!isPostRequestParameterSet('remove'))) {
65 loadTemplate('admin_settings_unsaved', false, getMessage('ADMIN_NETWORK_FORM_NOT_SENT'));
67 } elseif (!isGetRequestParameterSet('do')) {
69 loadTemplate('admin_settings_unsaved', false, getMessage('ADMIN_NETWORK_DO_404'));
73 // Create function name
74 $functionName = sprintf("doAdminNetworkProcess%sForm", ucfirst(strtolower(getRequestParameter('do'))));
76 // Is the function valid?
77 if (!function_exists($functionName)) {
78 // Invalid function name
79 debug_report_bug('Invalid do ' . getRequestParameter('do') . ', function ' . $functionName .' does not exist.', false);
82 // Call-back the method handling our request
83 call_user_func($functionName);
86 // Checks wether the (short) network name is already used (valid)
87 function isNetworkNameValid ($name) {
89 $result = SQL_QUERY_ESC("SELECT `network_id` FROM `{?_MYSQL_PREFIX?}_network_data` WHERE `network_short_name`='%s' LIMIT 1",
90 array($name), __FUNCTION__, __LINE__);
93 $isValid = (SQL_NUMROWS($result) == 1);
96 SQL_FREERESULT($result);
102 // Checks wether the given network type is already used (valid)
103 function isNetworkTypeHandleValid ($type, $networkId) {
105 $result = SQL_QUERY_ESC("SELECT `network_type_id` FROM `{?_MYSQL_PREFIX?}_network_types` WHERE `network_id`=%s AND `network_type_handle`='%s' LIMIT 1",
106 array($networkId, $type), __FUNCTION__, __LINE__);
109 $isValid = (SQL_NUMROWS($result) == 1);
112 SQL_FREERESULT($result);
118 // Checks wether the given network request parameter is already used (valid)
119 function isNetworkRequestParameterValid ($key, $type, $networkId) {
121 $result = SQL_QUERY_ESC("SELECT `network_param_id` FROM `{?_MYSQL_PREFIX?}_network_request_params` WHERE `network_id`=%s AND `network_type_id`=%s AND `request_param_key`='%s' LIMIT 1",
122 array($networkId, $type, $key), __FUNCTION__, __LINE__);
125 $isValid = (SQL_NUMROWS($result) == 1);
128 SQL_FREERESULT($result);
134 // "Getter" for a network's data by provided id number
135 function getNetworkDataById ($id) {
136 // Ids lower one are not accepted
138 // Not good, should be fixed
139 debug_report_bug('Network id ' . $id . ' is smaller than 1.');
142 // By default we have no data
143 $networkData = array();
145 // Query for the network data
146 $result = SQL_QUERY_ESC("SELECT
147 `network_id`, `network_short_name`, `network_title`, `network_reflink`, `network_data_seperator`, `network_row_seperator`, `network_request_type`, `network_charset`
149 `{?_MYSQL_PREFIX?}_network_data`
153 array(bigintval($id)), __FUNCTION__, __LINE__);
155 // Do we have an entry?
156 if (SQL_NUMROWS($result) == 1) {
158 $networkData = SQL_FETCHARRAY($result);
164 SQL_FREERESULT($result);
170 // "Getter" for a network type data by provided id number
171 function getNetworkTypeDataById ($id) {
172 // Ids lower one are not accepted
174 // Not good, should be fixed
175 debug_report_bug('Network type id ' . $id . ' is smaller than 1.');
178 // By default we have no data
179 $networkTypeData = array();
181 // Query for the network data
182 $result = SQL_QUERY_ESC("SELECT
183 `network_type_id`, `network_id`, `network_type_handle`, `network_type_api_url`, `network_type_click_url`, `network_type_banner_url`
185 `{?_MYSQL_PREFIX?}_network_types`
189 array(bigintval($id)), __FUNCTION__, __LINE__);
191 // Do we have an entry?
192 if (SQL_NUMROWS($result) == 1) {
194 $networkTypeData = SQL_FETCHARRAY($result);
198 SQL_FREERESULT($result);
201 return $networkTypeData;
204 // "Getter" for a network request parameter data by provided id number
205 function getNetworkRequestParamsDataById ($id) {
206 // Ids lower one are not accepted
208 // Not good, should be fixed
209 debug_report_bug('Network request parameter id ' . $id . ' is smaller than 1.');
212 // By default we have no data
213 $networkRequestData = array();
215 // Query for the network data
216 $result = SQL_QUERY_ESC("SELECT
217 `network_param_id`, `network_id`, `network_type_id`, `request_param_key`, `request_param_value`, `request_param_default`
219 `{?_MYSQL_PREFIX?}_network_request_params`
221 `network_param_id`=%s
223 array(bigintval($id)), __FUNCTION__, __LINE__);
225 // Do we have an entry?
226 if (SQL_NUMROWS($result) == 1) {
228 $networkRequestData = SQL_FETCHARRAY($result);
232 SQL_FREERESULT($result);
235 return $networkRequestData;
238 // Updates given network (id) with data from array
239 function doNetworkUpdateDataByArray ($id, $networkData) {
240 // Ids lower one are not accepted
242 // Not good, should be fixed
243 debug_report_bug('Network id ' . $id . ' is smaller than 1.');
246 // Just call our inner method
247 return adminSaveSettings($networkData, '_network_data', sprintf("`network_id`=%s", bigintval($id)), array(), false, false);
250 // Updates given network type handler (id) with data from array
251 function doNetworkUpdateTypeByArray ($id, $networkTypeData) {
252 // Ids lower one are not accepted
254 // Not good, should be fixed
255 debug_report_bug('Network type handler id ' . $id . ' is smaller than 1.');
258 // Just call our inner method
259 return adminSaveSettings($networkTypeData, '_network_types', sprintf("`network_type_id`=%s", bigintval($id)), array(), false, false);
262 // Updates given network request parameters (id) with data from array
263 function doNetworkUpdateParamsByArray ($id, $networkParamData) {
264 // Ids lower one are not accepted
266 // Not good, should be fixed
267 debug_report_bug('Network request parameter id ' . $id . ' is smaller than 1.');
270 // Just call our inner method
271 return adminSaveSettings($networkParamData, '_network_request_params', sprintf("`network_param_id`=%s", bigintval($id)), array(), false, false);
274 // Removes given network entry
275 function doAdminRemoveNetworkEntry ($table, $column, $id, $limit = 1) {
277 SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_network_%s` WHERE `%s`=%s LIMIT %s",
278 array($table, $column, $id, $limit), __FILE__, __LINE__);
280 // Return affected rows
281 return SQL_AFFECTEDROWS();
284 // Generates a list of networks for given script and returns it
285 function generateAdminNetworkList () {
289 // Query for all networks
290 $result = SQL_QUERY("SELECT
291 `network_id`, `network_short_name`, `network_title`
293 `{?_MYSQL_PREFIX?}_network_data`
295 `network_short_name` ASC", __FILE__, __LINE__);
297 // Do we have entries?
298 if (SQL_NUMROWS($result) > 0) {
301 while ($row = SQL_FETCHARRAY($result)) {
302 // Is this valid, then add it
303 if ((is_array($row)) && (isset($row['network_id']))) $rows[] = $row;
306 // Generate the selection box
307 $content = generateSelectionBoxFromArray($rows, 'network', 'network_id');
310 $content = loadTemplate('admin_settings_unsaved', false, getMessage('ADMIN_ENTRIES_404'));
314 SQL_FREERESULT($result);
320 // Generator (somewhat getter) for network type options
321 function generateNetworkTypeOptions ($id) {
322 // Is this an array, then we just came back from edit/delete actions
323 if (is_array($id)) $id = '';
326 if (!isset($GLOBALS['network_type_options'][$id])) {
327 // Generate output and cache it
328 $GLOBALS['network_type_options'][$id] = generateOptionList(
331 'network_type_handle',
334 sprintf("WHERE `network_id`=%s", getRequestParameter('network'))
339 return $GLOBALS['network_type_options'][$id];
342 // Generator (somewhat getter) for request key options
343 function generateNetworkRequestKeyOptions ($key) {
345 if (!isset($GLOBALS['network_request_param_key'][$key])) {
346 // Generate and cache it
347 $GLOBALS['network_request_param_key'][$key] = generateOptionList(
366 '{--ADMIN_NETWORK_REQUEST_PARAMS_ID--}',
367 '{--ADMIN_NETWORK_REQUEST_PARAMS_SID--}',
368 '{--ADMIN_NETWORK_REQUEST_PARAMS_HASH--}',
369 '{--ADMIN_NETWORK_REQUEST_PARAMS_PASSWORD--}',
370 '{--ADMIN_NETWORK_REQUEST_PARAMS_RELOAD--}',
371 '{--ADMIN_NETWORK_REQUEST_PARAMS_MAXIMUM_STAY--}',
372 '{--ADMIN_NETWORK_REQUEST_PARAMS_MINIMUM_STAY--}',
373 '{--ADMIN_NETWORK_REQUEST_PARAMS_CURRENCY--}',
374 '{--ADMIN_NETWORK_REQUEST_PARAMS_TYPE--}',
375 '{--ADMIN_NETWORK_REQUEST_PARAMS_REMAIN--}',
376 '{--ADMIN_NETWORK_REQUEST_PARAMS_REWARD--}',
377 '{--ADMIN_NETWORK_REQUEST_PARAMS_SIZE--}',
378 '{--ADMIN_NETWORK_REQUEST_PARAMS_EROTIC--}',
379 '{--ADMIN_NETWORK_REQUEST_PARAMS_EXTRA--}'
383 $GLOBALS['network_params_disabled']
388 return $GLOBALS['network_request_param_key'][$key];
391 //------------------------------------------------------------------------------
392 // Call-back functions
393 //------------------------------------------------------------------------------
395 // Callback function to add new network
396 function doAdminNetworkProcessAddnetworkForm () {
397 // We can say here, the form is sent, so check if the network is already added
398 if (isNetworkNameValid(postRequestParameter('network_short_name'))) {
400 loadTemplate('admin_settings_unsaved', false, getMaskedMessage('ADMIN_NETWORK_ALREADY_ADDED', postRequestParameter('network_short_name')));
404 // Remove the 'ok' part
405 unsetPostRequestParameter('ok');
407 // Add the whole request to database
408 SQL_QUERY("INSERT INTO
409 `{?_MYSQL_PREFIX?}_network_data`
411 `" . implode('`,`', array_keys(postRequestArray())) . "`
413 '" . implode("','", array_values(postRequestArray())) . "'
414 )", __FUNCTION__, __LINE__);
416 // Add the id for output only
417 setPostRequestParameter('network_id', SQL_INSERTID());
420 if (SQL_AFFECTEDROWS() == 1) {
421 // Successfully added
422 loadTemplate('admin_network_added', false, postRequestArray());
425 loadTemplate('admin_settings_unsaved', false, getMaskedMessage('ADMIN_NETWORK_DATA_NOT_ADDED', postRequestParameter('network_short_name')));
429 // Displays selected networks for editing
430 function doAdminNetworkProcessHandlenetworkForm () {
431 // Do we have selections?
432 if (countPostSelection() > 0) {
433 // Something has been selected, so start displaying one by one
435 foreach (postRequestParameter('sel') as $id => $sel) {
438 // Load this network's data
439 $networkData = getNetworkDataById($id);
441 // Do we have found the network?
442 if (count($networkData) > 0) {
444 $networkData['sw'] = $SW;
446 if (isPostRequestParameterSet('edit')) {
447 // Make selection box for network_request_type
448 $networkData['network_request_type'] = generateOptionList(
452 getMessage('ADMIN_NETWORK_REQUEST_TYPE_GET'),
453 getMessage('ADMIN_NETWORK_REQUEST_TYPE_POST')
455 $networkData['network_request_type']
458 // Add row template for editing
459 $OUT .= loadTemplate('admin_edit_networks_row', true, $networkData);
460 } elseif (isPostRequestParameterSet('del')) {
461 // Translate the request type
462 $networkData['network_request_type'] = getMessage('ADMIN_NETWORK_REQUEST_TYPE_' . $networkData['network_request_type']);
464 // Add row template for deleting
465 $OUT .= loadTemplate('admin_del_networks_row', true, $networkData);
468 debug_report_bug('Cannot detect edit/del.');
477 // If we have no rows, we don't need to display the edit form
479 // Output main template
480 if (isPostRequestParameterSet('edit')) {
481 loadTemplate('admin_edit_networks', false, $OUT);
482 } elseif (isPostRequestParameterSet('del')) {
483 loadTemplate('admin_del_networks', false, $OUT);
486 debug_report_bug('Cannot detect edit/del.');
489 // Don't display the list/add new form
490 $GLOBALS['network_display'] = false;
492 // Nothing selected/found
493 loadTemplate('admin_settings_unsaved', false, getMessage('ADMIN_NETWORK_NOTHING_FOUND'));
498 // Handle network type form
499 function doAdminNetworkProcessHandlenetworktypeForm () {
500 // Do we have selections?
501 if (countPostSelection() > 0) {
503 $networkData = getNetworkDataById(getRequestParameter('network'));
505 // Something has been selected, so start displaying one by one
507 foreach (postRequestParameter('sel') as $id => $sel) {
510 // Load this network's data
511 $networkTypeData = getNetworkTypeDataById($id);
513 // Do we have found the network?
514 if (count($networkTypeData) > 0) {
516 $networkTypeData['sw'] = $SW;
518 if (isPostRequestParameterSet('edit')) {
519 // Add row template for deleting
520 $OUT .= loadTemplate('admin_edit_network_types_row', true, $networkTypeData);
521 } elseif (isPostRequestParameterSet('del')) {
522 // Fix empty banner URL
523 if (trim($networkTypeData['network_type_banner_url']) == '') $networkTypeData['network_type_banner_url'] = '---';
525 // Add row template for deleting
526 $OUT .= loadTemplate('admin_del_network_types_row', true, $networkTypeData);
529 debug_report_bug('Cannot detect edit/del.');
538 // If we have no rows, we don't need to display the edit form
540 // Prepare content for template
543 'network_data' => getNetworkDataById(getRequestParameter('network'))
546 // Output main template
547 if (isPostRequestParameterSet('edit')) {
548 loadTemplate('admin_edit_network_types', false, $content);
549 } elseif (isPostRequestParameterSet('del')) {
550 loadTemplate('admin_del_network_types', false, $content);
553 debug_report_bug('Cannot detect edit/del.');
556 // Don't display the list/add new form
557 $GLOBALS['network_display'] = false;
559 // Nothing selected/found
560 loadTemplate('admin_settings_unsaved', false, getMessage('ADMIN_NETWORK_TYPES_NOTHING_FOUND'));
565 // Handle network request parameter form
566 function doAdminNetworkProcessHandlerequestparamsForm () {
567 // Do we have selections?
568 if (countPostSelection() > 0) {
570 $GLOBALS['network_params_disabled'] = array();
573 $networkData = getNetworkDataById(getRequestParameter('network'));
575 // Something has been selected, so start displaying one by one
577 foreach (postRequestParameter('sel') as $id => $sel) {
580 // Load this network's data
581 $networkRequestData = getNetworkRequestParamsDataById($id);
583 // Do we have found the network?
584 if (count($networkRequestData) > 0) {
586 $networkRequestData['sw'] = $SW;
588 if (isPostRequestParameterSet('edit')) {
589 // Add options list for network type
590 $networkRequestData['type_options'] = generateNetworkTypeOptions($networkRequestData['network_type_id']);
592 // Add options list for request key
593 $networkRequestData['key_options'] = generateNetworkRequestKeyOptions($networkRequestData['request_param_key']);
595 // Add row template for deleting
596 $OUT .= loadTemplate('admin_edit_network_params_row', true, $networkRequestData);
597 } elseif (isPostRequestParameterSet('del')) {
598 // Fix empty banner URL
599 if (trim($networkRequestData['request_param_default']) == '') $networkRequestData['request_param_default'] = '---';
602 $networkRequestData['network_type_data'] = getNetworkTypeDataById($networkRequestData['network_type_id']);
604 // Add row template for deleting
605 $OUT .= loadTemplate('admin_del_network_params_row', true, $networkRequestData);
608 debug_report_bug('Cannot detect edit/del.');
617 // If we have no rows, we don't need to display the edit form
619 // Prepare content for template
622 'network_data' => getNetworkDataById(getRequestParameter('network'))
625 // Output main template
626 if (isPostRequestParameterSet('edit')) {
627 loadTemplate('admin_edit_network_params', false, $content);
628 } elseif (isPostRequestParameterSet('del')) {
629 loadTemplate('admin_del_network_params', false, $content);
632 debug_report_bug('Cannot detect edit/del.');
635 // Don't display the list/add new form
636 $GLOBALS['network_display'] = false;
638 // Nothing selected/found
639 loadTemplate('admin_settings_unsaved', false, getMessage('ADMIN_NETWORK_REQUEST_PARAMS_NOTHING_FOUND'));
644 // Changes given networks
645 function doAdminNetworkProcessChangenetworkForm () {
646 // Do we have selections?
647 if (countPostSelection() > 0) {
648 // By default nothing is updated
651 // Something has been selected, so start updating them
652 foreach (postRequestParameter('sel') as $id => $sel) {
653 // Update this entry?
656 $networkData = array();
658 // Transfer whole array, except 'sel'
659 foreach (postRequestArray() as $key => $entry) {
660 // Skip 'sel' and submit button
661 if (in_array($key, array('sel', 'change'))) continue;
663 // Do we have this enty?
664 if (!isset($entry[$id])) {
665 // Not found, needs fixing
666 debug_report_bug('No entry in key=' . $key . ', id=' . $id . ' found.');
670 $networkData[$key] = $entry[$id];
673 // Update the network data
674 $updated += doNetworkUpdateDataByArray($id, $networkData);
678 // Do we have updates?
681 loadTemplate('admin_settings_saved', false, getMaskedMessage('ADMIN_NETWORK_UPDATED', $updated));
684 loadTemplate('admin_settings_unsaved', false, getMessage('ADMIN_NETWORK_NOTHING_CHANGED'));
689 // Removes given networks
690 function doAdminNetworkProcessRemovenetworkForm () {
691 // Do we have selections?
692 if (countPostSelection() > 0) {
693 // By default nothing is removed
696 // Something has been selected, so start updating them
697 foreach (postRequestParameter('sel') as $id => $sel) {
698 // Update this entry?
701 $removed += doAdminRemoveNetworkEntry('data', 'network_id', $id);
705 // Do we have removes?
708 loadTemplate('admin_settings_saved', false, getMaskedMessage('ADMIN_NETWORK_REMOVED', $removed));
711 loadTemplate('admin_settings_unsaved', false, getMessage('ADMIN_NETWORK_NOTHING_REMOVED'));
716 // Add a network type handler if not yet found
717 function doAdminNetworkProcessAddnetworktypeForm () {
718 // Is the network type handle already used with given network?
719 if (isNetworkTypeHandleValid(postRequestParameter('network_type_handle'), getRequestParameter('network'))) {
721 loadTemplate('admin_settings_unsaved', false, getMaskedMessage('ADMIN_NETWORK_TYPES_HANDLE_ALREADY_ADDED', postRequestParameter('network_type_handle')));
727 // Remove the 'ok' part
728 unsetPostRequestParameter('ok');
731 setPostRequestParameter('network_id', getRequestParameter('network'));
733 // Is network_type_banner_url set?
734 if (postRequestParameter('network_type_banner_url') == '') {
735 // Remove empty value to get a NULL for an optional entry
736 unsetPostRequestParameter('network_type_banner_url');
739 // Add the whole request to database
740 SQL_QUERY("INSERT INTO
741 `{?_MYSQL_PREFIX?}_network_types`
743 `" . implode('`,`', array_keys(postRequestArray())) . "`
745 '" . implode("','", array_values(postRequestArray())) . "'
746 )", __FUNCTION__, __LINE__);
749 if (SQL_AFFECTEDROWS() == 1) {
750 // Successfully added
751 loadTemplate('admin_network_type_added', false, postRequestArray());
754 loadTemplate('admin_settings_unsaved', false, getMaskedMessage('ADMIN_NETWORK_TYPES_NOT_ADDED', postRequestParameter('network_type_handle')));
758 // Changes given network type handlers
759 function doAdminNetworkProcessChangenetworktypeForm () {
760 // Do we have selections?
761 if (countPostSelection() > 0) {
762 // By default nothing is updated
765 // Something has been selected, so start updating them
766 foreach (postRequestParameter('sel') as $id => $sel) {
767 // Update this entry?
770 $networkTypeData = array();
772 // Transfer whole array, except 'sel'
773 foreach (postRequestArray() as $key => $entry) {
774 // Skip 'sel' and submit button
775 if (in_array($key, array('sel', 'change'))) continue;
777 // Do we have this enty?
778 if (!isset($entry[$id])) {
779 // Not found, needs fixing
780 debug_report_bug('No entry in key=' . $key . ', id=' . $id . ' found.');
783 // Fix empty network_type_banner_url to NULL
784 if (($key == 'network_type_banner_url') && (trim($entry[$id]) == '')) {
790 $networkTypeData[$key] = $entry[$id];
793 // Update the network data
794 $updated += doNetworkUpdateTypeByArray($id, $networkTypeData);
798 // Do we have updates?
801 loadTemplate('admin_settings_saved', false, getMaskedMessage('ADMIN_NETWORK_TYPES_UPDATED', $updated));
804 loadTemplate('admin_settings_unsaved', false, getMessage('ADMIN_NETWORK_TYPES_NOTHING_CHANGED'));
809 // Changes given network request parameters
810 function doAdminNetworkProcessChangenetworkparamForm () {
811 // Do we have selections?
812 if (countPostSelection() > 0) {
813 // By default nothing is updated
816 // Something has been selected, so start updating them
817 foreach (postRequestParameter('sel') as $id => $sel) {
818 // Update this entry?
821 $networkParamsData = array();
823 // Transfer whole array, except 'sel'
824 foreach (postRequestArray() as $key => $entry) {
825 // Skip 'sel' and submit button
826 if (in_array($key, array('sel', 'change'))) continue;
828 // Do we have this enty?
829 if (!isset($entry[$id])) {
830 // Not found, needs fixing
831 debug_report_bug('No entry in key=' . $key . ', id=' . $id . ' found.');
834 // Fix empty request_param_default to NULL
835 if (($key == 'request_param_default') && (trim($entry[$id]) == '')) {
841 $networkParamsData[$key] = $entry[$id];
844 // Update the network data
845 $updated += doNetworkUpdateParamsByArray($id, $networkParamsData);
849 // Do we have updates?
852 loadTemplate('admin_settings_saved', false, getMaskedMessage('ADMIN_NETWORK_REQUEST_PARAMS_UPDATED', $updated));
855 loadTemplate('admin_settings_unsaved', false, getMessage('ADMIN_NETWORK_REQUEST_PARAMS_NOTHING_CHANGED'));
860 // Removes given network type handlers
861 function doAdminNetworkProcessRemovenetworktypeForm () {
862 // Do we have selections?
863 if (countPostSelection() > 0) {
864 // By default nothing is removed
867 // Something has been selected, so start updating them
868 foreach (postRequestParameter('sel') as $id => $sel) {
869 // Update this entry?
872 $removed += doAdminRemoveNetworkEntry('types', 'network_type_id', $id);
876 // Do we have removes?
879 loadTemplate('admin_settings_saved', false, getMaskedMessage('ADMIN_NETWORK_TYPES_REMOVED', $removed));
882 loadTemplate('admin_settings_unsaved', false, getMessage('ADMIN_NETWORK_TYPES_NOTHING_REMOVED'));
887 // Removes given network request parameters
888 function doAdminNetworkProcessRemovenetworkparamForm () {
889 // Do we have selections?
890 if (countPostSelection() > 0) {
891 // By default nothing is removed
894 // Something has been selected, so start updating them
895 foreach (postRequestParameter('sel') as $id => $sel) {
896 // Update this entry?
899 $removed += doAdminRemoveNetworkEntry('request_params', 'network_param_id', $id);
903 // Do we have removes?
906 loadTemplate('admin_settings_saved', false, getMaskedMessage('ADMIN_NETWORK_REQUEST_PARAMS_REMOVED', $removed));
909 loadTemplate('admin_settings_unsaved', false, getMessage('ADMIN_NETWORK_REQUEST_PARAMS_NOTHING_REMOVED'));
914 // Adds a request parameter to given network and type
915 function doAdminNetworkProcessAddnetworkparamForm () {
916 // Is the request parameter already used with given network?
917 if (isNetworkRequestParameterValid(postRequestParameter('request_param_key'), postRequestParameter('network_type_id'), getRequestParameter('network'))) {
919 loadTemplate('admin_settings_unsaved', false, getMaskedMessage('ADMIN_NETWORK_REQUEST_PARAMETER_ALREADY_ADDED', postRequestParameter('request_param_key')));
925 // Remove the 'ok' part
926 unsetPostRequestParameter('ok');
929 setPostRequestParameter('network_id', getRequestParameter('network'));
931 // Is request_param_default set?
932 if (postRequestParameter('request_param_default') == '') {
933 // Remove empty value to get a NULL for an optional entry
934 unsetPostRequestParameter('request_param_default');
937 // Add the whole request to database
938 SQL_QUERY("INSERT INTO
939 `{?_MYSQL_PREFIX?}_network_request_params`
941 `" . implode('`,`', array_keys(postRequestArray())) . "`
943 '" . implode("','", array_values(postRequestArray())) . "'
944 )", __FUNCTION__, __LINE__);
947 if (SQL_AFFECTEDROWS() == 1) {
948 // Successfully added
949 loadTemplate('admin_network_request_param_added', false, postRequestArray());
952 loadTemplate('admin_settings_unsaved', false, getMaskedMessage('ADMIN_NETWORK_REQUEST_PARAMETER_NOT_ADDED', postRequestParameter('request_param_key')));