/** * Покупка ПРО через ЛС * * @param type $opcode * @param type $redirect * @return \xajaxResponse */ function quickPROPayAccount($opcode, $redirect, $promo_code) { $objResponse = new xajaxResponse(); $pro = 0; require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/payed.php"; $proList = payed::getAvailablePayedList(is_emp()); foreach ($proList as $proItem) { if ($proItem['opcode'] == $opcode) { $pro = $proItem; break; } } if ($pro) { $uid = get_uid(false); $bill = new billing($uid); //Допустимо использование промокодов $bill->setPromoCodes('SERVICE_PRO', $promo_code); $billReserveId = $bill->addServiceAndCheckout($opcode); $payed_sum = $bill->getOrderPayedSum(); if ($bill->isAllowPayFromAccount()) { $complete = $bill->buyOrder($billReserveId); if ($complete) { $_SESSION['quickbuypro_success_opcode'] = $payed_sum; $uri = '?quickpro_ok=1'; if ($opcode == 164) { $uri = '/profi/?quickprofi_ok=1'; } $objResponse->script("window.location = '{$uri}';"); } } } return $objResponse; }
function quickPRJPayAccount() { $objResponse = new xajaxResponse(); $uid = get_uid(false); ob_start(); require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/billing.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/payed.php'; $bill = new billing($uid); $billReserveId = $bill->checkoutOrder(); $payed_sum = $bill->getOrderPayedSum(); if ($bill->isAllowPayFromAccount()) { $complete = $bill->buyOrder($billReserveId); if ($complete) { $_SESSION['quickprj_ok'] = 1; $memBuff = new memBuff(); $project_id = $memBuff->get('bill_ok_project_' . $uid); if ($project_id) { $is_payed = $memBuff->get('bill_ok_project_payed_' . $uid); if ($is_payed) { $memBuff->delete('bill_ok_project_payed_' . $uid); $friendly_url = "/public/?step=2&public={$project_id}"; } else { $friendly_url = getFriendlyURL('project', $project_id); $_SESSION['quickprj_ok'] = 1; $friendly_url .= '?quickprj_ok=1'; } $objResponse->script("window.location = '{$friendly_url}';"); $memBuff->delete('bill_ok_project_' . $uid); } else { $objResponse->script("window.location = '/?quickprj_ok=1';"); } } } ob_end_clean(); return $objResponse; }