/smscoin_rkey/result_387.php
PHP | 119 lines | 48 code | 14 blank | 57 comment | 3 complexity | 16dcae50b29d60f7bfae6f29929c94b7 MD5 | raw file
- <?php
- /*
- =====================================================
- Addition to the plug smscoin_key for phpFox - by SmsCoin
- -----------------------------------------------------
- http://smscoin.com
- -----------------------------------------------------
- Copyright (c) 2011 SmsCoin
- =====================================================
- File: result.php
- -----------------------------------------------------
- Purpose: payment plugin via SMS message
- =====================================================
- */
- /**
- * Key to include phpFox...
- */
- define('PHPFOX', true);
- /**
- * Directory Seperator...
- */
- define('PHPFOX_DS', DIRECTORY_SEPARATOR);
- /**
- * phpFox Root Directory...
- */
- define('PHPFOX_DIR', dirname(dirname(dirname(dirname(__FILE__)))).PHPFOX_DS);
- /**
- * Require phpFox Init...
- */
- require(PHPFOX_DIR . 'include' . PHPFOX_DS . 'init.inc.php');
- /**
- * Функция возвращает MD5 переданных ей параметров...
- * MD5 sign...
- */
- function ref_sign() {
- $params = func_get_args();
- $prehash = implode("::", $params);
- return md5($prehash);
- }
- /**
- * Извлекаем секретный код сервиса...
- * Extract the secret service code ...
- */
- $code = Phpfox::getLib('database')->select('php_code')
- ->from('phpfox_plugin')
- ->where('title = \'smscoin_rkey\'')
- ->execute('getRows');
- eval($code[0]['php_code']); // $secret_code available ...
- /**
- * Парсим полученные параметры на предмет мусора...
- * Safe GET...
- */
- foreach($_GET as $k => $v) {
- $_GET[$k] = substr(trim(strip_tags($v)), 0, 250);
- }
- /**
- * Собираем необходимые данные...
- * Get data...
- */
- $key = intval($_REQUEST["key"]);
- $pair = $_REQUEST["pair"];
- $timeout = intval($_REQUEST["timeout"]);
- $limit = intval($_REQUEST["limit"]);
- $content = $_REQUEST["content"];
- $country = $_REQUEST["country"];
- $cost_local = $_REQUEST["cost_local"];
- $provider = $_REQUEST["provider"];
- $sign = $_REQUEST["sign_v4"];
- /**
- * Создаем эталонную подпись...
- * Create sign...
- */
- $reference = ref_sign($secret_code, $key, $pair, $timeout, $limit, $content, $country, $cost_local, $provider);
-
- /**
- * Проверяем, верна ли подпись...
- * Check sign...
- */
- if($sign == $reference) {
- /**
- * Запись строки в базу данных...
- * Store key...
- */
- Phpfox::getLib('database')->insert('phpfox_smscoin_rkey_keys', array(
- 'k_status' => '1',
- 'k_key' => ''.$key.'',
- 'k_pair' => ''.$pair.'',
- 'k_country' => ''.$country.'',
- 'k_provider' => ''.$provider.'',
- 'k_text' => ''.$content.'',
- 'k_cost_local' => ''.$cost_local.'',
- 'k_created' => ''.time(true).'',
- 'k_timeout' => ''.$timeout.'',
- 'k_limit_start' => ''.$limit.'',
- 'k_limit_current' => ''.$limit.''
- )
- );
- echo 'OK';
- } else {
- /**
- * Неправильно составлен запрос...
- * Error...
- */
- echo 'checksum failed';
- }
- ?>