/** * Функция автозаполнения полей блока. * * @return bool */ public function setFieldAutoComplete() { require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/projects.php'; $projects = new_projects::getTopProjectBudget(constant(get_class($this) . '::PROJECT_KIND'), $this->getListSize()); if ($projects) { foreach ($projects as $project) { $link[] = $GLOBALS['host'] . getFriendlyURL('project', $project['id']); } $this->initBlock($link); return true; } return false; }
/** * Выводит дерево комментариев. Используется здесь и в xajax/contest.server.php * @param integer $pid id проекта * @param string $name название проекта * @param array $comments массив с деревом комментариев (подробнее в classes/contest.php) * @param boolean $comm_blocked автор отключил возможность оставлять комментарии? * @param boolean $project_end проект закрыт? * @param integer $s_level уровень вложенности комментария * @return string HTML с кнопками управления */ function comments($pid, $name, &$comments, $comm_blocked, $project_end, $s_level = 0) { global $stop_words, $contest, $project, $session; static $level = 0; $level = ($s_level ? $s_level : $level) + 1; $html = ''; $set_branch_as_read = false; for ($i = 0, $c = count($comments); $i < $c; $i++) { if (($comments[$i]['is_banned'] || $comments[$i]['usr_banned'] || $comments[$i]['user_blocked'] === 't') && !hasPermissions('projects') && !$contest->is_owner) { $msg = $msg2 = 'Ответ от заблокированного пользователя'; } else { if (!trim($comments[$i]['deleted'])) { $sMsg = $comments[$i]['moderator_status'] === '0' ? $stop_words->replace($comments[$i]['msg']) : $comments[$i]['msg']; $msg = reformat($sMsg, 30, 0, 0, 1); $msg2 = reformat($comments[$i]['msg'], 30, 0, 0, 1); } else { $msg2 = $msg = "Комментарий удален модератором"; if (hasPermissions("comments")) { $moderator = ''; $moderatorData = new users(); $moderatorData->GetUserByUID($comments[$i]['deluser_id']); if ($moderatorData->login) { $moderator = ' ' . $moderatorData->login . ' (' . $moderatorData->uname . ' ' . $moderatorData->usurname . ') '; } $msg2 = $msg = $msg . " {$moderator}"; } if ($comments[$i]['deluser_id'] == $comments[$i]['user_id']) { $msg2 = $msg = "Комментарий удален автором"; } else { if (trim($comments[$i]['deleted_reason']) && (hasPermissions("comments") || $comments[$i]['user_id'] == get_uid(false))) { $msg2 = $msg = $msg . "<div style='color:#ff0000'>Причина: " . $comments[$i]['deleted_reason'] . "</div>"; } } } } $a_is_banned = ($comments[$i]['is_banned'] || $comments[$i]['usr_banned']) && hasPermissions('projects'); $html .= "\n\t\t\t<li class='thread' id='thread-{$comments[$i]['id']}'" . ($level >= 9 ? " style='margin-left: 0'" : "") . ">\n\t\t\t\t<a name='c-comment-{$comments[$i]['id']}'></a>\n\t\t\t\t<div class='comment-one" . ($comments[$i]['deleted'] || $comments[$i]['hidden'] ? " comment-deleted" : "") . "' id='comment-{$comments[$i]['id']}'>\n\t\t\t\t\t<div class='contest-ea'>" . view_avatar($comments[$i]['login'], $comments[$i]['photo'], 1) . "</div>\n\t\t\t\t\t<div class='comment-body'>\n\t\t\t\t\t\t<h3 class='username'>" . $session->view_online_status($comments[$i]['login']) . "\n\t\t\t\t\t\t\t<a href='/users/{$comments[$i]['login']}' class='" . (is_emp($comments[$i]['role']) ? 'employer-name' : 'freelancer-name') . "'>{$comments[$i]['uname']} {$comments[$i]['usurname']} [{$comments[$i]['login']}]</a> " . view_mark_user($comments[$i]) . " " . ($comments[$i]['completed_cnt'] > 0 ? '<a href="/promo/bezopasnaya-sdelka/" title="Пользователь работал через Безопасную Сделку" target="_blank"><span class="b-icon b-icon__shield b-icon_top_1"></span></a>' : '') . "\n\t\t\t\t\t\t\t<span>[" . dateFormat('d.m.Y | H:i', $comments[$i]['post_date']) . "]</span>\n\t\t\t\t\t\t\t<span id='comment-modified-{$comments[$i]['id']}'>" . ($comments[$i]['modified'] ? "[изменен " . dateFormat('d.m.Y | H:i', $comments[$i]['modified']) . "]" : ' ') . "</span>\n\t\t\t\t\t\t\t" . ($a_is_banned ? "<b style=\"color:#ff0000\">Пользователь забанен</b>" : "") . "\n\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t" . ($_SESSION['uid'] && $comments[$i]['is_new'] ? "<p><img src='/images/mark-new.png' width='53' height='12' alt='новое' class='mark-new' /></p>" : "") . "\n\t\t\t\t\t\t<div id='comment-change-{$comments[$i]['id']}'>\n\t\t\t\t\t\t<p id='comment-msg-{$comments[$i]['id']}' " . ($a_is_banned ? "style='color:silver'" : "") . ".>" . $msg . "</p>\n\t\t\t\t\t\t<div id='comment-msg-original-{$comments[$i]['id']}' style='display:none'>" . $msg2 . "</div>\n\t\t\t\t\t\t<script type=\"text/javascript\">\n banned.addContext( 'p{$pid}c{$comments[$i]['id']}', 3, '" . HTTP_PREFIX . "{$_SERVER['HTTP_HOST']}" . getFriendlyURL("project", $pid) . "?comm={$comments[$i]['id']}#comment-{$comments[$i]['id']}', \"" . htmlspecialchars($name) . "\" );\n </script>\n\t\t\t\t\t\t<ul class='thread-options' id='comment-options-{$comments[$i]['id']}'>\n\t\t\t\t\t\t\t" . comment_options($pid, $comments[$i], $comm_blocked, $project_end, $level, $name) . "\n\t\t\t\t\t\t</ul>\n <div id='warnreason-" . $comments[$i]['id'] . "-" . $comments[$i]['user_id'] . "' style='display:none; padding: 0 0 5px 0px;'> </div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t" . (empty($comments[$i]['comments']) ? '' : '<ul>' . comments($pid, $name, $comments[$i]['comments'], $comm_blocked, $project_end) . '</ul>') . "\n\t\t\t</li>\n\t\t"; if ($comments[$i]['is_new']) { $set_branch_as_read = true; } } if ($set_branch_as_read) { $p = new projects(); $data = array("id" => $pid, "kind" => 7, "user_id" => $project["user_id"]); $p->SetRead($data, get_uid(false), true); } --$level; return $html; }
function GetMorePrj($uid) { session_start(); $objResponse = new xajaxResponse(); $html = ''; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/projects_offers.php'; $prjs = projects_offers::GetFrlOffers($uid, 'marked', NULL); $i = 0; $uid = get_uid(FALSE); $is_adm = hasPermissions('users'); if ($prjs) { foreach ($prjs as $p) { $is_link = $uid > 0 && (in_array($uid, array($p['exec_id'], $p['project_user_id'], $p['offer_user_id'])) || $is_adm); ++$i; $html .= "<li><span class='prj_list_number'>{$i}.</span>"; if ($p['kind'] == 9) { $html .= $is_link ? "<a href='" . getFriendlyURL('project', $p['project_id']) . "'>{$p['project_name']}</a>" : "{$p['project_name']}"; } else { $html .= "<a href='" . getFriendlyURL('project', $p['project_id']) . "'>{$p['project_name']}</a>"; } if ($p['position'] > 0 && $p['is_executor'] == 't') { //$html .= " ({$p['position']}-е место)"; } if ($p['refused'] == 't') { $html .= "<p>Отказ: <span class='ops-minus'>" . $p['rating'] . '</span></p>'; } if ($p['selected'] == 't') { $html .= "<p><span>Кандидат: <span class='ops-plus'>+" . $p['rating'] . '</span></p>'; } if ($p['is_executor'] == 't' && $p['position'] <= 0) { $html .= "<p><span>Исполнитель: <span class='ops-plus'>+" . $p['rating'] . '</span></p>'; } if ($p['position'] > 0) { $html .= "<p>{$p['position']}-е место: <span class='ops-plus'>+{$p['rating']}</span></p>"; } $html .= '</li>'; } $objResponse->assign('prj_list', 'innerHTML', $html); } return $objResponse; }
function quickPRJPayAccount() { $objResponse = new xajaxResponse(); $uid = get_uid(false); ob_start(); require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/billing.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/payed.php'; $bill = new billing($uid); $billReserveId = $bill->checkoutOrder(); $payed_sum = $bill->getOrderPayedSum(); if ($bill->isAllowPayFromAccount()) { $complete = $bill->buyOrder($billReserveId); if ($complete) { $_SESSION['quickprj_ok'] = 1; $memBuff = new memBuff(); $project_id = $memBuff->get('bill_ok_project_' . $uid); if ($project_id) { $is_payed = $memBuff->get('bill_ok_project_payed_' . $uid); if ($is_payed) { $memBuff->delete('bill_ok_project_payed_' . $uid); $friendly_url = "/public/?step=2&public={$project_id}"; } else { $friendly_url = getFriendlyURL('project', $project_id); $_SESSION['quickprj_ok'] = 1; $friendly_url .= '?quickprj_ok=1'; } $objResponse->script("window.location = '{$friendly_url}';"); $memBuff->delete('bill_ok_project_' . $uid); } else { $objResponse->script("window.location = '/?quickprj_ok=1';"); } } } ob_end_clean(); return $objResponse; }
<?php //$page = isset($page) ? $page : 1; $groupCommCnt = isset($groupCommCnt) ? $groupCommCnt : 0; $comm_is_ajax = false; if (is_array($communes) && count($communes)) { // начало нумерации сообществ для своей сортировки $comm_limit = commune::MAX_ON_PAGE; $comm_start_position = ($page - 1) * $comm_limit; $i = 0; foreach ($communes as $comm) { $i++; // заголовок $comm_url = getFriendlyURL('commune_commune', $comm['id']); $comm_name = "<a href='" . $comm_url . "' class='b-post__link'>" . ($search !== NULL ? highlight(reformat2($comm['name'], 25, 1, 1), $search, 20) : reformat2($comm['name'], 25, 1, 1)) . "</a>"; $comm_descr = $search !== NULL ? highlight(reformat2($comm['descr'], 25, 1), $search) : reformat2($comm['descr'], 25, 1); // Сколько участников. $mAcceptedCnt = $comm['a_count'] - $comm['w_count'] + 1; // +1 -- создатель $mCnt = $mAcceptedCnt . ' участник' . getSymbolicName($mAcceptedCnt, 'man'); ?> <div class="b-post b-post_padbot_20"> <div class="b-post__body b-post__body_bordbot_solid_f0 b-post__body_padbot_30 b-layout"> <table class="b-layout__table b-layout__table_width_full" cellpadding="0" cellspacing="0" border="0"> <tr class="b-layout__tr"> <?php /* <? if ( $sub_om == commune::OM_CM_JOINED_MY ) { ?> <div class="form c-my-sort"> <b class="b1"></b> <b class="b2"></b>
/** * Удаление или восстановление предложения (устанавливает флаг is_deleted). * * @param int $offer_id ID предложения * @param bool $is_deleted новое значение поля is_deleted в projects_contest_offers * * @return string сообщение об ошибке или пустая строка, если все нормально */ public function setOfferDeleted($offer_id, $is_deleted = false) { global $DB; $offer_id = intval($offer_id); $user_id = get_uid(false); if (!($offer = $this->GetOfferRow($offer_id))) { return 'Несуществующее предложение'; } $aUser = $DB->row('SELECT f.uid, f.login, f.uname, f.usurname, pco.project_id, pco.descr, p.name AS prj_name, p.user_id FROM projects_contest_offers as pco INNER JOIN projects p ON p.id = pco.project_id INNER JOIN freelancer f ON f.uid = pco.user_id WHERE pco.id=?i', $offer_id); if ($aUser['uid'] == $user_id || hasPermissions('projects')) { $deluser_id = $is_deleted ? $user_id : null; $sModer = ''; $sql = ''; if ($deluser_id) { $sModer = ' , moderator_status = ' . ($aUser['uid'] != $user_id ? $user_id : 'NULL') . ' '; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/user_content.php'; $sql .= $DB->parse('DELETE FROM moderation WHERE rec_id = ?i AND rec_type = ?i;', $offer_id, user_content::MODER_PRJ_OFFERS); } if ($aUser['uid'] == $user_id && !hasPermissions('projects') && !is_pro() && !$deluser_id) { require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/stop_words.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/user_content.php'; $stop_words = new stop_words(); $nStopWordsCnt = $stop_words->calculate($aUser['descr']); $sModer = ' , moderator_status = ' . ($nStopWordsCnt ? ' 0 ' : ' NULL '); if ($nStopWordsCnt) { $DB->insert('moderation', array('rec_id' => $offer_id, 'rec_type' => user_content::MODER_PRJ_OFFERS, 'stop_words_cnt' => $nStopWordsCnt)); } else { $sql .= $DB->parse('DELETE FROM moderation WHERE rec_id = ?i AND rec_type = ?i;', $offer_id, user_content::MODER_PRJ_OFFERS); } } $sql .= 'UPDATE projects_contest_offers SET is_deleted = ?b, deluser_id = ?i ' . $sModer . ' WHERE id = ?i'; $DB->query($sql, $is_deleted, $deluser_id, $offer_id); // пишем лог админских действий: удаление предложения в проекте if (!$DB->error && $aUser['uid'] != $user_id) { require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/admin_log.php'; $sPrjLink = getFriendlyURL('project', $aUser['project_id']); $sOffLink = $sPrjLink . "?offer={$offer_id}#offer-{$offer_id}"; $sReason = '<a href="' . $sOffLink . '" target="_blank">Предложение</a> от <a href="' . $GLOBALS['host'] . '/users/' . $aUser['login'] . '" target="_blank">' . $aUser['uname'] . ' ' . $aUser['usurname'] . ' [' . $aUser['login'] . ']</a>'; $sActId = $is_deleted ? admin_log::ACT_ID_PRJ_DEL_OFFER : admin_log::ACT_ID_PRJ_RST_OFFER; admin_log::addLog(admin_log::OBJ_CODE_PROJ, $sActId, $aUser['user_id'], $aUser['project_id'], $aUser['prj_name'], $sPrjLink, 0, '', 0, $sReason); } } return ''; }
?> </a> <?php } else { ?> <?php echo $p['project_name']; ?> <?php } ?> <?php } else { ?> <a href="<?php echo getFriendlyURL("project", $p['project_id']); ?> "><?php echo $p['project_name']; ?> </a> <?php /*if($p['position']>0 && $p['is_executor']=='t'){?>(<?=$p['position']?>-е место)<?}*/ ?> <?php } ?> <?php if ($p['refused'] == 't') { ?> <p>Отказ: <span class="ops-minus"><?php
$uid = get_uid(false); if (!$uid) { header_location_exit('/404.php'); } $_SESSION['quickprj_is_success'] = 'y'; if ($_SESSION['quickprj_is_begin'] == 1) { unset($_SESSION['quickprj_is_begin']); $memBuff = new memBuff(); $project_id = $memBuff->get('bill_ok_project_' . $uid); if ($project_id) { $is_payed = $memBuff->get('bill_ok_project_payed_' . $uid); if ($is_payed) { $memBuff->delete('bill_ok_project_payed_' . $uid); header("Location: /public/?step=2&public={$project_id}"); } else { $friendly_url = getFriendlyURL('project', $project_id); $_SESSION['quickprj_ok'] = 1; header('Location: ' . $friendly_url . '?quickprj_ok=1'); } $memBuff->delete('bill_ok_project_' . $uid); } else { header('Location: /'); } exit; } $_SESSION['quickmas_is_success'] = 'y'; if ($_SESSION['quickmas_is_begin'] == 1) { unset($_SESSION['quickmas_is_begin']); if ($_SESSION['referer']) { $friendly_url = strtok($_SESSION['referer'], '?'); $_SESSION['quickmass_ok'] = 1;
/** * Скрывает или отображает платные проекты. * * @see projects_filter::ShowClosedProjects() * @see projects_filter::initClosedProjects() * * @param string $id id определенного или all для всех * @param string $type скрыть (hide) или показать (unhide) * @param int $kind тип текущей закладки главной страницы (см. new_projects::getProjects()) * @param int $page номер текущей страницы. * @param bool $filter включен ли фильтр у юзера. * * @return object xajaxResponse */ function _HideProject($id, $type, $kind, $page, $filter) { session_start(); $objResponse = new xajaxResponse(); $all = $id == 'all'; $id = (int) $id; $uid = $_SESSION['uid']; if ($type == 'hide') { $prj = new new_projects(); $content = $prj->SearchDB((int) $kind, 2, 0, $uf, true, true); $prjs = $prj->getProjects($num_prjs, (int) $kind, 2, true, $uf, true, true); $num = 0; $nDH = $nH; $_SESSION['ph'][$id] = base64_encode(projects::GetField($id, 'name')); $_SESSION['top_payed']--; $objResponse->assign("project-item{$id}", 'outerHTML', ''); if ($filter) { $prj_filter = new projects_filters(); $uf = $prj_filter->GetFilter($uid, $error); } if ($prjs[$num]) { $this_kind = $prjs[$num]['kind']; $this_uid = get_uid(false); $this_pro_last = $_SESSION['pro_last']; $this_is_pro = payed::CheckPro($_SESSION['login']); $this_edit_mode = hasPermissions('projects'); if ($this_uid) { $this_user_role = $_SESSION['role']; } $this_project = $prjs[$num]; $row = $this_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; $row['show_data'] = 1; } else { $this_show_data = 0; $row['show_data'] = 0; } $descr = $row['descr']; $descr = preg_replace("/^ /", "", $descr); $descr = preg_replace("/(\n) /", "\$1", $descr); $descr = reformat(strip_tags(LenghtFormatEx($descr, 180), "<br />"), 50, 1, 0, 1); $descr = preg_replace("//", " ", $descr); $row['descr'] = $descr; $row['t_is_payed'] = $this_project['payed'] && $this_project['kind'] != 2 && $this_project['kind'] != 7; $row['t_is_contest'] = $this_project['kind'] == 2 || $this_project['kind'] == 7; $row['t_pro_only'] = $this_project['pro_only'] == "t"; $row['t_prefer_sbr'] = $this_project['prefer_sbr'] == "t"; $row['priceby'] = $this_project['priceby']; $row['t_is_adm'] = hasPermissions('projects'); $row['t_is_ontop'] = strtotime($this_project['top_to']) >= time(); $row['unread'] = (int) $this_project['unread_p_msgs'] + (int) $this_project['unread_c_msgs'] + (int) $this_project['unread_c_prjs']; $row['t_is_proonly'] = $this_project['pro_only'] == 't' && !$_SESSION['pro_last'] && !$this_edit_mode && $this_uid != $this_project['user_id']; $row['friendly_url'] = getFriendlyURL('project', array('id' => $row['id'], 'name' => $row['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; } $row['attaches'] = $this_project['attaches'] = $attaches; $is_ajax = true; $can_change_prj = hasPermissions("projects"); ob_start(); require $_SERVER['DOCUMENT_ROOT'] . '/projects/tpl.lenta-item.php'; $prj_html = ob_get_contents(); ob_end_clean(); $objResponse->script('ndiv = new Element("div", {id: "project-item' . $prjs[$num]['id'] . '", class: "b-post b-post_pad_10_15_15_20 b-post_margleft_-20 b-post_margright_-15 b-post_margbot_15 b-layout b-post_relative b-post_overflow_hidden' . ($row['is_color'] == 't' ? ' b-post_bg_fffded' : '') . '"});'); $objResponse->script('ndiv.inject($("projects-list").getLast("div[id^=project-item]"), "after");'); $objResponse->assign("project-item" . $prjs[$num]['id'], "innerHTML", $prj_html); } } else { if ($all && $_SESSION['ph']) { $nDH = -1 * $nH * count($_SESSION['ph']); unset($_SESSION['ph']); } else { $nDH = -1 * $nH; unset($_SESSION['ph'][$id]); if (!$_SESSION['ph']) { unset($_SESSION['ph']); } } if ($filter) { $prj_filter = new projects_filters(); $uf = $prj_filter->GetFilter($uid, $error); } $prj = new new_projects(); $content = $prj->SearchDB((int) $kind, (int) $page, 0, $uf, true, true); $objResponse->assign("projects-list", "innerHTML", $content); } if ($_SESSION['ph']) { $ccph = array_keys($_SESSION['ph']); } setcookie("ph[{$uid}]", $ccph ? implode(',', $ccph) : '', time() + 60 * 60 * 24 * 30, '/'); if ($kind == 2 || $kind == 7) { $prjWord_1 = 'скрытый конкурс'; $prjWord_2 = 'скрытых конкурса'; $prjWord_5 = 'скрытых конкурсов'; } elseif ($kind == 4) { $prjWord_1 = 'скрытая вакансия'; $prjWord_2 = 'скрытых вакансии'; $prjWord_5 = 'скрытых вакансий'; } else { $prjWord_1 = 'скрытый проект'; $prjWord_2 = 'скрытых проекта'; $prjWord_5 = 'скрытых проектов'; } $cnt = ""; if (sizeof($_SESSION['ph']) && $_SESSION['uid']) { $cnt = sizeof($_SESSION['ph']) . " " . ending(sizeof($_SESSION['ph']), $prjWord_1, $prjWord_2, $prjWord_5); } $objResponse->assign("hide_project_count", "innerHTML", $cnt); // если до этого проекты отображались в режиме "Только название", то сворачиваем их $objResponse->call("rollProjects"); return $objResponse; }
} if (hasPermissions('projects') && $user->login != $_SESSION["login"]) { $sBox .= "<a href=\"/public/?step=1&public=" . $prj['id'] . "&red=" . rawurlencode($_SERVER['REQUEST_URI']) . "\" onclick=\"popupQEditPrjShow(" . $prj['id'] . ", event); return false;\">Редактировать</a> "; $sBox .= " | <span id='project-button-{$prj['id']}'><a style='color: red' href='.' onclick='banned." . ($prj['is_blocked'] ? 'unblockedProject' : 'blockedProject') . "({$prj['id']}); return false;'>" . ($prj['is_blocked'] ? 'Разблокировать' : 'Заблокировать') . "</a></span>"; $sBox .= " | <a id=\"prj_{$prj['id']}\" style=\"color:Red;\" href=\"?action=prj_delete&prjid=" . $prj['id'] . ($_GET['closed'] == 1 ? '&closed=1' : ($_GET['open'] == 1 ? '&open=1' : '')) . "\" onClick=\"return addTokenToLink('prj_{$prj['id']}', 'Вы уверены?')\">Удалить</a>"; } if ($sBox != '') { if (hasPermissions('projects')) { ?> <script type="text/javascript"> banned.addContext( 'p<?php echo $prj['id']; ?> ', 3, '<?php echo $GLOBALS['host']; echo getFriendlyURL("project", $prj); ?> ', "<?php echo $prj['name']; ?> " ); </script> <?php } ?> <div style="text-align:right;font-size:11px; margin:3px 10px 5px 0px;"> <?php if (hasPermissions('projects') && $prj['payed']) { ?> <b style="color:#ff0000; white-space:nowrap"><?php
echo $ban_title; ?> </a> <?php echo $ban_count; ?> </li> <?php } } } else { if ($top['category_id'] && $top['category_name']) { ?> <li class="b-post__links-item b-post__links-item_padright_10"> Раздел: <a class="b-post__link b-post__link_color_000" href="<?php echo getFriendlyURL('commune_commune', $top['commune_id']); ?> ?om=<?php echo __paramInit("int", "om") ? __paramInit("int", "om") : '0'; ?> &cat=<?php echo $top['category_id']; ?> "><?php echo $top['category_name']; ?> </a> </li> <?php } }
<col width="80" /> <col width="60" /> </colgroup> <?php foreach ($drafts as $draft) { ?> <tr class="b-layout__tr"> <td class="b-layout__one b-layout__one_bordbot_ccc b-layout__one_padtb_10"><div class="b-check b-check_padleft_10 b-check_top_2"><input id="del_draft_<?php echo $draft['id']; ?> " class="b-check__input" type="checkbox" name="del_draft[]" value="<?php echo $draft['id']; ?> " onClick="DraftsCheckToggleDeleteAll(this);" /></div></td> <td class="b-layout__one b-layout__one_bordbot_ccc b-layout__one_padtb_10"><div class="b-layout__txt"><a class="b-layout__link" href="<?php echo $draft['post_id'] ? getFriendlyURL("commune", $draft['post_id']) . "?om=0&draft_id={$draft['id']}" : getFriendlyURL("commune_commune", $draft['commune_id']) . "?draft_id={$draft['id']}"; ?> " <?php echo $draft['is_member'] != 't' ? "onclick=\"alert('Вы не состоите в данном сообществе или заблокированы в нем'); return false\"" : ""; ?> ><?php echo $draft['title'] != '' ? reformat(htmlspecialchars($draft['title']), 27, 0, 1) : '[без названия]'; ?> </a></div></td> <td class="b-layout__one b-layout__one_bordbot_ccc b-layout__one_padtb_10"><div class="b-layout__txt"><a class="b-layout__link b-layout__link_color_6db335" href="/commune/?id=<?php echo $draft['commune_id']; ?> "><?php echo reformat($draft['commune_title'], 37, 0, 1); ?> </a></div></td>
echo $navigation['prev']['uname'] . ' ' . $navigation['prev']['usurname'] . ' [' . $navigation['prev']['login'] . ']'; ?> </a> <?php } else { /* ?> <span>« предыдущее интервью</span> <? */ } ?> <?php if (isset($navigation['next'])) { ?> <a href="<?php echo getFriendlyURL('interview', $navigation['next']['id']); ?> "><?php echo $navigation['next']['uname'] . ' ' . $navigation['next']['usurname'] . ' [' . $navigation['next']['login'] . ']'; ?> »</a> <?php } else { /* ?> <span>следующее интервью »</span> <? */ } ?> </div> <a id="interview_back2" href="javascript:void(0);">Вернуться к списку интервью</a> </div>
$additional_header = '<link rel="alternate" type="application/rss+xml" title="Блоги на FL.ru (' . $gr_name . ')" href="/rss/blogs.php?gr=' . $gr . '&t=' . $t . '" />'; if (empty($additional_header)) { $additional_header = ''; } $om_clean_uri = array(); foreach ($_GET as $key => $value) { if ($value && !in_array($key, array('grname', 'b', 'ord', 'openlevel', 'newurl'))) { $om_clean_uri[] = $key . '=' . urlencode($value); } } if (!empty($_GET['id'])) { $om_clean_uri[] = 'id=' . (int) $_GET['id']; } if (count($om_clean_uri) || $gr) { $additional_header .= ' <link rel="canonical" href="' . ($gr ? getFriendlyURL('blog_group', $gr) : '/blogs/') . ($om_clean_uri ? '?' . htmlspecialchars(implode('&', $om_clean_uri)) : '') . '"/> '; } $additional_header .= ' <script type="text/javascript" src="/scripts/blogs_cnt.js"></script> <script type="text/javascript" src="/scripts/swfobject.js"></script> <script type="text/javascript" src="/scripts/polls.js"></script> '; if ($uid) { $additional_header .= ' <script type="text/javascript" src="/scripts/blogs.js"></script> <script type="text/javascript" src="/scripts/mAttach.js"></script> <script type="text/javascript" src="/scripts/banned.js"></script> '; $js_file[] = 'drafts.js'; $js_file[] = 'attachedfiles.js';
?> <div class="post-one" id="post_<?php echo $article['id']; ?> "> <img src="<?php echo WDCPREFIX; ?> /<?php echo $article['path']; echo $article['fname']; ?> " alt="" width="100" class="post-img" /> <div class="post-txt"> <h3><a href="<?php echo getFriendlyURL('article', $article['id']); ?> "><?php echo !$article['title'] ? 'Без названия' : reformat($article['title'], 32, 0, 1); ?> </a></h3> <p class="post-body"> <?php echo reformat($article['short'], 50, 0, 0, 1); ?> </p> </div> <div class="post-f c"> <ul> <li class="post-f-lnks"> <ul>
<?php echo YellowLine($prj['usurname']); ?> </a> [<a href="/users/<?php echo $prj['login']; ?> /"><?php echo YellowLine($prj['login']); ?> </a>]</li> <li class="last">Категория: <?php echo projects::printCategories($prj['categories']); ?> </li> <li class="last"><div class="project-offers"><a href="<?php echo getFriendlyURL("project", $prj['id']); ?> ">Предложения (<?php echo (int) $prj['offers_count']; ?> )</a></div></li> </ul> <br clear="all" /> <div id="div_compliant_<?php echo $prj['id']; ?> " class="ban-report"> <h4> <?php echo projects_complains::GetComplainType($prj['type'], true);
/** * Модераторская. Лента действий. Фиксация событий: удаление предложения в проекте. * * @param int $offer_id id предложения * @param int $prj_id id проекта * @param string $prj_name название проекта * @param int $prj_user_id UID пользователя, создавшего проект */ public function DelOfferLog($offer_id = 0, $prj_id = 0, $prj_name = '', $prj_user_id) { $aUser = $GLOBALS['DB']->row('SELECT f.uid, f.login, f.uname, f.usurname FROM projects_offers po INNER JOIN freelancer f ON f.uid = po.user_id WHERE po.id = ?i', $offer_id); if ($aUser['uid'] != $_SESSION['uid'] && hasPermissions('projects')) { require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/admin_log.php'; $sPrjLink = getFriendlyURL('project', $prj_id); $sReason = 'Предложение от <a href="' . $GLOBALS['host'] . '/users/' . $aUser['login'] . '" target="_blank">' . $aUser['uname'] . ' ' . $aUser['usurname'] . ' [' . $aUser['login'] . ']</a>'; admin_log::addLog(admin_log::OBJ_CODE_PROJ, admin_log::ACT_ID_PRJ_DEL_OFFER, $prj_user_id, $prj_id, $prj_name, $sPrjLink, 0, '', 0, $sReason); } }
echo "status=uploadSuccess&url={$link}"; } else { echo 'status=uploadFailed&msg=Ошибка загрузки файла'; exit; } } else { echo 'status=wrongFormat&msg=Загрузите изображение формата gif, png или jpg'; } } else { echo 'status=fail&msg=У вас недостаточно прав, чтобы оставить этот комментарий'; } exit; } $url_parts = parse_url($_SERVER['REQUEST_URI']); if ($_GET['id']) { $friendly_url = getFriendlyURL('article', $_GET['id']); if (strtolower($url_parts['path']) != $friendly_url) { header('HTTP/1.1 301 Moved Permanently'); header('Location: ' . $friendly_url); exit; } } $msgs_on_page = 20; $mpath = dirname(__FILE__); $rpath = realpath(dirname(__FILE__) . '/../'); session_start(); $uid = get_uid(); $_page = __paramInit('string', null, 'page'); if (!$_page) { $_page = __paramInit('string', 'page'); }
/** * Cоздание заказа на базе проекта. */ public function actionNewProjectOrder() { //@todo: на период разработки резерва заказов if (!tservices_helper::isAllowOrderReserve()) { $this->missingAction(null); } $offer_id = __paramInit('int', 'offer_id', 'offer_id', null); $projects = new projects(); $projectData = $projects->getProjectByOfferId($offer_id, $this->uid); if (!$projectData) { $this->missingAction(null); } $freelancer = new freelancer(); $freelancer->GetUserByUID($projectData['frl_id']); if ($freelancer->uid <= 0) { $this->missingAction(null); } $form = new NewOrderForm(); $form->setDefaults(array('title' => addslashes(htmlspecialchars_decode($projectData['name'], ENT_QUOTES)), 'description' => addslashes(htmlspecialchars_decode($projectData['descr'], ENT_QUOTES)), 'order_price' => $projectData['currency'] == 2 ? $projectData['cost'] : '')); if (isset($_POST) && sizeof($_POST) > 0 && $form->isValid($_POST)) { $data = $form->getValues(); $data['frl_id'] = $freelancer->uid; $data['emp_id'] = $this->uid; $data['tu_id'] = $projectData['id']; if ($order = $this->order_model->createFromProject($data)) { $projects->SetExecutor($projectData['id'], $projectData['frl_id'], $projectData['user_id']); $tservices_smail = new tservices_smail(); $tservices_smail->newOrder($order); $this->redirect(sprintf(tservices_helper::url('order_card_url'), $order['id'])); } } //Выводим в сайдбар виджет индикатор статуса заказа $this->getClips()->add('sidebar', $this->widget('OrderStatusIndicator', array(), true)); $this->render('new-order-form', array('title' => 'Новый заказ по проекту', 'submit_title' => 'Выбрать исполнителем и предложить заказ', 'cansel_url' => getFriendlyURL('project', $projectData), 'form' => $form, 'freelancer' => $freelancer)); }
/** * Создает xml файл для Jooble.ru * * @param $filename string полный путь к файлу куда webdav должен сохранить получившийся xml * @param string $interval Интервал (1 day, 2 days, 1 month) * @return text $filename полный путь к файлу куда webdav должен сохранить получившийся xml */ function joobleGenerateRss($filename, $prjs) { 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); $xml = ''; $host = str_replace(HTTP_PREFIX, '', $GLOBALS['host']); $HTTP_PREFIX = "https://"; $xml = '<?xml version="1.0" encoding="utf-8"?>' . "\n"; $xml .= '<source creation-time="' . date('Y-m-d H:i:s') . ' GMT+3" host="' . $host . '">' . "\n"; $xml .= ' <jobs>' . "\n"; foreach ($prjs as $row) { $city = $row['city_name'] ? $row['city_name'] : ''; $location = $row['country_name'] ? $row['country_name'] : ''; $location .= $location ? ', ' . $city : $city; $location = preg_replace("/, \$/", "", $location); $location = html_entity_decode($location, ENT_QUOTES, 'cp1251'); if (!$location) { $location = 'Россия'; } $row['categories'] = self::getProjectCategories($row['id']); if (!empty($row['categories'])) { $name_case = false; foreach ($row['categories'] as $cat) { if ((int) $cat['subcategory_id'] > 0) { if ($cat['name_case']) { $name_case[] = $cat['name_case']; } } } if ($name_case) { $name_case = implode(". ", $name_case) . ". "; } } $cat = html_entity_decode($row['cat_name'], ENT_QUOTES, 'cp1251'); $name = html_entity_decode($name_case . $row['project_name'], ENT_QUOTES, 'cp1251'); unset($name_case); $descr = html_entity_decode($row['descr'], ENT_QUOTES, 'cp1251'); $contacts = $row['e_login']; $contacts = $row['e_surname'] ? html_entity_decode($row['e_surname'], ENT_QUOTES, 'cp1251') . ', ' . $contacts : $contacts; $contacts = $row['e_name'] ? html_entity_decode($row['e_name'], ENT_QUOTES, 'cp1251') . ' ' . $contacts : $contacts; $currency = ''; switch ($row['currency']) { case 0: $currency = '$'; break; case 1: $currency = ' Euro'; break; case 2: $currency = ' Руб.'; break; case 3: $currency = ' Руб.'; break; } if ($row['cost'] && $row['currency'] == 3) { $row['cost'] = preg_replace("/\\.00\$/", "", sprintf("%.2f", round($row['cost'] * $project_exRates[trim($translate_exRates[$row['currency']]) . '4'], 2))); } $xml .= ' <job id="' . $row['id'] . '"> <link>' . $HTTP_PREFIX . $host . getFriendlyURL('project', $row['id']) . '</link> '; $name .= ' (удаленно)'; $xml .= ' <name>' . xmloutofrangechars(iconv('CP1251', 'UTF-8', htmlspecialchars($name, ENT_QUOTES))) . '</name>'; $xml .= '<description>' . xmloutofrangechars(iconv('CP1251', 'UTF-8', htmlspecialchars($descr, ENT_QUOTES))) . '</description> <region>' . iconv('CP1251', 'UTF-8', htmlspecialchars($location, ENT_QUOTES)) . "</region>\n <salary>" . ($row['cost'] ? iconv('CP1251', 'UTF-8', $row['cost'] . $currency) : '') . "</salary>\n <contacts>" . iconv('CP1251', 'UTF-8', $contacts) . "</contacts>\n <company></company>\n <expire>" . ($row['kind'] == 7 ? dateFormat("d.m.Y", $row['end_date']) : '') . "</expire>\n <updated>" . dateFormat("d.m.Y", $row['create_date']) . "</updated>\n </job>\n"; } $xml .= "</jobs>\n</source>"; $file = new CFile(); return $file->putContent($filename, $xml); }
/** * Сохранение предложения по проектам * * @param object $objResponse xajaxResponse * @param string $rec_id идентификатор записи * @param string $rec_type тип записи * @param array $aForm массив данных * @param string $sDrawFunc имя функции для выполнения после сохранения */ function _admEditPrjOfferSaveForm(&$objResponse, $rec_id = '', $rec_type = '', $aForm = array(), $sDrawFunc = '') { require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/messages.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/user_content.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/projects_offers.php'; $obj_offer = new projects_offers(); $payed_items = $aForm['ps_payed_items']; $payed_color = $aForm['ps_payed_items'][0] == '1'; if ($aForm['is_color'] && !$payed_color) { $account = new account(); $transaction_id = $account->start_transaction(get_uid()); $error_buy = $account->Buy($billing_id, $transaction_id, $answers->color_op_code, get_uid(), "Выделение ответа на проект цветом", "Выделение <a href='" . getFriendlyURL("project", $project['id']) . "#freelancer_{$_SESSION['uid']}' target='_blank'>предложения</a> цветом", 1, 1); $payed_items = '1'; if ($error_buy) { $aForm['is_color'] = false; $payed_items = '0'; } } $sReason = _parseReason($aForm['user_id'], $aForm['adm_edit_text']); $error = $obj_offer->AddOffer($aForm['user_id'], $aForm['pid'], $aForm['ps_cost_from'], $aForm['ps_cost_to'], $aForm['ps_cost_type'], $aForm['ps_time_from'], $aForm['ps_time_to'], $aForm['ps_time_type'], antispam(stripslashes($aForm['ps_text'])), $aForm['ps_work_1_id'], $aForm['ps_work_2_id'], $aForm['ps_work_3_id'], $aForm['ps_work_1_link'], $aForm['ps_work_2_link'], $aForm['ps_work_3_link'], $aForm['ps_work_1_name'], $aForm['ps_work_2_name'], $aForm['ps_work_3_name'], $aForm['ps_work_1_pict'], $aForm['ps_work_2_pict'], $aForm['ps_work_3_pict'], $aForm['ps_work_1_prev_pict'], $aForm['ps_work_2_prev_pict'], $aForm['ps_work_3_prev_pict'], isset($aForm['ps_for_customer_only']), $aForm['edit'], 0, isset($aForm['prefer_sbr']), $aForm['is_color'], null, $payed_items, 0, $_SESSION['uid'], $sReason); if (!$error && !$error_buy && !$payed_color && $account) { $account->commit_transaction($transaction_id, get_uid(), $billing_id); $is_payed_color = true; } if ($error) { $objResponse->alert('Ошибка сохранения предложения' . $error); $sParent = $sDrawFunc == 'stream0' || $sDrawFunc == 'stream1' || $sDrawFunc == 'stream2' ? 'parent.' : ''; $objResponse->script("{$sParent}adm_edit_content.disabled = false; {$sParent}adm_edit_content.button();"); } else { messages::prjOfferModifiedNotification($aForm['user_id'], $aForm['pid'], $sReason); $content_id = user_content::MODER_PRJ_OFFERS; _admEditAfterAll($objResponse, $content_id, $rec_id, $rec_type, $sDrawFunc, $aForm); } }
/** * Добавляет жалобу на проект. * * @param integer $project_id ID проекта * @param integer $user_id ID пользователя * @param integer $type тип жалобы * @param string $msg текст жалобы * @param string $files имена загруженных скриншотов * * @return xajax responce */ function SendComplain($project_id, $type, $msg, $files) { global $session; session_start(); require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/uploader/uploader.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/projects_complains.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/userecho.php'; $objResponse = new xajaxResponse(); $project_id = (int) $project_id; $user_id = get_uid(false); $type = (int) $type; $msg = __paramValue('htmltext', $msg); $error = false; $project = new projects(); $prj = $project->GetPrj(0, $project_id, 1); $file_list = array(); if ($files != '') { $files = uploader::sgetFiles($files); if (!empty($files)) { $emp = new users(); $emp->GetUser($emp->GetField($prj['user_id'], $ee, 'login')); $dir = 'users/' . substr($emp->login, 0, 2) . '/' . $emp->login . '/upload/'; foreach ($files as $file) { $copy = uploader::remoteCopy($file['id'], 'file_projects', $dir); $rfiles[] = $copy->name; $file_list[] = array('name' => $copy->original_name, 'link' => WDCPREFIX . '/' . $copy->path . $copy->name); } $files = implode(',', $rfiles); } else { $files = ''; } } if (!$files) { $files = ''; } if (projects::IsHaveComplainType($project_id, $user_id, $type)) { // Уже жаловался return $objResponse; } $projects_complains = new projects_complains(); $type_name = $projects_complains->GetComplainType($type); $project_url = getAbsUrl(getFriendlyURL('project', $project_id)); $is_moder = $projects_complains->isComplainTypeModer($type); if ($is_moder) { $userEcho = new UserEcho(); $topic_message = $userEcho->constructMessage($project_url, $prj['name'], $msg, $file_list); $topicUrl = $userEcho->newTopicComplain($type_name, $topic_message, $file_list); if ($topicUrl) { messages::sendProjectComplain($user_id, $project_url, $prj['name'], $msg, $topicUrl); } else { $error = true; } } if (!$error) { $error = projects::AddComplain($project_id, $user_id, $type, $msg, $files, $is_moder && $topicUrl); } if ($error) { $objResponse->script("\$('abuse_project_popup').toggleClass('b-shadow_hide');"); if ($is_moder) { $objResponse->script("\$('abuse-cause-error').removeClass('b-layout__txt_hide'); abuseResetSelection();"); } else { $objResponse->script("\$\$('.abuse-btn-send').removeClass('b-button_rectangle_color_disable')"); } } else { $upl = array('umask' => uploader::umask('prj_abuse'), 'validation' => array('allowedExtensions' => array('jpg', 'gif', 'png', 'jpeg'), 'restrictedExtensions' => array()), 'text' => array('uploadButton' => iconv('cp1251', 'utf8', 'Прикрепить файлы'))); $objResponse->script("\n \$('abuse{$type}').addClass('abuse-checked');\n \$('abuse{$type}').getChildren().each(function(el) { \$(el).addClass('abuse-checked'); });\n "); $objResponse->script("uploader.create('abuse_uploader', " . json_encode($upl) . ');'); $objResponse->script("\$('prj_abuse_msg').set('value', '')"); $objResponse->script("\$\$('.abuse-btn-send').removeClass('b-button_disabled')"); $objResponse->script("\$('abuse_project_popup').toggleClass('b-shadow_hide');"); $objResponse->script("\$('project_abuse_success').removeClass('b-layout__txt_hide');"); $objResponse->script("\$('form_abuse').hide();"); $objResponse->script("setTimeout(\"\$('project_abuse_success').addClass('b-layout__txt_hide')\", 5000);"); if ($is_moder) { $objResponse->script("\$('abuse-cause-error').addClass('b-layout__txt_hide');"); } } return $objResponse; }
function Lenta_Show($page = 1) { global $DB; session_start(); require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/portfolio.php"; require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/professions.php"; require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/commune.php"; require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/links.php"; require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/lenta.php"; require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/users.php"; require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/blogs.php"; /*require_once( $_SERVER['DOCUMENT_ROOT'] . '/classes/stop_words.php' ); $stop_words = new stop_words( false );*/ $yt_replace_id = array(); $yt_replace_data = array(); $uid = get_uid(false); $objResponse = new xajaxResponse(); ob_start(); if (!($groups = professions::GetAllGroupsLite())) { return; } if (!($lenta = lenta::GetUserLenta($uid))) { } $sort = $_COOKIE['lenta_fav_order'] != "" ? $_COOKIE['lenta_fav_order'] : "date"; $favs = lenta::GetFavorites($uid, $sort); if (!($myComms = commune::GetCommunes(NULL, $uid, NULL, commune::OM_CM_MY))) { $myComms = array(); } if (!($joinedComms = commune::GetCommunes(NULL, NULL, $uid, commune::OM_CM_JOINED))) { $joinedComms = array(); } // Все сообщества, доступные пользователю. $communes = array(); foreach ($myComms as $comm) { $communes[] = $comm; } foreach ($joinedComms as $comm) { $communes[] = $comm; } // Блоги if (!($blog_grs = blogs::GetThemes($error, 1))) { $blog_grs = array(); } $blg = NULL; if ($lenta && $lenta['blog_grs'] && !empty($lenta['blog_grs'])) { $blg = implode(',', $lenta['blog_grs']); } $pgs = NULL; if ($lenta['all_profs_checked'] == 'f') { if ($lenta && $lenta['prof_groups'] && !empty($lenta['prof_groups'])) { $pgs = implode(',', $lenta['prof_groups']); } } $allThemesCount = 0; $cms = NULL; $user_comm_mods = array(); // Отбираем среди выбранных ранее сообществ в ленте, те которые до сих пор остаются // доступными ему для просмотра в ленте (его могли удалить или забанить). А также заполняем массив user_mod-ов на каждое из сообществ. if ($lenta && $lenta['communes'] && !empty($lenta['communes'])) { $i = 0; $cms = ''; foreach ($lenta['communes'] as $cm_id) { if ($uStatus = commune::GetUserCommuneRel($cm_id, $uid)) { $ucm = $user_mod; $ucm |= commune::MOD_COMM_MODERATOR * $uStatus['is_moderator']; $ucm |= commune::MOD_COMM_MANAGER * $uStatus['is_manager']; $ucm |= commune::MOD_COMM_ADMIN * ($uStatus['is_admin'] || $uStatus['is_moderator'] || $uStatus['is_manager']); $ucm |= commune::MOD_COMM_AUTHOR * $uStatus['is_author']; $ucm |= commune::MOD_COMM_ASKED * $uStatus['is_asked']; $ucm |= commune::MOD_COMM_ACCEPTED * ($uStatus['is_accepted'] || $ucm & commune::MOD_COMM_ADMIN); $ucm |= commune::MOD_COMM_BANNED * $uStatus['is_banned']; $ucm |= commune::MOD_COMM_DELETED * $uStatus['is_deleted']; $user_comm_mods[$cm_id] = $ucm; if (!$uStatus['is_deleted'] && !$uStatus['is_banned'] && $uStatus['is_blocked_commune'] == 0 && ($uStatus['is_accepted'] || $uStatus['is_author'])) { $cms .= (!$i++ ? '' : ',') . $cm_id; } } } } //if($cms) // $allThemesCount -= commune::GetMyThemesCount($cms, $uid); if ($lenta && $lenta['all_profs_checked'] == 't' || $cms || $pgs || $blg) { $items = lenta::GetLentaItems($uid, $lenta && $lenta['my_team_checked'] == 't', $lenta && $lenta['all_profs_checked'] == 't', $pgs, $cms, ($page - 1) * lenta::MAX_ON_PAGE, lenta::MAX_ON_PAGE, $allWorkCount, $blg); } if (!$items) { $items = array(); } // var_dump($favs); $stars = array(0 => 'bsg.png', 1 => 'bsgr.png', 2 => 'bsy.png', 3 => 'bsr.png'); $i = 0; foreach ($items as $item) { switch ($item['item_type']) { case '2': // Сообщества $top = $item; $user_mod = $user_comm_mods[$top['commune_id']]; if ($top['member_is_banned'] && !($user_mod & (commune::MOD_ADMIN | commune::MOD_COMM_AUTHOR | commune::MOD_COMM_MANAGER)) || $top['is_private'] == 't' && $top['user_id'] != $uid && !($user_mod & (commune::MOD_ADMIN | commune::MOD_COMM_AUTHOR | commune::MOD_COMM_MANAGER)) || $top['is_blocked'] && $top['commune_author_id'] != $uid) { continue; } $aThemeId = is_array($top['theme_id']) ? $top['theme_id'] : array($top['theme_id']); $top['answers'] = $DB->rows("SELECT * FROM commune_poll_answers WHERE theme_id IN (?l) ORDER BY id", array($top['theme_id'])); $GLOBALS[LINK_INSTANCE_NAME] = new links('commune'); $user_id = $uid; $mod = $user_mod; $is_member = $mod & (commune::MOD_ADMIN | commune::MOD_COMM_ACCEPTED | commune::MOD_COMM_AUTHOR); $is_moder = $mod & (commune::MOD_ADMIN | commune::MOD_MODER | commune::MOD_COMM_MODERATOR | commune::MOD_COMM_AUTHOR); $commune_info = commune::getCommuneInfoByMsgID($top['id']); ?> <style> .lo-m .lo-i-my-d .ac-pro, .lo-m .lo-i-my-d .ac-epro { margin-right: 0px; } .lo .utxt .b-layout__txt .b-icon__lprofi{ vertical-align:baseline !important; top:2px !important;} .lo .utxt>.b-pic{ margin-right:10px !important;} </style> <div class="lo lo-m" id='idTop_<?php echo $top['id']; ?> ' style='margin-bottom:0px !important;'> <ul class="lo-p"> <li class="lo-s"> <div class="b-layout_bordrad_3"> <a href="/commune" class="lnk-dot-666">Сообщества</a> </div> </li> <li class="post-f-fav"> <?php $msg_id = $top['id']; ?> <?php if ($favs['CM' . $msg_id]) { ?> <img src="/images/bookmarks/<?php echo $stars[$favs['CM' . $msg_id]['priority']]; ?> " alt="" on="<?php echo $is_fav ? 1 : 0; ?> " id="favstar<?php echo 'CM' . $msg_id; ?> " <?php if ($uid) { ?> onclick="ShowFavFloatLenta(<?php echo $msg_id; ?> , <?php echo $uid; ?> , 'CM')" ><?php } ?> <?php } else { ?> <img src="/images/bookmarks/bsw.png" alt="" on="<?php echo $is_fav ? 1 : 0; ?> " id="favstar<?php echo 'CM' . $msg_id; ?> " <?php if ($uid) { ?> onclick="ShowFavFloatLenta(<?php echo $msg_id; ?> , <?php echo $uid; ?> , 'CM')" ><?php } ?> <?php } ?> <ul class="post-f-fav-sel" style="display:none;" id="FavFloat<?php echo $msg_id; ?> "></ul> </li> </ul> <div class="utxt"> <?php print __LentaPrntUsrInfo($top, 'user_', '', '', false, true); ?> <h3> <?php if ($top['is_private'] == 't') { ?> <img src="/images/icons/eye-hidden.png" alt="Скрытый пост" title="Скрытый пост"> <?php } //if ?> <?php $sTitle = $top['title']; ?> <?php $sMessage = $top['msgtext']; ?> <a href="<?php echo getFriendlyURL('commune', $top['id']); ?> ?om=<?php echo commune::OM_TH_NEW; ?> "><?php echo reformat2($sTitle, 30, 0, 1); ?> </a> </h3> <p><?php echo reformat2($sMessage, 46, 1, 0, 1); ?> </p> <!-- Questions --> <?php if ($top['question'] != '') { ?> <div id="poll-<?php echo $top['theme_id']; ?> " class="commune-poll"> <div class="commune-poll-theme"><?php echo reformat($top['question'], 43, 0, 1); ?> </div> <div id="poll-answers-<?php echo $top['theme_id']; ?> "> <?php if ($top['poll_closed'] == 't') { ?> <table class="b-layout__table b-layout__table_width_full"><?php } ?> <?php // если надо вывести только количество ответов $showAnswers = $top['poll_votes'] || !$user_id || $top['commune_blocked'] == 't' || $top['user_is_banned'] || $top['member_is_banned'] || !$is_member; if ($showAnswers) { ?> <table class="poll-variants"><?php } ?> <?php $i = 0; $max = 0; if ($top['poll_closed'] == 't') { foreach ($top['answers'] as $answer) { $max = max($max, $answer['votes']); } } foreach ($top['answers'] as $answer) { ?> <?php if ($top['poll_closed'] == 't') { ?> <tr class="b-layout__tr"> <td class="b-layout__left b-layout__left_width_50"><label class="b-layout__txt" for="poll_<?php echo $i; ?> "><?php echo reformat($answer['answer'], 30, 0, 1); ?> </label></td> <td class="b-layout__middle b-layout__middle_width_30 b-layout__middle_center"><?php echo $answer['votes']; ?> </td> <td class=" b-layout__right "><div class=" res-line rl1" style="width: <?php echo $max ? round(100 * $answer['votes'] / $max * 3) : 0; ?> px;"></div></td> </tr> <?php } else { ?> <?php if ($showAnswers) { ?> <tr> <td class="bp-gres"><?php echo $answer['votes']; ?> </td> <td> <label><?php echo $answer['answer']; ?> </label> </td> </tr> <?php } else { ?> <?php if ($top['poll_multiple'] == 't') { ?> <div class="b-check b-check_padbot_10"> <input id="poll-<?php echo $top['theme_id']; ?> _<?php echo $i; ?> " class="b-check__input" type="checkbox" name="poll_vote[]" value="<?php echo $answer['id']; ?> " /> <label class="b-check__label b-check__label_fontsize_13" for="poll-<?php echo $top['theme_id']; ?> _<?php echo $i++; ?> "><?php echo reformat($answer['answer'], 30, 0, 1); ?> </label> </div> <?php } else { ?> <div class="b-radio__item b-radio__item_padbot_5"> <table class="b-layout__table b-layout__table_width_full" cellpadding="0" cellspacing="0" border="0"> <tr class="b-layout__tr"> <td class="b-layout__left b-layout__left_width_15"><input id="poll-<?php echo $top['theme_id']; ?> _<?php echo $i; ?> " class="b-radio__input b-radio__input_top_-3" type="radio" name="poll_vote" value="<?php echo $answer['id']; ?> " /></td> <td class="b-layout__right"><label class="b-radio__label b-radio__label_fontsize_13" for="poll-<?php echo $top['theme_id']; ?> _<?php echo $i++; ?> "><?php echo reformat($answer['answer'], 30, 0, 1); ?> </label></td> </tr> </table> </div> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <?php if ($showAnswers) { ?> </table><?php } ?> <?php if ($top['poll_closed'] == 't') { ?> </table><?php } ?> </div> <?php if (!$top['poll_votes'] && $user_id && $top['poll_closed'] != 't' && $top['commune_blocked'] != 't' && !$top['user_is_banned'] && !$top['member_is_banned'] && $is_member) { ?> <div class="b-buttons b-buttons_inline-block"> <span id="poll-btn-vote-<?php echo $top['theme_id']; ?> "> <a class="b-button b-button_flat b-button_flat_grey" href="javascript: return false;" onclick="poll.vote('Commune', <?php echo $top['theme_id']; ?> ); return false;">Ответить</a> </span> <span id="poll-btn-result-<?php echo $top['theme_id']; ?> " ><a class="b-buttons__link b-buttons__link_dot_0f71c8" href="javascript: return false;" onclick="poll.showResult('Commune', <?php echo $top['theme_id']; ?> ); return false;">Посмотреть результаты</a></span> </div> <?php } else { ?> <span id="poll-btn-vote-<?php echo $top['theme_id']; ?> "></span> <span id="poll-btn-result-<?php echo $top['theme_id']; ?> "></span> <?php } ?> </div> <br /> <?php } ?> <!-- /Questions --> <!-- Youtube --> <?php if ($top['yt_link']) { $tmp_yt_id = $top['id'] . 'ytlink' . mt_rand(1, 1000000); $tmp_yt_data = show_video($top['id'], $top['yt_link']); array_push($yt_replace_id, '/' . $tmp_yt_id . '/'); array_push($yt_replace_data, $tmp_yt_data); echo "<div style='padding-top: 20px'>" . $tmp_yt_id . "</div><br/>"; } ?> <?php // (($top['youtube_link'])? ("<div style='padding-top: 20px'>".show_video($top['id'], $top['youtube_link'])."</div><br/>"):"") ?> <!-- /Youtube --> <!-- Attach --> <?php if ($top['attach']) { $attach = $top['attach'][0]; if ($attach['fname']) { $att_ext = strtolower(CFile::getext($attach['fname'])); if ($att_ext == "swf") { print "<br/>" . viewattachExternal($top['user_login'], $attach['fname'], "upload", "/blogs/view_attach.php?user="******"&attach=" . $attach['fname']) . "<br/>"; } elseif ($att_ext == 'flv') { print "<br/>" . viewattachLeft($top['user_login'], $attach['fname'], "upload", $file, 1000, 470, 307200, true, $attach['small'] == 't' ? 1 : 0) . "<br/>"; } else { print "<br/>" . viewattachLeft($top['user_login'], $attach['fname'], "upload", $file, 1000, 470, 307200, !($attach['small'] == 't'), $attach['small'] == 't' ? 1 : 0) . "<br/>"; } } echo '<br/>'; if (sizeof($top['attach']) > 1) { echo "<a href=\"" . getFriendlyURL('commune', $top['id']) . "\"><b>" . blogs::ShowMoreAttaches(sizeof($top['attach'])) . "</b></a><br/><br/>"; } } ?> <!-- /Attach --> </div> <ul class="lo-i"> <?php $post_year = dateFormat('Y', $top['post_time']); ?> <li class="lo-i-cm"> <a href="<?php echo getFriendlyURL('commune', $top['id']); ?> " <?php echo $top['current_count'] == NULL && intval($top['count_comments']) != 0 ? 'style="font-weight:bold;"' : ''; ?> ><?php echo $top['closed_comments'] == 't' ? "Комментирование закрыто" : "Комментарии (" . intval($top['count_comments']) . ")"; ?> </a> <?php if ($top['closed_comments'] == 'f') { $top['current_count'] = $top['current_count'] == '' ? $top['a_count'] - 1 : $top['current_count']; if ($top['a_count'] > 1) { $unread = $top['a_count'] - 1 - $top['current_count']; } if ($unread > 0) { ?> <a href="<?php echo getFriendlyURL('commune', $top['id']); ?> #unread" style="color:#6BA813; font-weight:bold;">(<?php echo $unread; ?> <?php echo $unread == 1 ? "новый" : "новых"; ?> )</a> <?php } $unread = 0; } ?> </li> <li class="lo-i-c"><a href="/commune/?id=<?php echo $top['commune_id']; ?> "><?php echo $top['commune_name']; ?> </a>, <a href="/commune/?gr=<?php echo $top['commune_group_id']; ?> "><?php echo $top['commune_group_name']; ?> </a></li> <li><?php echo $post_year > 2000 ? dateFormat("d.m.Y H:i", $top['post_time']) : ''; ?> </li> </ul> </div> <br> <?php break; case '1': // Портфолио $work = $item; if ($work['work_is_blocked']) { continue; } $is_fav = isset($favs['PF' . $work['portfolio_id']]) ? 1 : 0; $msg_id = $work['portfolio_id']; ?> <div class="lo lo-m" style='margin-bottom:0px !important;'> <ul class="lo-p"> <li class="lo-s"> <div class="b-layout_bordrad_3"> <a href="/portfolio" class="lnk-dot-666">Работы</a> </div> </li> <li class="post-f-fav"> <?php if ($favs['PF' . $msg_id]) { ?> <img src="/images/bookmarks/<?php echo $stars[$favs['PF' . $msg_id]['priority']]; ?> " alt="" on="<?php echo $is_fav ? 1 : 0; ?> " id="favstar<?php echo 'PF' . $msg_id; ?> " <?php if ($uid) { ?> onclick="ShowFavFloatLenta(<?php echo $msg_id; ?> , <?php echo $uid; ?> , 'PF')" ><?php } ?> <?php } else { ?> <img src="/images/bookmarks/bsw.png" alt="" on="<?php echo $is_fav ? 1 : 0; ?> " id="favstar<?php echo 'PF' . $msg_id; ?> " <?php if ($uid) { ?> onclick="ShowFavFloatLenta(<?php echo $msg_id; ?> , <?php echo $uid; ?> , 'PF')" ><?php } ?> <?php } ?> <ul class="post-f-fav-sel" style="display:none;" id="FavFloat<?php echo $msg_id; ?> "></ul> </li> </ul> <div class="utxt"> <?php print __LentaPrntUsrInfo($work, 'user_', '', '', false, true); ?> <?php $sTitle = $work['name']; ?> <h3><a href="/users/<?php echo $work['user_login']; ?> /viewproj.php?prjid=<?php echo $work['portfolio_id']; ?> "><?php echo reformat2($sTitle, 40, 0, 1); ?> </a> </h3> <?php $is_preview = $work['pict'] || $work['prev_pict']; if ($is_preview && $work['prev_type'] != 1) { echo view_preview($work['user_login'], $work['prev_pict'], "upload", $align, true, true, '', 200) . "<br/><br/>"; } close_tags($work['descr'], array('b', 'i')); $sDescr = $work['descr']; ?> <p><?php echo reformat($sDescr, 80, 0, 0, 1); ?> </p> </div> <ul class="lo-i"> <?php $post_year = dateFormat('Y', $work['post_time']); ?> <li class="lo-i-c"><a href="/freelancers/?prof=<?php echo $work['prof_id']; ?> "><?php echo $work['prof_name']; ?> </a></li> <li><?php echo $post_year > 2000 ? dateFormat("d.m.Y H:i", $work['post_time']) : ''; ?> </li> </ul> </div> <br> <?php break; case '4': // Блоги $item['thread_id'] = $item['theme_id']; $item['answers'] = $DB->rows("SELECT * FROM blogs_poll_answers WHERE thread_id IN (?l) ORDER BY id", array($item['thread_id'])); $GLOBALS[LINK_INSTANCE_NAME] = new links('blogs'); $user_id = $uid; ?> <div class="lo lo-m" id='idBlog_<?php echo $item['thread_id']; ?> ' style='margin-bottom:0px !important;'> <ul class="lo-p"> <li class="lo-s"> <div class="b-layout_bordrad_3"> <a href="/blogs" class="lnk-dot-666">Блоги</a> </div> </li> <li class="post-f-fav"> <?php $msg_id = $item['theme_id']; ?> <?php if ($favs['BL' . $msg_id]) { ?> <img src="/images/bookmarks/<?php echo $stars[$favs['BL' . $msg_id]['priority']]; ?> " alt="" on="<?php echo $is_fav ? 1 : 0; ?> " id="favstar<?php echo 'BL' . $msg_id; ?> " <?php if ($uid) { ?> onclick="ShowFavFloatLenta(<?php echo $msg_id; ?> , <?php echo $uid; ?> , 'BL')" ><?php } ?> <?php } else { ?> <img src="/images/bookmarks/bsw.png" alt="" on="<?php echo $is_fav ? 1 : 0; ?> " id="favstar<?php echo 'BL' . $msg_id; ?> " <?php if ($uid) { ?> onclick="ShowFavFloatLenta(<?php echo $msg_id; ?> , <?php echo $uid; ?> , 'BL')" ><?php } ?> <?php } ?> <ul class="post-f-fav-sel" style="display:none;" id="FavFloat<?php echo $msg_id; ?> "></ul> </li> </ul> <div class="utxt"> <?php print __LentaPrntUsrInfo($item, 'user_', '', '', false, true); ?> <?php $sTitle = $item['title']; ?> <?php $sMessage = $item['msgtext']; ?> <h3><a href="<?php echo getFriendlyURL("blog", $item['theme_id']); ?> "><?php echo reformat2($sTitle, 30, 0, 1); ?> </a> </h3> <p><?php echo reformat($sMessage, 46, 1, -($item['is_chuck'] == 't'), 1); ?> </p> <!-- Questions --> <?php if ($item['question'] != '') { ?> <div id="poll-<?php echo $item['thread_id']; ?> " class="poll"> <div class="commune-poll-theme"><?php echo reformat($item['question'], 43, 0, 1); ?> </div> <div id="poll-answers-<?php echo $item['thread_id']; ?> "> <?php if ($item['poll_multiple'] != 't') { ?> <div class="b-radio b-radio_layout_vertical"><?php } ?> <?php if ($item['poll_closed'] == 't') { ?> <table class="b-layout__table b-layout__table_width_full"><?php } ?> <?php $i = 0; $max = 0; if ($item['poll_closed'] == 't') { foreach ($item['answers'] as $answer) { $max = max($max, $answer['votes']); } } foreach ($item['answers'] as $answer) { ?> <?php if ($item['poll_closed'] == 't') { ?> <tr class="b-layout__tr"> <td class="b-layout__left b-layout__left_width_50"><label class="b-layout__txt" for="poll_<?php echo $i; ?> "><?php echo reformat($answer['answer'], 30, 0, 1); ?> </label></td> <td class="b-layout__middle b-layout__middle_width_30 b-layout__middle_center"><?php echo $answer['votes']; ?> </td> <td class=" b-layout__right "><div class=" res-line rl1" style="width: <?php echo $max ? round(100 * $answer['votes'] / $max * 3) : 0; ?> px;"></div></td> </tr> <?php } else { ?> <?php if ($item['poll_votes'] || !$user_id) { ?> <div class="bp-gres"><?php echo $answer['votes']; ?> </div> <?php } else { ?> <?php if ($item['poll_multiple'] == 't') { ?> <div class="b-check b-check_padbot_10"> <input id="poll-<?php echo $item['thread_id']; ?> _<?php echo $i; ?> " class="b-check__input" type="checkbox" name="poll_vote[]" value="<?php echo $answer['id']; ?> " /> <label class="b-check__label b-check__label_fontsize_13" for="poll-<?php echo $item['thread_id']; ?> _<?php echo $i++; ?> "><?php echo reformat($answer['answer'], 30, 0, 1); ?> </label> </div> <?php } else { ?> <div class="b-radio__item b-radio__item_padbot_5"> <table class="b-layout__table b-layout__table_width_full" cellpadding="0" cellspacing="0" border="0"> <tr class="b-layout__tr"> <td class="b-layout__left b-layout__left_width_15"><input id="poll-<?php echo $item['thread_id']; ?> _<?php echo $i; ?> " class="b-radio__input b-radio__input_top_-3" type="radio" name="poll_vote" value="<?php echo $answer['id']; ?> " /></td> <td class="b-layout__right"><label class="b-radio__label b-radio__label_fontsize_13" for="poll-<?php echo $item['thread_id']; ?> _<?php echo $i++; ?> "><?php echo reformat($answer['answer'], 30, 0, 1); ?> </label></td> </tr> </table> </div> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <?php if ($item['poll_closed'] == 't') { ?> </table><?php } ?> <?php if ($item['poll_multiple'] != 't') { ?> </div><?php } ?> </div> <?php if (!$item['poll_votes'] && $user_id && $item['poll_closed'] != 't') { ?> <div class="b-buttons b-buttons_inline-block"> <span id="poll-btn-vote-<?php echo $item['thread_id']; ?> "> <a class="b-button b-button_flat b-button_flat_grey" href="javascript: return false;" onclick="poll.vote('Blogs', <?php echo $item['thread_id']; ?> ); return false;">Ответить</a> </span> <span id="poll-btn-result-<?php echo $item['thread_id']; ?> "><a class="b-buttons__link b-buttons__link_dot_0f71c8" href="javascript: return false;" onclick="poll.showResult('Blogs', <?php echo $item['thread_id']; ?> ); return false;">Посмотреть результаты</a> </span> </div> <?php } else { ?> <span id="poll-btn-vote-<?php echo $item['thread_id']; ?> "></span> <span id="poll-btn-result-<?php echo $item['thread_id']; ?> "></span> <?php } ?> </div> <br/> <?php } ?> <!-- /Questions --> <!-- Youtube --> <?php if ($item['yt_link']) { $tmp_yt_id = $item['id'] . 'ytlink' . rand(1, 1000000); $tmp_yt_data = show_video($item['id'], $item['yt_link']); array_push($yt_replace_id, '/' . $tmp_yt_id . '/'); array_push($yt_replace_data, $tmp_yt_data); echo "<div style='padding-top: 20px'>" . $tmp_yt_id . "</div><br/>"; } // =(($item['yt_link'])? ("<div style='padding-top: 20px'>".show_video($item['id'], $item['yt_link'])."</div>"):"") ?> <!-- /Youtube --> <!-- Attach --> <?php if ($item['attach']) { $attach = $item['attach'][0]; if ($attach['fname']) { $att_ext = strtolower(CFile::getext($attach['fname'])); if ($att_ext == "swf") { print "<br/>" . viewattachExternal($item['user_login'], $attach['fname'], "upload", "/blogs/view_attach.php?user="******"&attach=" . $attach['fname']) . "<br/>"; } elseif ($att_ext == 'flv') { print "<br/>" . viewattachLeft($item['user_login'], $attach['fname'], "upload", $file, 1000, 470, 307200, true, $attach['small'] == 2 ? 1 : 0) . "<br/>"; } else { print "<br/>" . viewattachLeft($item['user_login'], $attach['fname'], "upload", $file, 1000, 470, 307200, !$attach['small'], $attach['small'] == 2 ? 1 : 0) . "<br/>"; } } echo '<br/>'; if (sizeof($item['attach']) > 1) { echo "<a href=\"" . getFriendlyURL("blog", $item['theme_id']) . "\"><b>" . blogs::ShowMoreAttaches(sizeof($item['attach'])) . "</b></a><br/><br/>"; } } ?> <!-- /Attach --> </div> <ul class="lo-i"> <?php $post_year = dateFormat('Y', $item['post_time']); ?> <li class="lo-i-cm"> <a href="<?php echo getFriendlyURL("blog", $item['theme_id']); ?> " <?php echo $item['current_count'] == NULL && intval($item['count_comments']) != 0 ? 'style="font-weight:bold;"' : ''; ?> ><?php echo $item['closed_comments'] == 't' ? "Комментирование закрыто" : "Комментарии (" . intval($item['count_comments']) . ")"; ?> </a> <?php if (isset($item['status_comments']) && $item['count_comments'] > 0 && $item['status_comments'] < $item['count_comments'] && $item['status_comments'] != -100 && $item['closed_comments'] == 'f') { $new_comments_num = $item['count_comments'] - $item['status_comments']; ?> <a href="<?php echo getFriendlyURL("blog", $item['theme_id']); ?> #unread" style="color:#6BA813; font-weight:bold;">(<?php echo $new_comments_num; ?> <?php echo $new_comments_num == 1 ? "новый" : "новых"; ?> )</a> <?php } else { if (isset($item['status_comments']) && $item['count_comments'] > 0 && $item['status_comments'] < $item['count_comments'] && $item['status_comments'] == -100 && $item['closed_comments'] == 'f') { $new_comments_num = $item['count_comments']; ?> <a href="<?php echo getFriendlyURL("blog", $item['theme_id']); ?> #unread" style="color:#6BA813; font-weight:bold;">(<?php echo $new_comments_num; ?> <?php echo $new_comments_num == 1 ? "новый" : "новых"; ?> )</a> <?php } } ?> </li> <li class="lo-i-c"><a href="<?php echo getFriendlyURL("blog_group", $item['commune_group_id']); ?> "><?php echo $item['commune_group_name']; ?> </a></li> <li><?php echo $post_year > 2000 ? dateFormat("d.m.Y H:i", $item['post_time']) : ''; ?> </li> </ul> </div> <br> <?php break; } $i++; } ?> <?php // $allThemesCount = lenta::GetLentaThemesCount($cms); ?> <br/> <?php // Страницы $count = 4; $pages = ceil(($allWorkCount + $allThemesCount) / lenta::MAX_ON_PAGE); $html = '<div class="b-pager" >'; if (is_array($count)) { list($scount, $ecount) = $count; } else { $scount = $ecount = $count; } if ($pages > 1) { $start = $page - $scount; if ($start < 1) { $start = 1; } $end = $page + $ecount; if ($end > $pages) { $end = $pages; } $html .= '<ul class="b-pager__back-next">'; if ($page < $pages) { $html .= "<input type=\"hidden\" id=\"next_navigation_link1\" value=\"" . ($page + 1) . "\">"; $html .= '<li class="b-pager__next" id="nav_next_not_active1"><a class="b-pager__link" href="javascript:void(0)" onClick="document.location.href=\'#lentatop\'; spiner.show(); xajax_Lenta_Show(' . ($page + 1) . '); return false;" id="PrevLink"></a> </li>'; } if ($page > 1) { $html .= "<input type=\"hidden\" id=\"pre_navigation_link1\" value=\"" . ($page - 1) . "\">"; $html .= '<li class="b-pager__back"> <a id="NextLink" class="b-pager__link" href="javascript:void(0)" onClick="document.location.href=\'#lentatop\'; spiner.show(); xajax_Lenta_Show(' . ($page - 1) . '); return false;"></a></li>'; } $html .= '</ul>'; $html .= '<ul class="b-pager__list">'; for ($i = $start; $i <= $end; $i++) { if ($i == $start && $start > 1) { $html .= '<li class="b-pager__item"><a class="b-pager__link" href="javascript:void(0)" onClick="document.location.href=\'#lentatop\'; spiner.show(); xajax_Lenta_Show(1); return false;">1</a></li>'; if ($i == 3) { $html .= '<li class="b-pager__item"><a class="b-pager__link" href="javascript:void(0)" onClick="document.location.href=\'#lentatop\'; spiner.show(); xajax_Lenta_Show(2); return false;">2</a></li>'; } elseif ($i != 2) { $html .= "<li class='b-pager__item'>…</li>"; } } $html .= $page == $i ? '<li class="b-pager__item b-pager__item_active"><span class="b-pager__b1"><span class="b-pager__b2">' . $i . '</span></span></li>' : '<li class="b-pager__item"><a class="b-pager__link" href="javascript:void(0)" onClick="document.location.href=\'#lentatop\'; spiner.show(); xajax_Lenta_Show(' . $i . '); return false;">' . $i . '</a></li>'; if ($i == $end && $pages - 1 > $end) { $html .= '<li class="b-pager__item">…</li>'; } } $html .= '</ul>'; } echo $html . '</div>'; // Страницы закончились ?> <?php $content = ob_get_contents(); ob_end_clean(); $content_js = ''; if ($yt_replace_data) { foreach ($yt_replace_data as $key => $value) { $yt_replace_data[$key] = preg_replace("/^(.*)<script.*\$/sm", "\$1", $value); $content_js .= preg_replace("/^(.*<script type='text\\/javascript'>)(.*)(<\\/script>)\$/sm", "\$2", $value); } $content = preg_replace($yt_replace_id, $yt_replace_data, $content); $objResponse->script($content_js); } $objResponse->assign('lenta-cnt', 'innerHTML', $content); $objResponse->script($content_js); $objResponse->script('spiner.hide();'); $objResponse->script('$$("#lenta_cats_checkboxes input[type=checkbox]").each(function(el) { el.set("disabled", false); });'); $objResponse->script('fix_banner();'); return $objResponse; }
/** * Отправляет уведомления об удалении комментария в предложении в проекте. * * @param array $dialogue информация о комментарии */ public function dialogueMessageDeletedNotification($dialogue = array()) { if ($dialogue) { $message = 'Здравствуйте, ' . $dialogue['uname'] . ' ' . $dialogue['usurname'] . ' Модераторы нашего ресурса удалили ваше сообщение в предложении по проекту «' . $dialogue['name'] . '» ' . $GLOBALS['host'] . getFriendlyURL('project', $dialogue['project_id']) . ' Мы призываем вас впредь не нарушать правила портала, иначе модераторы лишат ваш аккаунт доступа к сайту. Это сообщение было выслано автоматически, и ответ на него не будет рассматриваться. Надеемся на понимание, Команда Free-lance.ru '; self::Add(users::GetUid($err, 'admin'), $dialogue['login'], $message, '', 1); } }
unset($_SESSION['new_public']); switch ($project['kind']) { case 7: $type = 'конкурсе'; $published = "Конкурс опубликован"; break; case 4: $type = 'вакансии'; $published = "Вакансия опубликована"; break; default: $type = 'проекте'; $published = "Проект опубликован"; break; } $project_url = isset($project['url']) ? $project['url'] : $GLOBALS['host'] . getFriendlyURL('project', $project); $url = urlencode($project_url); $price = $project['cost'] != 0 && $project['price_display'] ? str_replace('€', '€', $project['price_display']) : 'по договоренности'; $title = urlencode(iconv('CP1251', 'UTF-8', html_entity_decode($project['name'] . ' - ' . $price))); $metrika = "yaCounter6051055.reachGoal('fl_share_proj');"; $banner_promo_inline = true; ?> <div class="b-shadow b-shadow_center b-shadow_width_380 b-shadow_zindex_3"> <div class="" style="padding: 20px "><?php /* @todo Найти нужный css-класс. Ждем верстальщика */ ?> <div class="b-layout__title b-layout__title_center b-layout__title_padbot_20"> <?php echo $published; ?> </div>
} include 'in_out_dialog.php'; ?> <?php $aGroup = commune::getGroupById($comm['group_id']); $sGroup = $aGroup['name']; $crumbs = array(); $crumbs[] = array("title" => "Сообщества", "url" => "/commune/"); if ($comm['id'] != commune::COMMUNE_BLOGS_ID) { $crumbs[] = array("title" => $sGroup, "url" => getFriendlyURL('commune_group', $comm['group_id'])); } if ($comm['id'] == commune::COMMUNE_BLOGS_ID) { $category_id = __paramInit('int', 'cat', 'cat'); $category = commune::getCategory($category_id); $crumbs[] = array("title" => $comm['name'], "url" => $category_id > 0 ? getFriendlyURL('commune_commune', $comm['id']) : ""); if ($category_id) { $crumbs[] = array("title" => $category['name'], "url" => ""); } } ?> <div class="b-community-article"> <?php echo getCrumbs($crumbs, $comm['id'] != commune::COMMUNE_BLOGS_ID ? "commune" : "new_blogs"); ?> <h1 class="b-page__title"><?php echo $comm['name']; ?> </h1> <div class="b-menu b-menu_line b-menu_relative b-menu_padbot_20">
)</td> <td style="width:19px; height:20px" class="brdtop"> </td> </tr> </table> <table width="100%" cellspacing="0" cellpadding="19" class="b-information-clause-content"> <tr> <td style="padding:19px"> <table width="100%" cellspacing="0" cellpadding="0"> <col /> <col /> <col style="width:10px" /> <?php foreach ($communes as $comm) { ++$i; // Название. $name = "<a href='" . getFriendlyURL('commune_commune', $comm['id']) . "' class='blue' style='font-size:20px'>" . reformat($comm['name'], 25, 1) . '</a>'; $descr = reformat($comm['descr'], 25, 1); // Сколько участников. $mAcceptedCnt = $comm['a_count'] - $comm['w_count'] + 1; $mCnt = $mAcceptedCnt . ' участник' . getSymbolicName($mAcceptedCnt, 'man'); ?> <tr style="vertical-align:top"> <td style="width:200px"> <?php echo __commPrntImage($comm, 'author_'); ?> </td>
?> </a></li> <?php } //endfor; ?> </ul> <?php if ($continue) { ?> <ul> <?php for ($i = 3; $i < count($dinamic_content_articles); $i++) { ?> <li><a href="<?php echo getFriendlyURL('article', $dinamic_content_articles[$i]['article_id']); ?> "><?php echo reformat($dinamic_content_articles[$i]['title'], 25, 0, 1); ?> </a></li> <?php } //for ?> </ul> <?php } //if ?>
<?php $g_page_id = '0|62'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/stdf.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/registration.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/account.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/splash_screens.php'; session_start(); $prj_id = __paramInit('int', 'prj_id', null, 0); $contest = __paramInit('int', 'contest', null, 0); $top = __paramInit('int', 'top', null, 0); $top_days = __paramInit('int', 'top_days', null, 0); $color = __paramInit('int', 'color', null, 0); $bold = __paramInit('int', 'bold', null, 0); $logo = __paramInit('int', 'logo', null, 0); // страницу могут смотреть только зарегистрированые работодатели if (!get_uid(0) || !is_emp() || !$prj_id) { include $_SERVER['DOCUMENT_ROOT'] . '/403.php'; exit; } $prj_url = getFriendlyURL('project', $prj_id); $stretch_page = true; $header = '../header.php'; $footer = '../footer.html'; $content = 'tpl.contest_published.php'; $_SESSION['splash_prj_id'] = $prj_id; //$_SESSION['do_show_splash'] = splash_screens::SPLASH_KONKURS; include '../template2.php';
<?php /** * Шаблон вариантов попапов. * * @todo: для реакции на нажания кнопок в попапе (data-popup... итп) здесь используется унифицированный механизм разработанный в bar_ext.js см popuper(); */ $link = getFriendlyURL('project', array('id' => $project['id'], 'name' => $project['name'])); $name = reformat($project['name'], 30, 0, 1); $kind = $project['kind']; $is_show_popup = (bool) strpos($_SERVER['HTTP_REFERER'], "/registration/?from_prj={$project['id']}"); $project_type = $kind == 4 ? 'вакансию' : 'проект'; $url = $kind == 4 ? '/projects/?kind=4' : '/projects/'; $needs = array(); ?> <div id="project_answer_popup" class="b-shadow b-shadow_center b-shadow_width_450 b-shadow_pad_20 b-shadow_zindex_3 <?php if (!$is_show_popup) { ?> b-shadow_hide<?php } ?> "> <?php if ($project['pro_only'] == 't' && !$is_pro && ($project['verify_only'] == 't' && !$is_verify)) { ?> <div class="b-layout__txt b-layout__txt_fontsize_15 b-layout__txt_padbot_20"> Для ответа на <?php echo $project_type; ?>