Beispiel #1
0
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;
}
 /**
  * @see parent::initHtmlData
  */
 public function initHtmlData()
 {
     require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/projects.php';
     require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/stop_words.php';
     $pid = $this->parseLinks();
     if ($pid) {
         $pid = array_map('intval', $pid);
         $stop_words = new stop_words();
         $projects = new_projects::getProjectsById($pid);
         foreach ($projects as $i => $project) {
             $sTitle = $project['moderator_status'] === '0' && $project['kind'] != 4 && $project['is_pro'] != 't' ? $stop_words->replace($project['name']) : $project['name'];
             $projects[$i]['sTitle'] = reformat2($sTitle, 30, 0, 1);
             $projects[$i]['friendly_url'] = $this->getLinkById($project['id']);
             $projects[$i]['str_cost'] = $project['cost'] ? CurToChar($project['cost'], $project['currency']) . getPricebyProject($project['priceby']) : 'По договоренности';
         }
         $this->html_data = $projects;
     }
 }
function AddDialogueMessage($form)
{
    global $session;
    session_start();
    $objResponse = new xajaxResponse();
    $offerIsBlocked = projects_offers::isOfferBlocked(false, get_uid(), $form['prj_id']);
    if ($offerIsBlocked) {
        $objResponse->alert('Ваше предложение заблокировано, вы не можете отправить это сообщение');
        return $objResponse;
    }
    $prj = new projects();
    $project = $prj->GetPrjCust(intval($form['prj_id']));
    $is_pro = is_pro();
    if ($project['pro_only'] == 't' && !$is_pro && !is_emp() && !hasPermissions('projects')) {
        if ($project['kind'] == 7) {
            if (contest::IsContestOfferExists($project['id'], get_uid(false))) {
                $is_pro = true;
            }
        } else {
            if (projects_offers::IsPrjOfferExists($project['id'], get_uid(false))) {
                $is_pro = true;
            }
        }
    }
    if ($project['pro_only'] == 't' && !$is_pro && $project['user_id'] != get_uid() && !hasPermissions('projects')) {
        $objResponse->alert('Данная функция доступна только пользователям с аккаунтом PRO.');
        $objResponse->script("\$('savebtn').set('disabled', false);");
        return $objResponse;
    } elseif ($project['verify_only'] == 't' && !($_SESSION['is_verify'] == 't') && $project['user_id'] != get_uid() && !hasPermissions('projects')) {
        $objResponse->alert('Данная функция доступна только верифицированным пользователям.');
        $objResponse->script("\$('savebtn').set('disabled', false);");
        return $objResponse;
    }
    if (!trim($form['po_text'])) {
        $objResponse->alert('Невозможно отправить пустое сообщение.');
        $objResponse->script("\n            \$('savebtn').set('disabled', false);\n        ");
        return $objResponse;
    }
    if (!is_emp() && $form['from'] == 'emp') {
        $objResponse->script("\n            \$('savebtn').set('disabled', false);\n        ");
        $objResponse->alert('Невозможно отправить сообщение. Вы вышли из аккаунта работодателя.');
        return $objResponse;
    } elseif (is_emp() && $form['from'] == 'frl') {
        $objResponse->script("\n            \$('savebtn').set('disabled', false);\n        ");
        $objResponse->alert('Невозможно отправить сообщение. Вы вышли из аккаунта фрилансера.');
        return $objResponse;
    }
    //Не позволяем производить действия с заблокированным проектом
    if (projects::CheckBlocked(intval($form['prj_id']))) {
        $objResponse->script("document.location.href='/projects/index.php?pid=" . intval($form['prj_id']) . "'");
    } elseif (intval($_SESSION['uid'])) {
        $po_id = intval($form['po_id']);
        //$po_text = substr(change_q_x($form['po_text'], false), 0, 1000);
        $po_text = antispam(trim($form['po_text']));
        $po_text = preg_replace("/(\r\n|\r|\n){3,100}/i", "\r\n\r\n", $po_text);
        $po_commentid = intval($form['po_commentid']);
        $user_id = get_uid(false);
        $user = new users();
        $user_name = $user->GetName($user_id, $error);
        $pod = new projects_offers_dialogue();
        $project_dialogue = $pod->GetDialogueForOffer($po_id);
        $project = $pod->GetProjectFromDialogue($po_id);
        if (count($project_dialogue)) {
            for ($i = count($project_dialogue) - 1; $i >= 0; --$i) {
                if ($project_dialogue[$i]['user_id'] != $user_id) {
                    $to_user_name = $project_dialogue[$i]['login'];
                    break;
                }
            }
        }
        if (is_emp()) {
            $emp_read = true;
            $frl_read = false;
        } else {
            $emp_read = false;
            $frl_read = true;
        }
        if (!$po_commentid) {
            $error = $pod->AddDialogueMessage($po_id, $user_id, $po_text, $frl_read, $emp_read);
            $last_comment = $pod->GetLastDialogueMessage($user_id, $po_id);
            $objResponse->script("last_commentid={$last_comment};");
            $objResponse->script("edit_block[{$po_id}] = '&nbsp;&nbsp;<span><a href=\"javascript:void(null)\" onClick=\"answer({$po_id}, {$last_comment});markRead(\\'{$po_id}\\');\" class=\"internal\">Редактировать</a></span>';");
            //		$objResponse->script("alert(last_commentid);");
            //		$objResponse->script("alert(edit_block);");
        } else {
            $error = $pod->SaveDialogueMessage($user_id, $po_text, $po_commentid, $po_id, false);
            if ($error == 1) {
                $objResponse->alert('Вы не можете редактировать комментарий, так как на него уже ответили.');
                return $objResponse;
            }
        }
        $po_text = rtrim(ltrim($po_text, "\r\n"));
        $po_text = substr(change_q_x($po_text, false, true, '', false, false), 0, 1000);
        $po_text = stripslashes($po_text);
        if ($error == '') {
            $sPostText = $po_text;
            if ($project['kind'] != 4) {
                $sId = $po_commentid ? $po_commentid : $last_comment;
                $aComment = $pod->getDialogueMessageById($sId);
                if ($aComment['moderator_status'] === '0') {
                    require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/stop_words.php';
                    $stop_words = new stop_words(hasPermissions('projects'));
                    $sPostText = $stop_words->replace($sPostText);
                }
            }
            if (!$po_commentid) {
                $objResponse->append('po_dialogue_talk_' . $po_id, 'innerHTML', '<div style="margin-bottom:8px;font-size:100%;"><span class="' . (is_emp() ? 'emp' : 'frl') . 'name11"><a href="/users/' . get_login($user_id) . '/" class="' . (is_emp() ? 'emp' : 'frl') . 'name11" title="' . $user_name['uname'] . ' ' . $user_name['usurname'] . '">' . $user_name['uname'] . ' ' . $user_name['usurname'] . '</a> [<a href="/users/' . $user_name['login'] . '/" class="' . (is_emp() ? 'emp' : 'frl') . 'name11" title="' . $user_name['login'] . '">' . $user_name['login'] . '</a>]</span> <span id="po_date_' . $last_comment . '">[' . strftime('%d.%m.%Y | %H:%M', time()) . ']</span><br /><div id="po_comment_' . $last_comment . '">' . reformat($sPostText, 50, 0, 0, 1) . '</div><div id="po_comment_original_' . $last_comment . '" style="display:none;">' . str_replace(' ', '&nbsp;', reformat($po_text, 1000, 0, 1)) . '</div></div>');
                //			$objResponse->call('resetfld', $po_id);
                $objResponse->script('dialogue_count[' . $po_id . '] = ' . (count($project_dialogue) + 1));
            } else {
                $objResponse->assign('po_comment_' . $po_commentid, 'innerHTML', reformat($sPostText, 50, 0, 0, 1));
                $objResponse->assign('po_comment_original_' . $po_commentid, 'innerHTML', str_replace(' ', '&nbsp;', reformat($po_text, 1000, 0, 1)));
                $objResponse->assign('po_date_' . $po_commentid, 'innerHTML', dateFormat('[d.m.Y | H:i]', date('Y-m-d H:i:s')));
            }
            $objResponse->call('answer', $po_id);
            if ($to_user_name && $project['id'] && $project['name'] && !$po_commentid) {
                /*require_once($_SERVER['DOCUMENT_ROOT'] . "/classes/smail.php");
                		$smail = new smail();
                		if ($project['user_id'] == $user_id) {
                               $error = $smail->NewPrjMessageOnOfferFrl($user_name['login'], $project['id'], $project['name'], $to_user_name, $po_text);
                		} else {
                               $error = $smail->NewPrjMessageOnOfferEmp($user_name['login'], $project['id'], $project['name'], $to_user_name, $po_text);
                		}*/
            }
        } else {
            $objResponse->alert('Ошибка сохранения.');
        }
    } else {
        $objResponse->alert('Ошибка сохранения. Авторизируйтесь на сайте.');
    }
    return $objResponse;
}
Beispiel #4
0
/**
 * Редактирование комментария.
 *
 * @param   integer        id комментария
 * @param   string         комментарий
 *
 * @return xajaxResponse
 */
