return $isValid;
}
+// Checks wether the given vcheck request parameter is already used (valid)
+function isNetworkVcheckElementValid ($key, $networkId) {
+ // Query for it
+ $result = SQL_QUERY_ESC("SELECT `network_vcheck_param_id` FROM `{?_MYSQL_PREFIX?}_network_vcheck_params` WHERE `network_id`=%s AND `network_vcheck_param_key`='%s' LIMIT 1",
+ array(
+ $networkId,
+ $key
+ ), __FUNCTION__, __LINE__);
+
+ // Does it exist?
+ $isValid = (SQL_NUMROWS($result) == 1);
+
+ // Free result
+ SQL_FREERESULT($result);
+
+ // Return result
+ return $isValid;
+}
+
// Checks wether the given network API array translation
function isNetworkArrayTranslationValid ($key, $type, $networkId) {
// Query for it
return $GLOBALS[__FUNCTION__][$defaultType];
}
-// Generates an options list (somewhat getter) ofr request keys
+// Generates an options list (somewhat getter) for request keys
function generateNetworkRequestKeyOptions () {
// Is it cached?
if (!isset($GLOBALS[__FUNCTION__])) {
'',
'', '',
$GLOBALS['network_request_params_disabled'],
- 'translateNetworkRequestParamKey'
+ 'translateNetworkRequestParameterKey'
+ );
+ } // END - if
+
+ // Return content
+ return $GLOBALS[__FUNCTION__];
+}
+
+// Generates an options list for vcheck request keys
+function generateNetworkVcheckKeyOptions () {
+ // Is it cached?
+ if (!isset($GLOBALS[__FUNCTION__])) {
+ // Generate and cache it
+ $GLOBALS[__FUNCTION__] = generateOptionList(
+ '/ARRAY/',
+ array(
+ 'network_key',
+ 'sid',
+ 'payment',
+ 'remote_address',
+ 'campaign_id',
+ 'status',
+ 'reason',
+ 'type',
+ 'network_name',
+ 'extra_value1',
+ 'extra_value2',
+ 'extra_value3',
+ 'extra_value4',
+ ),
+ array(),
+ '',
+ '', '',
+ $GLOBALS['network_vcheck_params_disabled'],
+ 'translateNetworkVcheckParameterKey'
);
} // END - if
}
// Translates request parameter
-function translateNetworkRequestParamKey ($param) {
+function translateNetworkRequestParameterKey ($param) {
// Generate id
$messageId = 'ADMIN_NETWORK_REQUEST_PARAMETER_' . strtoupper($param) . '';
return '{--' . $messageId . '--}';
}
+// Translates vheck request parameter
+function translateNetworkVcheckParameterKey ($param) {
+ // Generate id
+ $messageId = 'ADMIN_NETWORK_VCHECK_PARAMETER_' . strtoupper($param) . '';
+
+ // Is the message id there?
+ if (!isMessageIdValid($messageId)) {
+ // Not valid param
+ debug_report_bug(__FUNCTION__, __LINE__, 'param=' . $param . ' is invalid.');
+ } // END - if
+
+ // Return message id
+ return '{--' . $messageId . '--}';
+}
+
// Translates API index
function translateNetworkApiIndex ($index) {
// Do we have cache?
}
}
+// Adds a vheck request parameter to given network
+function doAdminNetworkProcessAddVcheckParam () {
+ // Is the request parameter already used with given network?
+ if (isNetworkVcheckElementValid(postRequestElement('network_vcheck_param_key'), getRequestElement('network_id'))) {
+ // Already added
+ loadTemplate('admin_settings_unsaved', false, '{%message,ADMIN_NETWORK_VCHECK_PARAMETER_ALREADY_ADDED=' . postRequestElement('network_vcheck_param_key') . '%}');
+
+ // ... so abort here
+ return false;
+ } // END - if
+
+ // Remove the 'ok' part
+ unsetPostRequestElement('ok');
+
+ // Add id
+ setPostRequestElement('network_id', bigintval(getRequestElement('network_id')));
+
+ // Is network_vcheck_param_default set?
+ if (postRequestElement('network_vcheck_param_default') == '') {
+ // Remove empty value to get a NULL for an optional entry
+ unsetPostRequestElement('network_vcheck_param_default');
+ } // END - if
+
+ // Add the whole vcheck to database
+ SQL_QUERY(getInsertSqlFromArray(postRequestArray(), 'network_vcheck_params'), __FUNCTION__, __LINE__);
+
+ // Output message
+ if (!SQL_HASZEROAFFECTED()) {
+ // Successfully added
+ loadTemplate('admin_network_vcheck_param_added', false, postRequestArray());
+ } else {
+ // Not added
+ loadTemplate('admin_settings_unsaved', false, '{%message,ADMIN_NETWORK_VCHECK_PARAMETER_NOT_ADDED=' . postRequestElement('network_vcheck_param_key') . '%}');
+ }
+}
+
// Adds a API response array entry
function doAdminNetworkProcessAddNetworkArrayTranslation () {
// Is the request parameter already used with given network?
// Init table with all valid what->table entries
$validExports = array(
// General network data
- 'list_networks' => 'network_data',
+ 'list_networks' => 'data',
// Network type handler
- 'list_network_types' => 'network_types',
+ 'list_network_types' => 'types',
// Network request parameter
- 'list_network_request_params' => 'network_request_params',
+ 'list_network_request_params' => 'request_params',
+ // Vcheck request parameter
+ 'list_network_vcheck_params' => 'vcheck_params',
// Network API response array index translation
- 'list_network_array_translation' => 'network_array_translation',
+ 'list_network_array_translation' => 'array_translation',
);
// Is the 'what' key valid?
}
// Exports (and displays) the table 'network_data'
-function doAdminNetworkExportNetworkData () {
+function doAdminNetworkExportData () {
// Query for all networks
$result = SQL_QUERY('SELECT
`network_short_name`,
}
// Exports (and displays) the table 'network_types'
-function doAdminNetworkExportNetworkTypes () {
+function doAdminNetworkExportTypes () {
// 'network_id' must be set
if (!isGetRequestElementSet('network_id')) {
// Only network handlers of one network will be exported per time
}
// Exports (and displays) the table 'network_request_params'
-function doAdminNetworkExportNetworkRequestParams () {
+function doAdminNetworkExportRequestParams () {
// 'network_id' must be set
if (!isGetRequestElementSet('network_id')) {
// Only network request parameters of one network will be exported per time
loadTemplate('admin_export_network_request_params', false, $SQL);
}
+// Exports (and displays) the table 'network_vcheck_params'
+function doAdminNetworkExportVcheckParams () {
+ // 'network_id' must be set
+ if (!isGetRequestElementSet('network_id')) {
+ // Only network vcheck parameters of one network will be exported per time
+ debug_report_bug(__FUNCTION__, __LINE__, 'network_id not provided, please fix your links.');
+ } // END - if
+
+ // Get all network types of given network
+ $result = SQL_QUERY_ESC('SELECT
+ `network_id`,
+ `network_vcheck_param_key`,
+ `network_vcheck_param_value`,
+ `network_vcheck_param_default`
+FROM
+ `{?_MYSQL_PREFIX?}_network_vcheck_params`
+WHERE
+ `network_id`=%s
+ORDER BY
+ `network_vcheck_param_id` ASC',
+ array(
+ bigintval(getRequestElement('network_id'))
+ ), __FUNCTION__, __LINE__);
+
+ // Start an empty SQL query
+ $SQL = "INSERT INTO `{?_MYSQL_PREFIX?}_network_vcheck_params` (`network_id`,`network_vcheck_param_key`,`network_vcheck_param_value`,`network_vcheck_param_default`) VALUES\n";
+
+ // Load all entries
+ while ($content = SQL_FETCHARRAY($result)) {
+ // Add row
+ $SQL .= '(' .
+ $content['network_id'] . ", '" .
+ $content['network_vcheck_param_key'] . "', '" .
+ $content['network_vcheck_param_value'] . "', ";
+
+ // Is the column NULL?
+ if (is_null($content['network_vcheck_param_default'])) {
+ // Column is NULL
+ $SQL .= "NULL),\n";
+ } else {
+ // Column is set
+ $SQL .= "'" . $content['network_vcheck_param_default'] . "'),\n";
+ }
+ } // END - while
+
+ // Remove last commata and close braces
+ $SQL = substr($SQL, 0, -2);
+
+ // Free result
+ SQL_FREERESULT($result);
+
+ // Output the SQL query
+ loadTemplate('admin_export_network_vcheck_params', false, $SQL);
+}
+
// Exports (and displays) the table 'network_array_translation'
-function doAdminNetworkExportNetworkArrayTranslation () {
+function doAdminNetworkExportArrayTranslation () {
// 'network_id' must be set
if (!isGetRequestElementSet('network_id')) {
// Only network API array index translations of one network will be exported per time