本文整理汇总了PHP中freelancer::GetUserByUID方法的典型用法代码示例。如果您正苦于以下问题:PHP freelancer::GetUserByUID方法的具体用法?PHP freelancer::GetUserByUID怎么用?PHP freelancer::GetUserByUID使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类freelancer
的用法示例。
在下文中一共展示了freelancer::GetUserByUID方法的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: needAddProf
/**
* Определяет, нужно ли добавлять специализацию в профиль
* @param type $uid ИД пользователя
* @param type $prof_id ИД специализации
* @return int 0 если не нужно, 1 если доп. специализацию, 2 если основную спец-ю
*/
public function needAddProf($uid, $prof_id)
{
$user_profs = professions::GetProfessionsByUser($uid, true, true);
$selected_profs_count = count(professions::GetProfessionsByUser($uid, false));
$has_free_spec_slot = $selected_profs_count < 1 + (is_pro(true, $uid) ? PROF_SPEC_ADD : 0);
if (!in_array($prof_id, $user_profs) && $has_free_spec_slot) {
$user = new freelancer();
$user->GetUserByUID($uid);
return $user->spec == 0 ? 2 : 1;
}
return 0;
}
示例3: printArbitrageReport
/**
* Формирует отчет по арбитражу за определенный период.
*
* @param string $sStartDate дата начала периода
* @param string $sEndDate дата конца периода
*/
public function printArbitrageReport($sStartDate = null, $sEndDate = null)
{
global $EXRATE_CODES;
// имя итогового файла
$sWorkTitle = 'Arbitrage report';
$sWorkTitle .= $sStartDate ? ' ' . $sStartDate : '';
$sWorkTitle .= $sEndDate ? ' - ' . $sEndDate : '';
$sWorkTitle .= '.xls';
// выбираем все этапы которые закрыты арбитражом
global $DB;
$sQuery = 'SELECT ss.id, sd.num FROM sbr_stages ss
LEFT JOIN sbr_docs sd ON ss.sbr_id = sd.sbr_id AND sd.type = 8
WHERE ss.status = ' . sbr_stages::STATUS_ARBITRAGED;
$sQuery .= $sStartDate ? " AND ss.closed_time >= '{$sStartDate}'" : '';
$sQuery .= $sEndDate ? " AND ss.closed_time <= '{$sEndDate}'" : '';
$aRows = $DB->rows($sQuery . ' ORDER BY ss.closed_time');
// подключаем pear
require_once 'Spreadsheet/Excel/Writer.php';
// создаем документ
$workbook = new Spreadsheet_Excel_Writer();
$workbook->setVersion(8);
// создаем лист
$worksheet =& $workbook->addWorksheet('1');
$worksheet->setInputEncoding('CP1251');
// заголовок листа
$worksheet->write(0, 0, 'ООО "Ваан"');
$worksheet->write(2, 1, 'Таблица по актам арбитража');
$m_sty = array('NumFormat' => '### ### ##0.00', 'Align' => 'right');
$d_sty = array('NumFormat' => 'DD MMM, YYYY HH:MM:SS');
$td_sty = array('FontFamily' => 'Calibri', 'VAlign' => 'vequal_space', 'Align' => 'center', 'Border' => 1, 'BorderColor' => 'black');
$th_sty = array('FontFamily' => 'Arial', 'Size' => 10, 'Align' => 'center', 'Border' => 1, 'BorderColor' => 'black', 'Bold' => 1);
$format_top =& $workbook->addFormat($th_sty);
$format_td =& $workbook->addFormat($td_sty);
$format_money =& $workbook->addFormat(array_merge($td_sty, $m_sty));
$format_date =& $workbook->addFormat(array_merge($td_sty, $d_sty));
$format_top->setTextWrap(1);
$aHeader = array('№ п/п', 'Номер акта', 'Дата', 'Номер «Безопасной Сделки»', 'Наименование Работодателя', 'Наименование Исполнителя', 'Сумма к выплате Работодателю, руб.коп.', 'Сумма к выплате Исполнителю, руб.коп.', 'Способ выплаты');
for ($i = 0; $i < count($aHeader); ++$i) {
$worksheet->write(3, $i, $aHeader[$i], $format_top);
}
// данные
if ($aRows) {
$nCnt = 1;
$aRates = exrates::GetAll();
foreach ($aRows as $aOne) {
$sbr = sbr_meta::getInstance(sbr_meta::ADMIN_ACCESS);
$stage = $sbr->initFromStage($aOne['id'], false);
$stage->getArbitrage(true);
// № п/п
$worksheet->write($nCnt + 3, 0, $nCnt, $format_td);
// Номер акта
$worksheet->write($nCnt + 3, 1, $aOne['num'], $format_td);
// Дата
$sDate = date('Y-m-d H:i:s', strtotime($stage->arbitrage['resolved']));
$worksheet->write($nCnt + 3, 2, $sDate, $format_date);
// Номер СБР
$worksheet->write($nCnt + 3, 3, $stage->sbr->getContractNum(), $format_td);
// Наименование Работодателя
$stage->sbr->getEmpReqvs();
$sEmpFio = sbr_meta::getFioFromReqvs($stage->sbr->emp_reqvs);
if (!$sEmpFio) {
$emp = new employer();
$emp->GetUserByUID($stage->sbr->emp_id);
$sEmpFio = $emp->uname . ' ' . $emp->usurname . ' [' . $emp->login . ']';
}
$worksheet->write($nCnt + 3, 4, $sEmpFio, $format_td);
// Наименование Исполнителя
$stage->sbr->getFrlReqvs();
$sFrlFio = sbr_meta::getFioFromReqvs($stage->sbr->frl_reqvs);
if (!$sFrlFio) {
$frl = new freelancer();
$frl->GetUserByUID($stage->sbr->frl_id);
$sFrlFio = $frl->uname . ' ' . $frl->usurname . ' [' . $frl->login . ']';
}
$worksheet->write($nCnt + 3, 5, $sFrlFio, $format_td);
// Сумма к выплате Работодателю, руб.коп.
$nSumm = $stage->getPayoutSum(sbr::EMP, exrates::BANK);
$worksheet->write($nCnt + 3, 6, $nSumm, $format_money);
// Сумма к выплате Исполнителю, руб.коп.
$nSumm = $stage->getPayoutSum(sbr::FRL, exrates::BANK);
$worksheet->write($nCnt + 3, 7, $nSumm, $format_money);
// Способ выплаты
$worksheet->write($nCnt + 3, 8, $EXRATE_CODES[$stage->sbr->cost_sys][1], $format_td);
++$nCnt;
}
}
// отправляем на скачивание
$workbook->send($sWorkTitle);
// закрываем документ
$workbook->close();
}
示例4: _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;
// специальность
// специальность
//.........这里部分代码省略.........
示例5: freelancer
$is_allow = $is_owner || $is_adm;
if (!($is_owner || $is_adm) && !$is_active) {
include ABS_PATH . '/404.php';
exit;
}
//------------------------------------------------------------------------------
//Если ТУ заблокирована и юзер не владелец и не админ то 404
if (!($is_owner || $is_adm) && $data['is_blocked'] == 't') {
$content = 'tpl.blocked.php';
include '../template3.php';
exit;
}
//------------------------------------------------------------------------------
//Получаем инфо о владельце ТУ
$user_obj = new freelancer();
$user_obj->GetUserByUID($data['user_id']);
$uid = $user_obj->uid;
if (!$uid) {
include ABS_PATH . '/404.php';
exit;
}
//------------------------------------------------------------------------------
// Блокируем ТУ для всех остальных если пользователь имеет задолженность
$_debt_info = TServiceOrderModel::model()->isDebt($user_obj->uid);
if ($_debt_info && !$is_owner && !$is_adm && $_debt_info['is_blocked'] == 't') {
include ABS_PATH . '/404.php';
exit;
}
//------------------------------------------------------------------------------
//Пользователь скрыл вкладку ТУ
//Доступна только ему и админам
示例6: removeSubscFilter
/**
* Удаляет категорию из подписки на проекты
*
* @param int $category_id
* @param int $subcategory_id
* @return \xajaxResponse
*/
function removeSubscFilter($category_id, $subcategory_id)
{
session_start();
$objResponse = new xajaxResponse();
if (!($uid = get_uid(false))) {
return $objResponse;
}
$user = new freelancer();
$user->GetUserByUID($uid);
$regex = '/:?c' . $category_id . ($subcategory_id > 0 ? 's' . $subcategory_id : '') . '/';
$user->mailer_str = preg_replace($regex, '', $user->mailer_str);
$res = array();
$user->Update($uid, $res);
return $objResponse;
}
示例7: 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;
}
示例8: actionNewOrder
public function actionNewOrder()
{
$code = __paramInit('string', 'code', 'code', '');
$activation_data = $this->order_model->getOrderActivation($code);
if (!$activation_data) {
$this->missingAction(null);
}
$this->order_model->deleteOrderActivation($code);
$is_new = !($activation_data['user_id'] > 0);
$registration = new registration();
$user_data = $registration->autoRegistationAndLogin(array('uid' => $activation_data['user_id'], 'role' => 1, 'email' => $activation_data['email'], 'uname' => $activation_data['uname'], 'usurname' => $activation_data['usurname']));
//Если почему то не можем зарегать
//то редиректим на регистрацию
if (!$user_data || !$user_data['ret']) {
$this->redirect('/registration/');
}
$status = $user_data['ret'];
$user = $user_data['user'];
$this->uid = $user->uid;
$service_id = intval($activation_data['tu_id']);
$debt_info = $this->order_model->isDebt($this->uid);
//блокируем возможность заказать если у исполнителя долг
//и вышли все сроки погашения
if ($debt_info && $debt_info['is_blocked'] == 't') {
$this->missingAction(null);
}
$activation_data['options']['emp_id'] = $this->uid;
$this->order_model->attributes($activation_data['options']);
$order = $this->order_model->create($service_id);
//Не удалось создать заказ показываем 404
if (!$order) {
$this->missingAction(null);
}
//Уведомляем все стороны
$tservices_smail = new tservices_smail();
$tservices_smail->newOrder($order);
//Если юзер уже бывалый пользователь то редиректим на карточку заказа
$order_url = sprintf(tservices_helper::url('order_card_url'), $order['id']);
if (!$is_new) {
if ($status == users::AUTH_STATUS_2FA) {
$_SESSION['ref_uri'] = $order_url;
$order_url = '/auth/second/';
}
$this->redirect($order_url);
}
//Берем доп.инфу о фрилансере
$freelancer = new freelancer();
$freelancer->GetUserByUID($order['frl_id']);
//Если юзер новичек то показываем ему логин/пароль и статус заказа
$this->layout = '//layouts/content-full-width';
$this->render('new-order', array('order_url' => $order_url, 'login' => $user->login, 'passwd' => $user->passwd, 'freelancer' => (array) $freelancer));
}
示例9: _changeOrder
/**
* Не использовать!
* Отправляем письмо уведомление исполнителю об изменении заказе на базе ТУ.
*
* @param array $order
* @return boolean
*/
public function _changeOrder($order)
{
if (empty($order)) {
return FALSE;
}
//@todo: Нет необходимости получать пользователей в заказе все есть!
$employer = new employer();
$employer->GetUserByUID(@$order['emp_id']);
if (!$employer->uid) {
return FALSE;
}
$freelancer = new freelancer();
$freelancer->GetUserByUID(@$order['frl_id']);
if (!$freelancer->uid) {
return FALSE;
}
$this->recipient = $this->_formatFullname(&$freelancer, true);
$message = Template::render(TSERVICES_TPL_MAIL_PATH . 'change_order_frl.tpl.php', array('smail' => &$this, 'order' => $order, 'params' => $this->_addUrlParams('f'), 'emp_fullname' => $this->_formatFullname(&$employer)));
$this->message = nl2br($message);
$ret_f = $this->send('text/html');
return $ret_f;
}
示例10: header
header_location_exit('/404.php');
}
$account->GetInfo(get_uid());
$account->sum = $account->sum ? $account->sum : 0;
$iAmAdmin = true;
} else {
if (!$uid) {
header('Location: /fbd.php');
exit;
}
if (is_emp()) {
header('Location: /frl_only.php');
exit;
}
$user = new freelancer();
$user->GetUserByUID($uid);
$account->GetInfo($uid);
$account->sum = $account->sum ? $account->sum : 0;
$_SESSION['ac_sum'] = $account->sum;
$_SESSION['ac_sum_rub'] = $account->sum_rub;
$transaction_id = $account->start_transaction($uid, $tr_id);
}
if ($user->is_pro == 't') {
$no_banner = true;
}
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/promotion.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/professions.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/payed.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/rating.php";
$mode = __paramInit('int', 'mode', 'mode', 0);
$mode_array = array(promotion::MODE_FP_MAIN_ID, promotion::MODE_FP_CTLG_ID);
示例11: NoRiskMoneyReserved
/**
* Отсылает письмо о резерве денег по СбР.
*
* @param int $uid UID фрилансера
* @param int $prj_id id проекта
*
* @return string
*/
public function NoRiskMoneyReserved($uid, $prj_id)
{
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/freelancer.php';
$t_user = new freelancer();
$t_user->GetUserByUID($uid);
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/projects.php';
$prj = projects::GetProject($prj_id);
$this->message = $this->GetHtml($t_user->uname, "\n\nСообщаем вам, что Заказчик зарезервировал деньги на личном счёте под «Безопасную Сделку» по проекту <a href='{$GLOBALS['host']}" . getFriendlyURL('project', $prj['id']) . $this->_addUrlParams('f') . "'>{$GLOBALS['host']}" . getFriendlyURL('project', $prj['id']) . '</a>.
<br />
Теперь вы можете приступать к работе.
', 'simple');
$this->recipient = "{$t_user->uname} {$t_user->usurname} [{$t_user->login}] <" . $t_user->email . '>';
$this->subject = 'Заказчик зарезервировал деньги под «Безопасную Сделку»';
if (!$this->SmtpMail('text/html')) {
$error = 'Невозможно отправить сообщение';
}
return $error;
}
示例12: _onPublicFrl
/**
* Уведомление исполнителю об успешной публикации ранее скрытых отзывов
*
* @param type $frl_id
*/
public function _onPublicFrl($frl_id)
{
$frl = new freelancer();
$frl->GetUserByUID($frl_id);
$this->subject = "Успешно опубликованы ранее скрытые отзывы о сотрудничестве в проектах";
$this->recipient = $this->_formatFullname($frl, true);
$this->message = Template::render(PROJECTS_TPL_MAIL_PATH . 'public_frl.tpl.php', array('opinions_url' => $GLOBALS['host'] . '/users/' . $frl->login . '/opinions/'));
return $this->send('text/html');
}
示例13: getListForProject
/**
* Извлечение автоответов которые соответсвуют критериям проекта.
*
* @param project $project Проект (объект класса project)
*
* @return array (autoresponse a1, autoresponse a2, ... autoresponse a1)
*/
public static function getListForProject($project)
{
global $DB;
$list = array();
// Специализация проекта
$sql_spec = '';
$specs = projects::getProjectCategories($project['id']);
foreach ($specs as $spec) {
if ($sql_spec) {
$sql_spec .= ' OR ';
}
$sql_spec .= sprintf('
(filter_category_id = %d AND filter_subcategory_id = %d)
OR
(filter_category_id = %d AND filter_subcategory_id = 0)', $spec['category_id'], $spec['subcategory_id'], $spec['category_id']);
}
// Запрос на извлечение автоответов, подходящих к выбранному проекту
$sql = sprintf("SELECT DISTINCT ON (user_id) user_id, id, post_date, descr, only_4_cust \n FROM autoresponse \n WHERE \n active = 't' AND remained > 0 \n AND (filter_budget = 0 OR \n (filter_budget <= %d AND filter_budget_currency = %d AND filter_budget_priceby = %d)\n )\n AND ({$sql_spec}) \n ORDER BY user_id, post_date", intval($project['cost']), $project['currency'], $project['priceby']);
if ($res = $DB->rows($sql)) {
foreach ($res as $data) {
$freelancer = new freelancer();
$freelancer->GetUserByUID($data['user_id']);
if (!$freelancer->uid) {
continue;
}
$data['freelancer'] = $freelancer;
$data['contacts_freelancer'] = array('phone' => array('name' => 'Телефон', 'value' => $freelancer->phone), 'site' => array('name' => 'Сайт', 'value' => $freelancer->site), 'icq' => array('name' => 'ICQ', 'value' => $freelancer->icq), 'skype' => array('name' => 'Skype', 'value' => $freelancer->skype), 'email' => array('name' => 'E-mail', 'value' => $freelancer->second_email));
$list[] = new self($data);
}
}
return $list;
}
示例14: list
}
}
}
if ($project['exec_id'] && !$exec_info) {
$exec_info = $obj_offer->GetPrjOffer($prj_id, $project['exec_id']);
}
list($op_count_all, $op_count_all_new_msgs) = $obj_offer->CountPrjOffers($prj_id, $countAllType);
list($op_count_offers, $op_count_offers_new_msgs) = $obj_offer->CountPrjOffers($prj_id, 'offers');
list($op_count_candidate, $op_count_candidate_new_msgs) = $obj_offer->CountPrjOffers($prj_id, 'candidate');
list($op_count_refuse, $op_count_refuse_new_msgs) = $obj_offer->CountPrjOffers($prj_id, 'refuse');
list($op_count_executor, $op_count_executor_new_msgs) = $obj_offer->CountPrjOffers($prj_id, 'executor');
list($op_count_frl_refuse, $op_count_frl_refuse_new_msgs) = $obj_offer->CountPrjOffers($prj_id, 'frl_refuse');
}
} else {
$freelancer = new freelancer();
$freelancer->GetUserByUID(get_uid(false));
$contacts_freelancer = array('phone' => array('name' => 'Телефон', 'value' => $freelancer->phone), 'site' => array('name' => 'Сайт', 'value' => $freelancer->site), 'icq' => array('name' => 'ICQ', 'value' => $freelancer->icq), 'skype' => array('name' => 'Skype', 'value' => $freelancer->skype), 'email' => array('name' => 'E-mail', 'value' => $freelancer->second_email));
if ($_POST['ps_cost_from'] >= 1000000 || $_POST['ps_cost_from'] < 0) {
$_POST['ps_cost_from'] = 0;
}
if ($_POST['ps_cost_to'] >= 1000000 || $_POST['ps_cost_to'] < 0) {
$_POST['ps_cost_to'] = 0;
}
switch ($action) {
case 'add':
$hash = __paramInit('string', null, 'hash');
if ($hash != md5($project['id'] . $uid . projects_offers::SALT)) {
header('Location: ' . getFriendlyURL('project', $project['id']));
exit;
}
if (($project['pro_only'] == 't' && !$is_pro || $project['verify_only'] == 't' && !$is_verify) && $project['user_id'] != $_SESSION['uid'] && !hasPermissions('projects')) {
示例15: time
<?php
$pdrd_disabled = $sbr->scheme_type != sbr::SCHEME_PDRD && time() < strtotime('2011-01-01');
$categories = professions::GetAllGroupsLite(true, true);
$sub_categories = professions::GetProfList();
$frl_ftype = sbr::FT_PHYS;
if ($sbr->frl_id) {
$frl = new freelancer();
$frl->GetUserByUID($sbr->frl_id);
if (!$sbr->frl_login) {
$sbr->data['frl_login'] = $frl->login;
}
if ($frl_reqvs = sbr_meta::getUserReqvs($frl->uid)) {
$frl_ftype = (int) $frl_reqvs['form_type'];
$frl_rtype = $frl_reqvs['rez_type'];
}
}
?>
<script type="text/javascript">
Sbr.prototype.DEBUG=0;
var SBR = new Sbr('createFrm');
window.addEvent('domready', function() { SBR = new Sbr('createFrm'); } );
Sbr.prototype.CATEGORIES={<?php
// категории/подкатегории: {ид_кат:{имя_кат:{ид_подкат:имя_подкат,ид_подкат:...}},ид_кат:...}
foreach ($sub_categories as $sc) {
$cc = $sc['prof_group'];
$ccname = str_replace("'", "\\'", $categories[$cc]['name']);
$scname = str_replace("'", "\\'", $sc['name']);
if ($lcc != $cc) {
echo ($lcc ? '}},' : '') . "{$cc}:{'{$ccname}':{";
$lcc = $cc;