function ChangeComment($cid, $comment)
{
    global $contest, $stop_words;
    session_start();
    require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/contest.php';
    require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/projects.php';
    $objResponse = new xajaxResponse();
    if (!trim($comment)) {
        $objResponse->alert('Комментарий не может быть пустым');
        return $objResponse;
    }
    if (!($uid = $_SESSION['uid'])) {
        return $objResponse;
    }
    $contest = new contest(0, $uid, is_emp(), FALSE, hasPermissions('projects'));
    // если пользователь не про или не верифицирован, то есть смысл проверить, может быть конкурс только для про или только для верифицированных
    $project = contest::getProjectByCommentID($cid);
    if ((!is_pro() || !is_verify()) && $project['user_id'] != get_uid() && !hasPermissions('projects')) {
        if ($project['pro_only'] == 't' && !is_pro()) {
            $objResponse->call('comment.reset');
            $objResponse->alert('Данная функция доступна только пользователям с аккаунтом PRO.');
            return $objResponse;
        } elseif ($project['verify_only'] == 't' && !is_verify()) {
            $objResponse->call('comment.reset');
            $objResponse->alert('Данная функция доступна только верифицированным пользователям.');
            return $objResponse;
        }
    }
    if (!($offer = $contest->GetOffer($oid))) {
        return $objResponse;
    }
    $contest->pid = $offer['project_id'];
    $comment = change_q_x(antispam(substr(rtrim(ltrim($comment, "\r\n")), 0, 5000)), false, true, 'b|br|i|p|ul|li|cut|h[1-6]{1}', false, false);
    if ($error = $contest->ChangeComment($cid, $comment)) {
        $objResponse->alert($error);
    } else {
        require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/stop_words.php';
        $stop_words = new stop_words(hasPermissions('projects'));
        $html = reformat(stripslashes($stop_words->replace($comment)), 30, 0, 0, 1);
        $original = reformat(stripslashes($comment), 30, 0, 0, 1);
        $objResponse->call('comment.changed', $html, $original, dateFormat('[изменен: d.m.Y | H:i]', $comments[$i]['modified']));
    }
    return $objResponse;
}
Beispiel #5
0
 public function loadProfessionUserKeyword($uid, $prof_id)
 {
     require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/kwords.php";
     $html_keyword_js = '<a href="/freelancers/?word=$1" class="inherit">$2</a>';
     $html_keyword = preg_replace('/\\$\\d/', '%s', $html_keyword_js);
     $stop_words = new stop_words(hasPermissions('users'));
     $wkeys = kwords::getUserKeys($uid, $prof_id);
     $modkey = kwords::isModerUserKeys($uid, $prof_id);
     $kword_count = 0;
     $c = 0;
     if ($wkeys) {
         $links_keyword = array();
         $links_keyword_hide = array();
         $kword_count = count($wkeys);
         foreach ($wkeys as $key) {
             $sKey = stripslashes($modkey ? $stop_words->replace($key, 'plain') : $key);
             if (++$c > kwords::MAX_KWORDS_PORTFOLIO) {
                 $links_keyword_hide[] = urlencode($sKey) . ',,' . change_q_x($sKey, true, false);
             } else {
                 $links_keyword[] = sprintf($html_keyword, urlencode($sKey), change_q_x($sKey, true, false));
             }
         }
         $wkeys['links_keyword'] = $links_keyword;
         $wkeys['links_keyword_hide'] = $links_keyword_hide;
         $wkeys['count'] = $kword_count;
     }
     return $wkeys;
 }
        <?php 
        print view_error4('Внимание! Вы отображаетесь в каталоге только по своей специализации. Чтобы увеличить количество специализаций, необходимо перейти на аккаунт ' . view_pro());
        ?>
    <?php 
    }
}
?>

