/** * Инициализируем тип оплаты на странице. * * @todo: более данный механизм не используется, хотя можно было на его базе попробовать использовать ЯДКассу * * @param string $type_payment Название тип оплаты (передается в $_GET['type']) */ public function setPaymentMethod($type_payment) { require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/exrates.php'; switch ($type_payment) { case 'sber_print': $this->payment_template = 'bank/tpl.bank_fiz_print.php'; $this->type_menu_block = 'bank'; $this->payment_type = exrates::BANK; break; case 'sber': require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/bank_payments.php'; $this->payment_template = 'bank/tpl.bank_fiz.php'; $this->type_menu_block = 'bank'; $this->payment_type = exrates::BANK; $this->pm = new bank_payments(); $this->pm->bank_code = __paramInit('int', null, 'bc', bank_payments::BC_SB); $this->pm->sum = __paramInit('float', null, 'Sum'); $bp_reqv = bank_payments::GetLastReqv($this->pm->bank_code, $this->user['uid']); $this->pm->fio = $bp_reqv['fio']; $this->pm->address = $bp_reqv['address']; if (!$this->pm->bill_num) { $this->pm->bill_num = bank_payments::GenBillNum($this->pm->bank_code, $this->user['uid'], $this->acc['id']); } if (isset($_POST['action']) && $_POST['action'] == 'payment') { $this->pm->fio = substr(__paramInit('string', null, 'fio'), 0, 128); $this->pm->is_gift = false; $this->pm->address = substr(__paramInit('string', null, 'address'), 0, 255); $this->pm->bank_code = __paramInit('int', null, 'bc'); $this->pm->sum = __paramInit('float', null, 'sum'); setlocale(LC_ALL, 'en_US.UTF-8'); // гребанная бета! (это не мое) $this->pm->fm_sum = $bp->sum / EXCH_TR; $id = __paramInit('int', null, 'id'); if ($this->pm->sum < 10) { $alert['sum'] = 'Минимальная сумма платежа 10 рублей'; } if (!$this->pm->fio) { $alert['fio'] = 'Поле заполнено некорректно.'; } if (!$this->pm->address) { $alert['address'] = 'Поле заполнено некорректно.'; } if (!$alert) { if ($id) { $this->pm->bank_code = null; $this->pm->Update($id, " AND user_id = {$this->user['uid']} AND accepted_time IS NULL"); } else { $this->pm->bill_num = bank_payments::GenBillNum($this->pm->bank_code, $this->user['uid'], $this->acc['id']); $this->pm->user_id = $this->user['uid']; $this->pm->op_code = 12; $id = $this->pm->Add($error, true); } if (!$error) { $prepare = $this->preparePayments($this->getTotalAmmountOrders()); if ($prepare) { header("Location: /bill/payment/print/?type=sber_print&id={$id}"); exit; } } } $this->error = $alert; } $this->bank = bank_payments::GetBank($bp->bank_code); break; case 'bank_print': require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/reqv.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/reqv_ordered.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/city.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/country.php'; if ($_GET['order'] > 0) { $this->payment_template = 'bank/tpl.bank_jur_transfer.php'; $this->tid = intval($_GET['order']); } else { $this->payment_template = 'bank/tpl.bank_jur_print.php'; } $this->type_menu_block = 'bank'; $this->payment_type = exrates::BANK; $this->bank_sum = $_SESSION['sum_bank_print']; $this->bank_id = $_SESSION['id_bank_print']; unset($_SESSION['sum_bank_print'], $_SESSION['id_bank_print']); break; case 'bank': require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/reqv.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/reqv_ordered.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/city.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/country.php'; $this->payment_template = 'bank/tpl.bank_jur.php'; $this->type_menu_block = 'bank'; $this->payment_type = exrates::BANK; $this->pm = new reqv(); $reqvByUid = $this->pm->GetByUid($this->user['uid']); $reqvs_ord = new reqv_ordered(); $this->pm->billNum = sizeof($reqvs_ord->GetByUid($this->user['uid'])); $this->pm->BindRequest($reqvByUid[0]); if (isset($_POST['action']) && $_POST['action'] == 'payment') { $_POST['country'] = country::getCountryName($_POST['country_db_id']); $_POST['city'] = city::getCityName($_POST['city_db_id']); $this->pm->BindRequest($_POST); $this->error = $this->pm->CheckInput(); if ($_POST['sum'] < 10) { $this->error['sum'] = 'Минимальная сумма платежа 10 рублей'; } if (!$this->error) { $this->pm->user_id = $this->user['uid']; if ($reqvByUid[0]['id'] > 0) { $id = $reqvByUid[0]['id']; $this->pm->Update($id, " AND user_id= {$this->user['uid']}"); } else { $id = $this->pm->Add($err, true); } $prepare = $this->preparePayments($this->getTotalAmmountOrders()); if ($prepare) { $_SESSION['id_bank_print'] = $id; $_SESSION['sum_bank_print'] = intval($_POST['sum']); header('Location: /bill/payment/print/?type=bank_print'); exit; } } } break; case 'alphabank': $this->payment_template = 'bank/tpl.alphabank.php'; $this->type_menu_block = 'bank'; $this->payment_type = exrates::BANK; if (isset($_POST['action']) && $_POST['action'] == 'reserve') { header('Location: /bill/'); exit; } break; case 'card': require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/settings.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/card_account.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/cardpay.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/city.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/sbr_meta.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/onlinedengi_cards.php'; $this->payment_template = 'card/tpl.card.php'; $this->type_menu_block = 'card'; $this->payment_type = exrates::CARD; $this->card_merchant = settings::GetVariable('billing', 'card_merchant'); if ($this->card_merchant) { $card_account = new card_account(); $card_account->account_id = $this->acc['id']; $this->pm = new onlinedengi_cards(); if (!$this->not_init_pm) { $this->pm->order_id = $card_account->Add(); } } else { $this->pm = new card_account(); $this->pm->account_id = $this->acc['id']; if (!$this->not_init_pm) { $this->pm->order_id = $this->pm->Add(); } $this->pm->reqv = sbr_meta::getUserReqvs($this->user['uid']); } break; case 'qiwi': $this->payment_template = 'terminal/tpl.qiwi.php'; case 'svyasnoy': $this->payment_template = $this->payment_template ? $this->payment_template : 'terminal/tpl.svyasnoy.php'; case 'euroset': $this->payment_template = $this->payment_template ? $this->payment_template : 'terminal/tpl.euroset.php'; $this->type_menu_block = 'terminal'; $this->payment_type = exrates::OSMP; if ($_POST['action'] == 'osmp') { $prepare = $this->preparePayments($this->getTotalAmmountOrders()); if (!$this->test && $prepare !== false) { header('Location: /bill/'); exit; } } else { $this->error = 'Ошибка создания списка оплаты'; } break; case 'megafon_mobile': $this->payment_template = 'mobile/tpl.m_megafon.php'; case 'beeline_mobile': $this->payment_template = $this->payment_template ? $this->payment_template : 'mobile/tpl.m_beeline.php'; case 'mts_mobile': $this->payment_template = $this->payment_template ? $this->payment_template : 'mobile/tpl.m_mts.php'; case 'matrix_mobile': $this->payment_template = $this->payment_template ? $this->payment_template : 'mobile/tpl.m_matrix.php'; $this->type_menu_block = 'mobilesys'; $this->payment_type = exrates::MOBILE; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/qiwipay.php'; $this->pm = new qiwipay($this->user['uid']); if ($_POST['operator'] == 'megafon' || $_POST['operator'] == 'beeline' || $_POST['operator'] == 'mts' || $_POST['operator'] == 'matrix') { $phone = __paramValue('string', $_POST['phone']); $phone = str_replace(array('+7', '+77'), '', $phone); $err = 0; switch ($_POST['operator']) { case 'megafon': if (!(strpos($phone, '34') === 0 || strpos($phone, '62') === 0 || strpos($phone, '82') === 0 || strpos($phone, '92') === 0 || strpos($phone, '35') === 0 || strpos($phone, '63') === 0 || strpos($phone, '83') === 0 || strpos($phone, '93') === 0 || strpos($phone, '69') === 0 || strpos($phone, '99') === 0)) { $this->error['phone'] = 'Проверьте, верно ли выбран оператор. Указанный номер не относится в сети Мегафон'; $err = 1; } break; case 'beeline': if (!(strpos($phone, '90') === 0 || strpos($phone, '96') === 0)) { $this->error['phone'] = 'Проверьте, верно ли выбран оператор. Указанный номер не относится в сети Beeline'; $err = 1; } break; case 'mts': if (!(strpos($phone, '91') === 0 || strpos($phone, '98') === 0)) { $this->error['phone'] = 'Проверьте, верно ли выбран оператор. Указанный номер не относится в сети МТС'; $err = 1; } break; case 'matrix': if (!(strpos($phone, '958') === 0)) { $this->error['phone'] = 'Проверьте, верно ли выбран оператор. Указанный номер не относится в сети Matrix'; $err = 1; } break; } if (!$err) { $sum = __paramValue('float', $_POST['sum']); $request = array('phone' => $phone, 'sum' => $sum, 'oper_code' => $_POST['operator']); $created = $this->pm->createBill($request); if (!$created) { $prepare = $this->preparePayments($this->getTotalAmmountOrders()); if (!$this->test && $prepare !== false) { header('Location: /bill/'); exit; } } else { $this->error = $created; } } } break; case 'webpay': $this->type_menu_block = 'psys'; $this->payment_type = exrates::WEBM; $this->payment_template = 'psys/tpl.webpay.php'; break; case 'qiwipurse': require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/qiwipay.php'; $this->pm = new qiwipay($this->user['uid']); $this->type_menu_block = 'psys'; $this->payment_type = exrates::QIWIPURSE; $this->payment_template = 'psys/tpl.qiwipurse.php'; if ($_POST['action'] == 'qiwipurse') { $phone = __paramValue('string', $_POST['phone']); $phone = str_replace(array('+7', '+77'), '', $phone); $sum = __paramValue('float', $_POST['sum']); $request = array('phone' => $phone, 'sum' => $sum); $created = $this->pm->createBill($request); if (!$created) { $prepare = $this->preparePayments($this->getTotalAmmountOrders()); if (!$this->test && $prepare !== false) { header('Location: /bill/'); exit; } } else { $this->error = $created; } } break; case 'yandex': $this->type_menu_block = 'psys'; $this->payment_type = exrates::YM; $this->payment_template = 'psys/tpl.yandex.php'; break; case 'webmoney': $this->type_menu_block = 'psys'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/pmpay.php'; $this->payment_type = exrates::WMR; $this->payment_template = 'psys/tpl.webmoney.php'; $this->pm = new pmpay(); break; case 'okpay': $this->type_menu_block = 'psys'; $this->payment_type = exrates::OKPAY; $this->payment_template = 'psys/tpl.okpay.php'; break; } $this->type_payment = $type_payment; }
/** * Возвращает название текущей страны. * * @return mixed */ public function getCountryTitle() { if (is_null($this->_country)) { $this->_country = ''; if ($this->filter->country) { $countryModel = new country(); $this->_country = $countryModel->getCountryName($this->filter->country) . ': Все города'; } } return $this->_country; }
return 0; } } require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/professions.php"; require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/country.php"; require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/city.php"; $has_hidd = TRUE; $filter_categories = professions::GetAllGroupsLite(TRUE); //$filter_countries = country::GetCountries(); //if ($filter['country']) {$filter_cities = city::GetCities($filter['country']);} if ($filter['city']) { $location_selector = "drop_down_default_{$filter['city']} multi_drop_down_default_column_1"; $location_value = city::GetCountryName($filter['city']) . ": " . city::getCityName($filter['city']); } elseif ($filter['country']) { $location_selector = "drop_down_default_{$filter['country']} multi_drop_down_default_column_0"; $location_value = country::getCountryName($filter['country']) . ": Все города"; } if (!$_SESSION['ph'] && !$_SESSION['top_payed']) { $has_hidd = false; // скрываем блок если нечего скрывать } if (!$filter) { $filter = array('user_id' => $uid, 'cost_from' => '', 'cost_to' => '', 'currency' => 2, 'wo_cost' => 't', 'country' => 0, 'city' => 0, 'keywords' => '', 'categories' => array()); } if ($filter_params && is_array($filter_params)) { $filter_inputs = ''; $filter_query = ''; foreach ($filter_params as $pn => $pv) { $filter_inputs .= '<input type="hidden" name="' . $pn . '" value="' . $pv . '" />'; $filter_query .= "&{$pn}={$pv}"; }