<h3 class="b-layout__h3">Привязанная платежная система</h3>
    <?php 
if (!WalletTypes::checkWallet($wallet)) {
    ?>
    <a href="javascript:void(0)" onclick="toggleWalletPopup(event);" class="b-button b-button_rectangle_color_green">
        <span class="b-button__b1">
            <span class="b-button__b2">
                <span class="b-button__txt">Привязать</span>
            </span>
        </span>
    </a>
    <?php 
} else {
    //if
    ?>
    <div class="b-layout__txt b-layout__txt_fontsize_15 b-layout__txt_color_808080">
        <?php 
    echo WalletTypes::getNameWallet($wallet->data['type'], 1);
    ?>
 &#160; <?php 
    echo $wallet->getWalletBySecure();
    ?>
    </div>
    <div class="b-layout__txt">
        <a class="b-layout__link b-layout__link_dot_c10600 b-layout__link_fontsize_15" href="javascript:void(0)" onclick="toggleWalletPopup(event);">Настроить</a>
    </div>
    <?php 
}
//else
?>
</div>
if (!($freeze_set || $freezed_now)) {
    return;
}
?>
<div class="b-layout__txt <?php 
echo !$pro_last ? 'b-layout__txt_hide' : '';
?>
 buyed_pro">
    <table class="b-layout__table b-layout__table_center b-layout__table_width_940 b-layout__table_margtop_20 b-layout__table_margbot_30">
       <tr class="b-layout__tr">
          <td id="autoprolong_html" class="b-layout__td b-layout__td_left b-layout__td_width_50ps b-layout__td_width_full_ipad">