<script type="text/javascript">var HTML_KWORDTMPL='<?php 
echo $html_keyword_js;
?>
'</script>
<div class="prtfl c">
    <div class="prtfl-r"><a name="spec_text"></a>
        <?php 
$sSpecText = $user->isChangeOnModeration($user->uid, 'spec_text') && $user->is_pro != 't' ? $stop_words->replace($user->spec_text) : $user->spec_text;
?>
        <p><?php 
echo reformat2($sSpecText, 50, 0, 0);
?>
</p>
        
        <?php 
if (hasPermissions('users')) {
    ?>
        <a class="admn" href="javascript:void(0);" onclick="adm_edit_content.editContent('admEditProfile', '<?php 
    echo $user->uid;
    ?>
_0', 0, '', {'change_id': 0, 'ucolumn': 'spec_text', 'utable': 'freelancer'})">Редактировать</a>
        <?php 
}
Beispiel #7
0
 if ($project['kind'] == 9 && (!$uid || !(hasPermissions('projects') || $project['user_id'] == $uid || $project['exec_id'] == $uid || projects_offers::IsPrjOfferExists($project['id'], get_uid(false))))) {
     include ABS_PATH . '/404.php';
     exit;
 }
 //404 если проект заблокирован
 if ($project['is_blocked'] && $_SESSION['uid'] != $project['user_id'] && !hasPermissions('projects')) {
     include ABS_PATH . '/prj_blocked.php';
     exit;
 }
 // Платные ответы
 $answers = new projects_offers_answers();
 $answers->GetInfo($uid);
 $pr_emp = is_emp($project['role']);
 require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/stop_words.php';
 $stop_words = new stop_words(hasPermissions('projects'));
 $title = $project['moderator_status'] === '0' && $project['kind'] != 4 && $project['is_pro'] != 't' ? $stop_words->replace($project['name'], 'plain', false) : $project['name'];
 $sTitle = htmlspecialchars($title, ENT_QUOTES, 'CP1251', false);
 if ($project['cost'] != 0) {
     switch ($project['priceby']) {
         case '1':
             $priceby_str = '/час';
             break;
         case '2':
             $priceby_str = '/день';
             break;
         case '3':
             $priceby_str = '/месяц';
             break;
         case '4':
             $priceby_str = '/проект';
             break;
Beispiel #8
0
                echo sbr::NEW_TEMPLATE_SBR;
                ?>
/<?php 
                echo ($prj['sbr_emp_id'] == $_SESSION['uid'] || $prj['sbr_frl_id'] == $_SESSION['uid'] || hasPermissions('projects') ? "?id={$prj['sbr_id']}" : '') . (hasPermissions('projects') ? "&access=A&E={$user->login}" : '');
                ?>
"><img src="/images/shield_sm.gif" alt="" /></a><?php 
            }
            ?>
                    <?php 
            if ($prj['ico_closed'] == 't') {
                ?>
<img src="/images/ico_closed.gif" alt="Проект закрыт" /><?php 
            }
            ?>
                        <?php 
            $sTitle = $prj['moderator_status'] === '0' && $prj['kind'] != 4 && $user->is_pro != 't' ? $stop_words->replace($prj['name']) : $prj['name'];
            ?>
                        <a id="prj_name_<?php 
            echo $prj["id"];
            ?>
" name="/proonly.php" href="<?php 
            echo $blink;
            ?>
" class="fl2_offer_header" title=""><?php 
            echo reformat($sTitle, 100, 0, 1);
            ?>
</a>
                 </div>
                 <?php 
            $sDescr = $prj['moderator_status'] === '0' && $prj['kind'] != 4 && $user->is_pro != 't' ? $stop_words->replace($prj['descr']) : $prj['descr'];
            if (is_new_prj($prj['post_date'])) {
Beispiel #9
0
 /**
  * Функция генерации ленты проектов.
  *
  * @param int     $num_prjs проектов на странице
  * @param array   $projects массив проектов (результат работы projects::GetProjects())
  * @param int     $kind     закладка
  * @param int     $page     номер страницы
  * @param inetger $is_ajax  если функция вызвана через ajax @see JS seo_print();
  *
  * @return HTML
  */
 public function ShowProjects($num_prjs, $projects, $kind, $page, $filter, $is_ajax)
 {
     $this->projects = $projects;
     $this->num_prjs = $num_prjs;
     $this->kind = $this_kind = $kind;
     $this->page = $this_page = $page == '' ? 1 : $page;
     $this->pages = ceil($this->num_prjs / new_projects::PAGE_SIZE);
     $this->filter = $this_filter = (int) ($filter && $filter['active'] == 't');
     $this->uid = $this_uid = get_uid(false);
     $this->pro_last = $this_pro_last = $_SESSION['pro_last'];
     $this->is_pro = $this_is_pro = payed::CheckPro($_SESSION['login']);
     $this->edit_mode = $this_edit_mode = hasPermissions('projects');
     if ($this->uid) {
         $this->user_role = $this_user_role = $_SESSION['role'];
     }
     $outHTML = '';
     $outHTML .= $this->ShowHeader();
     $list = array();
     if ($projects) {
         require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/stop_words.php';
         $stop_words = new stop_words(hasPermissions('projects'));
         foreach ($projects as $i => $project) {
             $this->project = $project;
             $list[$i] = $project;
             if ($this->edit_mode || $this->project['kind'] == 2 || $this->project['user_id'] == $this->uid || $this->project['offer_id'] || $this->pro_last) {
                 $this->show_data = 1;
                 $list[$i]['show_data'] = 1;
             } else {
                 $this->show_data = 0;
                 $list[$i]['show_data'] = 0;
             }
             $descr = $list[$i]['descr'];
             $descr = $list[$i]['moderator_status'] === '0' && $list[$i]['kind'] != 4 && $list[$i]['is_pro'] != 't' ? $stop_words->replace($descr) : $descr;
             $descr = preg_replace('/^ /', "", $descr);
             $descr = preg_replace("/(\n) /", "\$1", $descr);
             $descr = LenghtFormatEx($descr, 180);
             $descr = htmlspecialchars($descr, ENT_QUOTES, 'CP1251', false);
             $descr = reformat($descr, 50, 1, 0, 1);
             $descr = preg_replace("//", '&nbsp;', $descr);
             $list[$i]['name'] = htmlspecialchars($list[$i]['name'], ENT_QUOTES, 'CP1251', false);
             $list[$i]['descr'] = $descr;
             $list[$i]['t_is_payed'] = $this->project['payed'] && $this->project['kind'] != 2 && $this->project['kind'] != 7 && $this->project['kind'] != 4;
             $list[$i]['t_is_contest'] = $this->project['kind'] == 2 || $this->project['kind'] == 7;
             $list[$i]['t_pro_only'] = $this->project['pro_only'] == 't';
             $list[$i]['t_verify_only'] = $this->project['verify_only'] == 't';
             $list[$i]['t_prefer_sbr'] = $this->project['prefer_sbr'] == 't';
             $list[$i]['priceby'] = $this->project['priceby'];
             $list[$i]['t_is_adm'] = hasPermissions('projects');
             $list[$i]['t_is_ontop'] = strtotime($this->project['top_to']) >= time();
             $list[$i]['unread'] = (int) $this->project['unread_p_msgs'] + (int) $this->project['unread_c_msgs'] + (int) $this->project['unread_c_prjs'];
             $list[$i]['t_is_proonly'] = $this->project['pro_only'] == 't' && !$_SESSION['pro_last'] && !$this->edit_mode && $this->uid != $this->project['user_id'];
             $list[$i]['friendly_url'] = getFriendlyURL('project', array('id' => $this->project['id'], 'name' => $this->project['name']));
             $attaches = projects::GetAllAttach($this->project['id']);
             $attaches = !$attaches ? array() : $attaches;
             foreach ($attaches as $k => $a) {
                 $a['virus'] = is_null($a['virus']) ? $a['virus'] : bindec($a['virus']);
                 $attaches[$k] = $a;
             }
             $list[$i]['attaches'] = $this->project['attaches'] = $attaches;
             $list[$i]['view_cnt'] = projects::getProjectViews($this->project['id']);
         }
     } elseif ($page == 1) {
         $outHTML .= '<div class="project-preview">Ничего не найдено</div>';
     }
     $kind = $this->kind;
     require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/professions.php';
     switch ($kind) {
         case 0:
         case 1:
             $rss_link = 'projects.xml';
             break;
         case 2:
             $rss_link = 'competition.xml';
             break;
         case 4:
             $rss_link = 'office.xml';
             break;
         case 6:
             $rss_link = 'pro.xml';
             break;
         case 5:
             $rss_link = 'all.xml';
             break;
         default:
             $rss_link = 'all.xml';
             break;
     }
     $isPrjOpened = isset($_COOKIE['isPrjOpened']) ? $_COOKIE['isPrjOpened'] : true;
     ob_start();
     include ABS_PATH . $this->template;
     $out = ob_get_clean();
     if ($page <= $this->pages) {
         $out .= '<!--data_found-->';
     }
     return $out;
 }
Beispiel #10
0
$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 
    echo date("d.m.Y в H:i", strtotime($offer['post_date']));
    ?>
</span>
Beispiel #11
0
        $sStopRegex = clearInputText(__paramInit('array', null, 'regex', ''));
        $sTestText = clearInputText(__paramInit('array', null, 'test', ''));
        $sBadRegex = stop_words::validateAdminStopRegex($sStopRegex);
        if (!$sBadRegex) {
            $action = __paramInit('string', null, 'action', '');
            if ($action == 'update') {
                if (stop_words::updateAdminStopRegex($sStopRegex)) {
                    $_SESSION['admin_stop_words_success'] = TRUE;
                    header('Location: /siteadmin/stop_words/');
                    exit;
                } else {
                    $error = 'Ошибка при сохранеии стоп-слов';
                }
            } else {
                $stop_words->setStopRegex($sStopRegex);
                $sUserMode = $stop_words->replace($sTestText, 'html', false);
                $sAdminMode = $stop_words->replace($sTestText, 'html', true);
            }
        } else {
            $error = 'Выражение "' . $sBadRegex . '" не корректно';
        }
    } else {
        $sStopRegex = implode("\n", stop_words::getAdminStopRegex(false));
    }
}
$menu_item = 14;
$rpath = '../../';
$js_file = array('stop_words_admin.js');
$css_file = array('moderation.css', 'nav.css');
$header = $rpath . 'header.php';
$inner_page = "index_inner.php";
Beispiel #12
0
    ?>

                </td>
				<td></td>
			</tr>
			<?php 
}
?>
			
			<?php 
