Example #1
0
 /**
  * Изменение "избранности" фрилансера - добавление в избранные, если еще не выбран и удаление, если уже выбран.
  *
  * @param    integer   $frl_id   код фрилансера
  * @param    integer   $prof_id  код профессии
  * @param    integer   $uid      код юзера
  * @return   array               результат (0-ой элемент: количество выбранных юзеров) и тип выполненой операции (1-ый элемент: 0 - удален, 1 - добавлен)
  */
 function ChangeFav($frl_id, $prof_id, $uid)
 {
     global $DB;
     if ($frl_id != $uid) {
         require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/teams.php';
         $teams = new teams();
         $ret = array(0, 0);
         if (!$teams->teamsIsInFavorites($uid, $frl_id)) {
             if ($prof_id > 0) {
                 require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/professions.php";
                 $mirrored = professions::GetMirroredProfs($prof_id);
                 $profs = "'" . implode("', '", $mirrored) . "'";
                 $teams->teamsAddFavorites($uid, $frl_id, false);
                 $m = $teams->teamsFavorites($uid, $error);
                 $myteam = array();
                 for ($i = 0; $i < count($m); $i++) {
                     $myteam[] = $m[$i]['uid'];
                 }
                 if ($myteam) {
                     //$DB->debug = '/var/tmp/DB.log';
                     $sql = "SELECT COUNT(*) FROM portf_choise WHERE user_id IN (" . implode(',', $myteam) . ") AND prof_id IN ({$profs})";
                     $ret[0] = $DB->val($sql);
                     //$DB->debug = '';
                 }
             } else {
                 $teams->teamsAddFavorites($uid, $frl_id, false);
                 $ret[0] = $teams->teamsFavoritesCount($uid, $error);
             }
             $ret[1] = 1;
         } else {
             if ($prof_id > 0) {
                 require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/professions.php";
                 $mirrored = professions::GetMirroredProfs($prof_id);
                 $profs = "'" . implode("', '", $mirrored) . "'";
                 $teams->user_id = $uid;
                 $teams->target_id = $frl_id;
                 $teams->teamsDelFavorites();
                 $m = $teams->teamsFavorites($uid, $error);
                 $myteam = array();
                 for ($i = 0; $i < count($m); $i++) {
                     $myteam[] = $m[$i]['uid'];
                 }
                 if ($myteam) {
                     $sql = "SELECT COUNT(*) FROM portf_choise WHERE user_id IN (" . implode(',', $myteam) . ") AND prof_id IN ({$profs})";
                     $ret[0] = $DB->val($sql);
                 }
             } else {
                 $teams->user_id = $uid;
                 $teams->target_id = $frl_id;
                 $teams->teamsDelFavorites();
                 $ret[0] = $teams->teamsFavoritesCount($uid, $error);
             }
             return $ret;
         }
     } else {
         $ret[0] = $teams->teamsFavoritesCount($uid, $error);
     }
     return $ret;
 }
Example #2
0
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/stat_collector.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/country.php";
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/stop_words.php';
$team = new teams();
$stop_words = new stop_words(hasPermissions('projects'));
stat_collector::setStamp();
foreach ($f_offers as $i => $offer) {
    unset($user_ago);
    if ($offer['birthday'] !== NULL && $offer['birthday'] > "1910-01-01") {
        $user_ago = ElapsedYears(strtotime($offer['birthday']));
    }
    $info_for_reg = @unserialize($offer['info_for_reg']);
    $offer['sf'] = abs($offer['se']) + abs($offer['sg']) + abs($offer['sl']);
    $offer['ef'] = abs($offer['e_plus']) + abs($offer['e_null']) + abs($offer['e_minus']);
    if (get_uid(false)) {
        $offer['is_fav'] = $team->teamsIsInFavorites($_SESSION['uid'], $offer['uid']);
    }
    $sTitle = htmlspecialchars($offer['title']);
    $sTitle = $offer['moderator_status'] === '0' && $offer['is_pro'] != 't' ? $stop_words->replace($sTitle) : $sTitle;
    $sTitle = reformat($sTitle, 35, 0, 1);
    $sDescr = htmlspecialchars($offer['descr']);
    $sDescr = $offer['moderator_status'] === '0' && $offer['is_pro'] != 't' ? $stop_words->replace($sDescr) : $sDescr;
    $sDescr = reformat($sDescr, 50);
    ?>
<a name="o_<?php 
    echo $offer['id'];
    ?>
">&nbsp;</a>
<div class="b-freelancer b-freelancer_bordbot_f0 b-freelancer_padbot_30 b-freelancer_padtop_20"> 
    
	<span class="b-freelancer__date b-freelancer__date_float_right b-freelancer__date_padtop_10 b-freelancer__date_padleft_10"><?php 
Example #3
0
              <div class="b-layout b-layout_padbot_10">
                 <?php 
    include_once $_SERVER['DOCUMENT_ROOT'] . '/user/header_note.php';
    ?>
              </div>
            <?php 
}
?>
			<?php 