<?php 
if ($u_is_pro_auto_prolong == 't') {
    ?>
            <?php 
    $wallet = WalletTypes::initWalletByType(get_uid(false));
    if ($wallet != false) {
        include $_SERVER['DOCUMENT_ROOT'] . '/bill/widget/tpl.info_wallet.php';
    } else {
        $service = array('auto' => $u_is_pro_auto_prolong, 'id' => get_uid(false));
        $_SESSION['redirect_uri_wallet'] = is_emp() ? '/payed-emp/' : '/payed/';
        ?>
                <span class="walletInfo">
                    <div class="b-layout__h3 b-layout__h3_padbot_5">Автопродление</div>

                </span>
                <span id="wallet">
                    <?php 
        $popup_content = $_SERVER['DOCUMENT_ROOT'] . '/bill/widget/popups/popup.wallet.php';
        include $_SERVER['DOCUMENT_ROOT'] . '/bill/widget/tpl.popup.php';
        ?>
<div class="walletSelect b-fon__body b-fon__body_pad_10 b-fon__body_margbot_1 b-fon__body_padleft_30 b-fon__body_fontsize_13 b-fon__body_bg_ffebbf <?php 
echo $service['auto'] == 't' && !WalletTypes::isWalletActive() ? '' : 'b-layout__txt_hide';
?>
" id="select_wallet<?php 
echo $service['id'];
?>
">
    <span class="b-icon b-icon_sbr_oattent b-icon_margleft_-25"></span>Настройте <a href="javascript:void(0)" class="b-layout__link" onclick="toggleWalletPopup(event);">платежную систему</a>!
</div>
Exemple #4
0
 /**
  * Активирует метод платежа по его типу и ИД пользователя.
  *
  * @param int $type Тип метода платежа  @see WalletTypes::getAllTypes();
  * @param int $uid  ИД Пользователя
  *
  * @return mixed
  */
 public static function setActiveWallet($type, $uid)
 {
     global $DB;
     if (!WalletTypes::isValidType($type)) {
         return false;
     }
     self::clearActiveWallet($uid);
     $sql = 'UPDATE bill_wallet SET active = true WHERE type = ?i AND uid = ?i';
     return $DB->query($sql, $type, $uid);
 }
  <?php 
include $_SERVER['DOCUMENT_ROOT'] . "/bill/widget/tpl.last_history.php";
?>
  <?php 
include $_SERVER['DOCUMENT_ROOT'] . "/bill/widget/tpl.right_help.php";
?>
  <span class="walletRightBlock">
      <?php 
$wallet = $bill->wallet;
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/users.php";
$u = new users();
$u->GetUserByUID(get_uid('false'));
?>
      <?php 
if ($u->GetField(get_uid(false), $e, 'is_pro_auto_prolong', false) == 't' && WalletTypes::checkWallet($wallet)) {
    ?>
          <?php 
    include $_SERVER['DOCUMENT_ROOT'] . "/bill/widget/tpl.right_wallet.php";
    ?>
      <?php 
}
?>
  </span>
Exemple #6
0
} else {
    require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/freelancer.php';
    require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/professions.php';
    require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/projects_offers_answers.php';
    require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/op_codes.php';
    require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/rating.php';
    require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/payed.php';
    require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/billing.php';
    require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/wallet/wallet.php';
    $js_file = array('payed.js', 'billing.js');
    $user = new freelancer();
    // Изменяем авто продление PRO, если нужно
    if (strtolower($_POST['pro_auto_prolong']) == 'on') {
        $user->setPROAutoProlong('on', $uid);
        $result['success'] = true;
        if (!WalletTypes::isWalletActive($uid)) {
            $result['wallet_popup'] = true;
        }
        echo json_encode($result);
        exit;
    }
    if (strtolower($_POST['pro_auto_prolong']) == 'off') {
        $user->setPROAutoProlong('off', $uid);
        echo json_encode(array('success' => true));
        exit;
    }
    if ($uid) {
        $bill = new billing($uid);
        $_SESSION['pro_last'] = payed::ProLast($_SESSION['login']);
        $_SESSION['pro_last'] = $_SESSION['pro_last']['is_freezed'] ? false : $_SESSION['pro_last']['cnt'];
        $_SESSION['is_was_pro'] = $_SESSION['pro_last'] ? true : payed::isWasPro($_SESSION['uid']);
Exemple #7
0
 /**
  * Функция для автооплаты (учитывает состояние личного счета).
  *
  * @param billing $bill    Объект биллинга (должен быть подготовлен резерв перед оплатой @see self::preparePayments())
  * @param float   $ammount Сумма для списывания
  */
 public static function autoPayed(billing $bill, $ammount)
 {
     if ($bill->reserved <= 0) {
         return false;
     }
     require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/wallet/wallet.php';
     $complete = false;
     $wallet = WalletTypes::initWalletByType($bill->user['uid']);
     // Пытаемся оплатить из личного счета иначе автооплатой если она включена
     // @todo при неудаче покупки пробовать ли оплатить через привязанный кошелек?
     if ($bill->acc['sum'] >= $ammount) {
         $bill->transaction = $bill->account->start_transaction($bill->user['uid'], 0);
         $complete = $bill->completeOrders($bill->reserved);
         if ($complete) {
             $bill->account->commit_transaction($bill->transaction, $bill->user['uid'], null);
         }
     } elseif (WalletTypes::checkWallet($wallet)) {
         if ($wallet->api->checkToken()) {
             // Проводим списывание денег
             $complete = $wallet->payment($ammount);
         } else {
             // Ключ не действителен сообщаем об этом владельцу
             $complete = false;
         }
     }
     // Если все плохо отменяем операции
     if (!$complete) {
         $success = $bill->setReserveStatus($bill->reserved, self::RESERVE_CANCEL_STATUS);
         if ($success) {
             $bill->updateOrderListStatus($bill->reserved, self::STATUS_DELETE);
         }
     }
     return $complete;
 }
Exemple #8
0
    }
    ?>
        <div class="b-radio__item b-radio__item_padbot_10">
            <input id="wallet<?php 
    echo $type;
    ?>
" class="b-radio__input b-radio__input_top_1" name="wallet" type="radio" value="<?php 
    echo $type;
    ?>
"  >
            <label class="b-radio__label b-radio__label_fontsize_15" for="wallet<?php 
    echo $type;
    ?>
">
                <?php 
    echo WalletTypes::getNameWallet($type);
    ?>
            </label>
        </div>
    <?php 
}
//foreach
?>
</div>
<div class="b-buttons b-buttons_padtop_20">
    <a href="javascript:void(0)" class="b-button b-button_flat b-button_flat_green walletActivate">Сохранить изменения</a> &nbsp;
    <span class="b-buttons__txt">или</span>
    <a class="b-buttons__link" href="javascript:void(0)" onclick="toggleWalletPopup();">отменить</a>
</div>
<form id="walletForm" method="POST" action=""></form>
Exemple #9
0
 public function failAutoprolong($info, $service = 'pro')
 {
     require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/users.php';
     require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/wallet/wallet.php';
     $user = $info['user'];
     if ($user['bill_subscribe'] == 'f') {
         return;
     }
     $date = date('j') . ' ' . monthtostr(date('n'), true) . ' ' . date('Y года');
     $cost = $info['sum_cost'];
     $wallet = WalletTypes::initWalletByType($user['uid']);
     $type = WalletTypes::checkWallet($wallet) ? $wallet->data['type'] : -1;
     $walletName = WalletTypes::getNameWallet($type, 3, $user['acc_id']);
     if ($service == 'pro') {
         $this->subject = 'FL.ru: Автопродление аккаунта PRO отключено';
         $message = "Сегодня, {$date}, должно было состояться повторное списание средств для автоматического продления срока действия вашего аккаунта PRO.<br/>";
         $message .= "Всего с {$walletName} должно быть списано {$cost} " . ending($cost, 'рубль', 'рубля', 'рублей') . ', однако в процессе списания вновь произошла ошибка.<br/><br/>';
         $message .= 'Срок действия аккаунта PRO завершен, а его автопродление временно отключено и возобновится при следующем приобретении услуги.<br/><br/>';
         $message .= "Информацию о повторном приобретении услуг и автопродлении, а также ответы на все интересующие вопросы вы можете найти в нашем <a href='https://feedback.fl.ru/{$this->_addUrlParams('b', '?')}'>сообществе поддержки</a>.";
     }
     $this->recipient = "{$user['uname']} {$user['usurname']} [{$user['login']}] <{$user['email']}>";
     $this->message = $this->getHtml($user['login'], $message, array('header' => 'default', 'footer' => 'default'), array('login' => $user['login']));
     $this->send('text/html');
 }
Exemple #10
0
 /**
  *
  * Инициализируем класс для работы с методом оплаты
  *
  * @param integer $uid  По умолчанию текущий пользователь
  * @param integer $type Если не задано берет активный метод оплаты и возвращает инициализированный объект
  *
  * @return bool|walletYandex|walletWebMoney
  */
 static function initWalletByType($uid = null, $type = null)
 {
     if ($uid === null) {
         $uid = get_uid(false);
     }
     if ($type === null) {
         $type = WalletTypes::getTypeWalletActive($uid);
     }
     switch ($type) {
         case self::WALLET_YANDEX:
             require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/wallet/walletYandex.php";
             $wallet = new walletYandex($uid);
             return $wallet;
             break;
         case self::WALLET_WEBMONEY:
             require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/wallet/walletWebmoney.php";
             $wallet = new walletWebmoney($uid);
             return $wallet;
         case self::WALLET_ALPHA:
             require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/wallet/walletAlpha.php";
             $wallet = new walletAlpha($uid);
             return $wallet;
         case self::WALLET_DOL:
         default:
             return false;
             break;
     }
 }