if ($val = $user->compname) {
    ?>
			<tr>
				<th>Компания:</th>
				<td><a name="compname"></a><?php 
    $sResume = $user->isChangeOnModeration($user->uid, 'compname') && $user->is_pro != 't' ? $stop_words->replace($user->compname) : $user->compname;
    echo $sResume;
    if (hasPermissions('users')) {
        ?>
                                <a class="admn" href="javascript:void(0);" onclick="adm_edit_content.editContent('admEditProfile', '<?php 
        echo $user->uid;
        ?>
_0', 0, '', {'change_id': 0, 'ucolumn': 'compname', 'utable': 'employer'})">Редактировать</a>
                                <?php 
    }
    ?>
                </td>
				<td></td>
			</tr>
			<?php 
}
Beispiel #13
0
    ?>
"></a>
        <?php 
    echo view_avatar($ps['user_login'], $ps['user_photo']);
    ?>
      </td>
      <td style="padding:0 0 0 10px">
        <?php 
    echo __prntUsrInfo($ps, 'user_') . '&nbsp;&nbsp;' . dateFormat('[d.m.Y | H:i]', $ps['posted_time']);
    ?>
        <div id="mass_txt_<?php 
    echo $ps['id'];
    ?>
" style="padding-top:5px">
          <?php 
    $msg_text = !$om && $ps['user_is_pro'] != 't' ? $stop_words->replace($ps['msgtext']) : $ps['msgtext'];
    ?>
          <?php 
    echo reformat($msg_text, 30, 0, 0, 1);
    ?>
        </div>
		<div style="margin-top: 10px">
		<?php 
    if (!empty($ps['files'])) {
        $fl = '<div class="attachments attachments-p">';
        foreach ($ps['files'] as $file) {
            $fl .= '<div class = "flw_offer_attach">' . viewattachLeft(null, $file['fname'], $file['path'], $file, 0, 0, 0, 0, 0, 0, $nn) . '</div>';
        }
        $fl .= '</div>';
        echo '<b>Файлы:</b></br>' . $fl;
    }
