예제 #1
0
function AddInTeamNew($login)
{
    $objResponse = new xajaxResponse();
    if ($_SESSION['login']) {
        $team = new teams();
        if ($team->teamsAddFavorites($_SESSION['uid'], $login)) {
            return false;
        }
        $objResponse->script("\n            \$('team_{$login}').removeClass('uprj-bar');\n            \$('team_{$login}').addClass('uprj-bar-act');\n\n            r = \$('team_{$login}').getElement('.uprj-st1');\n            r.set('html', 'Этот исполнитель у вас в избранных (<a href=\"javascript:void(0)\" onclick=\"delFromFav(\\'{$login}\\')\" class=\"lnk-dot-grey\">убрать</a>)');\n            r.removeClass('uprj-st1');\n            r.addClass('uprj-st2');\n        ");
    }
    return $objResponse;
}
예제 #2
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;
 }
예제 #3
0
 /**
  * Добавление/удаление пользователя из избранного
  * 
  * @param  array $aParams массив входящих данных
  * @return array $aResult ответ
  */
 protected function x____users_favorites_set($aParams = array())
 {
     $this->_validDevice($aParams);
     $nId = intvalPgSql($aParams['user_id']);
     $nStatus = intvalPgSql($aParams['status']);
     if (!empty($nId)) {
         require_once ABS_PATH . '/classes/users.php';
         $oUser = new users();
         $oUser->GetUserByUID($nId);
         if ($oUser->uid) {
             if (empty($oUser->is_banned)) {
                 require_once ABS_PATH . '/classes/teams.php';
                 $nInFav = teams::teamsIsInFavorites($_SESSION['uid'], $nId);
                 if ($nInFav && $nStatus) {
                     $this->error(EXTERNAL_ERR_FAVORITES_IN);
                 }
                 if (!$nInFav && !$nStatus) {
                     $this->error(EXTERNAL_ERR_FAVORITES_NOT_IN);
                 }
                 if ($nStatus) {
                     if (teams::teamsAddFavorites($_SESSION['uid'], $oUser->login)) {
                         $this->error(EXTERNAL_ERR_SERVER_ERROR);
                     }
                 } else {
                     if (teams::teamsDelFavoritesByLogin($_SESSION['uid'], $oUser->login)) {
                         $this->error(EXTERNAL_ERR_SERVER_ERROR);
                     }
                 }
             } else {
                 $this->error(EXTERNAL_ERR_USER_BANNED);
             }
         } else {
             $this->error(EXTERNAL_ERR_USER_NOTFOUND);
         }
     } else {
         $this->error(EXTERNAL_ERR_EMPTY_USER_ID);
     }
     return array();
 }