fooRequestElementBar() functions renamed, adding of request parameters added:
[mailer.git] / inc / libs / network_functions.php
index cf27043..cc03096 100644 (file)
@@ -44,9 +44,9 @@ if (!defined('__SECURITY')) {
 // Handle a (maybe) sent form here
 function doNetworkHandleForm () {
        // Was the form sent?
-       if ((isFormSent()) || (isPostRequestElementSet('edit')) || (isPostRequestElementSet('del')) || (isPostRequestElementSet('change')) || (isPostRequestElementSet('remove'))) {
+       if ((isFormSent()) || (isPostRequestParameterSet('edit')) || (isPostRequestParameterSet('del')) || (isPostRequestParameterSet('change')) || (isPostRequestParameterSet('remove'))) {
                // Do we have a 'do'?
-               if (isGetRequestElementSet('do')) {
+               if (isGetRequestParameterSet('do')) {
                        // Process the request
                        doAdminNetworkProcessForm();
                } else {
@@ -59,23 +59,23 @@ function doNetworkHandleForm () {
 // Processes an admin form
 function doAdminNetworkProcessForm () {
        // Form really sent?
-       if ((!isFormSent()) && (!isPostRequestElementSet('edit')) && (!isPostRequestElementSet('del')) && (!isPostRequestElementSet('change')) && (!isPostRequestElementSet('remove'))) {
+       if ((!isFormSent()) && (!isPostRequestParameterSet('edit')) && (!isPostRequestParameterSet('del')) && (!isPostRequestParameterSet('change')) && (!isPostRequestParameterSet('remove'))) {
                // Abort here
                loadTemplate('admin_settings_saved', false, getMessage('ADMIN_NETWORK_FORM_NOT_SENT'));
                return;
-       } elseif (!isGetRequestElementSet('do')) {
+       } elseif (!isGetRequestParameterSet('do')) {
                // No 'do' found
                loadTemplate('admin_settings_saved', false, getMessage('ADMIN_NETWORK_DO_404'));
                return;
        }
 
        // Create function name
-       $functionName = sprintf("doAdminNetworkProcess%sForm", ucfirst(strtolower(getRequestElement('do'))));
+       $functionName = sprintf("doAdminNetworkProcess%sForm", ucfirst(strtolower(getRequestParameter('do'))));
 
        // Is the function valid?
        if (!function_exists($functionName)) {
                // Invalid function name
-               debug_report_bug('Invalid do ' . getRequestElement('do') . ', function ' . $functionName .' does not exist.', false);
+               debug_report_bug('Invalid do ' . getRequestParameter('do') . ', function ' . $functionName .' does not exist.', false);
        } // END - if
 
        // Call-back the method handling our request
@@ -114,6 +114,22 @@ function isNetworkTypeHandleValid ($type, $networkId) {
        return $isValid;
 }
 
+// Checks wether the given network request parameter is already used (valid)
+function isNetworkRequestParameterValid ($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 `request_param_key`='%s' LIMIT 1",
+               array($networkId, $type, $key), __FUNCTION__, __LINE__);
+
+       // Does it exist?
+       $isValid = (SQL_NUMROWS($result) == 1);
+
+       // Free result
+       SQL_FREERESULT($result);
+
+       // Return result
+       return $isValid;
+}
+
 // "Getter" for a network's data by provided id number
 function getNetworkDataById ($id) {
        // Ids lower one are not accepted
@@ -259,14 +275,14 @@ ORDER BY
 // Callback function to add new network
 function doAdminNetworkProcessAddnetworkForm () {
        // We can say here, the form is sent, so check if the network is already added
-       if (isNetworkNameValid(postRequestElement('network_short_name'))) {
+       if (isNetworkNameValid(postRequestParameter('network_short_name'))) {
                // Already there
-               loadTemplate('admin_settings_saved', false, getMaskedMessage('ADMIN_NETWORK_ALREADY_ADDED', postRequestElement('network_short_name')));
+               loadTemplate('admin_settings_saved', false, getMaskedMessage('ADMIN_NETWORK_ALREADY_ADDED', postRequestParameter('network_short_name')));
                return false;
        } // END - if
 
        // Remove the 'ok' part
-       unsetPostRequestElement('ok');
+       unsetPostRequestParameter('ok');
 
        // Add the whole request to database
        SQL_QUERY("INSERT INTO
@@ -278,7 +294,7 @@ function doAdminNetworkProcessAddnetworkForm () {
 )", __FUNCTION__, __LINE__);
 
        // Add the id for output only
-       setPostRequestElement('network_id', SQL_INSERTID());
+       setPostRequestParameter('network_id', SQL_INSERTID());
 
        // Output message
        if (SQL_AFFECTEDROWS() == 1) {
@@ -286,7 +302,7 @@ function doAdminNetworkProcessAddnetworkForm () {
                loadTemplate('admin_network_added', false, postRequestArray());
        } else {
                // Not added
-               loadTemplate('admin_settings_saved', false, getMaskedMessage('ADMIN_NETWORK_DATA_NOT_ADDED', postRequestElement('network_short_name')));
+               loadTemplate('admin_settings_saved', false, getMaskedMessage('ADMIN_NETWORK_DATA_NOT_ADDED', postRequestParameter('network_short_name')));
        }
 }
 
@@ -296,7 +312,7 @@ function doAdminNetworkProcessHandlenetworkForm () {
        if (countPostSelection() > 0) {
                // Something has been selected, so start displaying one by one
                $SW = 2; $OUT = '';
-               foreach (postRequestElement('sel') as $id => $sel) {
+               foreach (postRequestParameter('sel') as $id => $sel) {
                        // Is this selected?
                        if ($sel == 1) {
                                // Load this network's data
@@ -307,7 +323,7 @@ function doAdminNetworkProcessHandlenetworkForm () {
                                        // Add color
                                        $networkData['sw'] = $SW;
 
-                                       if (isPostRequestElementSet('edit')) {
+                                       if (isPostRequestParameterSet('edit')) {
                                                // Make selection box for network_request_type
                                                $networkData['network_request_type'] = generateOptionList(
                                                        '/ARRAY/',
@@ -321,7 +337,7 @@ function doAdminNetworkProcessHandlenetworkForm () {
 
                                                // Add row template for editing
                                                $OUT .= loadTemplate('admin_edit_networks_row', true, $networkData);
-                                       } elseif (isPostRequestElementSet('del')) {
+                                       } elseif (isPostRequestParameterSet('del')) {
                                                // Translate the request type
                                                $networkData['network_request_type'] = getMessage('ADMIN_NETWORK_REQUEST_TYPE_' . $networkData['network_request_type']);
 
@@ -341,9 +357,9 @@ function doAdminNetworkProcessHandlenetworkForm () {
                // If we have no rows, we don't need to display the edit form
                if (!empty($OUT)) {
                        // Output main template
-                       if (isPostRequestElementSet('edit')) {
+                       if (isPostRequestParameterSet('edit')) {
                                loadTemplate('admin_edit_networks', false, $OUT);
-                       } elseif (isPostRequestElementSet('del')) {
+                       } elseif (isPostRequestParameterSet('del')) {
                                loadTemplate('admin_del_networks', false, $OUT);
                        } else {
                                // Problem!
@@ -364,11 +380,11 @@ function doAdminNetworkProcessHandlenetworktypeForm () {
        // Do we have selections?
        if (countPostSelection() > 0) {
                // Load network data
-               $networkData = getNetworkDataById(getRequestElement('network'));
+               $networkData = getNetworkDataById(getRequestParameter('network'));
 
                // Something has been selected, so start displaying one by one
                $SW = 2; $OUT = '';
-               foreach (postRequestElement('sel') as $id => $sel) {
+               foreach (postRequestParameter('sel') as $id => $sel) {
                        // Is this selected?
                        if ($sel == 1) {
                                // Load this network's data
@@ -379,10 +395,10 @@ function doAdminNetworkProcessHandlenetworktypeForm () {
                                        // Add color
                                        $networkTypeData['sw'] = $SW;
 
-                                       if (isPostRequestElementSet('edit')) {
+                                       if (isPostRequestParameterSet('edit')) {
                                                // Add row template for deleting
                                                $OUT .= loadTemplate('admin_edit_network_types_row', true, $networkTypeData);
-                                       } elseif (isPostRequestElementSet('del')) {
+                                       } elseif (isPostRequestParameterSet('del')) {
                                                // Fix empty banner URL
                                                if (trim($networkTypeData['network_type_banner_url']) == '') $networkTypeData['network_type_banner_url'] = '---';
 
@@ -404,13 +420,13 @@ function doAdminNetworkProcessHandlenetworktypeForm () {
                        // Prepare content for template
                        $content = array(
                                'rows' => $OUT,
-                               'network_data' => getNetworkDataById(getRequestElement('network'))
+                               'network_data' => getNetworkDataById(getRequestParameter('network'))
                        );
 
                        // Output main template
-                       if (isPostRequestElementSet('edit')) {
+                       if (isPostRequestParameterSet('edit')) {
                                loadTemplate('admin_edit_network_types', false, $content);
-                       } elseif (isPostRequestElementSet('del')) {
+                       } elseif (isPostRequestParameterSet('del')) {
                                loadTemplate('admin_del_network_types', false, $content);
                        } else {
                                // Problem!
@@ -434,7 +450,7 @@ function doAdminNetworkProcessChangenetworkForm () {
                $updated = 0;
 
                // Something has been selected, so start updating them
-               foreach (postRequestElement('sel') as $id => $sel) {
+               foreach (postRequestParameter('sel') as $id => $sel) {
                        // Update this entry?
                        if ($sel == 1) {
                                // Init data array
@@ -479,7 +495,7 @@ function doAdminNetworkProcessRemovenetworkForm () {
                $removed = 0;
 
                // Something has been selected, so start updating them
-               foreach (postRequestElement('sel') as $id => $sel) {
+               foreach (postRequestParameter('sel') as $id => $sel) {
                        // Update this entry?
                        if ($sel == 1) {
                                // Remove this entry
@@ -501,19 +517,19 @@ function doAdminNetworkProcessRemovenetworkForm () {
 // Add a network type handler if not yet found
 function doAdminNetworkProcessAddnetworktypeForm () {
        // Is the network type handle already used with given network?
-       if (isNetworkTypeHandleValid(postRequestElement('network_type_handle'), getRequestElement('network'))) {
+       if (isNetworkTypeHandleValid(postRequestParameter('network_type_handle'), getRequestParameter('network'))) {
                // Already added
-               loadTemplate('admin_settings_saved', false, getMaskedMessage('ADMIN_NETWORK_TYPES_HANDLE_ALREADY_ADDED', postRequestElement('network_type_handle')));
+               loadTemplate('admin_settings_saved', false, getMaskedMessage('ADMIN_NETWORK_TYPES_HANDLE_ALREADY_ADDED', postRequestParameter('network_type_handle')));
 
                // ... so abort here
                return false;
        } // END - if
 
        // Remove the 'ok' part
-       unsetPostRequestElement('ok');
+       unsetPostRequestParameter('ok');
 
        // Add id
-       setPostRequestElement('network_id', getRequestElement('network'));
+       setPostRequestParameter('network_id', getRequestParameter('network'));
 
        // Add the whole request to database
        SQL_QUERY("INSERT INTO
@@ -530,7 +546,7 @@ function doAdminNetworkProcessAddnetworktypeForm () {
                loadTemplate('admin_network_type_added', false, postRequestArray());
        } else {
                // Not added
-               loadTemplate('admin_settings_saved', false, getMaskedMessage('ADMIN_NETWORK_TYPES_NOT_ADDED', postRequestElement('network_type_handle')));
+               loadTemplate('admin_settings_saved', false, getMaskedMessage('ADMIN_NETWORK_TYPES_NOT_ADDED', postRequestParameter('network_type_handle')));
        }
 }
 
@@ -542,7 +558,7 @@ function doAdminNetworkProcessChangenetworktypeForm () {
                $updated = 0;
 
                // Something has been selected, so start updating them
-               foreach (postRequestElement('sel') as $id => $sel) {
+               foreach (postRequestParameter('sel') as $id => $sel) {
                        // Update this entry?
                        if ($sel == 1) {
                                // Init data array
@@ -587,7 +603,7 @@ function doAdminNetworkProcessRemovenetworktypeForm () {
                $removed = 0;
 
                // Something has been selected, so start updating them
-               foreach (postRequestElement('sel') as $id => $sel) {
+               foreach (postRequestParameter('sel') as $id => $sel) {
                        // Update this entry?
                        if ($sel == 1) {
                                // Remove this entry
@@ -606,5 +622,41 @@ function doAdminNetworkProcessRemovenetworktypeForm () {
        } // END - if
 }
 
+// Adds a request parameter to given network and type
+function doAdminNetworkProcessAddnetworkparamForm () {
+       // Is the request parameter already used with given network?
+       if (isNetworkRequestParameterValid(postRequestParameter('request_param_key'), postRequestParameter('network_type_id'), getRequestParameter('network'))) {
+               // Already added
+               loadTemplate('admin_settings_saved', false, getMaskedMessage('ADMIN_NETWORK_REQUEST_PARAMETER_ALREADY_ADDED', postRequestParameter('request_param_key')));
+
+               // ... so abort here
+               return false;
+       } // END - if
+
+       // Remove the 'ok' part
+       unsetPostRequestParameter('ok');
+
+       // Add id
+       setPostRequestParameter('network_id', getRequestParameter('network'));
+
+       // Add the whole request to database
+       SQL_QUERY("INSERT INTO
+       `{?_MYSQL_PREFIX?}_network_request_params`
+(
+       `" . implode('`,`', array_keys(postRequestArray())) . "`
+) VALUES (
+       '" . implode("','", array_values(postRequestArray())) . "'
+)", __FUNCTION__, __LINE__);
+
+       // Output message
+       if (SQL_AFFECTEDROWS() == 1) {
+               // Successfully added
+               loadTemplate('admin_network_request_param_added', false, postRequestArray());
+       } else {
+               // Not added
+               loadTemplate('admin_settings_saved', false, getMaskedMessage('ADMIN_NETWORK_REQUEST_PARAMETER_NOT_ADDED', postRequestParameter('request_param_key')));
+       }
+}
+
 // [EOF]
 ?>