Beispiel #14
0
$logoPrc = !false * (new_projects::PRICE_LOGO + $addedPrc) * (1 - (int) $project['payed_items'][new_projects::PAYED_IDX_LOGO]);
$topDays = $tmpPrj->getTopDays();
$remTPeriod = $tmpPrj->getRemainingTopPeriod($remTD, $remTH, $remTM, $remtverb);
$addedTD = $tmpPrj->getAddedTopDays();
$pex = project_exrates::GetAll(false);
$cex = array(project_exrates::USD, project_exrates::EUR, project_exrates::RUR, project_exrates::FM);
$PROprice = 0;
$price = $tmpPrj->getPrice($items, $PROprice) + $logoPrc * !!$error['logo'];
$PROprice += ($logoPrc - $addedPrc) * !!$error['logo'];
$contestPriceTop = is_pro() ? new_projects::PRICE_CONTEST_TOP1DAY_PRO : new_projects::PRICE_CONTEST_TOP1DAY;
$nTopPrice = $tmpPrj->isKonkurs() ? $contestPriceTop + $addedPrc : (is_pro() ? new_projects::PRICE_TOP1DAYPRO : new_projects::PRICE_TOP1DAY) + $addedPrc;
$nTopProPrice = $tmpPrj->isKonkurs() ? new_projects::PRICE_CONTEST_TOP1DAY_PRO : new_projects::PRICE_TOP1DAYPRO;
if (isset($project['descr'])) {
    require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/stop_words.php';
    $stop_words = new stop_words(false);
    $project['descr'] = $project['kind'] != 4 && !is_pro() ? $stop_words->replace($project['descr']) : $project['descr'];
    $project['descr'] = preg_replace("/^ /", "", $project['descr']);
    $project['descr'] = preg_replace("/(\n) /", "\$1", $project['descr']);
    $project['descr'] = reformat($project['descr'], 100, 0, 0, 1);
    $project['descr'] = preg_replace("//", "&nbsp;", $project['descr']);
}
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/project_exrates.php";
$project_exRates = project_exrates::GetAll();
$exch = array(1 => 'FM', 'USD', 'Euro', 'Руб');
$translate_exRates = array(0 => 2, 1 => 3, 2 => 4, 3 => 1);
?>
<script>
var ge=function(id){return document.getElementById(id);}
var S=<?php 
echo round($price);
?>
Beispiel #15
0
        $ppAd['ad_img_file_name'] = $ppAd['photo'];
        $adUid = $ppAd['uid'];
        $adLogin = $toppay_usr[$adUid]['login'];
        $adLink = '/users/' . $toppay_usr[$adUid]['login'] . '/?f=6&stamp=' . $_SESSION['stamp'];
        $cls = "b-carusel__pic";
        if ($ppAd['ad_img_file_name'] && $ppAd['ad_img_file_name'] != '/images/temp/small-pic.gif') {
            $adImg = '<img width=50 height=50 src="' . WDCPREFIX . '/users/' . $adLogin . '/foto/' . $ppAd['ad_img_file_name'] . '" alt="' . $adLogin . '" class="' . $cls . '" border="0" />';
        } else {
            $adImg = '<img width=50 height=50 src="' . WDCPREFIX . '/images/user-default-small.png" class="' . $cls . '" border="0" />';
        }
        if (is_array($pp_h[$adUid])) {
            $adHeader = $ppAd['ad_header'] ? $ppAd['ad_header'] : $pp_h[$adUid]['title'];
            $adHeaderDots = strlen(html_entity_decode($adHeader, ENT_QUOTES)) > 22;
            $adHeader = htmlentities(substr(html_entity_decode($adHeader, ENT_QUOTES), 0, 22), ENT_QUOTES, 'CP1251');
            $adText = $ppAd['ad_text'] ? $ppAd['ad_text'] : $pp_h[$adUid]['descr'];
            $adText = $pp_h[$adUid]['on_moder'] ? $stop_words->replace($adText) : $adText;
            $adText = reformat2($adText, 22, 1, 1);
        }
        ?>
        <li class="b-carusel__item">
            <?php 
        if (is_array($pp_h[$adUid])) {
            ?>
                <a class="b-carusel__piclink" href="<?php 
            echo $adLink;
            ?>
" onClick="<?php 
            echo $yaM;
            ?>
">
                    <?php 
Beispiel #16
0
 /**
  * Возвращает несколько (@see self::HISTORY_COUNT) последних сообщений с контактом.
  * 
  * @param stdClass $attr - список параметров
  *                       mixed uid: uid пользователя или массив с uid'ами историю с которым нужно получить
  * @param  bool        - если true - разрешено передавать в качестве uid массив, если false - только одного
  *
  * @return array - массив с историей
  */
 protected function _ceHistory($attr, $mmode = false)
 {
     $messages = new messages();
     $stopWords = new stop_words(false);
     $res = array();
     $c = 0;
     if ($mmode) {
         $uids = $attr->uid;
         $oneUser = false;
         $maxid = 0;
     } else {
         $uids = intval($attr->uid);
         $oneUser = true;
         $maxid = isset($attr->maxid) ? intval($attr->maxid) : 0;
     }
     $rows = $messages->GetHistory($this->_uid, $uids, self::HISTORY_COUNT, $maxid);
     if ($rows) {
         for ($i = count($rows) - 1; $i >= 0; --$i) {
             $message = $rows[$i]['msg_text'];
             if ($rows[$i]['moderator_status'] === '0') {
                 $message = $stopWords->replace($message);
             }
             $message = reformat($message, 14, 0, 0, 1);
             $res[$c] = array('id' => $rows[$i]['id'], 'text' => iconv('CP1251', 'UTF-8', $message), 'incoming' => $rows[$i]['from_id'] == $this->_uid ? 0 : 1, 'time' => dateFormat('Y-m-d H:i:s', $rows[$i]['post_time']), 'files' => array());
             if (!$oneUser) {
                 $res[$c]['cuid'] = $rows[$i]['to_id'] == $this->_uid ? $rows[$i]['from_id'] : $rows[$i]['to_id'];
             }
             if ($rows[$i]['files']) {
                 foreach ($rows[$i]['files'] as $file) {
                     if (preg_match('/^users\\/[-_a-z0-9]{2}\\/([-_a-z0-9]+)/i', $file['path'], $o)) {
                         $res[$c]['files'][] = array('link' => WDCPREFIX . '/users/' . $o[1] . '/contacts/' . $file['fname'], 'filename' => $file['original_name']);
                     }
                 }
             }
             ++$c;
         }
     }
     return $res;
 }
Beispiel #17
0
 /**
  * Заполняет значения в зависимости от проекта.
  * 
  * @param array $project данные проекта
  */
 public function initProject($project)
 {
     $stop_words = new stop_words(hasPermissions('projects'));
     $title = $project['moderator_status'] === '0' && $project['kind'] != 4 && $project['is_pro'] != 't' ? $stop_words->replace($project['name'], 'plain', false) : $project['name'];
     $title50 = LenghtFormatEx(trim(strip_tags($title)), 50);
     $title100 = LenghtFormatEx(trim(strip_tags($title)), 100);
     $sp = new_projects::getSpecs($project['id']);
     $is_spec = $sp[0]['subcategory_id'] > 0;
     $prof_id = $is_spec ? $sp[0]['subcategory_id'] : $sp[0]['category_id'];
     $this->seo_value = new SeoValues();
     $this->seo_value->initCard($prof_id, $is_spec);
     $this->title = sprintf(SeoText::PRJ_TITLE, $title50, $this->seo_value->getKey(1));
     $this->description = sprintf(SeoText::PRJ_DESC, $title100, $this->seo_value->getKeysString(3));
     $this->keywords = sprintf(SeoText::PRJ_KEY, $this->seo_value->getFTitle(1), $this->seo_value->getKeysString());
     $this->footer_text = sprintf(SeoText::PRJ_TAGS, $this->seo_value->getFTitle(1), $this->seo_value->getKeysString());
 }
Beispiel #18
0
            echo $user->uid;
            ?>
_0', 0, '', {'change_id': 0, 'ucolumn': 'resume_file', 'utable': 'freelancer'})">Редактировать</a>
        <?php 
        }
        ?>
    </td>
    
	<td  style="width:19px; height:20px" class="brdtop">&nbsp;</td>
