本文整理汇总了PHP中smail::attemptAutoprolong方法的典型用法代码示例。如果您正苦于以下问题:PHP smail::attemptAutoprolong方法的具体用法?PHP smail::attemptAutoprolong怎么用?PHP smail::attemptAutoprolong使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类smail
的用法示例。
在下文中一共展示了smail::attemptAutoprolong方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: checkAutoProTest
/**
* для имитация окончания PRO у пользователя
*
* @param $attempt текущая попытка продления
*/
function checkAutoProTest($login, $attempt = 1)
{
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/billing.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/bar_notify.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/smail.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/wallet/wallet.php";
global $DB;
if ($attempt <= 0) {
$attempt = 1;
}
$sql = "\n SELECT users.uid, a.id as acc_id, email, login, uname, usurname, subscr, role, substr(subscr::text,16,1) = '1' as bill_subscribe\n FROM users\n INNER JOIN account a ON a.uid = users.uid\n WHERE users.login = ?";
$user = $DB->row($sql, $login);
if (!$user) {
return;
}
$user['date_end'] = date('Y-m-d H:i:s', time());
$op_code = !is_emp($user['role']) ? 48 : 15;
$price = !is_emp($user['role']) ? self::PRICE_FRL_PRO : self::PRICE_EMP_PRO;
$billing = new billing($user['uid']);
$queueID = $billing->create($op_code, 1);
if (!$queueID) {
return;
}
//Проталкиваем дальше автопродление для оплаты
$billing->preparePayments($price, false, array($queueID));
$complete = billing::autoPayed($billing, $price);
// @todo отключать ли автопродление или нет при второй попытке ( по идее на систему никак влиять не будет )
// Автопродление не будет куплено уведомляем об этом пользователя
$barNotify = new bar_notify($user['uid']);
$mail = new smail();
if ($complete) {
$barNotify->addNotify('bill', '', 'Услуга успешно продлена.');
$mail->successAutoprolong(array('user' => $user, 'sum_cost' => $price), 'pro');
//$mail->sendAutoPROEnding(( $user['role'] == 'freelancer' ? 'FRL' : 'EMP' ), array($user));
} else {
if ($attempt == 1) {
$barNotify->addNotify('bill', '', 'Ошибка списания, услуга не продлена.');
$mail->attemptAutoprolong(array('user' => $user, 'sum_cost' => $price), 'pro');
} else {
$barNotify->addNotify('bill', '', 'Ошибка списания, автопродление отключено.');
$mail->failAutoprolong(array('user' => $user, 'sum_cost' => $price), 'pro');
}
}
}