/** * Уведомление фрилансеру после того, * как услуга опустилась на 4 место и ниже в списке закреплений ТУ * * @return type */ public function remindBindsUp() { require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/tservices/tservices_binds.php"; require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/quick_payment/quickPaymentPopupTservicebind.php"; require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/quick_payment/quickPaymentPopupTservicebindup.php"; $tservices_categories = new tservices_categories(); //Базовый шаблон письма $layout = Template::render(TSERVICES_BINDS_TPL_BASE_LAYOUT, array('params' => '', 'content' => '%CONTENT%')); $this->message = nl2br($layout); $count = 0; $page = 0; while ($binds = tservices_binds::getDowned(++$page, 50)) { $bind_ids = array(); foreach ($binds as $el) { $kind_txt = ''; $link = ''; $link_prolong = '/?' . quickPaymentPopupTservicebind::getPopupId($el['tservice_id']) . '=1'; $link_up = '/?' . quickPaymentPopupTservicebindup::getPopupId($el['tservice_id']) . '=1'; switch ($el['kind']) { case tservices_binds::KIND_LANDING: $kind_txt = 'на главной странице сайта'; break; case tservices_binds::KIND_ROOT: $kind_txt = 'в общем разделе каталога услуг'; $link = '/tu'; break; case tservices_binds::KIND_GROUP: $category = $tservices_categories->getCategoryById($el['prof_id']); $kind_txt = sprintf("в разделе %s каталога услуг", @$category['title']); $link = sprintf("/tu/%s", @$category['link']); break; case tservices_binds::KIND_SPEC: $category = $tservices_categories->getCategoryById($el['prof_id']); $kind_txt = sprintf("в подразделе %s каталога услуг", @$category['title']); $link = sprintf("/tu/%s", @$category['link']); break; } $link_prolong = $link . $link_prolong; $link_up = $link . $link_up; //Шаблон уведомления $content = Template::render(TSERVICES_BINDS_TPL_MAIL_PATH . "remind_up.tpl.php", array('smail' => $this, 'kind' => $kind_txt, 'title' => $el['title'], 'link_up' => $link_up, 'link_prolong' => $link_prolong)); $this->recipient[] = array('email' => $this->_formatFullname($el, true), 'extra' => array('CONTENT' => nl2br($content))); $bind_ids[] = $el['id']; } $count += count($bind_ids); $massId = $this->send('text/html'); if ($massId) { tservices_binds::markSent('up', $bind_ids); } } return $count; }
/** * Оплата через Плати потом * * @param type $type - тип оплаты * @param type $data - данные по параметрам покупаемой услуги * @return \xajaxResponse */ function quickPaymentTservicebindupPlatipotom($type, $data) { $is_error = true; $uid = get_uid(false); $objResponse =& new xajaxResponse(); $kind = (int) @$data['kind']; $tservice_id = (int) @$data['tservice_text_db_id']; $prof_id = (int) @$data['prof_id']; //$is_prolong = (bool)@$data['is_prolong']; $promo_code = (string) @$data['promo']; $tservices_binds = new tservices_binds($kind); $bind = $tservices_binds->getItem($uid, $tservice_id, $prof_id); if ($bind) { $is_error = false; $bill = new billing($uid); //Допустимо использование промокодов $bill->setPromoCodes('SERVICE_TSERVICEBIND', $promo_code); $op_code = $tservices_binds->getOpCode(true); $option = array('bind_id' => $bind['id']); //Формируем заказ $billReserveId = $bill->addServiceAndCheckout($op_code, $option); $payed_sum = $bill->getRealPayedSum(); $platipotom = new platipotom(); $html_form = $platipotom->render($payed_sum, $bill->account->id, $billReserveId); if ($html_form) { $idx = quickPaymentPopupTservicebindup::getPopupId($tservice_id); $objResponse->script("\n var qp_form_wrapper = \$\$('#" . $idx . " .__quick_payment_form');\n if(qp_form_wrapper){ \n qp_form_wrapper.set('html','{$html_form}');\n qp_form_wrapper.getElement('form')[0].submit();\n }\n "); //сохранаем в сессию куда перейти при успешной покупке $redirect = (string) @$data['redirect']; $_SESSION[quickPaymentPopup::QPP_REDIRECT] = $redirect; } } // Показываем предупреждение в случае ошибки if ($is_error) { $idx = quickPaymentPopupTservicebindup::getPopupId($tservice_id); $objResponse->script("\n var qp = window.quick_payment_factory.getQuickPaymentById('tservicebindup', '" . $idx . "');\n if(qp) qp.show_error('Возникла ошибка при поднятии закрепления услуги!');\n "); } return $objResponse; }