</tr>
</table>
<table width="100%" cellspacing="0" cellpadding="19"  class="b-information-clause-content">
<tr>
	<td style="padding:19px">
        <?php 
        $sResume = $user->isChangeOnModeration($user->uid, 'resume') && $user->is_pro != 't' ? $stop_words->replace($user->resume) : $user->resume;
        ?>
		<?php 
        echo $user->resume ? reformat($sResume, 90) : '<br />';
        ?>
        <?php 
        if (hasPermissions('users')) {
            ?>
        <br/><br/>
        <a class="admn" href="javascript:void(0);" onclick="adm_edit_content.editContent('admEditProfile', '<?php 
            echo $user->uid;
            ?>
_0', 0, '', {'change_id': 0, 'ucolumn': 'resume', 'utable': 'freelancer'})">Редактировать</a>
        <?php 
        }
        ?>
Beispiel #19
0
[внесены изменения: <?php 
                echo date("d.m.Y | H:i]", strtotimeEx($frase['modified']));
            } else {
                ?>
Отредактировано модератором <?php 
                echo date("[d.m.Y | H:i]", strtotimeEx($frase['modified']));
            }
        }
        ?>
<br />
                      <?php 
        if ($login == 'admin') {
            $msg_text = reformat($frase['msg_text'], 60, 0, -1, 1);
        } else {
            if ($frase['moderator_status'] === '0' && $frase['to_id'] && !in_array($user->login, $userNotBeSpam)) {
                $msg_text = $stop_words->replace($frase['msg_text']);
            } elseif ($frase['deleted']) {
                $msg_text = '[Сообщение удалено модератором]';
                if ($frase['from_id'] == get_uid(false) && strlen($frase['reason'])) {
                    $msg_text .= '<br/>Причина: ' . $frase['reason'];
                }
            } else {
                $msg_text = $frase['msg_text'];
            }
            $msg_text = reformat($msg_text, 50, 0, -($is_chuck == 't'), 1);
        }
        $mask = array('%USER_NAME%', '%USER_SURNAME%', '%USER_LOGIN%', '%URL_PORTFOLIO%', '%URL_LK%', '%URL_BILL%');
        if (!$is_my) {
            $user_link = "<a href='{$GLOBALS['host']}/users/{$_SESSION['login']}/portfolio/' target='_blank'>{$_SESSION['name']} {$_SESSION['surname']} [{$_SESSION['login']}]</a>";
            $url_lk = "<a href='{$GLOBALS['host']}/users/{$_SESSION['login']}/' target='_blank'>{$_SESSION['name']} {$_SESSION['surname']} [{$_SESSION['login']}]</a>";
            $url_bill = "<a href='{$GLOBALS['host']}/users/{$_SESSION['login']}/bill/' target='_blank'>{$_SESSION['name']} {$_SESSION['surname']} [{$_SESSION['login']}]</a>";