本文整理汇总了PHP中freelancer类的典型用法代码示例。如果您正苦于以下问题:PHP freelancer类的具体用法?PHP freelancer怎么用?PHP freelancer使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了freelancer类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: show
/**
* показывает сплэшскрин, предварительно сделав проверку: нужно ли его показывать
* @param type $type код сплэша
* @param type $debug - принудительно показать сплэш, даже если не прошел проверку
* @param type $setViewed если true - отметить как просмотренный
* @return boolean
*/
function show($type, $debug = false, $setViewed = true)
{
$need_show = false;
if (self::SPLASH_EMPLOYER & $type || self::SPLASH_FREELANCER & $type) {
$need_show = self::checkEmpFrlSplashShow($type);
}
if (self::SPLASH_MESSAGES & $type) {
$need_show = self::checkContactsSplashShow();
}
if (self::SPLASH_MONEY & $type) {
$need_show = !self::isViewed($type);
}
if (self::SPLASH_PROEMP_NOTPROFRL & $type || self::SPLASH_NOTPROEMP_NOTPROFRL & $type) {
$need_show = true;
}
if (self::SPLASH_REAL_NAMES & $type && !self::isViewed($type) || $debug) {
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/attachedfiles.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/users.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/rating.php";
$attachedFiles = new attachedfiles();
$user = new users();
$user->GetUserByUID(get_uid(0));
$userpicSrc = $user->photo ? WDCPREFIX . '/users/' . $user->login . '/foto/' . $user->photo : WDCPREFIX . '/images/no_foto.png';
$rating = new rating($user->uid, $user->is_pro, $user->is_verify, $user->is_profi);
$r_data = $rating->data;
$need_show = true;
}
if (self::SPLASH_NO_SPEC & $type && !self::isViewed($type) || $debug) {
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/freelancer.php";
$frl = new freelancer();
$frl->GetUserByUID(get_uid(0));
if (!$frl->spec) {
$need_show = true;
}
}
// Проверяем не показывали уже этот тип
if ($need_show || $debug || self::SPLASH_KONKURS == $type) {
$tpl_splash = $_SERVER['DOCUMENT_ROOT'] . self::SPLASH_DIR . self::getTemplateSplash($type);
if ($tpl_splash != '') {
include $tpl_splash;
if ($debug) {
return true;
}
// Отмечаем как просмотренный
if ($type != self::SPLASH_MESSAGES && $setViewed) {
self::setViewed($type);
}
return true;
}
}
}
示例2: process_event
public function process_event(&$event)
{
$this->force_connect();
switch ($event->type) {
case 'newsletter_freelancer':
$uid = (int) $event->data['uid'];
//$op = $event->data['op'];
$ms = new MemStorage('newsletter_freelancer');
if ($ms->isExistData()) {
$item = freelancer::GetPrjRecp($uid);
$page_id = $ms->isExistItem($uid);
$this->log->notice('getDebugInfo: ' . $ms->getDebugInfo());
$this->log->notice('BEFORE: ' . print_r($ms->getItem($uid), true));
if ($item) {
if ($page_id === false) {
//insert
$ms->insertItem($uid, $item);
$this->log->notice("insertItem {$uid}");
} else {
//update
$ms->updateItem($uid, $item, $page_id);
$this->log->notice("updateItem {$uid}");
}
} elseif ($page_id) {
//delete
$ms->deleteItem($uid, $page_id);
$this->log->notice("deleteItem {$uid}");
}
$this->log->notice('AFTER: ' . print_r($ms->getItem($uid), true));
}
break;
}
return PGQ_EVENT_OK;
}
示例3: SaveStatus
function SaveStatus($text, $statusType, $login = NULL)
{
session_start();
$freelancer = new freelancer();
$text = addslashes(substr(stripslashes(trim($text)), 0, 200));
close_tags($text, 's');
$freelancer->status_text = antispam(htmlspecialchars(htmlspecialchars_decode(change_q_x(trim($text), true, false), ENT_QUOTES), ENT_QUOTES));
$freelancer->status_type = intval($statusType);
if ($freelancer->statusToStr($statusType)) {
$stdStatus = "";
$objResponse = new xajaxResponse();
$uid = hasPermissions('users') && $login != $_SESSION['login'] ? $freelancer->GetUid($err, $login) : get_uid(false);
$pro = hasPermissions('users') && $login != $_SESSION['login'] ? is_pro(true, $uid) : is_pro();
$error = $freelancer->Update($uid, $res);
if (!$freelancer->status_text) {
$freelancer->status_text = $stdStatus;
}
$freelancer->status_text = stripslashes($freelancer->status_text);
switch ($freelancer->status_type) {
case 1:
$status_cls = 'b-status b-status_busy';
break;
case 2:
$status_cls = 'b-status b-status_abs';
break;
case -1:
$status_cls = 'b-status b-status_no';
break;
default:
$status_cls = 'b-status b-status_free';
}
if (!$noassign) {
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/stop_words.php';
$stop_words = new stop_words(hasPermissions('users'));
$sStatusText = $pro ? $freelancer->status_text : $stop_words->replace($freelancer->status_text);
//$GLOBALS['xajax']->setCharEncoding("windows-1251");
$jsobj = json_encode(array('data' => iconv('CP1251', 'UTF8', $freelancer->status_text)));
$objResponse->assign("statusText", "innerHTML", $freelancer->status_text == $stdStatus ? "" : reformat($sStatusText, 40, 0, 1, 25));
$objResponse->assign("statusTitle", "innerHTML", $freelancer->statusToStr($statusType));
// $objResponse->assign("statusTitle", "style.display", $statusType > -1 ? '' : 'none');
$objResponse->script("statusType = {$statusType};\n\t\t\t statusTxt = document.getElementById('statusText').innerHTML;\n\t\t\t statusTxtSrc = {$jsobj};");
}
$objResponse->script("\$('bstatus').erase('class');\n \$('bstatus').addClass('{$status_cls}');");
}
return $objResponse;
}
示例4: setFieldAutoComplete
/**
* Функция автозаполнения полей.
*
* @return bool
*/
public function setFieldAutoComplete()
{
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/freelancer.php';
$freelancer = freelancer::getTopFreelancer($this->getListSize());
if ($freelancer) {
foreach ($freelancer as $frl) {
$link[] = "{$GLOBALS['host']}/users/{$frl['login']}";
}
$this->initBlock($link);
return true;
}
return false;
}
示例5: intval
}
$page = intval(trim($_GET['page']));
$from = intval(trim($_GET['from']));
$from = 0;
//а нафига вообще тут это нужно?
if (!$page) {
$page = 1;
}
if ($login) {
// Ћичный блог пользовател¤
$login = pg_escape_string($login);
$user = new users();
$user->GetUser($login);
if ($user->uid && !$user->is_banned) {
if (!is_emp($user->role)) {
$user = new freelancer();
$user->GetUser($login);
$is_visible = substr($user->tabs, 3, 1);
} else {
$user = new employer();
$user->GetUser($login);
$is_visible = substr($user->tabs, 2, 1);
}
$user->GetUser($login);
if ($is_visible) {
$themes = $blog->GetMsgs($user->uid, $page, $num_msgs, $error, 1);
}
}
$rss_title = "Ћичные блоги на FL.ru ({$user->login})";
$rss_link = $host . "/rss/blogs.php?user={$user->login}";
$rss_description = "Ћичные блоги на сайте www.fl.ru ({$user->login})";
示例6: checkFrlRezType
function checkFrlRezType($frl_id, $emp_rez_type)
{
$frl_id = intval($frl_id);
$objResponse = new xajaxResponse();
$objResponse->script("\$('taxes_alert').hide();");
$objResponse->script("\$('unknown_frl_rez').addClass('b-fon_hide');");
$objResponse->script("if(!\$('nerez_frl_rez').hasClass('b-fon_nohide')) \$('nerez_frl_rez').addClass('b-fon_hide');");
$objResponse->script("\$('frl_ban').addClass('b-fon_hide');");
$objResponse->script("\$('frl').getParent().removeClass('b-combo__input_error');");
if (!$frl_id) {
return $objResponse;
}
$frl = new freelancer();
$frl->GetUserByUID($frl_id);
if (!$frl->uid) {
return $objResponse;
} else {
if ($frl->is_banned == 1) {
$objResponse->script("\$('frl_ban').removeClass('b-fon_hide');");
$objResponse->script("\$('frl').getParent().addClass('b-combo__input_error');");
}
if ($frl_reqvs = sbr_meta::getUserReqvs($frl->uid)) {
if ((int) $frl_reqvs['rez_type'] <= 0) {
$objResponse->script("\$('unknown_frl_rez').removeClass('b-fon_hide');");
$objResponse->script("if(\$('scheme_type" . sbr::SCHEME_PDRD2 . "').checked) \$('taxes_alert').show();");
}
if ((int) $frl_reqvs['rez_type'] == sbr::RT_UABYKZ) {
$objResponse->script("\$('nerez_frl_rez').removeClass('b-fon_hide');");
}
if ($frl_reqvs['rez_type'] == sbr::RT_UABYKZ) {
if ($frl_reqvs['form_type'] == sbr::FT_PHYS) {
$objResponse->script("\$('alert_frl_is_fiz').removeClass('b-layout__txt_hide');");
$objResponse->script("\$('alert_frl_is_jur').addClass('b-layout__txt_hide');");
$objResponse->script("sbr.options.reztype = 'UABYKZ_FIZ';");
} else {
$objResponse->script("\$('alert_frl_is_jur').removeClass('b-layout__txt_hide');");
$objResponse->script("\$('alert_frl_is_fiz').addClass('b-layout__txt_hide');");
$objResponse->script("sbr.options.reztype = 'UABYKZ';");
}
} elseif ($emp_rez_type == 0) {
$objResponse->script("\$('alert_frl_is_fiz').addClass('b-layout__txt_hide');");
$objResponse->script("\$('alert_frl_is_jur').addClass('b-layout__txt_hide');");
$objResponse->script("sbr.options.reztype = 'RU'; ");
}
$objResponse->script("\$\$('input[tmpname=\"cost\"]')[0].fireEvent('change')");
$sbr = sbr_meta::getInstance();
$sbr->frl_id = $frl->uid;
$sbr_schemes = $sbr->getSchemes();
$taxes = sbr_meta::jsSchemeTaxes($sbr_schemes, $frl_reqvs, $sbr->getUserReqvs(), sbr::EMP, exrates::BANK);
$objResponse->script("sbr.options.schemes = {$taxes};");
$objResponse->script('sbr.form.recalcTotal()');
} else {
$objResponse->script("\$('unknown_frl_rez').removeClass('b-fon_hide');");
$objResponse->script("if(\$('scheme_type" . sbr::SCHEME_PDRD2 . "').checked) \$('taxes_alert').show();");
}
}
return $objResponse;
}
示例7: session_start
$showMainDiv = true;
session_start();
$uid = get_uid();
$rpath = '../../';
$page_title = 'Получи MacBook PRO 13" оплачивая услуги fl.ru в июне чаще других';
$header = '../../header.php';
$footer = '../../footer.html';
$content = 'content.php';
$macbook_top_10_all = $DB->rows("select count(*) as nums, billing_id from account_operations\n where \n op_date >= '2015-06-01 00:00:00' \n and op_date <= '2015-06-30 23:59:59' \n and ammount < 0 and \n op_code in(48, 49, 50, 51, 163, 164, 142, 148, 181, 184, 143, 149, 182, 185, 144, 150, 183, 186, 155, 173, 156, 174, 157, 175, 158, 176)\n and is_our = false\n group by billing_id\n order by nums desc\n ");
// Количество человек
$macbook_top_10_total = sizeof($macbook_top_10_all);
$uid = get_uid();
$billing_id = $DB->val('SELECT id from account where uid=?', $uid);
$user_position = 0;
$macbook_top_10 = array();
foreach ($macbook_top_10_all as $key => $value) {
if ($key < 10) {
$user_id = $DB->val('SELECT freelancer.uid from freelancer INNER JOIN account ON account.uid=freelancer.uid WHERE account.id = ?', $value['billing_id']);
$freelancer = new freelancer();
$freelancer->GetUserByUID($user_id);
$macbook_top_10[$key]['user'] = $freelancer;
}
if (intval($billing_id) === intval($value['billing_id'])) {
$user_position = $key + 1;
}
if ($key > 10 && $user_position > 0) {
break;
}
}
$js_file = array('/css/block/b-shadow/b-shadow.js', 'timer.js', 'verification.js');
include '../../template3.php';
示例8:
if (!($frl_info_for_reg['city'] && !get_uid(false))) {
$str_location .= $str_location ? " / " . $frl['str_city'] : $frl['str_city'];
}
}
}
if ($str_location) {
echo "<br>Регион: {$str_location}";
}
?>
</span>
<?php
if ($frl['status_type'] != -1) {
echo freelancer::viewStatus($frl['status_type'], true);
?>
<?php
}
?>
</div>
</td>
<td><?php
echo rating::round($frl['t_rating']);
?>
</td>
<td style="width:65px;">
<?php
seo_start();
?>
示例9: freelancer
///////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////
$role = $user->role;
$rpath = '../';
// Статус присутсвия.
$online_status = $user->getOnlineStatus4Profile();
if (is_emp($role)) {
$fpath = 'employer/';
include $fpath . 'index.php';
exit;
}
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/payed.php';
$is_pro = payed::CheckPro($user->login);
$no_banner = !!$is_pro;
$user = new freelancer();
$user->GetUser($name);
if (!$page && !$user->tabs[0] && $user->tabs[7]) {
$page = $_GET['p'] = 'tu';
} elseif (!$page && !$user->tabs[0] && (!$user->tabs[3] && !hasPermissions('users')) && !$user->tabs[5] && !$user->tabs[6]) {
$page = $_GET['p'] = 'opinions';
}
//------------------------------------------------------------------------------
// Проверяем блокировку ТУ в профиле за не погашенный долг в ЛС
require_once $_SERVER['DOCUMENT_ROOT'] . '/tu/models/TServiceOrderModel.php';
$hide_tu_for_others = FALSE;
$_debt_info = TServiceOrderModel::model()->isDebt($user->uid);
if ($_debt_info && $user->uid != $uid && $_debt_info['is_blocked'] == 't') {
$hide_tu_for_others = TRUE;
}
//------------------------------------------------------------------------------
示例10: session_start
<?php
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/stdf.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/freelancer.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/employer.php';
$rpath = '../';
session_start();
$uid = get_uid();
$name = $_GET['user'];
$mode = intval($_GET['mode']);
$user = new users();
$user->GetUser($name);
$role = $user->role;
$is_emp = 0;
if (substr($role, 0, 1) == '1') {
$user = new employer();
$is_emp = 1;
} else {
$user = new freelancer();
}
if (!($mode > 0 && $mode <= 4) || ($mode == 4) != !!$is_emp) {
header('Location: /404.php');
exit;
}
$user->GetUser($name);
$header = '../header.php';
$footer = '../footer.html';
$content = 'all_inner.php';
$js_file = array('note.js');
include '../template.php';
示例11: elseif
$bPageDefault = true;
} elseif ($page == 1) {
$sLocation = e_url('page');
header("HTTP/1.1 301 Moved Permanently");
header("Location: {$sLocation}");
exit(0);
} elseif ($page < 1) {
include ABS_PATH . '/404.php';
exit;
}
//------------------------------------------------------------------------------
GaJsHelper::getInstance()->setFrlCategories(array($prof_group_id, $prof_group_parent_id), $prof_id);
adriver::getInstance()->setFrlCategories(array($prof_group_id, $prof_group_parent_id), $prof_id);
//------------------------------------------------------------------------------
$section = intval($_GET['section']);
$freelancer = new freelancer();
$freelancer_seo = new freelancer_seo($section);
if (!$prof_id && !$prof_group_id) {
// Подсчитываем количество избранных. Переписать в отдельный метод.
// $fav_count = 0;
$prof_name = "Все фри-лансеры";
$prof_type = false;
$prof_group_name = '';
$prof_descr = '';
$prof_descr_text = '';
$page_title = "Удаленная работа%prepositional_cityname%. Фрилансеры%cityname%. Проекты от работодателей%cityname%.";
$page_keyw = "фрилансер, free-lance, freelance, нужны сотрудники удаленно, онлайн фрилансер ру, найти специалиста, сайт фрилансеров, ищу сотрудника, фриланс дизайнер, бухгалтер на дому, юрист удаленно, программист, разработчик, seo оптимизатор, копирайт, рерайт";
$page_descr = "Лучшие специалисты для тех, кому нужны сотрудники удаленно. Удаленная работа на дому. Онлайн фрилансеры: дизайнеры, копирайтеры, рерайтеры, разработчики, программисты, seo, бухгалтеры, юристы, художники";
//list($avg_price_hour, $avg_price_project, $avg_price_month) = professions::GetAvgPrices($prof_id);
//$avg_price_hour = $avg_price_project = $avg_price_month = null;
$anchor = 0;
示例12: ini_set
<?php
//ini_set('display_errors',1);
//error_reporting(E_ALL ^ E_NOTICE);
ini_set('max_execution_time', 0);
ini_set('memory_limit', '512M');
if (!isset($_SERVER['DOCUMENT_ROOT']) || !strlen($_SERVER['DOCUMENT_ROOT'])) {
$_SERVER['DOCUMENT_ROOT'] = rtrim(realpath(pathinfo(__FILE__, PATHINFO_DIRNAME) . '/../../'), '/');
}
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/stdf.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/freelancer.php';
if (count($argv) > 1) {
parse_str(implode('&', array_slice($argv, 1)), $_GET);
}
$login = $_GET['login'];
$freelancer = new freelancer();
$freelancer->GetUser($login);
if ($freelancer->uid > 0) {
$DB->query("\n UPDATE projects_offers_answers SET\n last_offer = last_offer - interval '1 day'\n WHERE uid = ?i\n ", $freelancer->uid);
$data = $DB->row('SELECT * FROM projects_offers_answers WHERE uid = ?i', $freelancer->uid);
print_r($data);
} else {
print_r('Фрилансер не найден!');
}
exit;
示例13: _new_initFromRequest
/**
* Новая СБР
* Проверяет пользовательский запрос на создание/редактирование СБР. Инициализирует данные в соответствии с переданными значениями.
*
* @param array $request данные запроса (гет, пост).
* @param array $files массив $_FILES с вложениями к каждому этапу.
* @param sbr $old старый экземпляр сделки. Передается при редактировании.
*
* @return bool нет ошибок?
*/
public function _new_initFromRequest($request, $files = null, $old = null)
{
$is_now_draft = $this->data['is_draft'];
$this->data['is_draft'] = $request['draft'] ? 't' : 'f';
if (!isset($request['frl_db_id'])) {
$request['frl_db_id'] = '';
}
$request['frl_db_id'] = intval($request['frl_db_id']);
if (isset($request['tuid'], $request['tuhash'])) {
if ($request['tuhash'] === $this->tserviceHash($request['tuid'])) {
$service = $this->checkTService($request['tuid'], $request['frl_db_id']);
if ($service) {
$this->data['tservice_id'] = $service['id'];
$this->data['tservice_hash'] = $this->tserviceHash($service['id']);
}
}
} elseif ($request['project_id']) {
$this->checkProject($request['project_id']);
}
// если сделка создается из конкурса, то исполнителем может быть только победитель конкурса
if ($request['project_id'] && isset($request['frl_db_id']) && $this->project['kind'] == 7 && $this->project['exec_id'] != $request['frl_db_id']) {
$request['frl_db_id'] = $this->project['exec_id'];
$this->error['frl'] = 'Исполнителем этой сделки может быть только победитель конкурса';
}
if (!isset($request['scheme_type'])) {
$request['scheme_type'] = '';
}
if ($old) {
if (!$request['cost_sys']) {
$request['cost_sys'] = $old->cost_sys;
}
if (!$request['scheme_type']) {
$request['scheme_type'] = $old->scheme_type;
}
}
foreach ($request as $field => $value) {
if (is_scalar($value)) {
$value = trim(stripslashes($value));
}
switch ($field) {
case 'stages':
foreach ($value as $pos => $stage) {
$nowStage = $this->getStageByIdForData($stage['id']);
$value[$pos]['descr'] = htmlspecialchars($stage['descr']);
if (($request['scheme_type'] == sbr::SCHEME_PDRD || $request['scheme_type'] == sbr::SCHEME_PDRD2) && $stage['cost'] < sbr_stages::MIN_COST_RUR_PDRD) {
$this->error['cost'][$nowStage->data['num']] = 'Поле заполненно некоректно';
}
if ($request['scheme_type'] == sbr::SCHEME_LC && $is_now_draft != 't' && $stage['cost'] < sbr_stages::MIN_COST_RUR && $stage['cost'] != $nowStage->data['cost']) {
$this->error['cost'][$nowStage->data['num']] = 'Поле заполненно некоректно';
}
if ($request['scheme_type'] == sbr::SCHEME_LC && $is_now_draft == 't' && $stage['cost'] < sbr_stages::MIN_COST_RUR) {
$this->error['cost'][$nowStage->data['num']] = 'Поле заполненно некоректно';
}
if ($this->data['reserved_id'] && (int) $stage['work_time_add'] == 0) {
$value[$pos]['work_time'] = $nowStage->data['work_time'];
$request[$field][$pos]['work_time'] = $nowStage->data['work_time'];
} elseif ($this->data['reserved_id'] && (int) $stage['work_time_add'] > 0) {
$start_time = $nowStage->data['start_time'] ? $nowStage->data['start_time'] : $nowStage->data['first_time'];
$endDate = strtotime($start_time . ' + ' . $nowStage->data['int_work_time'] . 'days');
$nextDate = $endDate < time() ? strtotime("+{$stage['work_time_add']} days") : strtotime(date('d.m.Y H:i', $endDate) . "+{$stage['work_time_add']} days");
$workTime = ceil(($nextDate - strtotime($start_time)) / 86400);
$value[$pos]['work_time'] = $workTime;
$request[$field][$pos]['work_time'] = $workTime;
}
}
break;
case 'name':
if (is_empty_html($value)) {
$this->error[$field] = 'Пожалуйста, заполните это поле';
}
$value = substr($value, 0, self::NAME_LENGTH);
break;
case 'frl_db_id':
if (!$this->isDraft()) {
if (!$value || $value == 'логин') {
$this->error['frl_db_id'] = 'Необходимо добавить исполнителя';
}
}
if (!$this->error['frl_db_id'] && $value != '') {
$frl = new freelancer();
$frl->GetUserByUID($value);
if ($frl->is_banned == 1) {
$this->error['frl_db_id'] = 'Данный пользователь заблокирован';
$this->error['frl_ban'] = 'Данный пользователь заблокирован';
}
$this->data['frl_id'] = $frl->uid;
}
break;
// специальность
// специальность
//.........这里部分代码省略.........
示例14: 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']);
//.........这里部分代码省略.........
示例15: freelancer
<?php
/**
* Список PROFI для лендинга.
*/
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/freelancer.php';
$freelancer = new freelancer();
$profiList = $freelancer->getProfiAllRandom(90);
if ($profiList) {
?>
<h2 class="b-page__title b-page__title_center">
<a href="/profi/" class="b-page__title_decor_none b-page__title_color_32">Лучшие исполнители</a>
</h2>
<div class="b-layout b-layout_box b-layout_margbot_30 b-layout_padleft_30_iphone b-layout_padright_15_iphone b-layout_pad_null_r560">
<?php
foreach ($profiList as $profiUser) {
$user_profile_url = sprintf('/users/%s/', $profiUser['login']);
?>
<div class="b-layout b-layuot_width_33ps b-layuot_width_50ps b-layout__one_width_full_iphone b-layout_float_left b-layout_height_180 profi-fix">
<div class="b-layout b-layout_padbot_20 b-layout_padright_15">
<table class="b-layout__table b-fon_bg_f0ffdf_hover b-layout_hover_link_decorate b-layout__table_width_full">
<tr class="b-layout__tr">
<td class="b-layout__td b-layout__td_width_100 b-layout__td_pad_10 b-layout__td_ipad">
<a href="<?php
echo $user_profile_url;
?>
" class="b-layout__link">
<span class="i-pic b-pic_border_radius_50 b-pic_bord_ffa800 b-layout_overflow_hidden"><?php
echo view_avatar($profiUser['login'], $profiUser['photo'], 0, 0, 'b-pic b-pic_border_radius_50_safari-win');
?>
</span>