if ($access_favorite) {
    ?>
                  <div class="b-layout__txt b-layout__txt_lineheight_1">
                        <span class="b-icon b-icon__cont b-icon_top_-1 b-icon__cont_fav"></span><div
                         class="b-layout__txt b-layout__txt_inline-block b-layout__txt_lineheight_1">
                            <?php 
    if (!empty($_SESSION['uid']) && $team->teamsIsInFavorites($_SESSION['uid'], $user->uid)) {
        ?>
                                  <a class="b-layout__link b-layout__link_bordbot_dot_0f71c8 b-layout__txt_top_1" href="<?php 
        if ($_SESSION["uid"]) {
            ?>
/users/<?php 
            echo htmlspecialchars($_SESSION['login']);
            ?>
/setup/deluser/<?php 
            echo htmlspecialchars($user->login);
            ?>
" onclick="del('<?php 
            echo htmlspecialchars($_SESSION['login']);
            ?>
','<?php 
            echo htmlspecialchars($user->login);
Example #4
0
 /**
  * Возвращает часть ответа с информацией о пользователе
  * 
  * @param  array $aData информация о пользователе из базы
  * @param  bool $bShowEmail включить пользователя Email в ответ
  * @param  bool $bExtended получить расширенную информацию (аналог профиля на сайте)
  * @return array
  */
 private function _getUserData($aData = array(), $bShowEmail = false, $bExtended = false)
 {
     $this->_oSession->view_online_status($aData['login'], false);
     $u = new users();
     if (!is_emp($aData['role'])) {
         require_once ABS_PATH . '/classes/professions.php';
         $prof_id = $aData['spec'] ? $aData['spec'] : 0;
         $prof_group_id = $aData['spec'] ? professions::GetProfField($aData['spec'], 'prof_group') : 0;
     } else {
         $prof_id = 0;
         $prof_group_id = 0;
     }
     $aReturn = array('id' => $aData['uid'], 'status' => $aData['self_deleted'] == 't' ? 2 : 1, 'username' => $aData['login'] ? iconv('cp1251', 'utf-8', $aData['login']) : '', 'firstname' => $aData['uname'] ? iconv('cp1251', 'utf-8', $aData['uname']) : '', 'lastname' => $aData['usurname'] ? iconv('cp1251', 'utf-8', $aData['usurname']) : '', 'role' => is_emp($aData['role']) ? 2 : 1, 'pro' => $aData['is_pro'] == 't' ? 1 : 0, 'verified' => $aData['is_verify'] == 't' ? 1 : 0, 'online' => $this->_oSession->is_active ? 1 : 0, 'spec' => $aData['spec'] ? $aData['spec'] : 0, 'avatar' => array('url' => $aData['photo'] ? WDCPREFIX . '/users/' . $aData['login'] . '/foto/' : '', 'file' => $aData['photo'] ? substr($aData['photo'], 2) . '?' . strtotime($aData['photo_modified_time']) : ''), 'gender' => $aData['sex'] == 't' ? 1 : ($aData['sex'] == 'f' ? 2 : 0), 'country_id' => intval($aData['country']), 'city_id' => intval($aData['city']), 'age' => ElapsedYears(strtotime($u->GetField($aData['uid'], $e, 'birthday'))), 'birthday' => $u->GetField($aData['uid'], $e, 'birthday'), 'prof_id' => $prof_id, 'prof_group_id' => $prof_group_id, 'create_time' => strtotime($aData['reg_date']), 'update_time' => $aData['modified_time'] ? strtotime($aData['modified_time']) : 0);
     if ($bShowEmail) {
         $aReturn['email'] = $aData['email'] ? iconv('cp1251', 'utf-8', $aData['email']) : '';
     }
     if ($bExtended) {
         require_once ABS_PATH . '/classes/rating.php';
         require_once ABS_PATH . '/classes/teams.php';
         $rating = new rating($aData['uid'], $aData['is_pro'], $aData['is_verify'], @$aData['is_profi'], 1);
         $team = new teams();
         $aReturn['rating'] = rating::round($rating->data['total']);
         $aReturn['favorite'] = $team->teamsIsInFavorites($_SESSION['uid'], $aData['uid']);
         $aReturn['contacts'] = is_view_contacts(get_uid(false)) ? $this->_getUserContactsData($aData) : array();
         $aReturn['reviews'] = $this->_getUserOpinionsData($aData);
     }
     return $aReturn;
 }