settings.php 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318
  1. <?php
  2. function curPageName()
  3. {
  4. return substr($_SERVER["SCRIPT_NAME"],strrpos($_SERVER["SCRIPT_NAME"],"/")+1);
  5. }
  6. function exec_ogp_module()
  7. {
  8. require('includes/config.inc.php');
  9. require_once('modules/settings/functions.php');
  10. require_once('includes/form_table_class.php');
  11. global $db,$view,$settings;
  12. $pp_currencies = Array (
  13. 'AUD' => 'Australian Dollar',
  14. 'BRL' => 'Brazilian Real',
  15. 'CAD' => 'Canadian Dollar',
  16. 'CZK' => 'Czech Koruna',
  17. 'DKK' => 'Danish Krone',
  18. 'EUR' => 'Euro',
  19. 'HKD' => 'Hong Kong Dollar',
  20. 'HUF' => 'Hungarian Forint',
  21. 'ILS' => 'Israeli New Sheqel',
  22. 'JPY' => 'Japanese Yen',
  23. 'MYR' => 'Malaysian Ringgit',
  24. 'MXN' => 'Mexican Peso',
  25. 'NOK' => 'Norwegian Krone',
  26. 'NZD' => 'New Zealand Dollar',
  27. 'PHP' => 'Philippine Peso',
  28. 'PLN' => 'Polish Zloty',
  29. 'GBP' => 'Pound Sterling',
  30. 'RUB' => 'Russian Ruble',
  31. 'SGD' => 'Singapore Dollar',
  32. 'SEK' => 'Swedish Krona',
  33. 'CHF' => 'Swiss Franc',
  34. 'TWD' => 'Taiwan New Dollar',
  35. 'THB' => 'Thai Baht',
  36. 'TRY' => 'Turkish Lira',
  37. 'USD' => 'U.S. Dollar'
  38. );
  39. $sk_currencies = Array (
  40. 'AUD' => 'Australian Dollar',
  41. 'BGN' => 'Bulgarian Leva',
  42. 'CAD' => 'Canadian Dollar',
  43. 'HRK' => 'Croatian Kuna',
  44. 'CZK' => 'Czech Koruna',
  45. 'DKK' => 'Danish Krone',
  46. 'EEK' => 'Estonian Kroon',
  47. 'EUR' => 'Euro',
  48. 'HKD' => 'Hong Kong Dollar',
  49. 'HUF' => 'Hungarian Forint',
  50. 'ISK' => 'Iceland Krona',
  51. 'INR' => 'Indian Rupee',
  52. 'ILS' => 'Israeli New Sheqel',
  53. 'JPY' => 'Japanese Yen',
  54. 'JOD' => 'Jordanian Dinar',
  55. 'LVL' => 'Latvian Lat',
  56. 'LTL' => 'Lithuanian Litas',
  57. 'MYR' => 'Malaysian Ringgit',
  58. 'MAD' => 'Moroccan Dirham',
  59. 'NOK' => 'Norwegian Krone',
  60. 'NZD' => 'New Zealand Dollar',
  61. 'OMR' => 'Omani Rial',
  62. 'PLN' => 'Polish Zloty',
  63. 'GBP' => 'Pound Sterling',
  64. 'QAR' => 'Qatari Rial',
  65. 'RON' => 'Romanian Leu New',
  66. 'SAR' => 'Saudi Riyal',
  67. 'RSD' => 'Serbian dinar',
  68. 'SGD' => 'Singapore Dollar',
  69. 'SKK' => 'Slovakian Koruna',
  70. 'ZAR' => 'South-African Rand',
  71. 'KRW' => 'South-Korean Won',
  72. 'SEK' => 'Swedish Krona',
  73. 'CHF' => 'Swiss Franc',
  74. 'TWD' => 'Taiwan New Dollar',
  75. 'THB' => 'Thai Baht',
  76. 'TND' => 'Tunisian Dinar',
  77. 'TRY' => 'Turkish Lira',
  78. 'AED' => 'Utd. Arab Emir. Dirham',
  79. 'USD' => 'U.S. Dollar'
  80. );
  81. $pg_currencies = Array (
  82. "AED" => "United Arab Emirates Dirham",
  83. "ALL" => "Albania Lek",
  84. "ARS" => "Argentina Peso",
  85. "AUD" => "Australia Dollar",
  86. "AZN" => "Azerbaijan New Manat",
  87. "BAM" => "Bosnia and Herzegovina Convertible Marka",
  88. "BGN" => "Bulgaria Lev",
  89. "BOB" => "Bolivia Boliviano",
  90. "BRL" => "Brazil Real",
  91. "BYR" => "Belarus Ruble",
  92. "CAD" => "Canada Dollar",
  93. "CHF" => "Switzerland Franc",
  94. "CLP" => "Chile Peso",
  95. "COP" => "Colombia Peso",
  96. "CRC" => "Costa Rica Colon",
  97. "CZK" => "Czech Republic Koruna",
  98. "DKK" => "Denmark Krone",
  99. "DOP" => "Dominican Republic Peso",
  100. "EGP" => "Egypt Pound",
  101. "EUR" => "Euro",
  102. "GBP" => "United Kingdom Pound",
  103. "GTQ" => "Guatemala Quetzal",
  104. "HKD" => "Hong Kong Dollar",
  105. "HRK" => "Croatia Kuna",
  106. "HUF" => "Hungary Forint",
  107. "IDR" => "Indonesia Rupiah",
  108. "ILS" => "Israel Shekel",
  109. "IQD" => "Iraq Dinar",
  110. "JOD" => "Jordan Dinar",
  111. "KES" => "Kenya Shilling",
  112. "KGS" => "Kyrgyzstan Som",
  113. "KWD" => "Kuwait Dinar",
  114. "LTL" => "Lithuania Litas",
  115. "LVL" => "Latvia Lat",
  116. "MAD" => "Morocco Dirham",
  117. "MKD" => "Macedonia Denar",
  118. "MXN" => "Mexico Peso",
  119. "MYR" => "Malaysia Ringgit",
  120. "NGN" => "Nigeria Naira",
  121. "NIO" => "Nicaragua Cordoba",
  122. "NOK" => "Norway Krone",
  123. "PEN" => "Peru Nuevo Sol",
  124. "PLN" => "Poland Zloty",
  125. "QAR" => "Qatar Riyal",
  126. "RSD" => "Serbia Dinar",
  127. "RUB" => "Russia Ruble",
  128. "SAR" => "Saudi Arabia Riyal",
  129. "SEK" => "Sweden Krona",
  130. "THB" => "Thailand Baht",
  131. "TRY" => "Turkey Lira",
  132. "TWD" => "Taiwan New Dollar",
  133. "TZS" => "Tanzania Shilling",
  134. "UAH" => "Ukraine Hryvna",
  135. "USD" => "U.S. Dollar",
  136. "UYU" => "Uruguay Peso",
  137. "VEF" => "Venezuela Bolivar",
  138. "VND" => "Viet Nam Dong",
  139. "ZAR" => "South Africa Rand"
  140. );
  141. $rk_currencies = Array (
  142. "RUB" => "Russia Ruble"
  143. );
  144. $settings['paypal'] = isset($settings['paypal']) ? $settings['paypal'] : "1";
  145. $settings['paygol'] = isset($settings['paygol']) ? $settings['paygol'] : "1";
  146. $settings['skrill'] = isset($settings['skrill']) ? $settings['skrill'] : "1";
  147. $settings['robokassa'] = isset($settings['robokassa']) ? $settings['robokassa'] : "1";
  148. $settings['currency'] = isset($settings['currency']) ? $settings['currency'] : "EUR";
  149. $settings['hourly'] = isset($settings['hourly']) ? $settings['hourly'] : 1;
  150. $settings['monthly'] = isset($settings['monthly']) ? $settings['monthly'] : 1;
  151. $settings['annually'] = isset($settings['annually']) ? $settings['annually'] : 1;
  152. $settings['tax_amount'] = isset($settings['tax_amount']) ? $settings['tax_amount'] : 18;
  153. $settings['paypal_email'] = isset($settings['paypal_email']) ? $settings['paypal_email'] : "Business@E-mail";
  154. $settings['skrill_merchant_id'] = isset($settings['skrill_merchant_id']) ? $settings['skrill_merchant_id'] : "";
  155. $settings['skrill_email'] = isset($settings['skrill_email']) ? $settings['skrill_email'] : "Business@E-mail";
  156. $settings['skrill_secret_word'] = (isset($settings['skrill_secret_word']) and $settings['skrill_secret_word'] != "") ? get_lang('hash_stored_correctly') : "";
  157. $settings['paygol_service_id'] = isset($settings['paygol_service_id']) ? $settings['paygol_service_id'] : "0";
  158. $settings['robokassa_merchant_login'] = isset($settings['robokassa_merchant_login']) ? $settings['robokassa_merchant_login'] : "";
  159. $settings['robokassa_securepass1'] = isset($settings['robokassa_securepass1']) ? $settings['robokassa_securepass1'] : "";
  160. $settings['robokassa_securepass2'] = isset($settings['robokassa_securepass2']) ? $settings['robokassa_securepass2'] : "";
  161. function checked($value){
  162. global $settings;
  163. if( $settings[$value] == 1 )
  164. return 'checked="checked"';
  165. }
  166. $currencies = array();
  167. if($settings['paypal'] == "1")
  168. $currencies = array_merge($currencies,$pp_currencies);
  169. if($settings['paygol'] == "1")
  170. $currencies = array_merge($currencies,$pg_currencies);
  171. if($settings['skrill'] == "1")
  172. $currencies = array_merge($currencies,$sk_currencies);
  173. if($settings['robokassa'] == "1")
  174. $currencies = array_merge($currencies,$rk_currencies);
  175. asort($currencies);
  176. if(isset($_POST['currency']))
  177. {
  178. $currency = $_REQUEST['currency'];
  179. $ERROR = FALSE;
  180. $_SESSION['err_str'] = "";
  181. if($_REQUEST['paypal'] == '1')
  182. {
  183. if(!array_key_exists($currency,$pp_currencies))
  184. {
  185. $_SESSION['err_str'] .= get_lang_f('currency_not_available_at',$currencies[$currency],get_lang('paypal'))."<br>";
  186. $ERROR = TRUE;
  187. }
  188. }
  189. if($_REQUEST['paygol'] == '1')
  190. {
  191. if(!array_key_exists($currency,$pg_currencies))
  192. {
  193. $_SESSION['err_str'] .= get_lang_f('currency_not_available_at',$currencies[$currency],get_lang('paygol'))."<br>";
  194. $ERROR = TRUE;
  195. }
  196. }
  197. if($_REQUEST['skrill'] == '1')
  198. {
  199. if(!array_key_exists($currency,$sk_currencies))
  200. {
  201. $_SESSION['err_str'] .= get_lang_f('currency_not_available_at',$currencies[$currency],get_lang('skrill'));
  202. $ERROR = TRUE;
  203. }
  204. }
  205. if($_REQUEST['robokassa'] == '1')
  206. {
  207. if(!array_key_exists($currency,$rk_currencies))
  208. {
  209. $_SESSION['err_str'] .= get_lang_f('currency_not_available_at',$currencies[$currency],get_lang('robokassa'));
  210. $currency = "RUB";
  211. }
  212. }
  213. if($ERROR)
  214. $currency = "EUR";
  215. }
  216. if ( isset($_REQUEST['update_settings']) )
  217. {
  218. $settings = array(
  219. "paypal" => $_REQUEST['paypal'],
  220. "paygol" => $_REQUEST['paygol'],
  221. "skrill" => $_REQUEST['skrill'],
  222. "robokassa" => $_REQUEST['robokassa'],
  223. "currency" => $currency,
  224. "hourly" => @$_REQUEST['hourly'],
  225. "monthly" => @$_REQUEST['monthly'],
  226. "annually" => @$_REQUEST['annually'],
  227. "tax_amount" => $_REQUEST['tax_amount'],
  228. "paypal_email" => $_REQUEST['paypal_email'],
  229. "skrill_merchant_id" => $_REQUEST['skrill_merchant_id'],
  230. "skrill_email" => $_REQUEST['skrill_email'],
  231. "paygol_service_id" => $_REQUEST['paygol_service_id'],
  232. "robokassa_merchant_login" => $_REQUEST['robokassa_merchant_login'],
  233. "robokassa_securepass1" => $_REQUEST['robokassa_securepass1'],
  234. "robokassa_securepass2" => $_REQUEST['robokassa_securepass2']);
  235. if($_REQUEST['skrill_secret_word'] != get_lang('hash_stored_correctly'))
  236. {
  237. if($_REQUEST['skrill_secret_word'] != "")
  238. $settings['skrill_secret_word'] = md5($_REQUEST['skrill_secret_word']);
  239. else
  240. $settings['skrill_secret_word'] = "";
  241. }
  242. $db->setSettings($settings);
  243. print_success(get_lang('settings_updated'));
  244. $view->refresh("?m=billing&p=shop_settings");
  245. return;
  246. }
  247. $s = ( isset($_SERVER['HTTPS']) and get_true_boolean($_SERVER['HTTPS']) ) ? "s" : "";
  248. $p = isset($_SERVER['SERVER_PORT']) & $_SERVER['SERVER_PORT'] != "80" ? ":".$_SERVER['SERVER_PORT'] : NULL ;
  249. $this_script = 'http'.$s.'://'.$_SERVER['SERVER_NAME'].$p.$_SERVER['SCRIPT_NAME'];
  250. $current_folder_url = str_replace( curPageName(), "", $this_script);
  251. $robokassa_Result_URL = $current_folder_url.'modules/billing/robokassa-ipn.php';
  252. echo "<style>
  253. h4{
  254. width:250px;
  255. height:25px;
  256. background:#f5f5f5;
  257. border-top-style:solid;
  258. border-top-color:#afafaf;
  259. border-top-width:1px;
  260. border-style: solid;
  261. border-color: #CFCFCF;
  262. border-width: 1px;
  263. padding-top:8px;
  264. text-align: center;
  265. font-family:'Trebuchet MS';
  266. }
  267. </style>
  268. ";
  269. echo "<h2>".get_lang('shop_settings')."</h2>";
  270. print_failure($_SESSION['err_str']);
  271. $ft = new FormTable();
  272. $ft->start_form("?m=billing&p=shop_settings");
  273. $ft->start_table();
  274. echo "<tr><td colspan='2' ><h4>".get_lang('payment_gateway')."</h4></td></tr>";
  275. $ft->add_custom_field('paypal','<input type="checkbox" name="paypal" value="1" '.checked('paypal').'/>');
  276. $ft->add_custom_field('paygol','<input type="checkbox" name="paygol" value="1" '.checked('paygol').'/>');
  277. $ft->add_custom_field('skrill','<input type="checkbox" name="skrill" value="1" '.checked('skrill').'/>');
  278. $ft->add_custom_field('robokassa','<input type="checkbox" name="robokassa" value="1" '.checked('robokassa').'/>');
  279. $ft->add_custom_field('currency',
  280. create_drop_box_from_array($currencies,"currency",$settings['currency'],false));
  281. echo "<tr><td colspan='2' ><h4>".get_lang('available_invoice_types')."</h4></td></tr>";
  282. $ft->add_custom_field('hourly','<input type="checkbox" name="hourly" value="1" '.checked('hourly').'/>');
  283. $ft->add_custom_field('monthly','<input type="checkbox" name="monthly" value="1" '.checked('monthly').'/>');
  284. $ft->add_custom_field('annually','<input type="checkbox" name="annually" value="1" '.checked('annually').'/>');
  285. echo "<tr><td colspan='2' ><h4>".get_lang('tax_amount')."</h4></td></tr>";
  286. $ft->add_field('string','tax_amount',$settings['tax_amount'],2);
  287. echo "<tr><td colspan='2' ><h4>".get_lang('paypal_email')."</h4></td></tr>";
  288. $ft->add_field('string','paypal_email',$settings['paypal_email'],35);
  289. echo "<tr><td colspan='2' ><h4>".get_lang('skrill_merchant_info')."</h4></td></tr>";
  290. $ft->add_field('string','skrill_merchant_id',$settings['skrill_merchant_id'],35);
  291. $ft->add_field('string','skrill_email',$settings['skrill_email'],35);
  292. $ft->add_field('string','skrill_secret_word',$settings['skrill_secret_word'],35);
  293. echo "<tr><td colspan='2' ><h4>".get_lang('paygol_service')."</h4></td></tr>";
  294. $ft->add_field('string','paygol_service_id',$settings['paygol_service_id'],35);
  295. echo "<tr><td colspan='2' ><h4>".get_lang('robokassa_service')."</h4></td></tr>";
  296. $ft->add_field('string','robokassa_merchant_login',$settings['robokassa_merchant_login'],35);
  297. $ft->add_field('password','robokassa_securepass1',$settings['robokassa_securepass1'],35);
  298. $ft->add_field('password','robokassa_securepass2',$settings['robokassa_securepass2'],35);
  299. echo "<tr><td align='right'>Result_URL:</td><td align='left'><b>".$robokassa_Result_URL."</b></td></tr>";
  300. $ft->end_table();
  301. $ft->add_button("submit","update_settings",get_lang('update_settings'));
  302. $ft->end_form();
  303. }
  304. ?>