当前位置: 首页>>代码示例>>PHP>>正文


PHP payed::ProLast方法代码示例

本文整理汇总了PHP中payed::ProLast方法的典型用法代码示例。如果您正苦于以下问题:PHP payed::ProLast方法的具体用法?PHP payed::ProLast怎么用?PHP payed::ProLast使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在payed的用法示例。


在下文中一共展示了payed::ProLast方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: billingOperation

 /**
  * Обработка и оплата операций
  * 
  * @global type $DB
  * @param type $option
  * @return boolean 
  */
 function billingOperation($option, $transaction_id)
 {
     global $DB;
     $ok = false;
     $account = new account();
     switch ($option['op_code']) {
         // Аккаунт ПРО у фрилансера
         case 48:
         case 49:
         case 50:
         case 51:
         case 76:
             // Удаляем операции по покупке ответов - публикуем ответы
             $prof = new payed();
             $ok = $prof->SetOrderedTarif($this->uid, $transaction_id, 1, "Аккаунт PRO", $option['op_code'], $error);
             if ($ok) {
                 $_SESSION['pro_last'] = payed::ProLast($_SESSION['login']);
                 $_SESSION['pro_last'] = $_SESSION['pro_last']['freeze_to'] ? false : $_SESSION['pro_last']['cnt'];
                 $userdata = new users();
                 $_SESSION['pro_test'] = $userdata->GetField($this->uid, $error2, 'is_pro_test', false);
                 $this->clearBlockedOperations(step_freelancer::OFFERS_OP_CODE);
                 $step_frl = new step_freelancer();
                 $offers = $step_frl->getWizardOffers($this->uid, 'all', false);
                 if ($offers) {
                     require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/users.php";
                     $step_frl->log = $this->log;
                     $step_frl->user = new users();
                     $step_frl->user->GetUserByUID($this->uid);
                     $step_frl->transferOffers($offers);
                 }
                 $this->showProjectsFeedbacks();
             }
             break;
             // Аккаунт ПРО у работодателя
         // Аккаунт ПРО у работодателя
         case 15:
             $prof = new payed();
             $ok = $prof->SetOrderedTarif($this->uid, $transaction_id, 1, "Аккаунт PRO", $option['op_code'], $error);
             if ($ok) {
                 $_SESSION['pro_last'] = payed::ProLast($_SESSION['login']);
                 $_SESSION['pro_last'] = $_SESSION['pro_last']['freeze_to'] ? false : $_SESSION['pro_last']['cnt'];
                 $userdata = new users();
                 $_SESSION['pro_test'] = $userdata->GetField($this->uid, $error2, 'is_pro_test', false);
             }
             // Обновляем выбор цвета для проектов тк он для ПРО бесплатный
             $colorProjects = $this->updateColorProject();
             $prj = new new_projects();
             foreach ($colorProjects as $k => $project) {
                 $delete_color[] = $project['op_id'];
                 if ($project['country'] == null) {
                     $project['country'] = 'null';
                 }
                 if ($project['city'] == null) {
                     $project['city'] = 'null';
                 }
                 $project['name'] = addslashes($project['name']);
                 $project['descr'] = addslashes($project['descr']);
                 if ($project['logo_id'] <= 0) {
                     $project['logo_id'] = 'null';
                 }
                 $project['payed_items'] = $project['payed_items'] | '010';
                 $project['is_color'] = 't';
                 $prj->editPrj($project, false);
             }
             // Удаляем данные операции
             if ($delete_color) {
                 $this->deleteDraftAccountOperation($delete_color);
             }
             break;
             // Публикация конкурса
         // Публикация конкурса
         case new_projects::OPCODE_KON:
         case new_projects::OPCODE_KON_NOPRO:
             require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/wizard/step_wizard_registration.php';
             $drafts = new drafts();
             $draft = $drafts->getDraft($option['parent_id'], $this->uid, 1);
             // Если еще не опубликован
             if (!$draft['prj_id']) {
                 $project_id = $draft['id'];
                 $error = $account->Buy($bill_id, $transaction_id, $option['op_code'], $this->uid, $option['descr'], $option['comment'], 1, 0);
                 $ok = $bill_id > 0;
                 if ($bill_id) {
                     $color = $DB->val("SELECT id FROM draft_account_operations WHERE parent_id = ? AND op_type = 'contest' AND option = 'color' AND uid = ?", $project_id, wizard::getUserIDReg());
                     $draft['billing_id'] = $bill_id;
                     $draft['folder_id'] = 'null';
                     $draft['payed'] = '0';
                     $draft['payed_items'] = '000';
                     if (is_pro() && $color > 0) {
                         $draft['is_color'] = 't';
                     } else {
                         $draft['is_color'] = 'f';
                     }
                     $draft['win_date'] = date('d-m-Y', strtotime($draft['win_date']));
//.........这里部分代码省略.........
开发者ID:Nikitian,项目名称:fl-ru-damp,代码行数:101,代码来源:wizard_billing.php

示例2: freelancer

$showMainDiv = true;
$footer_payed = true;
$no_banner = true;
$freelancer = new freelancer();
$is_allow = isAllowProfi();
if ($is_allow) {
    require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/account.php";
    require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/payed.php";
    $uid = get_uid();
    $account = new account();
    $account->GetInfo($uid, true);
    if (__paramInit('bool', 'quickprofi_ok', NULL, false)) {
        //Обновляем сессию
        $freelancer->GetUserByUID($uid);
        $_SESSION['is_profi'] = $freelancer->isProfi();
        $pro_last = payed::ProLast($_SESSION['login']);
        $_SESSION['pro_last'] = $pro_last['is_freezed'] ? false : $pro_last['cnt'];
    }
}
$catalogList = $freelancer->getProfiCatalog(80);
$maxFirstCLBlock = 90;
$cntCatalogList = count($catalogList);
$isMoreCatalogList = $cntCatalogList > $maxFirstCLBlock;
$cntFirstCLBlock = $isMoreCatalogList ? $maxFirstCLBlock : $cntCatalogList;
$page_title = "PROFI аккаунт - фриланс, удаленная работа на FL.ru";
$css_file = array('/css/block/b-icon/__cont/b-icon__cont.css');
$js_file = array('payed.js', 'billing.js');
$content = 'content.php';
$header = "../header.php";
$footer = "../footer.html";
include "../template3.php";
开发者ID:Nikitian,项目名称:fl-ru-damp,代码行数:31,代码来源:index.php

示例3: foreach

     }
 }
 $u_y_prm_periods[] = $u_last_prm_period;
 // Получаем "склеенные" периоды за текущий месяц.
 foreach ($u_y_prm_periods as $pp) {
     if (($ftime = strtotime($pp['from_time'])) < $TOMORROW_TIME && strtotime($pp['to_time']) >= $MONTHDAY_TIME) {
         $u_m_prm_periods[] = $u_m_prm_periods || $ftime >= $MONTHDAY_TIME ? $pp : array('from_time' => $MONTHDAY, 'to_time' => $pp['to_time']);
     }
 }
 // Последний день (время) использования параметра.
 if ($prm_is_PRO) {
     if (!$iAmAdmin) {
         $u_prm_end_time = strtotime($_SESSION['pro_last']);
         // Более точное время завершения ПРО с часами минутами @see #0014946
     } else {
         $pro_last = payed::ProLast($login);
         $u_prm_end_time = strtotime($pro_last['is_freezed'] ? false : $pro_last['cnt']);
     }
 } else {
     $u_prm_end_time = strtotime($u_last_prm_period['to_time']);
 }
 // Вычисляем офсет от левого края годового графика и ширину красной жирной полоски.
 $lp_m = date('n', strtotime($u_last_prm_period['from_day'])) - 1;
 // Январь - 0.
 $lp_d = date('j', strtotime($u_last_prm_period['from_day']));
 $lp_y = substr($u_last_prm_period['from_day'], 0, 4);
 $lp_to_m = date('n', strtotime($u_last_prm_period['to_day'])) - 1;
 $lp_to_d = date('j', strtotime($u_last_prm_period['to_day']));
 $lp_to_y = substr($u_last_prm_period['to_day'], 0, 4);
 for ($i = 0; $i < $lp_m; ++$i) {
     $u_last_prm_left += $MSIZES[$i] * 2 + 1;
开发者ID:kapai69,项目名称:fl-ru-damp,代码行数:31,代码来源:content.php

示例4: strip_tags

@($action = strip_tags(trim($_GET['action'])));
if (!$action) {
    @($action = strip_tags(trim($_POST['action'])));
}
// определяем, был ли сброс массива POST
if (!$action && ($switch || $change_au)) {
    $action = "switch_error";
}
switch ($action) {
    case "change_au":
        // добавляем/изменяем антиюзера.
        $response = array();
        $location = $_SESSION['ref_uri'] ? HTTP_PFX . $_SERVER["HTTP_HOST"] . urldecode($_SESSION['ref_uri']) : HTTP_PFX . $_SERVER["HTTP_HOST"] . "/";
        $_SESSION['pro_last'] = payed::ProLast($_SESSION['login']);
        $_SESSION['pro_last'] = $_SESSION['pro_last']['is_freezed'] ? false : $_SESSION['pro_last']['cnt'];
        $_SESSION['anti_pro_last'] = payed::ProLast($_SESSION['anti_login']);
        $_SESSION['anti_pro_last'] = $_SESSION['anti_pro_last']['is_freezed'] ? false : $_SESSION['anti_pro_last']['cnt'];
        if (!($uid = get_uid())) {
            header("Location: " . $location);
            exit;
        }
        $post_pwd = stripslashes($_POST['passwd']);
        $anti_login = __paramInit('string', NULL, 'a_login');
        // получаем класс антиюзера. Он всегда противоположен классу юзера.
        $anti_class = is_emp() ? 'freelancer' : 'employer';
        $anti = new $anti_class();
        // запоминаем данные антиюзера.
        $anti->GetUser($anti_login, true, true);
        $anti_uid = $anti->uid;
        $anti_uname = $anti->uname;
        $anti_usurname = $anti->usurname;
开发者ID:upovod,项目名称:fl-ru-damp,代码行数:31,代码来源:index.php

示例5: Auth


//.........这里部分代码省略.........
             $params['anti_name'] = $anti->uname;
         }
         if (!is_emp($params['role'])) {
             require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/projects_offers.php';
             if ($po_summary = projects_offers::GetFrlOffersSummary($params['uid'])) {
                 $params['po_count'] = $po_summary['total'];
             }
         }
         $sql = 'UPDATE users SET last_time = now(), last_ip = ?, is_active = true WHERE uid = ?i';
         $res = $DB->query($sql, $ip, $tid);
         $this->SaveLoginIPLog($tid, $ip);
         $this->increaseLoginsCnt($tid);
         // количество операций
         $sQuery = 'SELECT COUNT(ao.id) FROM account_operations ao 
             INNER JOIN account a ON a.id = ao.billing_id WHERE a.uid = ?i AND (ao.ammount <> 0 OR ao.trs_sum <> 0)';
         $params['account_operations'] = $DB->val($sQuery, $tid);
         $params['question_button_hide'] = $settings[1];
         // Показывать/скрывать кнопку "У вас есть вопрос?"
         $params['promo_block_hide'] = $settings[2];
         // показывать Блок "Быстрый доступ к основным функциям сайта"
         $params['direct_external_links'] = $settings[3];
         // Не показывать страницу "Переход по внешней ссылке" a.php
         $params['sbr_slash_show'] = $settings[4] && $first_login < strtotime('2012-08-08');
         // Показывать/скрыть СБР промо-слеш
         $params['splash_show'] = $splash_show;
         $params['chat'] = $settings[5];
         $params['chat_sound'] = $settings[6];
         // #0017182 > Вопрос можем ли мы вытащить эту настройку из кук пользователей и сохранить ее в базу?
         if (empty($settings[3]) && $_COOKIE['direct_external_links'] == 1) {
             $this->setDirectExternalLinks($tid, 1);
             if ($anti_uid) {
                 $this->setDirectExternalLinks($anti_uid, 1);
             }
             setcookie('direct_external_links', '', time() - 60 * 60 * 24 * 365, '/');
             setcookie('no_a_php', '1', time() + 60 * 60 * 24 * 365 * 2, '/');
         }
         //генерация куки для userecho
         require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/userecho.php';
         setcookie('ue_sso_token', UserEcho::get_sso_token(USERECHO_API_KEY, USERECHO_PROJECT_KEY, array()), 0, '/', preg_replace('/^https?\\:\\/\\/(?:www\\.)?/', '.', 'fl.ru'));
         // Первый заход, регистрация через мастер, мастер не закончен
         if ($first_login == 0) {
             require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/wizard/wizard.php';
             require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/wizard/wizard_registration.php';
             require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/wizard/step_employer.php';
             require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/wizard/step_freelancer.php';
             if (is_emp($params['role'])) {
                 $wiz_user = wizard::isUserWizard($tid, step_employer::STEP_REGISTRATION_CONFIRM, wizard_registration::REG_EMP_ID);
             } else {
                 $wiz_user = wizard::isUserWizard($tid, step_freelancer::STEP_REGISTRATION_CONFIRM, wizard_registration::REG_FRL_ID);
             }
             if ($wiz_user['id'] > 0) {
                 $role = is_emp($params['role']) ? wizard_registration::REG_EMP_ID : wizard_registration::REG_FRL_ID;
                 header('Location: /registration/activated.php?role=' . $role);
                 //header("Location: /wizard/registration/?role={$role}");
                 exit;
             } elseif (!is_emp($params['role'])) {
                 require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/payed.php';
                 $pro_last = payed::ProLast($_SESSION['login']);
                 $_SESSION['pro_last'] = $pro_last['is_freezed'] ? false : $pro_last['cnt'];
                 if ($_SESSION['pro_last'] && $_SESSION['is_pro_new'] != 't') {
                     payed::checkNewPro($id);
                 }
                 if ($pro_last['freeze_to']) {
                     $_SESSION['freeze_from'] = $pro_last['freeze_from'];
                     $_SESSION['freeze_to'] = $pro_last['freeze_to'];
                     $_SESSION['is_freezed'] = $pro_last['is_freezed'];
                     $_SESSION['payed_to'] = $pro_last['cnt'];
                 }
                 if ($_SESSION['anti_login']) {
                     $pro_last = payed::ProLast($_SESSION['anti_login']);
                     $_SESSION['anti_pro_last'] = $pro_last['freeze_to'] ? false : $pro_last['cnt'];
                 }
                 //отправляем письмо с инфой, как работать на сайте
                 /*
                 require_once($_SERVER['DOCUMENT_ROOT'] . "/classes/smail.php");
                 $mail = new smail();
                 
                 if (is_emp()) {                
                     $mail->employerQuickStartGuide(get_uid(false));
                 } else {
                    $mail->freelancerQuickStartGuide(get_uid(false));
                 }
                 */
                 return $tid;
                 if (!defined('IN_API')) {
                     // для API мобильного приложения не нужно
                     header("Location: /users/{$login}/");
                     exit;
                 }
             }
         }
         //-----------------------------------
     } else {
         $tid = 0;
         require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/annoy.php';
         $annoy = new annoy();
         $annoy->Add($ip);
     }
     return $tid;
 }
开发者ID:kapai69,项目名称:fl-ru-damp,代码行数:101,代码来源:users.php

示例6: checkProLast

/**
 *  Проверяем не кончился ли уже про и не надо ли убрать значек с главной страницы. 
 */
function checkProLast()
{
    if ($_SESSION['pro_last'] && strtotime($_SESSION['pro_last']) < time()) {
        require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/payed.php";
        $pro_last = payed::ProLast($_SESSION['login']);
        $_SESSION['pro_last'] = $pro_last['is_freezed'] ? false : $pro_last['cnt'];
    }
}
开发者ID:Nikitian,项目名称:fl-ru-damp,代码行数:11,代码来源:stdf.php

示例7: paymentOrder


//.........这里部分代码省略.........
         // Про на 6 месяцeв (emp)
         case 50:
             // Про на 6 месяцев (frl)
         // Про на 6 месяцев (frl)
         case 120:
             // Про на 1 год (emp)
         // Про на 1 год (emp)
         case 51:
             // Про на 1 год (frl)
         // Про на 1 год (frl)
         case 132:
             // Про на 1 день (frl)
         // Про на 1 день (frl)
         case 131:
             // Про на 1 неделю (frl)
         // Про на 1 неделю (frl)
         case 163:
             // Тестовый ПРО на месяц
         // Тестовый ПРО на месяц
         case 164:
             // PROFI на 1 месяц
             require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/payed.php';
             require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/freelancer.php';
             require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/employer.php';
             $payed = new payed();
             $user = is_emp($this->user['role']) ? new employer() : new freelancer();
             $success = $payed->SetOrderedTarif($this->user['uid'], $this->transaction, $order['op_count'], $order['comment'], $order['op_code'], $order['promo_code'], $error);
             if ($success) {
                 if (isset($payed->account_operation_id) && $payed->account_operation_id > 0) {
                     $account_operation_id = $payed->account_operation_id;
                 }
                 // Обновим сессию сразу!
                 if (get_uid(false) == $this->user['uid']) {
                     $_SESSION['pro_last'] = payed::ProLast($this->user['login']);
                     $_SESSION['pro_last'] = $_SESSION['pro_last']['is_freezed'] ? false : $_SESSION['pro_last']['cnt'];
                     if ($_SESSION['pro_last']['is_freezed']) {
                         $_SESSION['payed_to'] = $_SESSION['pro_last']['cnt'];
                     }
                 } else {
                     $membuff = new memBuff();
                     $membuff->set('is_changed_pro_' . $this->user['uid'], true);
                     //Этот подход не работает
                     //$session = new session();
                     //$session->UpdateProEndingDate($this->user['login']);
                 }
                 if ($order['auto'] == 't') {
                     $user->setPROAutoProlong('on', $this->user['uid']);
                 } else {
                     $user->setPROAutoProlong('off', $this->user['uid']);
                 }
                 //Опубликовать перемещенные вакансии при покупке ПРО
                 //@todo: Теперь вакансии для всех платные разница лишь в цене для ПРО дешевле
                 //поэтому отключаем публикацию после покупки ПРО
                 //https://beta.free-lance.ru/mantis/view.php?id=28579
                 /*
                                     if (is_emp($this->user['role'])) { 	 
                                         require_once($_SERVER['DOCUMENT_ROOT'] . "/classes/projects.php"); 	
                                         $project = new projects();	 
                                         $project->publishedMovedToVacancy($this->user); 	
                                     }*/
                 //Чистим кеш каталога PROFI пользователей
                 if ($order['op_code'] == 164) {
                     freelancer::clearCacheProfiCatalog();
                 }
             }
             break;
开发者ID:kapai69,项目名称:fl-ru-damp,代码行数:67,代码来源:billing.php

示例8: UpdateProEndingDate

 /**
  * Обновляет дату окончания PRO в сессии пользователя
  * 
  * @param string $login   логин пользователя
  */
 function UpdateProEndingDate($login)
 {
     if (!$login) {
         return;
     }
     $s = $this->get($login);
     if ($s) {
         require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/payed.php";
         $pro_last = payed::ProLast($login);
         $pro_last = $pro_last['freeze_to'] ? false : $pro_last['cnt'];
         $session_data = $this->read($s['sid']);
         $session_data = preg_replace("/;pro_last\\|(?:s:0:\"\"|s:[0-9]{2}:\".*\"|b\\:0|N)/U", ";pro_last|s:" . strlen($pro_last) . ":\"{$pro_last}\"", $session_data);
         require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/users.php";
         require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/account.php";
         $user = new users();
         $user->GetUser($login);
         $account = new account();
         $account->GetInfo($user->uid);
         $session_data = preg_replace("/ac_sum\\|s:\\d{1,}:\".*\"/U", "ac_sum|s:" . strlen($account->sum) . ":\"{$account->sum}\"", $session_data);
         $session_data = preg_replace("/is_profi\\|b:[0-1]/U", "is_profi|b:" . ($user->isProfi() ? '1' : '0'), $session_data);
         $this->set($s['sid'], $session_data, 7200);
     }
 }
开发者ID:Nikitian,项目名称:fl-ru-damp,代码行数:28,代码来源:session_Memcached.php

示例9: freezePro

function freezePro($action, $from_date, $to_date)
{
    global $uid;
    require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/payed.php';
    $objResponse = new xajaxResponse();
    $last_freeze = payed::getLastFreeze($uid);
    $last_freeze_id = null;
    $freeze_allow = false;
    $freeze_set = false;
    $freezed_now = false;
    $freezed_alert = false;
    $freeze_act = 'freeze';
    $from_time = $to_time = time();
    $location = substr($_SESSION['role'], 0, 1) == 1 ? '/payed-emp/' : '/payed/';
    if ($last_freeze) {
        $last_freeze_id = $last_freeze['id'];
        $from_time = strtotime($last_freeze['from_time_date']);
        $to_time = strtotime($last_freeze['to_time_date']);
        if (ceil($last_freeze['freezed_days'] / 7) < 4 && $last_freeze['freezed_cnt'] < 4) {
            $freeze_allow = true;
        } else {
            $freezed_alert = true;
        }
        if ($from_time > time()) {
            $freeze_set = true;
            $freezed_alert = false;
            $freeze_act = 'freeze_cancel';
        }
        if ($from_time <= time() && strtotime($last_freeze['to_time']) > time()) {
            $freezed_now = true;
            $freezed_alert = false;
            $freeze_act = 'freeze_stop';
        }
    } elseif (is_pro()) {
        $freeze_allow = true;
        $from_time += 24 * 3600;
        $to_time += 24 * 3600;
    }
    $from_time = date('Y-m-d', $from_time);
    $to_time = date('Y-m-d', $to_time);
    //if (date('Ymd', strtotime($_SESSION['pro_last'])) == date('Ymd'))
    //@todo: выключаем возможность заморозки
    //https://beta.free-lance.ru/mantis/view.php?id=29292
    $freeze_allow = false;
    if ($action == 'freeze' && $freeze_allow) {
        $fstart = mktime(0, 0, 0, date('m'), date('d') + 1, date('Y'));
        if ($from_date && $to_date && strtotime($from_date) >= $fstart) {
            if ($to_date != 1 && $to_date != 2 && $to_date != 3 && $to_date != 4) {
                $to_date = 1;
            }
            //if ($to_date == 2 && ceil($last_freeze['freezed_days'] / 7) == 1) {
            //    $to_date = 1;
            //}
            $ft = strtotime($from_date);
            $freeze_days = (int) $to_date * 7;
            $to_date = date('Y-m-d', mktime(0, 0, 0, date('m', $ft), date('d', $ft) + intval($to_date) * 7, date('Y', $ft)));
            payed::freezePro($uid, $from_date, $to_date);
            $from_time = $from_date;
            $to_time = $to_date;
            $freeze_set = true;
            $freeze_act = 'freeze_cancel';
            $pro_last = payed::ProLast($_SESSION['login']);
            if ($pro_last['freeze_to']) {
                $_SESSION['freeze_from'] = $pro_last['freeze_from'];
                $_SESSION['freeze_to'] = $pro_last['freeze_to'];
                $_SESSION['is_freezed'] = $pro_last['is_freezed'];
                $_SESSION['payed_to'] = $pro_last['cnt'];
            }
            $_SESSION['pro_last'] = $pro_last['is_freezed'] ? false : $pro_last['cnt'];
            $text = 'Ваш аккаунт будет заморожен с <b>' . date('d.m.Y', strtotime($from_date)) . "</b> на <b>{$freeze_days} дней</b>";
            $objResponse->call('freezeDisabled', $freeze_act);
            $objResponse->assign('freeze_info', 'innerHTML', $text);
        } elseif (strtotime($from_date) > strtotime($_SESSION['pro_last']) || strtotime($from_date) < $fstart) {
            $freeze_error = 'Неверная дата начала заморозки.';
        } else {
            $freeze_error = 'Ошибка, не указана одна из дат.';
        }
    }
    if ($action == 'freeze_cancel' && $freeze_set) {
        if (!payed::freezeProCancel($uid, $last_freeze_id)) {
            $freeze_error = 'Невозможно отменить заморозку.';
        } else {
            $freeze_set = false;
            $freeze_allow = true;
            $from_time = $to_time = date('Y-m-d', time() + 24 * 3600);
            $_SESSION['pro_last'] = payed::ProLast($_SESSION['login']);
            if (isset($_SESSION['freeze_from'])) {
                unset($_SESSION['freeze_from']);
            }
            if (isset($_SESSION['freeze_to'])) {
                unset($_SESSION['freeze_to']);
            }
            if (isset($_SESSION['is_freezed'])) {
                unset($_SESSION['is_freezed']);
            }
            $_SESSION['pro_last'] = $_SESSION['pro_last']['is_freezed'] ? false : $_SESSION['pro_last']['cnt'];
            $objResponse->call('freezeEnabled', strtotime('+1 day') * 1000);
        }
    }
    if ($action == 'freeze_stop' && $freezed_now) {
//.........这里部分代码省略.........
开发者ID:kapai69,项目名称:fl-ru-damp,代码行数:101,代码来源:professions.server.php

示例10: updateUserSession

 /**
  * Обновляет данные о ПРО в сессии пользователя
  * @return boolean
  */
 public static function updateUserSession()
 {
     if (!$_SESSION['login']) {
         return false;
     }
     $pro_last = payed::ProLast($_SESSION['login']);
     $_SESSION['pro_last'] = $pro_last['is_freezed'] ? false : $pro_last['cnt'];
     if ($pro_last['freeze_to']) {
         $_SESSION['freeze_from'] = $pro_last['freeze_from'];
         $_SESSION['freeze_to'] = $pro_last['freeze_to'];
         $_SESSION['is_freezed'] = $pro_last['is_freezed'];
         $_SESSION['payed_to'] = $pro_last['cnt'];
     }
     return true;
 }
开发者ID:amage,项目名称:fl-ru-damp,代码行数:19,代码来源:payed.php

示例11: login

/**
 * Залогинивает юзера. Возвращает UID юзера. Выставляет куки "автологина".
 * ВНИМАНИЕ! возвращает UID юзера, если находит его. Либо возвращает
 *    0 - не найден
 *  -1 - аккаунт забанен
 *  -2 - аккаунт неактивирован
 *  -3 - IP не входит в список IP разрешенных пользователем
 *  -4 - требуется 2ой этап авторизации
 *
 * @param string $login логин юзера
 * @param string $pwd пароль
 * @param integer $autologin флаг "автологина"
 * @return integer                    UID юзера
 */
function login($login, $pwd, $autologin = 0, $annoy_check = true)
{
    require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/annoy.php";
    $annoy = new annoy();
    $user = new users();
    if ($annoy_check) {
        if (intval($_SESSION['login_wait_time']) > time()) {
            $redirect_checkpass = true;
        } else {
            // Проверить сколько раз воодился пароль
            if (isset($_SESSION['login_wait_time'])) {
                $annoy->Clear(getRemoteIP());
            }
            $login_count = $annoy->Check(getRemoteIP());
            if ($login_count >= $GLOBALS['max_login_tries']) {
                $_SESSION['login_wait_time'] = time() + $GLOBALS['login_wait_time'] * 60;
                $redirect_checkpass = true;
            }
        }
        if ($redirect_checkpass == true) {
            header("Location: /checkpass.php");
            exit;
        }
    }
    //Получаем логин и проверяем счетчик
    $_uid = $user->getUidByLoginEmailPhone($login);
    if ($_uid > 0 && !$annoy->allowRepeatPass($_uid)) {
        header("Location: /banned.php");
        exit;
    }
    //@todo: нет проверок наличия ключей
    $t_filter_prj = $_SESSION['f_project_filter'];
    $t_filter_frl = $_SESSION['f_freelancers_filter'];
    $t_ref_uri2 = $_SESSION['ref_uri2'];
    $adCatalog = $_SESSION['toppayed_catalog'];
    $adMain = $_SESSION['toppayed_main'];
    $adHead = $_SESSION['toppayed_head'];
    $adText = $_SESSION['toppayed_text'];
    $masssending = $_SESSION['masssending'];
    $newPrjName = $_SESSION['new_project_name'];
    $newPrjCost = $_SESSION['new_project_cost'];
    //Сохраняем значение типа 2хэпапной авторизации перед очисткой сессии
    $_2fa_provider = isset($_SESSION['2fa_provider']) ? $_SESSION['2fa_provider'] : null;
    $_2fa_redirect = isset($_SESSION['2fa_redirect']) ? $_SESSION['2fa_redirect'] : null;
    //Переносим хеши ссылок на уже зафиксированные местки для юзера при выходе/входе
    $_ga_stat_url_hash = isset($_SESSION['ga_stat_url_hash']) ? $_SESSION['ga_stat_url_hash'] : null;
    //Последняя посещенная страница
    $_ref_uri = isset($_SESSION['ref_uri']) ? $_SESSION['ref_uri'] : null;
    $_pda = isset($_SESSION['pda']) ? $_SESSION['pda'] : null;
    $_customer_wizard = isset($_SESSION['customer_wizard']) ? $_SESSION['customer_wizard'] : null;
    session_unset();
    if ($_customer_wizard) {
        $_SESSION['customer_wizard'] = $_customer_wizard;
    }
    if ($_pda) {
        $_SESSION['pda'] = $_pda;
    }
    if ($_ref_uri) {
        $_SESSION['ref_uri'] = $_ref_uri;
    }
    //Воссанавливаем значение хешей ссылок
    if ($_ga_stat_url_hash) {
        $_SESSION['ga_stat_url_hash'] = $_ga_stat_url_hash;
    }
    //Востанавливаем значение 2хэпапной авторизации после очистки сессии
    if ($_2fa_provider !== null) {
        $_SESSION['2fa_provider'] = $_2fa_provider;
    }
    if ($_2fa_redirect !== null) {
        $_SESSION['2fa_redirect'] = $_2fa_redirect;
    }
    //Выключаем проверку 2ого этапа авторизации
    //если это вход из куки или еще откуда (но неявно от пользователя)
    //где мы уже уверены что 2этапа пройдены ранее юзером
    $is_2fa_off = $annoy_check === false;
    //Авторизация
    $id = $user->Auth($login, $pwd, $_SESSION, $is_2fa_off);
    //Считаем и блокируем по количеству неудачных авторизаций
    if (!$id && $_uid > 0) {
        $annoy->wrongRepeatPass($_uid);
    }
    //Успешная авторизация
    if ($id > 0) {
        $annoy->clearRepeatPass($id);
        require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/payed.php";
        $pro_last = payed::ProLast($_SESSION['login']);
//.........这里部分代码省略.........
开发者ID:amage,项目名称:fl-ru-damp,代码行数:101,代码来源:auth.php

示例12: strtotime

//$ok = $payed->freezeProDeactivate($uid);
//assert($ok == true);
exit;
$last_freeze = payed::getLastFreeze($uid);
/*
if($last_freeze) {
    
    $from_time = strtotime($last_freeze['from_time_date']);
    $to_time = strtotime($last_freeze['to_time_date']);
     
    if ($from_time <= time() && strtotime($last_freeze['to_time']) > time()) {
            $freezed_now = true;
            $freezed_alert = false;
            $freeze_act = 'freeze_stop';
        }
    
    
}
*/
print_r($last_freeze);
exit;
/*
$data = payed::getProfiDaysFromPro(78701);
print_r($data);
exit;
*/
payed::freezePro($uid, '2014-10-20 00:00:00', '2014-10-27 00:00:00');
exit;
$data = payed::ProLast('freelancer78701');
print_r($data);
exit;
开发者ID:kapai69,项目名称:fl-ru-damp,代码行数:31,代码来源:test.php

示例13: is_emp

$from = is_emp($user->role) ? 'emp' : 'frl';
$op_data = opinions::getHeaderData($from, $user, $user->uid);
if (!$rating || !$rating instanceof rating || $rating->data['user_id'] != $user->uid) {
    $rating = new rating($user->uid, $user->is_pro, $user->is_verify, $user->is_profi, 1);
}
$r_data = $rating->data;
//$samerank = rating::CountByRank($r_data['rank']);
$banblog = $user->GetBan($user->uid, 1);
if ($user->birthday && $user->birthday > "1910-01-01") {
    $user_ago = ElapsedYears(strtotime($user->birthday));
}
$info_for_reg = @unserialize($user->info_for_reg);
$team = new teams();
// срок окончания ПРО - только для админов
if (hasPermissions('users') && $user->is_pro === 't') {
    $proLast = payed::ProLast($user->login);
    $proDate = date('d-m-Y в h:i', strtotime($proLast['cnt']));
}
$access_favorite = $_SESSION['login'] && $user->login != $_SESSION['login'];
$access_contacts = ($user->isCurrent() || is_view_contacts($user->uid) || hasPermissions('users')) && is_contacts_not_empty($user);
$show_contacts_col = $access_favorite || $access_contacts;
$is_allow_messages = true;
if ($uid > 0 && !is_emp() && is_emp($user->role)) {
    require_once ABS_PATH . "/classes/messages.php";
    $is_allow_messages = messages::isAllowed($user->uid, $uid);
}
?>



开发者ID:Nikitian,项目名称:fl-ru-damp,代码行数:27,代码来源:header.php

示例14: setUserPRO

 /**
  * Даем пользователою ПРО на месяц.
  * 
  * @global object $DB     подключение к БД
  *
  * @param int $user_id ИД пользователя
  * @param int $bill_id ИД операции
  *
  * @return resource
  */
 public function setUserPRO($user_id, $bill_id)
 {
     global $DB;
     $time = $this->getConst_MONTH_PRO() . ' month';
     $sql = 'INSERT INTO orders (from_id, to_date, tarif, ordered, billing_id, payed) VALUES (?, ?, ?, true, ?, true);
                 UPDATE users SET is_pro = true, is_pro_test = false WHERE uid=?;';
     $res = $DB->query($sql, $user_id, $time, $this->getConst_PRO_TARIF(), $bill_id, $user_id);
     require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/payed.php';
     $pro_last = payed::ProLast($_SESSION['login']);
     $_SESSION['pro_last'] = $pro_last['is_freezed'] ? false : $pro_last['cnt'];
     return $res;
 }
开发者ID:kapai69,项目名称:fl-ru-damp,代码行数:22,代码来源:maslen.php

示例15: SetGiftResv

/**
 * Делает отметку о получении подарка(просмотре подарка) по id подарка и UID
 *
 * @param integer $uid
 */
function SetGiftResv($gid)
{
    session_start();
    $uid = get_uid(false);
    $gid = intval($gid);
    $uid = intval($uid);
    if (!$gid || !$uid) {
        $resp['success'] = false;
        echo json_encode($resp);
        return;
    }
    require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/present.php";
    present::SetGiftResv($gid, $uid);
    require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/payed.php";
    $is_pro = payed::CheckPro($_SESSION['login']);
    $pro_last = payed::ProLast($_SESSION['login']);
    if ($pro_last['freeze_to']) {
        $_SESSION['freeze_from'] = $pro_last['freeze_from'];
        $_SESSION['freeze_to'] = $pro_last['freeze_to'];
        $_SESSION['is_freezed'] = $pro_last['is_freezed'];
        $_SESSION['payed_to'] = $pro_last['cnt'];
    }
    $_SESSION['pro_last'] = $pro_last['is_freezed'] ? false : $pro_last['cnt'];
    $resp['id'] = $gid;
    $resp['success'] = true;
    echo json_encode($resp);
    return;
}
开发者ID:Nikitian,项目名称:fl-ru-damp,代码行数:33,代码来源:users.server.php


注:本文中的payed::ProLast方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。