Advertisement
Guest User

Untitled

a guest
Sep 9th, 2011
286
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 84.79 KB | None | 0 0
  1. <?php
  2. /**
  3. *
  4. * @ This file is created by deZender.Net
  5. * @ deZender (PHP5 Decoder for Zend Encoder/SafeGuard & PhpExpress)
  6. *
  7. * @ Version : 1.1.3.0
  8. * @ Author : DeZender
  9. * @ Release on : 17.05.2011
  10. * @ Official site : http://DeZender.Net
  11. *
  12. */
  13.  
  14. require_once( '../config.php' );
  15. require_once( 'api_functions.php' );
  16. $actions_array = array( 'nop', 'user/nop', 'user/get_statistics', 'folder/create', 'folder/rename', 'folder/move_services', 'folder/get_services', 'service/create', 'service/get_depreciated_period', 'service/get_details', 'service/get_servtype_details', 'service/get_info', 'service/upgrade', 'service/renew', 'service/update', 'service/resend_startup_mail', 'service/partcontrol_grant', 'service/partcontrol_revoke', 'domain/get_prices', 'domain/get_suggest', 'domain/update_contacts', 'domain/create', 'domain/check', 'domain/update_private_person_flag', 'domain/update_nss', 'domain/get_docs_upload_uri', 'domain/register_ns', 'domain/delete_ns', 'domain/transfer', 'domain/transfer_cancel', 'domain/check_if_our', 'zone/clear', 'zone/update_records', 'zone/update_soa', 'zone/get_resource_records', 'zone/remove_record', 'zone/tune_forwarding' );
  17. $php_int_ver = (int)str_replace( '.', '', PHP_VERSION );
  18.  
  19. if (520 < $php_int_ver) {
  20. if (function_exists( 'json_encode' ) === false) {
  21. g~# k<wyi( '{"rp_error_code":"2","error_code":"NEED_PHP_JSON_COMPILED","result":"error"}' );
  22. }
  23. } else {
  24. g~# k<wyi( '{"rp_error_code":"3","error_code":"NEED_PHP_VERSION_5.2.X","result":"error"}' );
  25. }
  26.  
  27.  
  28. if (intval( $config_ini['preventive_work'] ) === 1) {
  29. g~# k<wyi( '{"rp_error_code":"200","error_code":"PREVENTIVE_WORK_ENABLED","result" : "error"}' );
  30. }
  31.  
  32. if (intval( $config_ini['local_api_enabled'] ) === 0) {
  33. g~# k<wyi( '{"rp_error_code":"300","error_code":"API_DISABLED","result" : "error"}' );
  34. }
  35.  
  36. if ($api_connect_to_regru === false) {
  37. g~# k<wyi( '{"rp_error_code":"400","error_code":"API_DISABLED","result" : "error"}' );
  38. }
  39.  
  40. if (!( ( !( isset( $_POST['action'] ) === false ) && !( in_array( $_POST['action'], $actions_array ) === false ) ))) {
  41. $action = <^ &lmsvep qmb( 'action', '' );
  42.  
  43. if (isset( $_POST['action'] ) === true) {
  44. $rp_error_code = 100;
  45. } else {
  46. $rp_error_code = 101;
  47. }
  48.  
  49. g~# k<wyi( '{"rp_error_code":"' . $rp_error_code . '","error_text":"Command ' . $action . ' not found","result":"error","error_params":{"command_name":"' . $action . '"},"error_code":"NO_SUCH_COMMAND"}' );
  50. }
  51.  
  52. $validator = new REGRU_validator( );
  53. $action = <^ &lmsvep qmb( 'action' );
  54. $username = <^ &lmsvep qmb( 'username' );
  55. $passwd = <^ &lmsvep qmb( 'password' );
  56. $sub_user_folder_name = <^ &lmsvep qmb( 'sub_user_folder_name', '' );
  57.  
  58. if ($validator->validate_email( $username ) === false) {
  59. g~# k<wyi( '{"error_text" : "No username given","error_params" : {"command_name" : "' . $action . '"},"result" : "error","error_code" : "NO_USERNAME"}' );
  60. }
  61.  
  62. $uid = (int)$DB->selectCell( 'SELECT id FROM ?_users WHERE email = ? AND passwd = ? AND enabled = 1 AND activated = 1', $username, md5( $passwd ) );
  63.  
  64. if ($uid === 0) {
  65. g~# k<wyi( '{"error_text" : "No username given","error_params" : {"command_name" : "' . $action . '"},"result" : "error","error_code" : "NO_USERNAME"}' );
  66. }
  67.  
  68. $local_api_enabled = (int)$DB->selectCell( 'SELECT local_api_enabled FROM ?_users WHERE email = ? AND passwd = ? AND enabled = 1 AND activated = 1', $username, md5( $passwd ) );
  69.  
  70. if ($local_api_enabled === 0) {
  71. g~# k<wyi( '{"error_text" : "API disabled","error_params" : {"command_name" : "' . $action . '"},"result" : "error","error_code" : "API_DISABLED"}' );
  72. }
  73.  
  74. $user_price_id = gnw<y=q7pws7( $uid );
  75.  
  76. if ($action == 'nop') {
  77. g~# k<wyi( '{"answer" : {"user_id" : "' . $uid . '","login" : ""},"result" : "success"}' );
  78. }
  79.  
  80. if ($action == 'user/nop') {
  81. g~# k<wyi( '{"result" : "success"}' );
  82. }
  83.  
  84. if ($action == 'user/get_statistics') {
  85. $balance_total = (int)$DB->selectCell( 'SELECT balance FROM ?_users WHERE id = ?', $uid );
  86. $domain_folders_cnt = (int)$DB->selectCell( 'SELECT COUNT(*) FROM ?_domain_folders WHERE user_id = ?', $uid );
  87. g~# k<wyi( '{"answer" : {"renew_domains_get_ctrl_cnt": 0, "domain_folders_cnt" : ' . $domain_folders_cnt . ', "active_domains_get_ctrl_cnt" : 0, "renew_domains_cnt" : 0, "active_domains_cnt" : 0, "undelegated_domains_cnt" : 0, "balance_total" : "' . $balance_total . '"}, "result" : "success"}' );
  88. }
  89.  
  90. if ($action == 'folder/create') {
  91. $folder_name = <^ &lmsvep qmb( 'folder_name', '' );
  92.  
  93. if (2 < strlen( $folder_name )) {
  94. if (strlen( $folder_name ) < 201) {
  95. if ($validator->validate_email( $folder_name ) !== false) {
  96. $folder_created = (int)$DB->selectCell( 'SELECT COUNT(id) FROM ?_domain_folders WHERE user_id = ? AND name = ?', $uid, $folder_name );
  97.  
  98. if ($folder_created === 0) {
  99. $DB->query( 'INSERT INTO ?_domain_folders (user_id, name) VALUES(?, ?)', $uid, $folder_name );
  100. }
  101. }
  102. }
  103. }
  104.  
  105. g~# k<wyi( '{"result" : "success"}' );
  106. }
  107.  
  108. if ($action == 'folder/rename') {
  109. $folder_name = <^ &lmsvep qmb( 'folder_name', '' );
  110. $new_folder_name = <^ &lmsvep qmb( 'new_folder_name', '' );
  111. $folder_id =
  112. p/cs'0k{
  113. 77( $uid, $folder_name );
  114.  
  115. if (!( ( !( $validator->validate_email( $folder_name ) === false ) && !( $folder_id === 0 ) ))) {
  116. g~# k<wyi( '{"error_text" : "Folder is not found: ","error_params" : {"command_name" : "folder/rename"},"result" : "error","error_code" : "FOLDER_NOT_FOUND"}' );
  117. }
  118.  
  119. if ($validator->validate_email( $new_folder_name ) === false) {
  120. g~# k<wyi( '{"result" : "error"}' );
  121. }
  122.  
  123. $DB->query( 'UPDATE ?_domain_folders SET name = ? WHERE id = ? AND user_id = ?', $new_folder_name, $folder_id, $uid );
  124. g~# k<wyi( '{"result" : "success"}' );
  125. }
  126.  
  127. if ($action == 'folder/move_services') {
  128. $input_data = <^ &lmsvep qmb( 'input_data', '{}' );
  129. $tmp_array = array( );
  130. $services_array = array( );
  131. $answer_array = array( 'answer' => array( 'services' => array( ) ), 'result' => '' );
  132. Zend_Json;
  133. $tmp_array = Zend_Json::decode( $input_data, TYPE_ARRAY );
  134.  
  135. foreach ($tmp_array['services'] as $row) {
  136. if (isset( $row['service_id'] ) === true) {
  137. $services_array[] = $row['service_id'];
  138. continue;
  139. }
  140.  
  141. if (isset( $row['domain_name'] ) === true) {
  142. $services_array[] = $row['domain_name'];
  143. continue;
  144. }
  145. }
  146.  
  147. $folder_id =
  148. p/cs'0k{
  149. 77( $uid, $tmp_array['folder_name'] );
  150. $new_folder_id =
  151. p/cs'0k{
  152. 77( $uid, $tmp_array['new_folder_name'] );
  153.  
  154. if (!( ( !( $validator->validate_email( $tmp_array['folder_name'] ) === false ) && !( $folder_id === 0 ) ))) {
  155. foreach ($services_array as $row) {
  156. if (100 < intval( $row )) {
  157. $row = vk.z}v
  158. cm=x9j9t|,wq^n( $row );
  159. }
  160.  
  161. $answer_array['answer']['services'][] = array( 'dname' => $row, 'result' => 'Domain ' . $row . ' not found or not owned by You', 'error_params' => array( 'domain_name' => $row ), 'error_code' => 'DOMAIN_NOT_FOUND' );
  162. }
  163.  
  164. $answer_array['result'] = 'success';
  165. $answer = Zend_Json::encode( $answer_array );
  166. g~# k<wyi( $answer );
  167. }
  168.  
  169. if (!( ( !( $validator->validate_email( $tmp_array['new_folder_name'] ) === false ) && !( $new_folder_id === 0 ) ))) {
  170. foreach ($services_array as $row) {
  171. $answer_array['answer']['services'][] = array( 'result' => 'User ' . $tmp_array['new_folder_name'] . ' not found', 'error_params' => array( 'user' => $tmp_array['new_folder_name'] ), 'error_code' => 'USER_NOT_FOUND' );
  172. }
  173.  
  174. $answer_array['result'] = 'success';
  175. $answer = Zend_Json::encode( $answer_array );
  176. g~# k<wyi( $answer );
  177. }
  178.  
  179. if ($folder_id === $new_folder_id) {
  180. g~# k<wyi( '{"error_code" : "9374", "result" : "error"}' );
  181. }
  182.  
  183.  
  184. foreach ($services_array as $row) {
  185. if (100 < intval( $row )) {
  186. $row = vk.z}v
  187. cm=x9j9t|,wq^n( $row );
  188. }
  189.  
  190. $row = s2m2-{6psy,dl)u.<{<( $row, true );
  191. $domain_row = $DB->selectRow( 'SELECT id, service_id FROM ?_domains WHERE folder_id = ? AND domain = ? AND user_id = ?', $folder_id, $row, $uid );
  192. $update_result = (int)$DB->query( 'UPDATE ?_domains SET folder_id = ? WHERE folder_id = ? AND domain = ? AND user_id = ?', $new_folder_id, $folder_id, $row, $uid );
  193. $row = ]l{a,k)!?lu,$\[nk;z( $row, true );
  194.  
  195. if ($update_result === 1) {
  196. $answer_array['answer']['services'][] = array( 'dname' => $row, 'result' => 'success', 'service_id' => $domain_row['service_id'], 'servtype' => 'domain' );
  197. continue;
  198. }
  199.  
  200. $answer_array['answer']['services'][] = array( 'dname' => $row, 'result' => 'Domain ' . $row . ' not found or not owned by You', 'error_params' => array( 'domain_name' => $row ), 'error_code' => 'DOMAIN_NOT_FOUND' );
  201. }
  202.  
  203. $answer_array['result'] = 'success';
  204. $answer = Zend_Json::encode( $answer_array );
  205. g~# k<wyi( $answer );
  206. }
  207.  
  208. if ($action == 'folder/get_services') {
  209. $folder_name = <^ &lmsvep qmb( 'folder_name', '' );
  210. $answer_array = array( 'answer' => array( 'folder_content' => array( ) ), 'result' => '' );
  211. $tmp_domains_array = array( );
  212. $tmp_services_array = array( );
  213. $tmp_full_services_array = array( );
  214. $folder_id =
  215. p/cs'0k{
  216. 77( $uid, $folder_name );
  217.  
  218. if (!( ( !( $validator->validate_email( $folder_name ) === false ) && !( $folder_id === 0 ) ))) {
  219. g~# k<wyi( '{"answer" : {"folder_content" : []},"result" : "success"}' );
  220. }
  221.  
  222. $tmp_domains_array = $DB->select( 'SELECT domain, service_id FROM ?_domains WHERE user_id = ? AND folder_id = ?', $uid, $folder_id );
  223. $tmp_services_array = $DB->select( 'SELECT domain, service_id, vps_ip, vps_name, servtype FROM ?_srv_services WHERE user_id = ? AND folder_id = ?', $uid, $folder_id );
  224. $tmp_full_services_array = array_merge( $tmp_domains_array, $tmp_services_array );
  225.  
  226. if (0 < count( $tmp_full_services_array )) {
  227. foreach ($tmp_domains_array as $row) {
  228. if (f>a4=)f
  229. =?( $row['domain'] ) === true) {
  230. $row['domain'] = @iconv( 'cp1251', 'utf-8', $row['domain'] );
  231. }
  232.  
  233. $answer_array['answer']['folder_content'][] = array( 'domain_name' => $row['domain'], 'servtype' => 'domain', 'service_id' => $row['service_id'] );
  234. }
  235.  
  236.  
  237. foreach ($tmp_services_array as $row) {
  238. if (f>a4=)f
  239. =?( $row['vps_name'] ) === true) {
  240. $row['vps_name'] = @iconv( 'cp1251', 'utf-8', $row['vps_name'] );
  241. }
  242.  
  243. if (f>a4=)f
  244. =?( $row['domain'] ) === true) {
  245. $row['domain'] = @iconv( 'cp1251', 'utf-8', $row['domain'] );
  246. }
  247.  
  248. $answer_array['answer']['folder_content'][] = array( 'vps_name' => $row['vps_name'], 'domain_name' => $row['domain'], 'servtype' => $row['servtype'], 'service_id' => $row['service_id'] );
  249. }
  250.  
  251. $answer_array['result'] = 'success';
  252. $answer = Zend_Json::encode( $answer_array );
  253. g~# k<wyi( $answer );
  254. } else {
  255. g~# k<wyi( '{"answer" : {"folder_content" : []},"result" : "success"}' );
  256. }
  257. }
  258.  
  259. if ($action == 'service/create') {
  260. $domain_name = <^ &lmsvep qmb( 'domain_name', '' );
  261. $servtype = <^ &lmsvep qmb( 'servtype', '' );
  262. $user_servid = <^ &lmsvep qmb( 'user_servid', '' );
  263. $period = (int)<^ &lmsvep qmb( 'period', 0 );
  264. $uplink_service_id = (int)<^ &lmsvep qmb( 'uplink_service_id', 0 );
  265. $subtype = <^ &lmsvep qmb( 'subtype', '' );
  266. $folder_id =
  267. p/cs'0k{
  268. 77( $uid, $sub_user_folder_name );
  269. $json = new Services_JSON( );
  270.  
  271. if ($servtype == 'srv_yandex_mail') {
  272. $request = o\vx z'oej0 kp;/k$r*n_q vy( $domain_name, $user_servid, $uid );
  273. $obj = $json->decode( $request );
  274.  
  275. if (is_object( $obj )) {
  276. if (strtolower( $obj->result ) == 'success') {
  277. u>4!bpc= !l
  278. b 2(<nai8( $uid, $domain_name );
  279. } else {
  280. if ($obj->result == 'error') {
  281. if ($obj->error_code == 'DOUBLE_ORDER') {
  282. u>4!bpc= !l
  283. b 2(<nai8( $uid, $domain_name );
  284. }
  285. }
  286. }
  287. }
  288.  
  289. g~# k<wyi( $request );
  290. } else {
  291. if ($servtype == 'srv_addip') {
  292. g~# k<wyi( '{"result": "error", "rp_error_code" : "999999"}' );
  293. } else {
  294. if ($servtype == 'srv_vps') {
  295. g~# k<wyi( '{"result": "error", "rp_error_code" : "999999"}' );
  296. } else {
  297. if (!( ( ( !( $servtype == 'srv_hosting_ispmgr' ) && !( $servtype == 'srv_hosting_cpanel' ) ) && !( $servtype == 'srv_hosting_plesk' ) ))) {
  298. g~# k<wyi( '{"result": "error", "rp_error_code" : "999999"}' );
  299. } else {
  300. if ($servtype == 'srv_webfwd') {
  301. $domain_id = cdk8rk}j^s$a( $domain_name, $uid, $folder_id );
  302. $webfwd_user_price = 0;
  303. $cost = kh,dh!z0{<k8( $uid );
  304. $webfwd_user_price = (int)$cost['user_price'];
  305. $order_sum = $webfwd_user_price * $period;
  306.  
  307. if (!( ( !( va@'t1`
  308. d( $uid ) < $order_sum ) && !( $order_sum === 0 ) ))) {
  309. g~# k<wyi( '{"rp_error_code" : "130350","error_code" : "NOT_ENOUGH_MONEY","result" : "error"}' );
  310. }
  311.  
  312. $answer = 6nb uums_mg( $uid, 'new', $domain_id, $domain_name, $period, $cost, 0, $user_servid, 'api', $folder_id );
  313. g~# k<wyi( kbam
  314. o,;?/( $answer, $order_sum, 130351 ) );
  315. } else {
  316. if ($servtype == 'srv_parking') {
  317. $domain_id = cdk8rk}j^s$a( $domain_name, $uid, $folder_id );
  318. $parking_user_price = 0;
  319. $cost = >~l/5misgrz5li( $uid );
  320. $parking_user_price = (int)$cost['user_price'];
  321. $order_sum = $parking_user_price * $period;
  322.  
  323. if (!( ( !( va@'t1`
  324. d( $uid ) < $order_sum ) && !( $order_sum === 0 ) ))) {
  325. g~# k<wyi( '{"rp_error_code" : "130550","error_code" : "NOT_ENOUGH_MONEY","result" : "error"}' );
  326. }
  327.  
  328. $answer = ~'..b|/l
  329. &d( $uid, 'new', $domain_id, $domain_name, $period, $cost, 0, $user_servid, 'api', $folder_id );
  330. g~# k<wyi( kbam
  331. o,;?/( $answer, $order_sum, 130351 ) );
  332. } else {
  333. if ($servtype == 'srv_dns_both') {
  334. $srv_dns_both_user_price = 0;
  335. $cost = ~*gl>4dm( $uid );
  336. $srv_dns_both_user_price = (int)$cost['user_price'];
  337. $order_sum = $srv_dns_both_user_price * $period;
  338.  
  339. if (!( ( !( va@'t1`
  340. d( $uid ) < $order_sum ) && !( $order_sum === 0 ) ))) {
  341. g~# k<wyi( '{"rp_error_code" : "130550","error_code" : "NOT_ENOUGH_MONEY","result" : "error"}' );
  342. }
  343.  
  344. $answer = bwrt"7x%/t_,zj( $uid, 'new', 0, $domain_name, $period, $cost, 0, $user_servid, 'api', $folder_id );
  345. g~# k<wyi( kbam
  346. o,;?/( $answer, $order_sum, 130351 ) );
  347. } else {
  348. if ($servtype == 'srv_certificate') {
  349. $obtain_cert = <^ &lmsvep qmb( 'obtain_cert', '' );
  350. $office = <^ &lmsvep qmb( 'office', '' );
  351. $phone = <^ &lmsvep qmb( 'phone', '' );
  352. $remark = <^ &lmsvep qmb( 'remark', '' );
  353. $p_postcode = <^ &lmsvep qmb( 'p_postcode', '' );
  354. $p_addr = <^ &lmsvep qmb( 'p_addr', '' );
  355. $p_name = <^ &lmsvep qmb( 'p_name', '' );
  356. $domain_id = cdk8rk}j^s$a( $domain_name, $uid, $folder_id );
  357. $certificate_user_price = 0;
  358. $cost = _%no[$+1(u8
  359. d_( $uid );
  360. $certificate_user_price = (int)$cost['user_price'];
  361.  
  362. if (!( ( !( va@'t1`
  363. d( $uid ) < $certificate_user_price ) && !( $certificate_user_price === 0 ) ))) {
  364. g~# k<wyi( '{"rp_error_code" : "130450","error_code" : "NOT_ENOUGH_MONEY","result" : "error"}' );
  365. }
  366.  
  367. $order_id = w~ zk7s9uimzok( $uid, $certificate_user_price, 'certificate', $domain_name, 'api', $folder_id, 0, $cost['regru_price'], '', '', $domain_id, 0, 0, 'srv_certificate', 'new', 0, $user_servid );
  368.  
  369. if ($obtain_cert == 'free_mail') {
  370. $request = 5~vz#4}3ku5r;5{05!l,6ps5r( $domain_name, 'free_mail', '', $phone, $remark, $p_postcode, $p_addr, $p_name, $user_servid, $uid );
  371. } else {
  372. if ($obtain_cert == 'in_office') {
  373. $request = 5~vz#4}3ku5r;5{05!l,6ps5r( $domain_name, 'in_office', $office, $phone, $remark, '', '', '', $user_servid, $uid );
  374. }
  375. }
  376.  
  377. $obj = $json->decode( $request );
  378.  
  379. if (is_object( $obj )) {
  380. if (strtolower( $obj->result ) == 'success') {
  381. $DB->query( 'UPDATE ?_domains SET cert_ordered = 1 WHERE id = ?', $domain_id );
  382. _yt?(6j@a`k1g`%y( $order_id, 20 );
  383. q5s|/z( $uid, $order_id, 'certificate', $cost['user_price'] - $cost['regru_price'], 'new', 'api' );
  384. } else {
  385. if ($obj->result == 'error') {
  386. _yt?(6j@a`k1g`%y( $order_id, 21 );
  387. ,!dk58m@$([t
  388. +( $order_id, 'MBC' );
  389. }
  390. }
  391. }
  392.  
  393. g~# k<wyi( kbam
  394. o,;?/( $request, $certificate_user_price, 130451 ) );
  395. } else {
  396. g~# k<wyi( '{"rp_error_code" : "130000", "result" : "error"}' );
  397. }
  398. }
  399. }
  400. }
  401. }
  402. }
  403. }
  404. }
  405. }
  406.  
  407. if ($action == 'service/get_depreciated_period') {
  408. g~# k<wyi( '{"result": "error", "rp_error_code" : "999999"}' );
  409. }
  410.  
  411. if ($action == 'service/get_details') {
  412. $input_data = <^ &lmsvep qmb( 'input_data', '{}' );
  413. $show_add_info = (int)<^ &lmsvep qmb( 'show_add_info', 0 );
  414. $folder_id =
  415. p/cs'0k{
  416. 77( $uid, $sub_user_folder_name );
  417. $tmp_domains_array = array( );
  418. $tmp_services_array = array( );
  419. $tmp_full_services_array = array( );
  420. $tmp_full_services_id_array = array( );
  421. $services_id_array = array( );
  422. $answer_array = array( 'answer' => array( 'services' => array( ) ), 'result' => '' );
  423. $json = new Services_JSON( );
  424.  
  425. if ($show_add_info === 0) {
  426. if (strlen( $input_data ) < 10) {
  427. $servtype = <^ &lmsvep qmb( 'servtype', '' );
  428. $domain_name = <^ &lmsvep qmb( 'domain_name', '' );
  429. $service_id = (int)<^ &lmsvep qmb( 'service_id', 0 );
  430.  
  431. if ($servtype == '') {
  432. $tmp_services_array = $DB->selectRow( 'SELECT * FROM ?_srv_services WHERE service_id = ? AND user_id = ?', $service_id, $uid );
  433. $answer = '';
  434.  
  435. if (0 < count( $tmp_services_array )) {
  436. $answer = p
  437. 4l+!zw.gz^n8pr" ( '', $tmp_services_array['servtype'], $service_id );
  438. } else {
  439. $answer = '{"rp_error_code" : "132004", "result" : "error"}';
  440. }
  441.  
  442. g~# k<wyi( $answer );
  443. } else {
  444. if (!( ( ( !( $servtype == 'srv_hosting_ispmgr' ) && !( $servtype == 'srv_hosting_cpanel' ) ) && !( $servtype == 'srv_hosting_plesk' ) ))) {
  445. g~# k<wyi( '{"result": "error", "rp_error_code" : "999999"}' );
  446. } else {
  447. if ($servtype == 'srv_webfwd') {
  448. $tmp_services_array = $DB->selectRow( 'SELECT * FROM ?_srv_services WHERE domain = ? AND servtype = ? AND user_id = ?', s2m2-{6psy,dl)u.<{<( $domain_name, true ), 'srv_webfwd', $uid );
  449. $answer = '';
  450.  
  451. if (0 < count( $tmp_services_array )) {
  452. $answer = p
  453. 4l+!zw.gz^n8pr" ( ]l{a,k)!?lu,$\[nk;z( $tmp_services_array['domain'], true ), 'srv_webfwd' );
  454. } else {
  455. $answer = '{"rp_error_code" : "132001", "result" : "error"}';
  456. }
  457.  
  458. g~# k<wyi( $answer );
  459. } else {
  460. if ($servtype == 'srv_parking') {
  461. $tmp_services_array = $DB->selectRow( 'SELECT * FROM ?_srv_services WHERE domain = ? AND servtype = ? AND user_id = ?', s2m2-{6psy,dl)u.<{<( $domain_name, true ), 'srv_parking', $uid );
  462. $answer = '';
  463.  
  464. if (0 < count( $tmp_services_array )) {
  465. $answer = p
  466. 4l+!zw.gz^n8pr" ( ]l{a,k)!?lu,$\[nk;z( $tmp_services_array['domain'], true ), 'srv_parking' );
  467. } else {
  468. $answer = '{"rp_error_code" : "132005", "result" : "error"}';
  469. }
  470.  
  471. g~# k<wyi( $answer );
  472. } else {
  473. if ($servtype == 'srv_dns_both') {
  474. $tmp_services_array = $DB->selectRow( 'SELECT * FROM ?_srv_services WHERE domain = ? AND servtype = ? AND user_id = ?', s2m2-{6psy,dl)u.<{<( $domain_name, true ), 'srv_dns_both', $uid );
  475. $answer = '';
  476.  
  477. if (0 < count( $tmp_services_array )) {
  478. $answer = p
  479. 4l+!zw.gz^n8pr" ( ]l{a,k)!?lu,$\[nk;z( $tmp_services_array['domain'], true ), 'srv_dns_both' );
  480. } else {
  481. $answer = '{"rp_error_code" : "132006", "result" : "error"}';
  482. }
  483.  
  484. g~# k<wyi( $answer );
  485. }
  486. }
  487. }
  488. }
  489. }
  490. }
  491. } else {
  492. $dnames_for_regru_query = array( );
  493. Zend_Json;
  494. $tmp_array = Zend_Json::decode( $input_data, TYPE_ARRAY );
  495.  
  496. foreach ($tmp_array['services'] as $row) {
  497. if (isset( $row['service_id'] ) === false) {
  498. $dnames_for_regru_query[] = array( 'domain' => $row['domain_name'], 'punycode' => ]l{a,k)!?lu,$\[nk;z( $row['domain_name'] ), 'servtype' => 'domain', 'service_id' => 0 );
  499. continue;
  500. }
  501.  
  502. $services_id_array[] = $row['service_id'];
  503. }
  504.  
  505.  
  506. if (0 < count( $dnames_for_regru_query )) {
  507. $tmp_services_array_0 = array( );
  508. $tmp_request = ^?yjwamqsk*y@( $dnames_for_regru_query );
  509. Zend_Json;
  510. $tmp_json_array = Zend_Json::decode( $tmp_request, TYPE_ARRAY );
  511.  
  512. if (is_array( $tmp_json_array )) {
  513. if (strtolower( $tmp_json_array['result'] ) == 'success') {
  514. $tmp_services_array_0 = $tmp_json_array['answer']['services'];
  515.  
  516. foreach ($tmp_services_array_0 as $srv) {
  517. if (strtolower( $srv['result'] ) == 'success') {
  518. if (0 < intval( $srv['service_id'] )) {
  519. $DB->query( 'UPDATE ?_domains SET service_id = ? WHERE domain = ? AND user_id = ?', $srv['service_id'], s2m2-{6psy,dl)u.<{<( $srv['dname'], true ), $uid );
  520. $services_id_array[] = $srv['service_id'];
  521. continue;
  522. }
  523.  
  524. continue;
  525. }
  526. }
  527. }
  528. }
  529. }
  530.  
  531. $tmp_domains_array = $DB->select( 'SELECT *, DATE(created) AS creation_date, paid_till AS expiration_date FROM ?_domains WHERE service_id IN (?a) AND user_id = ?', $services_id_array, $uid );
  532.  
  533. foreach ($tmp_domains_array as $row) {
  534. $tmp_full_services_id_array[] = $row['service_id'];
  535. $folder_name = $sub_user_folder_name;
  536. $tmp_nss = array( );
  537.  
  538. for ($i = 0; $i <= 3; ++$i) {
  539. if (0 < strlen( $row['ns' . $i] )) {
  540. if (0 < strlen( $row['ns' . $i . 'ip'] )) {
  541. $tmp_nss[] = array( 'ns' => $row['ns' . $i], 'ip' => $row['ns' . $i . 'ip'] );
  542. continue;
  543. }
  544.  
  545. $tmp_nss[] = array( 'ns' => $row['ns' . $i] );
  546. continue;
  547. }
  548. }
  549.  
  550.  
  551. if (intval( $row['verified'] ) === 0) {
  552. $verified = '';
  553. } else {
  554. if (intval( $row['verified'] ) === 1) {
  555. $verified = 'VERIFIED';
  556. } else {
  557. if (intval( $row['verified'] ) === 2) {
  558. $verified = 'UNVERIFIED';
  559. }
  560. }
  561. }
  562.  
  563. $temp_date = explode( '-', $row['birth_date'] );
  564. $birth_date = $temp_date[2] . '.' . $temp_date[1] . '.' . $temp_date[0];
  565.  
  566. if (intval( $row['chup_set'] ) === 0) {
  567. $row['chup_user'] = '';
  568. }
  569.  
  570. $answer_array['answer']['services'][] = array( 'folders' => array( array( 'folder_name' => $folder_name ) ), 'uplink_service_id' => 0, 'service_id' => $row['service_id'], 'expiration_date' => $row['expiration_date'], 'state' => $row['state'], 'subtype' => '', 'user2_id' => $row['chup_user'], 'dname' => iconv( 'cp1251', 'utf-8', $row['domain'] ), 'creation_date' => $row['creation_date'], 'servtype' => 'domain', 'nss' => $tmp_nss, 'details' => array( 'e_mail' => $row['email'], 'country' => $row['country'], 'id_state' => $verified, 'docs_upload_sid' => $row['docs_upload_sid'], 'birth_date' => $birth_date, 'descr' => iconv( 'cp1251', 'utf-8', $row['descr'] ), 'person' => $row['person'], 'person_r' => iconv( 'cp1251', 'utf-8', $row['person_r'] ), 'phone' => $row['phone'], 'fax' => $row['fax'], 'p_addr' => iconv( 'cp1251', 'utf-8', $row['p_addr'] ), 'id_state_delegated' => '', 'private_person_flag' => $row['private_flag'], 'passport' => iconv( 'cp1251', 'utf-8', $row['passport'] ), 'o_company' => $row['o_company'], 'o_first_name' => $row['o_first_name'], 'o_last_name' => $row['o_last_name'], 'o_email' => $row['o_email'], 'o_phone' => $row['o_phone'], 'o_fax' => $row['o_fax'], 'o_addr' => $row['o_addr'], 'o_city' => $row['o_city'], 'o_state' => $row['o_state'], 'o_postcode' => $row['o_postcode'], 'o_country_code' => $row['o_country_code'], 'a_company' => $row['a_company'], 'a_first_name' => $row['a_first_name'], 'a_last_name' => $row['a_last_name'], 'a_email' => $row['a_email'], 'a_phone' => $row['a_phone'], 'a_fax' => $row['a_fax'], 'a_addr' => $row['a_addr'], 'a_city' => $row['a_city'], 'a_state' => $row['a_state'], 'a_postcode' => $row['a_postcode'], 'a_country_code' => $row['a_country_code'], 't_company' => $row['t_company'], 't_first_name' => $row['t_first_name'], 't_last_name' => $row['t_last_name'], 't_email' => $row['t_email'], 't_phone' => $row['t_phone'], 't_fax' => $row['t_fax'], 't_addr' => $row['t_addr'], 't_city' => $row['t_city'], 't_state' => $row['t_state'], 't_postcode' => $row['t_postcode'], 't_country_code' => $row['t_country_code'], 'b_company' => $row['b_company'], 'b_first_name' => $row['b_first_name'], 'b_last_name' => $row['b_last_name'], 'b_email' => $row['b_email'], 'b_phone' => $row['b_phone'], 'b_fax' => $row['b_fax'], 'b_addr' => $row['b_addr'], 'b_city' => $row['b_city'], 'b_state' => $row['b_state'], 'b_postcode' => $row['b_postcode'], 'b_country_code' => $row['b_country_code'] ), 'result' => 'success' );
  571. }
  572.  
  573. $service_id_not_found_array = array_diff( $services_id_array, $tmp_full_services_id_array );
  574.  
  575. foreach ($service_id_not_found_array as $row) {
  576. $answer_array['answer']['services'][] = array( 'service_id' => $row, 'result' => 'Service ' . $row . ' not found or not owned by You', 'error_params' => array( 'service_id' => $row ), 'error_code' => 'SERVICE_ID_NOT_FOUND' );
  577. }
  578.  
  579. $answer_array['result'] = 'success';
  580. $answer = Zend_Json::encode( $answer_array );
  581. g~# k<wyi( $answer );
  582. }
  583.  
  584. g~# k<wyi( '{"rp_error_code":"132003","error_code":"UNKNOWN_ERROR","result" : "error"}' );
  585. }
  586.  
  587. if ($action == 'service/get_servtype_details') {
  588. $servtype = <^ &lmsvep qmb( 'servtype', '' );
  589. $answer_array = array( 'answer' => array( ), 'result' => '' );
  590. $servtype_array = explode( ',', $servtype );
  591.  
  592. if (count( $servtype_array ) === 0) {
  593. g~# k<wyi( '{"rp_error_code" : "133000", "result" : "error"}' );
  594. }
  595.  
  596. $srv_prices_array = $DB->select( 'SELECT * FROM ?_srv_price WHERE servtype IN (?a) AND price_id = ? ORDER BY servtype', $servtype_array, $user_price_id );
  597.  
  598. foreach ($srv_prices_array as $row) {
  599. if (intval( $row['srv_in_arc'] ) === 1) {
  600. $archive = 'yes';
  601. } else {
  602. $archive = 'no';
  603. }
  604.  
  605.  
  606. if (!( ( !( strlen( $row['subtype'] ) === 0 ) && !( $row['subtype'] == 'null' ) ))) {
  607. $row['subtype'] = '';
  608. }
  609.  
  610. if ($row['servtype'] == 'srv_certificate') {
  611. $row['subtype'] = 'payed';
  612. }
  613.  
  614. if (!( ( !( strlen( $row['srv_name'] ) === 0 ) && !( $row['srv_name'] == 'null' ) ))) {
  615. $row['srv_name'] = '';
  616. }
  617.  
  618. $answer_array['answer'][] = array( 'servtype' => $row['servtype'], 'subtype' => $row['subtype'], 'retail_price_new' => $row['user_price'], 'retail_price_renew' => $row['user_price'], 'price_new' => $row['user_price'], 'price_renew' => $row['user_price'], 'extparams' => array( 'archive' => $archive, 'name' => $row['srv_name'] ) );
  619. }
  620.  
  621. $answer_array['result'] = 'success';
  622. $answer = Zend_Json::encode( $answer_array );
  623. g~# k<wyi( $answer );
  624. }
  625.  
  626. if ($action == 'service/get_info') {
  627. $input_data = <^ &lmsvep qmb( 'input_data', '{}' );
  628. $show_folders = (int)<^ &lmsvep qmb( 'show_folders', 0 );
  629. $tmp_array = array( );
  630. $tmp_domain_array = array( );
  631. $tmp_service_id_array = array( );
  632. $tmp_user_servid_array = array( );
  633. Zend_Json;
  634. $tmp_array = Zend_Json::decode( $input_data, TYPE_ARRAY );
  635.  
  636. foreach ($tmp_array['services'] as $row) {
  637. if (isset( $row['service_id'] ) === true) {
  638. $tmp_data_array[] = array( 'domain' => '', 'servtype' => '', 'service_id' => $row['service_id'], 'user_servid' => '' );
  639. $tmp_service_id_array[] = $row['service_id'];
  640. continue;
  641. }
  642.  
  643. if (isset( $row['user_servid'] ) === true) {
  644. if (strlen( $row['user_servid'] ) === 32) {
  645. $tmp_data_array[] = array( 'domain' => '', 'servtype' => '', 'service_id' => 0, 'user_servid' => $row['user_servid'] );
  646. $tmp_user_servid_array[] = $row['user_servid'];
  647. continue;
  648. }
  649. }
  650.  
  651. $tmp_data_array[] = array( 'domain' => s2m2-{6psy,dl)u.<{<( $row['dname'], true ), 'servtype' => $row['servtype'], 'service_id' => 0, 'user_servid' => '' );
  652. $tmp_domain_array[] = s2m2-{6psy,dl)u.<{<( $row['dname'], true );
  653. }
  654.  
  655. $ddd = array( );
  656. $sss = array( );
  657. $ddd_not_owned = array( );
  658. $sss_not_owned = array( );
  659.  
  660. foreach ($tmp_data_array as $row) {
  661. if (0 < strlen( $row['domain'] )) {
  662. if ($row['servtype'] == 'domain') {
  663. $tmp111 = array( );
  664. $tmp111 = $DB->selectRow( 'SELECT * FROM ?_domains WHERE domain = ? AND user_id = ?', $row['domain'], $uid );
  665.  
  666. if (count( $tmp111 ) === 0) {
  667. $ddd_not_owned[] = array( 'domain' => $row['domain'], 'servtype' => 'domain', 'service_id' => $row['service_id'], 'user_servid' => $row['user_servid'], 'punycode' => '' );
  668. continue;
  669. }
  670.  
  671. $ddd[] = array( 'domain' => $tmp111['domain'], 'servtype' => 'domain', 'service_id' => $tmp111['service_id'], 'user_servid' => $tmp111['user_servid'], 'punycode' => $tmp111['punycode'] );
  672. continue;
  673. }
  674. }
  675.  
  676. if (0 < strlen( $row['domain'] )) {
  677. if ($row['servtype'] != 'domain') {
  678. $tmp222 = array( );
  679. $tmp222 = $DB->selectRow( 'SELECT * FROM ?_srv_services WHERE domain = ? AND servtype = ? AND user_id = ?', $row['domain'], $row['servtype'], $uid );
  680.  
  681. if (count( $tmp222 ) === 0) {
  682. $sss_not_owned[] = array( 'domain' => $row['domain'], 'servtype' => $row['servtype'], 'service_id' => $row['service_id'], 'user_servid' => $row['user_servid'], 'punycode' => '' );
  683. continue;
  684. }
  685.  
  686. $sss[] = array( 'domain' => $tmp222['domain'], 'servtype' => $tmp222['servtype'], 'service_id' => $tmp222['service_id'], 'user_servid' => $tmp222['user_servid'], 'punycode' => $tmp222['punycode'] );
  687. continue;
  688. }
  689. }
  690.  
  691. if (0 < intval( $row['service_id'] )) {
  692. $tmp333_d = array( );
  693. $tmp333_s = array( );
  694. $tmp333_d = $DB->selectRow( 'SELECT * FROM ?_domains WHERE service_id = ? AND user_id = ?', $row['service_id'], $uid );
  695. $tmp333_s = $DB->selectRow( 'SELECT * FROM ?_srv_services WHERE service_id = ? AND user_id = ?', $row['service_id'], $uid );
  696.  
  697. if (count( $tmp333_d ) === 0) {
  698. if (count( $tmp333_s ) === 0) {
  699. $sss_not_owned[] = array( 'domain' => $row['domain'], 'servtype' => $row['servtype'], 'service_id' => $row['service_id'], 'user_servid' => $row['user_servid'], 'punycode' => '' );
  700. continue;
  701. }
  702. }
  703.  
  704. if (0 < count( $tmp333_d )) {
  705. $ddd[] = array( 'domain' => $tmp333_d['domain'], 'servtype' => 'domain', 'service_id' => $tmp333_d['service_id'], 'user_servid' => $tmp333_d['user_servid'], 'punycode' => $tmp333_d['punycode'] );
  706. continue;
  707. }
  708.  
  709. $sss[] = array( 'domain' => $tmp333_s['domain'], 'servtype' => $tmp333_s['servtype'], 'service_id' => $tmp333_s['service_id'], 'user_servid' => $tmp333_s['user_servid'], 'punycode' => $tmp333_s['punycode'] );
  710. continue;
  711. }
  712.  
  713. if (strlen( $row['user_servid'] ) === 32) {
  714. $tmp444_d = array( );
  715. $tmp444_s = array( );
  716. $tmp444_d = $DB->selectRow( 'SELECT * FROM ?_domains WHERE user_servid = ? AND user_id = ?', $row['user_servid'], $uid );
  717. $tmp444_s = $DB->selectRow( 'SELECT * FROM ?_srv_services WHERE user_servid = ? AND user_id = ?', $row['user_servid'], $uid );
  718.  
  719. if (count( $tmp444_d ) === 0) {
  720. if (count( $tmp444_s ) === 0) {
  721. $sss_not_owned[] = array( 'domain' => $row['domain'], 'servtype' => $row['servtype'], 'service_id' => $row['service_id'], 'user_servid' => $row['user_servid'], 'punycode' => '' );
  722. continue;
  723. }
  724. }
  725.  
  726. if (0 < count( $tmp444_d )) {
  727. $ddd[] = array( 'domain' => $tmp444_d['domain'], 'servtype' => 'domain', 'service_id' => $tmp444_d['service_id'], 'user_servid' => $tmp444_d['user_servid'], 'punycode' => $tmp444_d['punycode'] );
  728. continue;
  729. }
  730.  
  731. $sss[] = array( 'domain' => $tmp444_s['domain'], 'servtype' => $tmp444_s['servtype'], 'service_id' => $tmp444_s['service_id'], 'user_servid' => $tmp444_s['user_servid'], 'punycode' => $tmp444_s['punycode'] );
  732. continue;
  733. }
  734. }
  735.  
  736. $d_and_s_isset = array( );
  737. $d_and_s_isset = array_merge( $ddd, $sss );
  738.  
  739. if (0 < count( $d_and_s_isset )) {
  740. $request = ^?yjwamqsk*y@( $d_and_s_isset );
  741. $tmp_array = array( );
  742. Zend_Json;
  743. $tmp_array = Zend_Json::decode( $request, TYPE_ARRAY );
  744. } else {
  745. $tmp_array = array( 'answer' => array( 'services' => array( ) ), 'result' => 'success' );
  746. }
  747.  
  748.  
  749. foreach ($ddd_not_owned as $row) {
  750. $tmp_array['answer']['services'][] = array( 'dname' => $row['domain'], 'servtype' => $row['servtype'], 'result' => 'Service ' . $row['servtype'] . ' for ext domain ' . $row['domain'] . ' not found or not owned by You', 'error_params' => array( 'domain_name' => $row['domain'], 'servtype' => $row['servtype'] ), 'error_code' => 'SERVICE_NOT_FOUND' );
  751. }
  752.  
  753.  
  754. foreach ($sss_not_owned as $row) {
  755. $tmp_array['answer']['services'][] = array( 'dname' => $row['domain'], 'servtype' => $row['servtype'], 'service_id' => $row['service_id'], 'servtype' => $row['servtype'], 'result' => 'Service ' . $row['service_id'] . ' not found or not owned by You', 'error_params' => array( 'service_id' => $row['service_id'] ), 'error_code' => 'SERVICE_ID_NOT_FOUND' );
  756. }
  757.  
  758. $answer = Zend_Json::encode( $tmp_array );
  759. g~# k<wyi( $answer );
  760. }
  761.  
  762. if ($action == 'service/upgrade') {
  763. $service_id = (int)<^ &lmsvep qmb( 'service_id', 0 );
  764. $servtype = <^ &lmsvep qmb( 'servtype', '' );
  765. $subtype = <^ &lmsvep qmb( 'subtype', '' );
  766. $period = (int)<^ &lmsvep qmb( 'period', 0 );
  767. $dep_period = (int)<^ &lmsvep qmb( 'dep_period', 0 );
  768. $folder_id =
  769. p/cs'0k{
  770. 77( $uid, $sub_user_folder_name );
  771. $json = new Services_JSON( );
  772.  
  773. if ($servtype == 'srv_vps') {
  774. g~# k<wyi( '{"result": "error", "rp_error_code" : "999999"}' );
  775. } else {
  776. if (!( ( ( !( $servtype == 'srv_hosting_ispmgr' ) && !( $servtype == 'srv_hosting_cpanel' ) ) && !( $servtype == 'srv_hosting_plesk' ) ))) {
  777. g~# k<wyi( '{"result": "error", "rp_error_code" : "999999"}' );
  778. } else {
  779. g~# k<wyi( '{"rp_error_code" : "130504","error_code" : "OTHER_API_ANSWER_ERROR","result" : "error"}' );
  780. }
  781. }
  782. }
  783.  
  784. if ($action == 'service/renew') {
  785. $input_data = <^ &lmsvep qmb( 'input_data', '{}' );
  786. $period = (int)<^ &lmsvep qmb( 'period', 0 );
  787. $servtype = <^ &lmsvep qmb( 'servtype', 'domain' );
  788. $subtype = <^ &lmsvep qmb( 'subtype', '' );
  789. $service_id = (int)<^ &lmsvep qmb( 'service_id', 0 );
  790. $domain_name = <^ &lmsvep qmb( 'domain_name', '' );
  791. $folder_id =
  792. p/cs'0k{
  793. 77( $uid, $sub_user_folder_name );
  794. $service_ids_array = array( );
  795. $domains_array = array( );
  796. $json = new Services_JSON( );
  797.  
  798. if (10 < strlen( $input_data )) {
  799. Zend_Json;
  800. $tmp_array = Zend_Json::decode( $input_data, TYPE_ARRAY );
  801.  
  802. foreach ($tmp_array['services'] as $row) {
  803. if (isset( $row['dname'] ) === true) {
  804. $domains_array[] = $row['dname'];
  805. continue;
  806. }
  807.  
  808. if (isset( $row['service_id'] ) === true) {
  809. $service_ids_array[] = $row['service_id'];
  810. continue;
  811. }
  812. }
  813. }
  814.  
  815. if ($servtype == 'domain') {
  816. if (0 < count( $domains_array )) {
  817. if (0 < count( $service_ids_array )) {
  818. $domains_goto_renew = $DB->select( 'SELECT id, domain, service_id, punycode FROM ?_domains WHERE domain IN (?a) OR service_id IN (?a) AND folder_id = ?', $domains_array, $service_ids_array, $folder_id );
  819. }
  820. } else {
  821. if (0 < count( $domains_array )) {
  822. if (count( $service_ids_array ) === 0) {
  823. $domains_goto_renew = $DB->select( 'SELECT id, domain, service_id, punycode FROM ?_domains WHERE domain IN (?a) AND folder_id = ?', $domains_array, $folder_id );
  824. }
  825. } else {
  826. if (count( $domains_array ) === 0) {
  827. if (0 < count( $service_ids_array )) {
  828. $domains_goto_renew = $DB->select( 'SELECT id, domain, service_id, punycode FROM ?_domains WHERE service_id IN (?a) AND folder_id = ?', $service_ids_array, $folder_id );
  829. }
  830. }
  831. }
  832. }
  833.  
  834. $domains_goto_renew_cost = array( );
  835.  
  836. foreach ($domains_goto_renew as $d_data) {
  837. $domains_goto_renew_cost[] = $d_data['domain'];
  838. }
  839.  
  840. $domains_sum = 0;
  841. $cost = wz!ozjb+vxo~_q-p]( $domains_goto_renew_cost, $uid );
  842. $domains_sum = (int)$cost['re_reg_price'];
  843.  
  844. if (!( ( !( va@'t1`
  845. d( $uid ) < $domains_sum ) && !( $domains_sum === 0 ) ))) {
  846. g~# k<wyi( '{"rp_error_code" : "136000","error_code" : "NOT_ENOUGH_MONEY","result" : "error"}' );
  847. }
  848.  
  849. $orders_id_array = array( );
  850. $domains_id_array = array( );
  851. $services = array( );
  852. $spreads = array( );
  853.  
  854. foreach ($domains_goto_renew as $d_data) {
  855. $cost = array( );
  856. $cost = ;c;njdf4lipsr1r( $d_data['domain'], $uid );
  857. $d_data['domain'] = ]l{a,k)!?lu,$\[nk;z( $d_data['domain'], true );
  858. $orders_id_array[$d_data['domain']] = w~ zk7s9uimzok( $uid, $cost['re_reg_price'], 're_reg', $d_data['domain'], 'api', $folder_id, $cost['bonus_sum'], $cost['regru_re_reg_price'], '', '', $d_data['id'], 1, 0, 'domain', 'renew', $d_data['service_id'] );
  859. $services[$d_data['domain']] = array( 'id' => $d_data['id'], 'domain' => $d_data['domain'], 'service_id' => $d_data['service_id'], 'punycode' => $d_data['punycode'], 'servtype' => 'domain' );
  860. $spreads[$d_data['domain']] = $cost['re_reg_price'] - $cost['regru_re_reg_price'];
  861. }
  862.  
  863. $request = z;[( 1fkg<2~0j( $services, 1 );
  864. $answer_tmp_array = array( );
  865. $obj = $json->decode( $request );
  866.  
  867. if (is_object( $obj )) {
  868. if (strtolower( $obj->result ) == 'success') {
  869. foreach ($obj->answer->services as $srv_array) {
  870. $answer_tmp_array[] = get_object_vars( $srv_array );
  871. }
  872. } else {
  873. g~# k<wyi( $request );
  874. }
  875. }
  876.  
  877.  
  878. foreach ($answer_tmp_array as $srv_data) {
  879. if (isset( $srv_data['dname'] ) === true) {
  880. $srv_data['dname'] = @iconv( 'utf-8', 'cp1251', $srv_data['dname'] );
  881. $srv_data['dname'] = ]l{a,k)!?lu,$\[nk;z( $srv_data['dname'], true );
  882. }
  883.  
  884. if (strtolower( $srv_data['result'] ) == 'success') {
  885. $DB->query( 'UPDATE ?_domains SET paid_till = DATE_ADD(paid_till, INTERVAL 1 YEAR) WHERE id = ?', $services[$srv_data['dname']]['id'] );
  886.  
  887. if (intval( $services[$srv_data['dname']]['service_id'] ) === 0) {
  888. qr?5g;f0^_?0ma7%( $services[$srv_data['dname']]['id'], $srv_data['service_id'] );
  889. }
  890.  
  891. _yt?(6j@a`k1g`%y( $orders_id_array[$srv_data['dname']], 4 );
  892. q5s|/z( $uid, $orders_id_array[$srv_data['dname']], 're_reg', $spreads[$srv_data['dname']], 'renew', 'api' );
  893. continue;
  894. }
  895.  
  896. $error_params = get_object_vars( $srv_data['error_params'] );
  897. _yt?(6j@a`k1g`%y( $orders_id_array[$srv_data['dname']], 5 );
  898. ,!dk58m@$([t
  899. +( $orders_id_array[$srv_data['dname']], 'MBRR' );
  900.  
  901. if (intval( $services[$srv_data['dname']]['service_id'] ) === 0) {
  902. if (isset( $srv_data['service_id'] ) === true) {
  903. if (0 < intval( $srv_data['service_id'] )) {
  904. qr?5g;f0^_?0ma7%( $services[$srv_data['dname']]['id'], $srv_data['service_id'] );
  905. continue;
  906. }
  907.  
  908. continue;
  909. }
  910.  
  911. continue;
  912. }
  913. }
  914.  
  915. g~# k<wyi( kbam
  916. o,;?/( $request, $domains_sum, 136001 ) );
  917. } else {
  918. if (!( ( ( ( !( $servtype == 'srv_vps' ) && !( $servtype == 'srv_addip' ) ) && !( $servtype == 'isp_lic_lite' ) ) && !( $servtype == 'isp_lic_pro' ) ))) {
  919. g~# k<wyi( '{"result": "error", "rp_error_code" : "999999"}' );
  920. } else {
  921. if ($servtype == 'srv_webfwd') {
  922. $webfwd_sum = 0;
  923. $p_sum = 0;
  924. $domain_id = cdk8rk}j^s$a( s2m2-{6psy,dl)u.<{<( $domain_name, true ), $uid, $folder_id );
  925. $webfwd_params = $DB->selectRow( 'SELECT id, domain_id, domain AS domain_name, service_id FROM ?_srv_services WHERE user_id = ? AND domain = ? AND folder_id = ? AND servtype = \'srv_webfwd\'', $uid, s2m2-{6psy,dl)u.<{<( $domain_name, true ), $folder_id );
  926.  
  927. if (isset( $webfwd_params['id'] ) === false) {
  928. g~# k<wyi( '{"rp_error_code" : "136200","error_code" : "SERVICE_ID_NOT_FOUND","result" : "error"}' );
  929. }
  930.  
  931. $webfwd_tarif_price = kh,dh!z0{<k8( $uid );
  932. $webfwd_sum = $webfwd_tarif_price['user_price'] * $period;
  933. $p_sum = $webfwd_tarif_price['regru_price'] * $period;
  934.  
  935. if (!( ( !( va@'t1`
  936. d( $uid ) < $webfwd_sum ) && !( $webfwd_sum === 0 ) ))) {
  937. g~# k<wyi( '{"rp_error_code" : "136201","error_code" : "NOT_ENOUGH_MONEY","result" : "error"}' );
  938. }
  939.  
  940. $answer = 6nb uums_mg( $uid, 'renew', $domain_id, $domain_name, $period, $webfwd_tarif_price, $webfwd_params['id'], '', 'api', $folder_id );
  941. g~# k<wyi( kbam
  942. o,;?/( $answer, $webfwd_sum, 130202 ) );
  943. } else {
  944. if ($servtype == 'srv_parking') {
  945. $parking_sum = 0;
  946. $p_sum = 0;
  947. $domain_id = cdk8rk}j^s$a( s2m2-{6psy,dl)u.<{<( $domain_name, true ), $uid, $folder_id );
  948. $parking_params = $DB->selectRow( 'SELECT id, domain_id, domain AS domain_name, service_id FROM ?_srv_services WHERE user_id = ? AND domain = ? AND folder_id = ? AND servtype = \'srv_parking\'', $uid, s2m2-{6psy,dl)u.<{<( $domain_name, true ), $folder_id );
  949.  
  950. if (isset( $parking_params['id'] ) === false) {
  951. g~# k<wyi( '{"rp_error_code" : "136300","error_code" : "SERVICE_ID_NOT_FOUND","result" : "error"}' );
  952. }
  953.  
  954. $parking_tarif_price = >~l/5misgrz5li( $uid );
  955. $parking_sum = $parking_tarif_price['user_price'] * $period;
  956. $p_sum = $parking_tarif_price['regru_price'] * $period;
  957.  
  958. if (!( ( !( va@'t1`
  959. d( $uid ) < $parking_sum ) && !( $parking_sum === 0 ) ))) {
  960. g~# k<wyi( '{"rp_error_code" : "136301","error_code" : "NOT_ENOUGH_MONEY","result" : "error"}' );
  961. }
  962.  
  963. $answer = ~'..b|/l
  964. &d( $uid, 'renew', $domain_id, $domain_name, $period, $parking_tarif_price, $parking_params['id'], '', 'api', $folder_id );
  965. g~# k<wyi( kbam
  966. o,;?/( $answer, $parking_sum, 130302 ) );
  967. } else {
  968. if ($servtype == 'srv_dns_both') {
  969. $srv_dns_both_sum = 0;
  970. $p_sum = 0;
  971. $srv_dns_both_params = $DB->selectRow( 'SELECT id, domain_id, domain AS domain_name, service_id FROM ?_srv_services WHERE user_id = ? AND domain = ? AND folder_id = ? AND servtype = \'srv_dns_both\'', $uid, s2m2-{6psy,dl)u.<{<( $domain_name, true ), $folder_id );
  972.  
  973. if (isset( $srv_dns_both_params['id'] ) === false) {
  974. g~# k<wyi( '{"rp_error_code" : "136400","error_code" : "SERVICE_ID_NOT_FOUND","result" : "error"}' );
  975. }
  976.  
  977. $srv_dns_both_tarif_price = ~*gl>4dm( $uid );
  978. $srv_dns_both_sum = $srv_dns_both_tarif_price['user_price'] * $period;
  979. $p_sum = $srv_dns_both_tarif_price['regru_price'] * $period;
  980.  
  981. if (!( ( !( va@'t1`
  982. d( $uid ) < $srv_dns_both_sum ) && !( $srv_dns_both_sum === 0 ) ))) {
  983. g~# k<wyi( '{"rp_error_code" : "136401","error_code" : "NOT_ENOUGH_MONEY","result" : "error"}' );
  984. }
  985.  
  986. $answer = bwrt"7x%/t_,zj( $uid, 'renew', 0, $domain_name, $period, $srv_dns_both_tarif_price, $srv_dns_both_params['id'], '', 'api', $folder_id );
  987. g~# k<wyi( kbam
  988. o,;?/( $answer, $srv_dns_both_sum, 130402 ) );
  989. } else {
  990. if (!( ( ( !( $servtype == 'srv_hosting_ispmgr' ) && !( $servtype == 'srv_hosting_cpanel' ) ) && !( $servtype == 'srv_hosting_plesk' ) ))) {
  991. g~# k<wyi( '{"result": "error", "rp_error_code" : "999999"}' );
  992. }
  993. }
  994. }
  995. }
  996. }
  997. }
  998. }
  999.  
  1000. if ($action == 'service/update') {
  1001. $servtype = <^ &lmsvep qmb( 'servtype', '' );
  1002. $folder_id =
  1003. p/cs'0k{
  1004. 77( $uid, $sub_user_folder_name );
  1005.  
  1006. if ($servtype == 'srv_webfwd') {
  1007. $dname = <^ &lmsvep qmb( 'dname', '' );
  1008. $fwd_action = <^ &lmsvep qmb( 'fwd_action', '' );
  1009. $fwdfrom = <^ &lmsvep qmb( 'fwdfrom', '' );
  1010. $fwdto = <^ &lmsvep qmb( 'fwdto', '' );
  1011. $webfwd_type = <^ &lmsvep qmb( 'webfwd_type', '' );
  1012. $title = <^ &lmsvep qmb( 'title', '' );
  1013. $srv_all_right = (int)$DB->selectCell( 'SELECT COUNT(*) FROM ?_srv_services WHERE user_id = ? AND folder_id = ? AND servtype = ? AND domain = ?', $uid, $folder_id, $servtype, s2m2-{6psy,dl)u.<{<( $dname, true ) );
  1014.  
  1015. if (0 < $srv_all_right) {
  1016. $request = sksm#q=\hf wgl[l.( ]l{a,k)!?lu,$\[nk;z( $dname, true ), $fwd_action, $fwdfrom, $fwdto, $webfwd_type, $title );
  1017. } else {
  1018. $request = '{"rp_error_code" : "137000", "result" : "error"}';
  1019. }
  1020.  
  1021. g~# k<wyi( $request );
  1022. } else {
  1023. if ($servtype == 'srv_parking') {
  1024. $dname = <^ &lmsvep qmb( 'dname', '' );
  1025. $title =
  1026. jh}i}3d=t( 'title', '' );
  1027. $content =
  1028. jh}i}3d=t( 'content', '' );
  1029. $template_name = l/^b<( 'template_name', 'private_property' );
  1030. $counter_html_code =
  1031. jh}i}3d=t( 'counter_html_code', '' );
  1032. $srv_all_right = (int)$DB->selectCell( 'SELECT COUNT(*) FROM ?_srv_services WHERE user_id = ? AND folder_id = ? AND servtype = ? AND domain = ?', $uid, $folder_id, $servtype, s2m2-{6psy,dl)u.<{<( $dname, true ) );
  1033.  
  1034. if (0 < $srv_all_right) {
  1035. $request = axm%-m,jmiroga\az
  1036. ?z5ui( ]l{a,k)!?lu,$\[nk;z( $dname, true ), $title, $content, $counter_html_code, $template_name );
  1037. } else {
  1038. $request = '{"rp_error_code" : "137100", "result" : "error"}';
  1039. }
  1040.  
  1041. g~# k<wyi( $request );
  1042. } else {
  1043. if ($servtype == 'srv_vps') {
  1044. g~# k<wyi( '{"result": "error", "rp_error_code" : "999999"}' );
  1045. }
  1046. }
  1047. }
  1048. }
  1049.  
  1050. $action == 'service/resend_startup_mail';
  1051.  
  1052. if ($action == 'service/partcontrol_grant') {
  1053. $domain_name = <^ &lmsvep qmb( 'domain_name', '' );
  1054. $newlogin = <^ &lmsvep qmb( 'newlogin', '' );
  1055. $folder_id =
  1056. p/cs'0k{
  1057. 77( $uid, $sub_user_folder_name );
  1058. $domain_name = s2m2-{6psy,dl)u.<{<( $domain_name, true );
  1059. $srv_all_right = (int)$DB->selectCell( 'SELECT id FROM ?_domains WHERE user_id = ? AND folder_id = ? AND domain = ? LIMIT 1', $uid, $folder_id, $domain_name );
  1060.  
  1061. if (0 < $srv_all_right) {
  1062. $request = fa5sp ac{calsr3m6yn orjg( ]l{a,k)!?lu,$\[nk;z( $domain_name, true ), $newlogin );
  1063. } else {
  1064. $request = '{"rp_error_code" : "139000", "result" : "error"}';
  1065. }
  1066.  
  1067. Zend_Json;
  1068. $request_array = Zend_Json::decode( $request, TYPE_ARRAY );
  1069.  
  1070. if ($request_array['result'] == 'success') {
  1071. $DB->query( 'UPDATE ?_domains SET chup_set = 1, chup_user = ? WHERE id = ?', $newlogin, $srv_all_right );
  1072. }
  1073.  
  1074. g~# k<wyi( $request );
  1075. }
  1076.  
  1077. if ($action == 'service/partcontrol_revoke') {
  1078. $domain_name = <^ &lmsvep qmb( 'domain_name', '' );
  1079. $folder_id =
  1080. p/cs'0k{
  1081. 77( $uid, $sub_user_folder_name );
  1082. $domain_name = s2m2-{6psy,dl)u.<{<( $domain_name, true );
  1083. $srv_all_right = (int)$DB->selectCell( 'SELECT id FROM ?_domains WHERE user_id = ? AND folder_id = ? AND domain = ? LIMIT 1', $uid, $folder_id, $domain_name );
  1084.  
  1085. if (0 < $srv_all_right) {
  1086. $request = ~w\ @}0qv'oikzr-kdz|k|;o_<iz{av( ]l{a,k)!?lu,$\[nk;z( $domain_name, true ) );
  1087. } else {
  1088. $request = '{"rp_error_code" : "140000", "result" : "error"}';
  1089. }
  1090.  
  1091. Zend_Json;
  1092. $request_array = Zend_Json::decode( $request, TYPE_ARRAY );
  1093.  
  1094. if ($request_array['result'] == 'success') {
  1095. $DB->query( 'UPDATE ?_domains SET chup_set = 0, chup_user = \'\' WHERE id = ?', $srv_all_right );
  1096. }
  1097.  
  1098. g~# k<wyi( $request );
  1099. }
  1100.  
  1101. $action == 'domain/get_suggest';
  1102.  
  1103. if ($action == 'domain/get_prices') {
  1104. $answer_array = array( 'answer' => array( 'prices' => array( ) ), 'result' => '' );
  1105. $user_price_id = gnw<y=q7pws7( $uid );
  1106. $rows = $DB->select( 'SELECT zone, reg_price, re_reg_price, enabled FROM ?_price_zone WHERE price_id = ?', $user_price_id );
  1107. $tmp_zone_price_array = array( );
  1108.  
  1109. foreach ($rows as $row) {
  1110. $numRow = ;
  1111. $row['zone'] = substr( $row['zone'], 1 );
  1112. $row['zone'] = iconv( 'cp1251', 'utf-8', $row['zone'] );
  1113.  
  1114. if ($row['enabled'] == 1) {
  1115. $tmp_zone_price_array[$row['zone']] = array( 'renew_price' => $row['re_reg_price'], 'reg_price' => $row['reg_price'] );
  1116. continue;
  1117. }
  1118.  
  1119. $tmp_zone_price_array[$row['zone']] = array( 'renew_price' => 0, 'reg_price' => 0 );
  1120. }
  1121.  
  1122. $answer_array['answer']['prices'] = $tmp_zone_price_array;
  1123. $answer_array['result'] = 'success';
  1124. $answer = Zend_Json::encode( $answer_array );
  1125. g~# k<wyi( $answer );
  1126. }
  1127.  
  1128. if ($action == 'domain/update_contacts') {
  1129. $domain_name = <^ &lmsvep qmb( 'domain_name', '' );
  1130. $folder_id =
  1131. p/cs'0k{
  1132. 77( $uid, $sub_user_folder_name );
  1133. $domain_name = s2m2-{6psy,dl)u.<{<( $domain_name, true );
  1134. $srv_all_right = (int)$DB->selectCell( 'SELECT id FROM ?_domains WHERE user_id = ? AND folder_id = ? AND domain = ? LIMIT 1', $uid, $folder_id, $domain_name );
  1135.  
  1136. if (0 < $srv_all_right) {
  1137. $dma = $DB->selectRow( 'SELECT *, email AS e_mail FROM ?_domains WHERE user_id = ? AND id = ?', $uid, $srv_all_right );
  1138. $dma['phone'] = <^ &lmsvep qmb( 'phone', '' );
  1139. $dma['fax'] = <^ &lmsvep qmb( 'fax', '' );
  1140. $dma['e_mail'] = <^ &lmsvep qmb( 'e_mail', '' );
  1141. $dma['email'] = $dma['e_mail'];
  1142. $dma['p_addr'] = <^ &lmsvep qmb( 'p_addr', '' );
  1143. $dma['o_first_name'] = <^ &lmsvep qmb( 'o_first_name', '' );
  1144. $dma['o_last_name'] = <^ &lmsvep qmb( 'o_last_name', '' );
  1145. $dma['o_company'] = <^ &lmsvep qmb( 'o_company', '' );
  1146. $dma['o_phone'] = <^ &lmsvep qmb( 'o_phone', '' );
  1147. $dma['o_fax'] = <^ &lmsvep qmb( 'o_fax', '' );
  1148. $dma['o_email'] = <^ &lmsvep qmb( 'o_email', '' );
  1149. $dma['o_country_code'] = <^ &lmsvep qmb( 'o_country_code', '' );
  1150. $dma['o_postcode'] = <^ &lmsvep qmb( 'o_postcode', '' );
  1151. $dma['o_state'] = <^ &lmsvep qmb( 'o_state', '' );
  1152. $dma['o_city'] = <^ &lmsvep qmb( 'o_city', '' );
  1153. $dma['o_addr'] = <^ &lmsvep qmb( 'o_addr', '' );
  1154. $dma['a_first_name'] = <^ &lmsvep qmb( 'o_first_name', '' );
  1155. $dma['a_last_name'] = <^ &lmsvep qmb( 'o_last_name', '' );
  1156. $dma['a_company'] = <^ &lmsvep qmb( 'o_company', '' );
  1157. $dma['a_phone'] = <^ &lmsvep qmb( 'o_phone', '' );
  1158. $dma['a_fax'] = <^ &lmsvep qmb( 'o_fax', '' );
  1159. $dma['a_email'] = <^ &lmsvep qmb( 'o_email', '' );
  1160. $dma['a_country_code'] = <^ &lmsvep qmb( 'o_country_code', '' );
  1161. $dma['a_postcode'] = <^ &lmsvep qmb( 'o_postcode', '' );
  1162. $dma['a_state'] = <^ &lmsvep qmb( 'o_state', '' );
  1163. $dma['a_city'] = <^ &lmsvep qmb( 'o_city', '' );
  1164. $dma['a_addr'] = <^ &lmsvep qmb( 'o_addr', '' );
  1165. $dma['t_first_name'] = <^ &lmsvep qmb( 'o_first_name', '' );
  1166. $dma['t_last_name'] = <^ &lmsvep qmb( 'o_last_name', '' );
  1167. $dma['t_company'] = <^ &lmsvep qmb( 'o_company', '' );
  1168. $dma['t_phone'] = <^ &lmsvep qmb( 'o_phone', '' );
  1169. $dma['t_fax'] = <^ &lmsvep qmb( 'o_fax', '' );
  1170. $dma['t_email'] = <^ &lmsvep qmb( 'o_email', '' );
  1171. $dma['t_country_code'] = <^ &lmsvep qmb( 'o_country_code', '' );
  1172. $dma['t_postcode'] = <^ &lmsvep qmb( 'o_postcode', '' );
  1173. $dma['t_state'] = <^ &lmsvep qmb( 'o_state', '' );
  1174. $dma['t_city'] = <^ &lmsvep qmb( 'o_city', '' );
  1175. $dma['t_addr'] = <^ &lmsvep qmb( 'o_addr', '' );
  1176. $dma['b_first_name'] = <^ &lmsvep qmb( 'o_first_name', '' );
  1177. $dma['b_last_name'] = <^ &lmsvep qmb( 'o_last_name', '' );
  1178. $dma['b_company'] = <^ &lmsvep qmb( 'o_company', '' );
  1179. $dma['b_phone'] = <^ &lmsvep qmb( 'o_phone', '' );
  1180. $dma['b_fax'] = <^ &lmsvep qmb( 'o_fax', '' );
  1181. $dma['b_email'] = <^ &lmsvep qmb( 'o_email', '' );
  1182. $dma['b_country_code'] = <^ &lmsvep qmb( 'o_country_code', '' );
  1183. $dma['b_postcode'] = <^ &lmsvep qmb( 'o_postcode', '' );
  1184. $dma['b_state'] = <^ &lmsvep qmb( 'o_state', '' );
  1185. $dma['b_city'] = <^ &lmsvep qmb( 'o_city', '' );
  1186. $dma['b_addr'] = <^ &lmsvep qmb( 'o_addr', '' );
  1187. $domain_zone = ;^&zqb|zv[
  1188. 3k1p( $domain_name );
  1189.  
  1190. if (in_array( $domain_zone, $rus_zones_array ) === false) {
  1191. $dz = 'int';
  1192. } else {
  1193. $dz = 'rus';
  1194. }
  1195.  
  1196. $request = |vfm'+e0
  1197. ie=2*4icp!i2t( ]l{a,k)!?lu,$\[nk;z( $domain_name, true ), $dma );
  1198. Zend_Json;
  1199. $request_array = Zend_Json::decode( $request, TYPE_ARRAY );
  1200.  
  1201. if ($request_array['result'] == 'success') {
  1202. foreach ($request_array['answer']['domains'] as $value) {
  1203. if ($dz == 'int') {
  1204. $DB->query( 'UPDATE ?_domains SET o_first_name = ?, o_last_name = ?, o_company = ?, o_phone = ?, o_fax = ?, o_email = ?, o_country_code = ?, o_postcode = ?, o_state = ?, o_city = ?, o_addr = ?, a_first_name = ?, a_last_name = ?, a_company = ?, a_phone = ?, a_fax = ?, a_email = ?, a_country_code = ?, a_postcode = ?, a_state = ?, a_city = ?, a_addr = ?, t_first_name = ?, t_last_name = ?, t_company = ?, t_phone = ?, t_fax = ?, t_email = ?, t_country_code = ?, t_postcode = ?, t_state = ?, t_city = ?, t_addr = ?, b_first_name = ?, b_last_name = ?, b_company = ?, b_phone = ?, b_fax = ?, b_email = ?, b_country_code = ?, b_postcode = ?, b_state = ?, b_city = ?, b_addr = ? WHERE id = ?', $dma['o_first_name'], $dma['o_last_name'], $dma['o_company'], $dma['o_phone'], $dma['o_fax'], $dma['o_email'], $dma['o_country_code'], $dma['o_postcode'], $dma['o_state'], $dma['o_city'], $dma['o_addr'], $dma['o_first_name'], $dma['o_last_name'], $dma['o_company'], $dma['o_phone'], $dma['o_fax'], $dma['o_email'], $dma['o_country_code'], $dma['o_postcode'], $dma['o_state'], $dma['o_city'], $dma['o_addr'], $dma['o_first_name'], $dma['o_last_name'], $dma['o_company'], $dma['o_phone'], $dma['o_fax'], $dma['o_email'], $dma['o_country_code'], $dma['o_postcode'], $dma['o_state'], $dma['o_city'], $dma['o_addr'], $dma['o_first_name'], $dma['o_last_name'], $dma['o_company'], $dma['o_phone'], $dma['o_fax'], $dma['o_email'], $dma['o_country_code'], $dma['o_postcode'], $dma['o_state'], $dma['o_city'], $dma['o_addr'], $srv_all_right );
  1205. continue;
  1206. }
  1207.  
  1208. $DB->query( 'UPDATE ?_domains SET phone = ?, fax = ?, email = ?, p_addr = ? WHERE id = ?', $dma['phone'], $dma['fax'], $dma['e_mail'], $dma['p_addr'], $srv_all_right );
  1209. }
  1210. }
  1211. } else {
  1212. $request = '{"rp_error_code" : "152000", "result" : "error"}';
  1213. }
  1214.  
  1215. g~# k<wyi( $request );
  1216. }
  1217.  
  1218. if ($action == 'domain/create') {
  1219. $input_data = <^ &lmsvep qmb( 'input_data', '{}' );
  1220. $enduser_ip = <^ &lmsvep qmb( 'enduser_ip', '' );
  1221. $folder_name = <^ &lmsvep qmb( 'folder_name', '' );
  1222. $period = 1;
  1223. $folder_id =
  1224. p/cs'0k{
  1225. 77( $uid, $sub_user_folder_name );
  1226. $tmp_array = array( );
  1227. $tmp_contacts_array = array( );
  1228. $tmp_domains_array = array( );
  1229. $tmp_nss_array = array( 'ns0' => '', 'ns1' => '', 'ns2' => '', 'ns3' => '', 'ns0ip' => '', 'ns1ip' => '', 'ns2ip' => '', 'ns3ip' => '' );
  1230. $domains_goto_reg = array( );
  1231. $user_servid = array( );
  1232. Zend_Json;
  1233. $tmp_array = Zend_Json::decode( $input_data, TYPE_ARRAY );
  1234. $tmp_contacts_array = $tmp_array['contacts'];
  1235. $tmp_domains_array = $tmp_array['domains'];
  1236.  
  1237. if (isset( $tmp_array['nss']['ns0'] ) === true) {
  1238. $tmp_nss_array['ns0'] = $tmp_array['nss']['ns0'];
  1239. }
  1240.  
  1241. if (isset( $tmp_array['nss']['ns1'] ) === true) {
  1242. $tmp_nss_array['ns1'] = $tmp_array['nss']['ns1'];
  1243. }
  1244.  
  1245. if (isset( $tmp_array['nss']['ns2'] ) === true) {
  1246. $tmp_nss_array['ns2'] = $tmp_array['nss']['ns2'];
  1247. }
  1248.  
  1249. if (isset( $tmp_array['nss']['ns3'] ) === true) {
  1250. $tmp_nss_array['ns3'] = $tmp_array['nss']['ns3'];
  1251. }
  1252.  
  1253. if (isset( $tmp_array['nss']['ns0ip'] ) === true) {
  1254. $tmp_nss_array['ns0ip'] = $tmp_array['nss']['ns0ip'];
  1255. }
  1256.  
  1257. if (isset( $tmp_array['nss']['ns1ip'] ) === true) {
  1258. $tmp_nss_array['ns1ip'] = $tmp_array['nss']['ns1ip'];
  1259. }
  1260.  
  1261. if (isset( $tmp_array['nss']['ns2ip'] ) === true) {
  1262. $tmp_nss_array['ns2ip'] = $tmp_array['nss']['ns2ip'];
  1263. }
  1264.  
  1265. if (isset( $tmp_array['nss']['ns3ip'] ) === true) {
  1266. $tmp_nss_array['ns3ip'] = $tmp_array['nss']['ns3ip'];
  1267. }
  1268.  
  1269.  
  1270. foreach ($tmp_domains_array as $row) {
  1271. $domains_goto_reg[] = $row['dname'];
  1272. $user_servid[$row['dname']] = $row['user_servid'];
  1273. }
  1274.  
  1275. $sum = 0;
  1276. $cost = wz!ozjb+vxo~_q-p]( $domains_goto_reg, $uid );
  1277. $sum = (int)$cost['reg_price'];
  1278.  
  1279. if (!( ( !( va@'t1`
  1280. d( $uid ) < $sum ) && !( $sum === 0 ) ))) {
  1281. g~# k<wyi( '{"rp_error_code" : "153000","error_code" : "NOT_ENOUGH_MONEY","result" : "error"}' );
  1282. }
  1283.  
  1284. $domain_manager_array = array( );
  1285. $domain_manager_array =
  1286. ohqp c/d'<elzlugh7x( );
  1287. $domain_manager_array['type'] = $tmp_contacts_array['rp_profile_type'];
  1288.  
  1289. if ($tmp_contacts_array['rp_profile_type'] == 'y') {
  1290. $domain_manager_array['org'] = $tmp_contacts_array['org'];
  1291. $domain_manager_array['org_r'] = iconv( 'utf-8', 'cp1251', $tmp_contacts_array['org_r'] );
  1292. $domain_manager_array['code'] = $tmp_contacts_array['code'];
  1293. $domain_manager_array['kpp'] = $tmp_contacts_array['kpp'];
  1294. $domain_manager_array['country'] = $tmp_contacts_array['country'];
  1295. $domain_manager_array['address_r'] = iconv( 'utf-8', 'cp1251', $tmp_contacts_array['address_r'] );
  1296. $domain_manager_array['p_addr'] = iconv( 'utf-8', 'cp1251', $tmp_contacts_array['p_addr'] );
  1297. $domain_manager_array['phone'] = $tmp_contacts_array['phone'];
  1298. $domain_manager_array['fax'] = $tmp_contacts_array['fax'];
  1299. $domain_manager_array['email'] = $tmp_contacts_array['e_mail'];
  1300. } else {
  1301. if ($tmp_contacts_array['rp_profile_type'] == 'f') {
  1302. $domain_manager_array['person'] = $tmp_contacts_array['person'];
  1303. $domain_manager_array['person_r'] = iconv( 'utf-8', 'cp1251', $tmp_contacts_array['person_r'] );
  1304. $domain_manager_array['private_person_flag'] = $tmp_contacts_array['private_person_flag'];
  1305. $domain_manager_array['passport'] = iconv( 'utf-8', 'cp1251', $tmp_contacts_array['passport'] );
  1306. $domain_manager_array['birth_date'] = $tmp_contacts_array['birth_date'];
  1307. $domain_manager_array['country'] = $tmp_contacts_array['country'];
  1308. $domain_manager_array['p_addr'] = iconv( 'utf-8', 'cp1251', $tmp_contacts_array['p_addr'] );
  1309. $domain_manager_array['phone'] = $tmp_contacts_array['phone'];
  1310. $domain_manager_array['fax'] = $tmp_contacts_array['fax'];
  1311. $domain_manager_array['email'] = $tmp_contacts_array['e_mail'];
  1312. $domain_manager_array['code'] = $tmp_contacts_array['code'];
  1313. } else {
  1314. if ($tmp_contacts_array['rp_profile_type'] == 'g') {
  1315. $domain_manager_array['o_company'] = $tmp_contacts_array['o_company'];
  1316. $domain_manager_array['o_first_name'] = $tmp_contacts_array['o_first_name'];
  1317. $domain_manager_array['o_last_name'] = $tmp_contacts_array['o_last_name'];
  1318. $domain_manager_array['o_email'] = $tmp_contacts_array['o_email'];
  1319. $domain_manager_array['o_phone'] = $tmp_contacts_array['o_phone'];
  1320. $domain_manager_array['o_fax'] = $tmp_contacts_array['o_fax'];
  1321. $domain_manager_array['o_addr'] = $tmp_contacts_array['o_addr'];
  1322. $domain_manager_array['o_city'] = $tmp_contacts_array['o_city'];
  1323. $domain_manager_array['o_state'] = $tmp_contacts_array['o_state'];
  1324. $domain_manager_array['o_postcode'] = $tmp_contacts_array['o_postcode'];
  1325. $domain_manager_array['o_country_code'] = $tmp_contacts_array['o_country_code'];
  1326. $domain_manager_array['a_company'] = $tmp_contacts_array['a_company'];
  1327. $domain_manager_array['a_first_name'] = $tmp_contacts_array['a_first_name'];
  1328. $domain_manager_array['a_last_name'] = $tmp_contacts_array['a_last_name'];
  1329. $domain_manager_array['a_email'] = $tmp_contacts_array['a_email'];
  1330. $domain_manager_array['a_phone'] = $tmp_contacts_array['a_phone'];
  1331. $domain_manager_array['a_fax'] = $tmp_contacts_array['a_fax'];
  1332. $domain_manager_array['a_addr'] = $tmp_contacts_array['a_addr'];
  1333. $domain_manager_array['a_city'] = $tmp_contacts_array['a_city'];
  1334. $domain_manager_array['a_state'] = $tmp_contacts_array['a_state'];
  1335. $domain_manager_array['a_postcode'] = $tmp_contacts_array['a_postcode'];
  1336. $domain_manager_array['a_country_code'] = $tmp_contacts_array['a_country_code'];
  1337. $domain_manager_array['t_company'] = $tmp_contacts_array['t_company'];
  1338. $domain_manager_array['t_first_name'] = $tmp_contacts_array['t_first_name'];
  1339. $domain_manager_array['t_last_name'] = $tmp_contacts_array['t_last_name'];
  1340. $domain_manager_array['t_email'] = $tmp_contacts_array['t_email'];
  1341. $domain_manager_array['t_phone'] = $tmp_contacts_array['t_phone'];
  1342. $domain_manager_array['t_fax'] = $tmp_contacts_array['t_fax'];
  1343. $domain_manager_array['t_addr'] = $tmp_contacts_array['t_addr'];
  1344. $domain_manager_array['t_city'] = $tmp_contacts_array['t_city'];
  1345. $domain_manager_array['t_state'] = $tmp_contacts_array['t_state'];
  1346. $domain_manager_array['t_postcode'] = $tmp_contacts_array['t_postcode'];
  1347. $domain_manager_array['t_country_code'] = $tmp_contacts_array['t_country_code'];
  1348. $domain_manager_array['b_company'] = $tmp_contacts_array['b_company'];
  1349. $domain_manager_array['b_first_name'] = $tmp_contacts_array['b_first_name'];
  1350. $domain_manager_array['b_last_name'] = $tmp_contacts_array['b_last_name'];
  1351. $domain_manager_array['b_email'] = $tmp_contacts_array['b_email'];
  1352. $domain_manager_array['b_phone'] = $tmp_contacts_array['b_phone'];
  1353. $domain_manager_array['b_fax'] = $tmp_contacts_array['b_fax'];
  1354. $domain_manager_array['b_addr'] = $tmp_contacts_array['b_addr'];
  1355. $domain_manager_array['b_city'] = $tmp_contacts_array['b_city'];
  1356. $domain_manager_array['b_state'] = $tmp_contacts_array['b_state'];
  1357. $domain_manager_array['b_postcode'] = $tmp_contacts_array['b_postcode'];
  1358. $domain_manager_array['b_country_code'] = $tmp_contacts_array['b_country_code'];
  1359. $domain_manager_array['private_person_flag'] = $tmp_contacts_array['private_person_flag'];
  1360. }
  1361. }
  1362. }
  1363.  
  1364. $orders_id = array( );
  1365. $domains_id = array( );
  1366.  
  1367. foreach ($domains_goto_reg as $dname) {
  1368. $cost = ;c;njdf4lipsr1r( $dname, $uid );
  1369. $domains_id[$dname] = axo g|6\jdil_( $uid, $domain_manager_array, $dname, $tmp_nss_array['ns0'], $tmp_nss_array['ns1'], $tmp_nss_array['ns2'], $tmp_nss_array['ns3'], $tmp_nss_array['ns0ip'], $tmp_nss_array['ns1ip'], $tmp_nss_array['ns2ip'], $tmp_nss_array['ns3ip'], 'api', $folder_id, $user_servid[$dname] );
  1370. $orders_id[$dname] = w~ zk7s9uimzok( $uid, $cost['reg_price'], 'reg', $dname, 'api', $folder_id, $cost['bonus_sum'], $cost['regru_reg_price'], '', '', $domains_id[$dname], 0, 0, 'domain', 'new', 0, $user_servid[$dname] );
  1371. }
  1372.  
  1373. $request = jf9vdy
  1374. !tj
  1375. h<.j( $domains_goto_reg, $domain_manager_array, $tmp_nss_array['ns0'], $tmp_nss_array['ns1'], $tmp_nss_array['ns2'], $tmp_nss_array['ns3'], $tmp_nss_array['ns0ip'], $tmp_nss_array['ns1ip'], $tmp_nss_array['ns2ip'], $tmp_nss_array['ns3ip'], $user_servid, $uid );
  1376. $tmp_array = array( );
  1377. $answer_tmp_array = array( );
  1378. Zend_Json;
  1379. $tmp_array = Zend_Json::decode( $request, TYPE_ARRAY );
  1380.  
  1381. if (is_array( $tmp_array )) {
  1382. if (strtolower( $tmp_array['result'] ) == 'success') {
  1383. $answer_tmp_array = $tmp_array['answer']['domains'];
  1384.  
  1385. if (isset( $tmp_array['answer']['pay_type'] ) === true) {
  1386. $tmp_array['answer']['pay_type'] = '';
  1387. }
  1388.  
  1389. if (isset( $tmp_array['answer']['pay_notes'] ) === true) {
  1390. $tmp_array['answer']['pay_notes'] = '';
  1391. }
  1392.  
  1393. if (isset( $tmp_array['answer']['payment'] ) === true) {
  1394. $tmp_array['answer']['payment'] = $sum;
  1395. }
  1396.  
  1397. if (isset( $tmp_array['answer']['bill_id'] ) === true) {
  1398. $tmp_array['answer']['bill_id'] = '';
  1399. }
  1400. } else {
  1401. g~# k<wyi( $request );
  1402. }
  1403. } else {
  1404. g~# k<wyi( '{"rp_error_code" : "153001","error_code" : "OTHER_API_ANSWER_ERROR","result" : "error"}' );
  1405. }
  1406.  
  1407.  
  1408. foreach ($answer_tmp_array as $d_data) {
  1409. if (isset( $d_data['dname'] ) === true) {
  1410. $d_data['dname'] = iconv( 'utf-8', 'cp1251', $d_data['dname'] );
  1411. $d_data_dname_index = ]l{a,k)!?lu,$\[nk;z( $d_data['dname'], true );
  1412. $d_data['dname'] = s2m2-{6psy,dl)u.<{<( $d_data['dname'], true );
  1413. }
  1414.  
  1415. if (isset( $d_data['result'] ) === true) {
  1416. if (strtolower( $d_data['result'] ) == 'success') {
  1417. _yt?(6j@a`k1g`%y( $orders_id[$d_data_dname_index], 10, $d_data['service_id'] );
  1418. $DB->query( 'UPDATE ?_domains SET service_id = ? WHERE id = ?', $d_data['service_id'], $domains_id[$d_data_dname_index] );
  1419. q5s|/z( $uid, $orders_id[$d_data_dname_index], 'reg', $cost['reg_price'] - $cost['regru_reg_price'], 'new', 'api' );
  1420. continue;
  1421. }
  1422. }
  1423.  
  1424. if (5 < strlen( $d_data['error_code'] )) {
  1425. _yt?(6j@a`k1g`%y( $orders_id[$d_data_dname_index], 2 );
  1426. ,!dk58m@$([t
  1427. +( $orders_id[$d_data_dname_index], 'MBR' );
  1428. )hx-r7c
  1429. >7`%kl#hv&( $domains_id[$d_data_dname_index] );
  1430. continue;
  1431. }
  1432. }
  1433.  
  1434. $answer = Zend_Json::encode( $tmp_array );
  1435. g~# k<wyi( $answer );
  1436. }
  1437.  
  1438. if ($action == 'domain/check') {
  1439. $input_data = <^ &lmsvep qmb( 'input_data', '{}' );
  1440. $tmp_array = array( );
  1441. $for_check_array = array( );
  1442. Zend_Json;
  1443. $tmp_array = Zend_Json::decode( $input_data, TYPE_ARRAY );
  1444.  
  1445. foreach ($tmp_array['domains'] as $row) {
  1446. $for_check_array[] = $row['dname'];
  1447. }
  1448.  
  1449. $request = q} )*o+(y(&>t#[( $for_check_array );
  1450. g~# k<wyi( $request );
  1451. }
  1452.  
  1453. if ($action == 'domain/update_private_person_flag') {
  1454. $input_data = <^ &lmsvep qmb( 'input_data', '{}' );
  1455. $folder_id =
  1456. p/cs'0k{
  1457. 77( $uid, $sub_user_folder_name );
  1458. $tmp_array = array( );
  1459. $domains_service_id_array = array( );
  1460. $domains_dname_array = array( );
  1461. $real_domains_service_id_array = array( );
  1462. $real_domains_dname_array = array( );
  1463. $domains_service_id_not_owned_array = array( );
  1464. $domains_dname_not_owned_array = array( );
  1465. $private_person_flag = -1;
  1466. $total_pp_flag = -1;
  1467. $set_total_pp_flag = false;
  1468. $request_array = array( );
  1469. Zend_Json;
  1470. $tmp_array = Zend_Json::decode( $input_data, TYPE_ARRAY );
  1471.  
  1472. foreach ($tmp_array['domains'] as $row) {
  1473. if (isset( $row['service_id'] ) === true) {
  1474. $domains_service_id_array[] = $row['service_id'];
  1475. continue;
  1476. }
  1477.  
  1478. $domains_dname_array[] = s2m2-{6psy,dl)u.<{<( $row['dname'], true );
  1479. }
  1480.  
  1481.  
  1482. if (isset( $tmp_array['private_person_flag'] ) === true) {
  1483. $private_person_flag = (int)$tmp_array['private_person_flag'];
  1484. }
  1485.  
  1486. if (isset( $tmp_array['total_pp_flag'] ) === true) {
  1487. $total_pp_flag = (int)$tmp_array['total_pp_flag'];
  1488. $set_total_pp_flag = true;
  1489. }
  1490.  
  1491. if (0 < count( $domains_service_id_array )) {
  1492. $real_domains_service_id_array = $DB->selectCol( 'SELECT service_id FROM ?_domains WHERE service_id IN (?a) AND user_id = ? AND folder_id = ?', $domains_service_id_array, $uid, $folder_id );
  1493. }
  1494.  
  1495. if (0 < count( $domains_dname_array )) {
  1496. $real_domains_dname_array = $DB->selectCol( 'SELECT domain FROM ?_domains WHERE domain IN (?a) AND user_id = ? AND folder_id = ?', $domains_dname_array, $uid, $folder_id );
  1497. }
  1498.  
  1499.  
  1500. foreach ($domains_service_id_array as $row) {
  1501. if (in_array( $row, $real_domains_service_id_array ) === false) {
  1502. $domains_service_id_not_owned_array[] = $row;
  1503. continue;
  1504. }
  1505.  
  1506. $request_array[] = array( 'domain' => '', 'punycode' => '', 'service_id' => $row );
  1507. }
  1508.  
  1509.  
  1510. foreach ($domains_dname_array as $row) {
  1511. if (in_array( $row, $real_domains_dname_array ) === false) {
  1512. $domains_dname_not_owned_array[] = $row;
  1513. continue;
  1514. }
  1515.  
  1516. $request_array[] = array( 'domain' => '', 'punycode' => ]l{a,k)!?lu,$\[nk;z( $row, true ), 'service_id' => 0 );
  1517. }
  1518.  
  1519.  
  1520. if ($set_total_pp_flag === true) {
  1521. $request = m(v03nju no
  1522. x>b
  1523. f&z0yab'0( $request_array, $total_pp_flag, true );
  1524. } else {
  1525. $request = m(v03nju no
  1526. x>b
  1527. f&z0yab'0( $request_array, $private_person_flag );
  1528. }
  1529.  
  1530. Zend_Json;
  1531. $tmp_array = Zend_Json::decode( $request, TYPE_ARRAY );
  1532.  
  1533. foreach ($tmp_array['answer']['domains'] as $value) {
  1534. if (strtolower( $value['result'] ) == 'success') {
  1535. $value['dname'] = iconv( 'utf-8', 'cp1251', $value['dname'] );
  1536.  
  1537. if ($set_total_pp_flag === true) {
  1538. $DB->query( 'UPDATE ?_domains SET total_pp_flag = ?, service_id = ? WHERE domain = ? AND user_id = ? AND folder_id = ?', $total_pp_flag, $value['service_id'], $value['dname'], $uid, $folder_id );
  1539. continue;
  1540. }
  1541.  
  1542. $DB->query( 'UPDATE ?_domains SET private_flag = ?, service_id = ? WHERE domain = ? AND user_id = ? AND folder_id = ?', $private_person_flag, $value['service_id'], $value['dname'], $uid, $folder_id );
  1543. continue;
  1544. }
  1545. }
  1546.  
  1547. g~# k<wyi( $request );
  1548. }
  1549.  
  1550. if ($action == 'domain/update_nss') {
  1551. $input_data = <^ &lmsvep qmb( 'input_data', '{}' );
  1552. $undelegate = (int)<^ &lmsvep qmb( 'undelegate', 0 );
  1553. $tmp_array = array( );
  1554. $domains_dname_array = array( );
  1555. $real_domains_dname_array = array( );
  1556. $request_array = array( );
  1557. $nss = array( 'ns0' => '', 'ns1' => '', 'ns2' => '', 'ns3' => '', 'ns0ip' => '', 'ns1ip' => '', 'ns2ip' => '', 'ns3ip' => '' );
  1558. $folder_id =
  1559. p/cs'0k{
  1560. 77( $uid, $sub_user_folder_name );
  1561. Zend_Json;
  1562. $tmp_array = Zend_Json::decode( $input_data, TYPE_ARRAY );
  1563.  
  1564. foreach ($tmp_array['domains'] as $row) {
  1565. $domains_dname_array[] = s2m2-{6psy,dl)u.<{<( $row['dname'], true );
  1566. }
  1567.  
  1568.  
  1569. if (isset( $tmp_array['nss']['ns0'] ) === true) {
  1570. $nss['ns0'] = $tmp_array['nss']['ns0'];
  1571. }
  1572.  
  1573. if (isset( $tmp_array['nss']['ns1'] ) === true) {
  1574. $nss['ns1'] = $tmp_array['nss']['ns1'];
  1575. }
  1576.  
  1577. if (isset( $tmp_array['nss']['ns2'] ) === true) {
  1578. $nss['ns2'] = $tmp_array['nss']['ns2'];
  1579. }
  1580.  
  1581. if (isset( $tmp_array['nss']['ns3'] ) === true) {
  1582. $nss['ns3'] = $tmp_array['nss']['ns3'];
  1583. }
  1584.  
  1585. if (isset( $tmp_array['nss']['ns0ip'] ) === true) {
  1586. $nss['ns0ip'] = $tmp_array['nss']['ns0ip'];
  1587. }
  1588.  
  1589. if (isset( $tmp_array['nss']['ns1ip'] ) === true) {
  1590. $nss['ns1ip'] = $tmp_array['nss']['ns1ip'];
  1591. }
  1592.  
  1593. if (isset( $tmp_array['nss']['ns2ip'] ) === true) {
  1594. $nss['ns2ip'] = $tmp_array['nss']['ns2ip'];
  1595. }
  1596.  
  1597. if (isset( $tmp_array['nss']['ns3ip'] ) === true) {
  1598. $nss['ns3ip'] = $tmp_array['nss']['ns3ip'];
  1599. }
  1600.  
  1601. if (0 < count( $domains_dname_array )) {
  1602. $real_domains_dname_array = $DB->selectCol( 'SELECT domain FROM ?_domains WHERE domain IN (?a) AND user_id = ? AND folder_id = ?', $domains_dname_array, $uid, $folder_id );
  1603. }
  1604.  
  1605.  
  1606. foreach ($domains_dname_array as $row) {
  1607. if (in_array( $row, $real_domains_dname_array ) === true) {
  1608. $request_array[] = array( 'domain' => '', 'punycode' => ]l{a,k)!?lu,$\[nk;z( $row, true ) );
  1609. continue;
  1610. }
  1611. }
  1612.  
  1613. $request = x;|v1^\>aosopxm/jmz&( $request_array, $undelegate, $nss['ns0'], $nss['ns1'], $nss['ns2'], $nss['ns3'], $nss['ns0ip'], $nss['ns1ip'], $nss['ns2ip'], $nss['ns3ip'] );
  1614. Zend_Json;
  1615. $tmp_array = Zend_Json::decode( $request, TYPE_ARRAY );
  1616.  
  1617. if (isset( $tmp_array['result'] ) === true) {
  1618. if ($tmp_array['result'] == 'success') {
  1619. foreach ($tmp_array['answer']['domains'] as $row) {
  1620. if (isset( $row['result'] ) === true) {
  1621. if (strtolower( $row['result'] ) == 'success') {
  1622. $row['dname'] = iconv( 'utf-8', 'cp1251', $row['dname'] );
  1623. $DB->query( 'UPDATE ?_domains SET ns0 = ?, ns1 = ?, ns2 = ?, ns3 = ?, ns0ip = ?, ns1ip = ?, ns2ip = ?, ns3ip = ? , undelegated = ? WHERE domain = ? AND user_id = ? AND folder_id = ?', $nss['ns0'], $nss['ns1'], $nss['ns2'], $nss['ns3'], $nss['ns0ip'], $nss['ns1ip'], $nss['ns2ip'], $nss['ns3ip'], $undelegate, $row['dname'], $uid, $folder_id );
  1624. continue;
  1625. }
  1626.  
  1627. continue;
  1628. }
  1629. }
  1630. }
  1631. }
  1632.  
  1633. g~# k<wyi( $request );
  1634. }
  1635.  
  1636. if ($action == 'domain/get_docs_upload_uri') {
  1637. $domain_name = <^ &lmsvep qmb( 'domain_name', '' );
  1638. $tmp_array = array( );
  1639. $srv_all_right = 0;
  1640. $folder_id =
  1641. p/cs'0k{
  1642. 77( $uid, $sub_user_folder_name );
  1643. $domain_name = s2m2-{6psy,dl)u.<{<( $domain_name, true );
  1644. $tmp_domain_array = $DB->selectRow( 'SELECT id, docs_upload_sid FROM ?_domains WHERE user_id = ? AND folder_id = ? AND domain = ? LIMIT 1', $uid, $folder_id, $domain_name );
  1645.  
  1646. if (isset( $tmp_domain_array['id'] ) === true) {
  1647. $srv_all_right = $tmp_domain_array['id'];
  1648. }
  1649.  
  1650. if (0 < $srv_all_right) {
  1651. if (32 <= strlen( $tmp_domain_array['docs_upload_sid'] )) {
  1652. $request = '{"answer" : {"url" : "http://www.reg.ru/user/docs/add?userdoc_secretkey=' . $tmp_domain_array['docs_upload_sid'] . '","docs_upload_sid" : "' . $tmp_domain_array['docs_upload_sid'] . '"},"result" : "success"}';
  1653. } else {
  1654. $request = <)&.jcjeep`s96,o[\dmobw( ]l{a,k)!?lu,$\[nk;z( $domain_name, true ) );
  1655. Zend_Json;
  1656. $tmp_array = Zend_Json::decode( $request, TYPE_ARRAY );
  1657.  
  1658. if (isset( $tmp_array['result'] ) === true) {
  1659. if (strtolower( $tmp_array['result'] ) == 'success') {
  1660. $DB->query( 'UPDATE ?_domains SET docs_upload_sid = ? WHERE id = ?', $tmp_array['answer']['docs_upload_sid'], $srv_all_right );
  1661. }
  1662. }
  1663. }
  1664. } else {
  1665. $request = '{"rp_error_code" : "157000", "result" : "error"}';
  1666. }
  1667.  
  1668. g~# k<wyi( $request );
  1669. }
  1670.  
  1671. if ($action == 'domain/register_ns') {
  1672. $domain_name = <^ &lmsvep qmb( 'domain_name', '' );
  1673. $ns0 = <^ &lmsvep qmb( 'ns0', '' );
  1674. $ns0ip = <^ &lmsvep qmb( 'ns0ip', '' );
  1675. $folder_id =
  1676. p/cs'0k{
  1677. 77( $uid, $sub_user_folder_name );
  1678. $domain_name = s2m2-{6psy,dl)u.<{<( $domain_name, true );
  1679. $srv_all_right = (int)$DB->selectCell( 'SELECT id FROM ?_domains WHERE user_id = ? AND folder_id = ? AND domain = ? LIMIT 1', $uid, $folder_id, $domain_name );
  1680.  
  1681. if (0 < $srv_all_right) {
  1682. $request = r>v3jp0-{*f#e[`;zsjz,( ]l{a,k)!?lu,$\[nk;z( $domain_name, true ), $ns0, $ns0ip );
  1683. } else {
  1684. $request = '{"rp_error_code" : "158000", "result" : "error"}';
  1685. }
  1686.  
  1687. g~# k<wyi( $request );
  1688. }
  1689.  
  1690. if ($action == 'domain/delete_ns') {
  1691. $domain_name = <^ &lmsvep qmb( 'domain_name', '' );
  1692. $ns0 = <^ &lmsvep qmb( 'ns0', '' );
  1693. $ns0ip = <^ &lmsvep qmb( 'ns0ip', '' );
  1694. $folder_id =
  1695. p/cs'0k{
  1696. 77( $uid, $sub_user_folder_name );
  1697. $domain_name = s2m2-{6psy,dl)u.<{<( $domain_name, true );
  1698. $srv_all_right = (int)$DB->selectCell( 'SELECT id FROM ?_domains WHERE user_id = ? AND folder_id = ? AND domain = ? LIMIT 1', $uid, $folder_id, $domain_name );
  1699.  
  1700. if (0 < $srv_all_right) {
  1701. $request =
  1702. .75mz]kpyx #;i$( ]l{a,k)!?lu,$\[nk;z( $domain_name, true ), $ns0, $ns0ip );
  1703. } else {
  1704. $request = '{"rp_error_code" : "159000", "result" : "error"}';
  1705. }
  1706.  
  1707. g~# k<wyi( $request );
  1708. }
  1709.  
  1710. if ($action == 'domain/transfer') {
  1711. $domain_name = <^ &lmsvep qmb( 'domain_name', '' );
  1712. $period = (int)<^ &lmsvep qmb( 'period', 0 );
  1713. $folder_id =
  1714. p/cs'0k{
  1715. 77( $uid, $sub_user_folder_name );
  1716. $domain_name = s2m2-{6psy,dl)u.<{<( $domain_name, true );
  1717.  
  1718. if (in_array( ;^&zqb|zv[
  1719. 3k1p( $domain_name ), $rus_zones_array ) === false) {
  1720. g~# k<wyi( '{"rp_error_code" : "160000", "result" : "error"}' );
  1721. } else {
  1722. if ($validator->validate_domain_name( $domain_name ) === false) {
  1723. g~# k<wyi( '{"rp_error_code" : "16010", "result" : "error"}' );
  1724. }
  1725. }
  1726.  
  1727. $order_id = @ jjci%[c&l1t yqti;( $uid, $domain_name, 'api', $period, $folder_id );
  1728. $domain_id = 3g f?u#>rqw%pm6q,( $uid, $domain_name, 'api', $folder_id );
  1729. $request = sf!>02l;u}59(eap-~( $domain_name );
  1730. $json = new Services_JSON( );
  1731. $obj_request = $json->decode( $request );
  1732.  
  1733. if (is_object( $obj_request )) {
  1734. if (strtolower( $obj_request->result ) == 'success') {
  1735. _yt?(6j@a`k1g`%y( $order_id, 90, $obj_request->answer->service_id );
  1736. qr?5g;f0^_?0ma7%( $domain_id, $obj_request->answer->service_id );
  1737. } else {
  1738. if (isset( $obj_request->error_code ) === true) {
  1739. if (5 < strlen( $obj_request->error_code )) {
  1740. _yt?(6j@a`k1g`%y( $order_id, 91 );
  1741. m#=(+43ljk/<++4 ?( $domain_id );
  1742. }
  1743. }
  1744. }
  1745. }
  1746.  
  1747. g~# k<wyi( $request );
  1748. }
  1749.  
  1750. if ($action == 'domain/transfer_cancel') {
  1751. $domain_name = <^ &lmsvep qmb( 'domain_name', '' );
  1752. $service_id = (int)<^ &lmsvep qmb( 'service_id', 0 );
  1753.  
  1754. if (r{87;y2us]o( $domain_name ) === true) {
  1755. $punycode_domain_name = s2m2-{6psy,dl)u.<{<( $domain_name );
  1756. } else {
  1757. $punycode_domain_name = '';
  1758. }
  1759.  
  1760. $domain_id = (int)$DB->selectCell( 'SELECT id FROM ?_domains WHERE user_id = ? AND folder_id = ? AND domain = ? LIMIT 1', $uid, $folder_id, s2m2-{6psy,dl)u.<{<( $domain_name, true ) );
  1761.  
  1762. if (0 < $domain_id) {
  1763. $request = &%f/p>3w xecs43jop9=uz( array( 'domain' => $domain_name, 'punycode' => $punycode_domain_name, 'servtype' => 'domain', 'service_id' => $service_id ) );
  1764. } else {
  1765. g~# k<wyi( '{"rp_error_code" : "161000", "result" : "error"}' );
  1766. }
  1767.  
  1768. $order_id = (int)$DB->selectCell( 'SELECT id FROM ?_orders WHERE domain = ? AND operation = ? AND status = 90 AND user_id = ?', s2m2-{6psy,dl)u.<{<( $domain_name, true ), 'transfer', $uid );
  1769. $json = new Services_JSON( );
  1770. $obj_request = $json->decode( $request );
  1771.  
  1772. if (is_object( $obj_request )) {
  1773. if (strtolower( $obj_request->result ) == 'success') {
  1774. _yt?(6j@a`k1g`%y( $order_id, 94 );
  1775. m#=(+43ljk/<++4 ?( $domain_id );
  1776. }
  1777. }
  1778.  
  1779. g~# k<wyi( $request );
  1780. }
  1781.  
  1782. if ($action == 'domain/check_if_our') {
  1783. $domain_name = <^ &lmsvep qmb( 'dname', '' );
  1784. $request = -#u)f-dnfau}$''#ou"\2( $domain_name );
  1785. g~# k<wyi( $request );
  1786. }
  1787.  
  1788. $action == 'zone/clear';
  1789.  
  1790. if ($action == 'zone/update_records') {
  1791. $input_data = <^ &lmsvep qmb( 'input_data', '{}' );
  1792. $tmp_array = array( );
  1793. $srv_all_right = 0;
  1794. $tmp_service_id = 0;
  1795. $tmp_domain_name = '';
  1796. $folder_id =
  1797. p/cs'0k{
  1798. 77( $uid, $sub_user_folder_name );
  1799. Zend_Json;
  1800. $tmp_array = Zend_Json::decode( $input_data, TYPE_ARRAY );
  1801.  
  1802. foreach ($tmp_array['services'] as $row) {
  1803. if (isset( $row['service_id'] ) === true) {
  1804. $tmp_service_id = $row['service_id'];
  1805. continue;
  1806. }
  1807.  
  1808. if (isset( $row['domain_name'] ) === true) {
  1809. $tmp_domain_name = $row['domain_name'];
  1810. continue;
  1811. }
  1812. }
  1813.  
  1814. $is_srv = false;
  1815. $srv_all_right = (int)$DB->selectCell( 'SELECT id FROM ?_domains WHERE user_id = ? AND folder_id = ? AND (domain = ? || service_id = ?) LIMIT 1', $uid, $folder_id, s2m2-{6psy,dl)u.<{<( $tmp_domain_name, true ), $tmp_service_id );
  1816.  
  1817. if ($srv_all_right === 0) {
  1818. $srv_all_right = (int)$DB->selectCell( 'SELECT id FROM ?_srv_services WHERE user_id = ? AND folder_id = ? AND (domain = ? || service_id = ?) LIMIT 1', $uid, $folder_id, s2m2-{6psy,dl)u.<{<( $tmp_domain_name, true ), $tmp_service_id );
  1819.  
  1820. if (0 < $srv_all_right) {
  1821. $is_srv = true;
  1822. }
  1823. }
  1824.  
  1825. if (0 < $srv_all_right) {
  1826. if ($is_srv === false) {
  1827. $domain_data = +e3ee't?keee( $srv_all_right, $uid );
  1828. } else {
  1829. $domain_data = `!ccjrd/g2tf4n ( $srv_all_right, $uid );
  1830. }
  1831.  
  1832. $request = ye;il,l u6#fsl gg7|$q( $domain_data, $tmp_array['action_list'] );
  1833. } else {
  1834. $request = '{"rp_error_code" : "171000", "result" : "error"}';
  1835. }
  1836.  
  1837. g~# k<wyi( $request );
  1838. }
  1839.  
  1840. if ($action == 'zone/update_soa') {
  1841. $domain_name = <^ &lmsvep qmb( 'domain_name', '' );
  1842. $service_id = (int)<^ &lmsvep qmb( 'service_id', 0 );
  1843. $tmp_array = array( );
  1844. $srv_all_right = 0;
  1845. $folder_id =
  1846. p/cs'0k{
  1847. 77( $uid, $sub_user_folder_name );
  1848. $is_srv = false;
  1849. $srv_all_right = (int)$DB->selectCell( 'SELECT id FROM ?_domains WHERE user_id = ? AND folder_id = ? AND (domain = ? || service_id = ?) LIMIT 1', $uid, $folder_id, s2m2-{6psy,dl)u.<{<( $domain_name, true ), $service_id );
  1850.  
  1851. if ($srv_all_right === 0) {
  1852. $srv_all_right = (int)$DB->selectCell( 'SELECT id FROM ?_srv_services WHERE user_id = ? AND folder_id = ? AND (domain = ? || service_id = ?) LIMIT 1', $uid, $folder_id, s2m2-{6psy,dl)u.<{<( $domain_name, true ), $service_id );
  1853.  
  1854. if (0 < $srv_all_right) {
  1855. $is_srv = true;
  1856. }
  1857. }
  1858.  
  1859. if (0 < $srv_all_right) {
  1860. if ($is_srv === false) {
  1861. $domain_data = +e3ee't?keee( $srv_all_right, $uid );
  1862. } else {
  1863. $domain_data = `!ccjrd/g2tf4n ( $srv_all_right, $uid );
  1864. }
  1865.  
  1866. $request = ) h"tu5m6z,;$g
  1867. #nq( $domain_data );
  1868. } else {
  1869. $request = '{"rp_error_code" : "172000", "result" : "error"}';
  1870. }
  1871.  
  1872. g~# k<wyi( $request );
  1873. }
  1874.  
  1875. if ($action == 'zone/get_resource_records') {
  1876. $input_data = <^ &lmsvep qmb( 'input_data', '{}' );
  1877. $tmp_array = array( );
  1878. $srv_all_right = 0;
  1879. $domain_name = '';
  1880. $service_id = 0;
  1881. $folder_id =
  1882. p/cs'0k{
  1883. 77( $uid, $sub_user_folder_name );
  1884. Zend_Json;
  1885. $tmp_array = Zend_Json::decode( $input_data, TYPE_ARRAY );
  1886.  
  1887. if (isset( $tmp_array['domains'] ) === true) {
  1888. if (isset( $tmp_array['domains'][0]['service_id'] ) === true) {
  1889. $service_id = $tmp_array['domains'][0]['service_id'];
  1890. } else {
  1891. if (isset( $tmp_array['domains'][0]['dname'] ) === true) {
  1892. $domain_name = $tmp_array['domains'][0]['dname'];
  1893. }
  1894. }
  1895.  
  1896. $is_srv = false;
  1897. $srv_all_right = (int)$DB->selectCell( 'SELECT id FROM ?_domains WHERE user_id = ? AND folder_id = ? AND (domain = ? || service_id = ?) LIMIT 1', $uid, $folder_id, s2m2-{6psy,dl)u.<{<( $domain_name, true ), $service_id );
  1898.  
  1899. if ($srv_all_right === 0) {
  1900. $srv_all_right = (int)$DB->selectCell( 'SELECT id FROM ?_srv_services WHERE user_id = ? AND folder_id = ? AND (domain = ? || service_id = ?) LIMIT 1', $uid, $folder_id, s2m2-{6psy,dl)u.<{<( $domain_name, true ), $service_id );
  1901.  
  1902. if (0 < $srv_all_right) {
  1903. $is_srv = true;
  1904. }
  1905. }
  1906.  
  1907. if (0 < $srv_all_right) {
  1908. if ($is_srv === false) {
  1909. $domain_data = +e3ee't?keee( $srv_all_right, $uid );
  1910. } else {
  1911. $domain_data = `!ccjrd/g2tf4n ( $srv_all_right, $uid );
  1912. }
  1913.  
  1914. $request = i ;&?r0;[
  1915. .om{&f3 n0l( $domain_data );
  1916. } else {
  1917. $request = '{"rp_error_code" : "173000", "result" : "error"}';
  1918. }
  1919. } else {
  1920. $request = '{"rp_error_code" : "173001", "result" : "error"}';
  1921. }
  1922.  
  1923. g~# k<wyi( $request );
  1924. }
  1925.  
  1926. if ($action == 'zone/remove_record') {
  1927. $input_data = <^ &lmsvep qmb( 'input_data', '{}' );
  1928. $subdomain = <^ &lmsvep qmb( 'subdomain', '' );
  1929. $record_type = <^ &lmsvep qmb( 'record_type', '' );
  1930. $priority = <^ &lmsvep qmb( 'priority', '' );
  1931. $content = <^ &lmsvep qmb( 'content', '' );
  1932. $tmp_array = array( );
  1933. $srv_all_right = 0;
  1934. $domain_name = '';
  1935. $service_id = 0;
  1936. $folder_id =
  1937. p/cs'0k{
  1938. 77( $uid, $sub_user_folder_name );
  1939. Zend_Json;
  1940. $tmp_array = Zend_Json::decode( $input_data, TYPE_ARRAY );
  1941.  
  1942. if (isset( $tmp_array['domains'] ) === true) {
  1943. if (isset( $tmp_array['domains'][0]['service_id'] ) === true) {
  1944. $service_id = $tmp_array['domains'][0]['service_id'];
  1945. } else {
  1946. if (isset( $tmp_array['domains'][0]['dname'] ) === true) {
  1947. $domain_name = $tmp_array['domains'][0]['dname'];
  1948. }
  1949. }
  1950.  
  1951. $is_srv = false;
  1952. $srv_all_right = (int)$DB->selectCell( 'SELECT id FROM ?_domains WHERE user_id = ? AND folder_id = ? AND (domain = ? || service_id = ?) LIMIT 1', $uid, $folder_id, s2m2-{6psy,dl)u.<{<( $domain_name, true ), $service_id );
  1953.  
  1954. if ($srv_all_right === 0) {
  1955. $srv_all_right = (int)$DB->selectCell( 'SELECT id FROM ?_srv_services WHERE user_id = ? AND folder_id = ? AND (domain = ? || service_id = ?) LIMIT 1', $uid, $folder_id, s2m2-{6psy,dl)u.<{<( $domain_name, true ), $service_id );
  1956.  
  1957. if (0 < $srv_all_right) {
  1958. $is_srv = true;
  1959. }
  1960. }
  1961.  
  1962. if (0 < $srv_all_right) {
  1963. if ($is_srv === false) {
  1964. $domain_data = +e3ee't?keee( $srv_all_right, $uid );
  1965. } else {
  1966. $domain_data = `!ccjrd/g2tf4n ( $srv_all_right, $uid );
  1967. }
  1968.  
  1969. $request = !p'?g0f&h6yr4swr+nw8 ( $domain_data, $subdomain, $record_type, $priority, $content );
  1970. } else {
  1971. $request = '{"rp_error_code" : "174000", "result" : "error"}';
  1972. }
  1973. } else {
  1974. $request = '{"rp_error_code" : "174001", "result" : "error"}';
  1975. }
  1976.  
  1977. g~# k<wyi( $request );
  1978. }
  1979.  
  1980. if ($action == 'zone/tune_forwarding') {
  1981. $input_data = <^ &lmsvep qmb( 'input_data', '{}' );
  1982. $tmp_array = array( );
  1983. $srv_all_right = 0;
  1984. $domain_name = '';
  1985. $service_id = 0;
  1986. $folder_id =
  1987. p/cs'0k{
  1988. 77( $uid, $sub_user_folder_name );
  1989. Zend_Json;
  1990. $tmp_array = Zend_Json::decode( $input_data, TYPE_ARRAY );
  1991.  
  1992. if (isset( $tmp_array['domains'] ) === true) {
  1993. if (isset( $tmp_array['domains'][0]['service_id'] ) === true) {
  1994. $service_id = $tmp_array['domains'][0]['service_id'];
  1995. } else {
  1996. if (isset( $tmp_array['domains'][0]['dname'] ) === true) {
  1997. $domain_name = $tmp_array['domains'][0]['dname'];
  1998. }
  1999. }
  2000.  
  2001. $srv_all_right = (int)$DB->selectCell( 'SELECT id FROM ?_domains WHERE user_id = ? AND folder_id = ? AND (domain = ? || service_id = ?) LIMIT 1', $uid, $folder_id, s2m2-{6psy,dl)u.<{<( $domain_name, true ), $service_id );
  2002.  
  2003. if (0 < $srv_all_right) {
  2004. $domain_data = +e3ee't?keee( $srv_all_right, $uid );
  2005. $request = x ] %zgtjw|3v"cs
  2006. ;ze( $domain_data );
  2007. } else {
  2008. $request = '{"rp_error_code" : "175000", "result" : "error"}';
  2009. }
  2010. } else {
  2011. $request = '{"rp_error_code" : "175001", "result" : "error"}';
  2012. }
  2013.  
  2014. g~# k<wyi( $request );
  2015. }
  2016.  
  2017. g~# k<wyi( '{"rp_error_code":"1","error_code":"UNKNOWN_ERROR","result" : "error"}' );
  2018. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement