<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> <td style="padding:0 0 0 20px"> <div> <?php echo $name;
)" id="topAInp" name="top_days" value="<?php echo $addedTD ? $addedTD : 1; ?> "<?php echo !$addedTD ? ' disabled' : ''; ?> /> дней = <span id="topSum"><?php echo round(($addedTD ? $addedTD : 1) * $nTopPrice); ?> </span> руб. <?php } else { ?> Вы закрепили объявление на <?php echo $topDays . ' ' . getSymbolicName($topDays, 'day'); ?> . <?php echo $remtverb . ' ' . $remTPeriod; ?> <?php } ?> </p> </li> <?php if ($remTPeriod) { ?> <li> <input type="checkbox" id="f5" name="top_ok" value="1" onchange="oktop(this)"<?php
function DeleteTopic($backto, $message_id, $user_id, $mod, $page, $om, $site, $is_fav, $themesCount, $comm_id = false) { global $session; session_start(); $objResponse = new xajaxResponse(); if (get_uid(false) != $user_id) { return $objResponse; } if (get_uid(false)) { $comm = commune::getCommuneIDByMessageID($message_id); $status = commune::GetUserCommuneRel($comm, get_uid(false)); } if ($status['is_author'] != 1) { //#0024905 $msg = commune::GetMessage($message_id); if ($msg['user_id'] == get_uid(false)) { $status['is_author'] = 1; } } if ($status['is_moderator'] == 1 || $status['is_admin'] == 1 || $status['is_author'] == 1 || hasPermissions('communes')) { // !!! Нужно очищать форму редактирования, если в ней в данный момент редактируется удаляемое сообщение. А то некрасиво. // !!! Можно будет еще добавлять сообщение вниз, то есть брать // верхнее сообщение из следующей страницы и добавлять вниз текущей страницы. $message_id = __paramValue('int', $message_id); if ($r = commune::DeleteMessage($message_id, intval($user_id), $mod, $deleted_time)) { if ($site == 'Topic') { $objResponse->script('document.location.href = "/commune/?id=' . $comm_id . '"'); } elseif ($r < 0) { // Больше не удаляется. $top = commune::GetTopMessageByAnyOther($message_id, $user_id, $mod, TRUE); $objResponse->assign($backto, 'innerHTML', __commPrntTopic($top, $user_id, $mod, $om, $page, $site, $is_fav)); } else { if (!hasPermissions('adm')) { $objResponse->remove($backto); } else { $moderator = new users(); $moderator->GetUserByUID(get_uid(false)); $deleted_time = explode(' ', $deleted_time); $date = $deleted_time[0]; $time = $deleted_time[1]; $time = explode(':', $time); $time = $time[0] . ':' . $time[1]; $moderatorInfo = "<span class=\"b-post__moderator_info_red\" Удалнено модератором [{$moderator->login}] {$moderator->uname} {$moderator->usurname}</span> <span class=\"b-post__moderator_info_gray\">[{$date} | {$time}]</span>"; $objResponse->script("commune_markPostAsDeleted('{$backto}', '{$moderator->login}', '{$moderator->uname}', '{$moderator->usurname}', '{$date}', '{$time}' )"); } if ($themesCount) { if ($themesCount - 1) { $objResponse->assign('idThCnt', 'innerHTML', $themesCount - 1); $objResponse->assign('idThCntS', 'innerHTML', getSymbolicName($themesCount - 1, 'messages')); } else { $objResponse->assign('idThBlck', 'innerHTML', ''); } } } } } return $objResponse; }
if ($admin['is_manager'] == 't') { $man[$admin['user_id']] = true; } } // Трое последних простых участников. if (!($members = commune::GetMembers($id, commune::MEMBER_SIMPLE | commune::JOIN_STATUS_ACCEPTED, 0, 10))) { $members = array(); } // Темы сообщества. if (!$uid && $om == commune::OM_TH_MY || !($topics = commune::GetTopMessages($id, $om == commune::OM_TH_MY ? $uid : NULL, $uid, $user_mod, $om, ($page - 1) * commune::MAX_TOP_ON_PAGE, commune::MAX_TOP_ON_PAGE))) { $topics = array(); } // Стили закладок. $bmCls = getBookmarksStyles(commune::OM_TH_COUNT, $om); // Сколько участников (вместе с админами тут). $mCnt = $comm['a_count'] - $comm['w_count'] + 1 . ' участник' . getSymbolicName($comm['a_count'] - $comm['w_count'] + 1, 'man'); // +1 //if ($thCnt = $themesCount - $bannedCount) //$thCnt = $themesCount - $bannedCount; if ($om == commune::OM_TH_MY) { $thCnt = $themesCount; } $thCntS = ending($thCnt, 'пост', 'поста', 'постов'); $sort = $_COOKIE['commune_fav_order'] != "" ? $_COOKIE['commune_fav_order'] : "date"; $favs = commune::GetFavorites($uid, NULL, $sort, $comm['id']); // ACL $is_site_admin = hasPermissions('communes'); $is_comm_admin = $user_mod & (commune::MOD_COMM_ADMIN | commune::MOD_COMM_MODERATOR); $is_author = $user_mod & commune::MOD_COMM_AUTHOR; $categories = commune::getCategories($id, hasPermissions('communes')); /*require_once( $_SERVER['DOCUMENT_ROOT'] . '/classes/stop_words.php' );
<table border="0" cellspacing="0" cellpadding="0" width="100%"> <tr style="vertical-align:middle"> <td class="big-s" style="font-family:Trebuchet MS;font-size:19px"> Место в <?php echo $ps['name']; ?> оплачено до <?php echo date('d.m.y', $to_time); ?> <?php $end_day = date('Y-m-d', $to_time); $days = ceil((strtotime($end_day) - $TODAY_TIME) / (24 * 3600)); if (!$days) { $s_days = 'Истекает сегодня'; } else { $s = getSymbolicName($days, 'day', $et); $s_days = 'остал' . ($et == 1 ? 'ся' : 'ось') . " {$days} {$s}"; } ?> <span class="orange-c"><br/>(<?php echo $s_days; ?> )</span> </td> <td style="padding:0 55px 0 0; text-align:right"> </td> </tr> </table> </div> <?php } } else {
/** * Выдает период -- сколько осталось ред. проекту висеть наверху ленты. * * @param integer $days Возвращает количество целых дней. * @param integer $hours Возвращает количество целых часов. * @param integer $minutes Возвращает количество целых минут. * @param string $verb Возвращает статус "Осталось" | "Остался" * @return string Период */ function getRemainingTopPeriod(&$days, &$hours, &$minutes, &$verb = NULL) { $time = time(); $topTo = strtotime($this->_project['top_to']); if (($remTime = $topTo - $time) <= 0) { return NULL; } $days = (int) ($remTime / (24 * 3600)); $hours = (int) (($remTime - $days * 24 * 3600) / 3600); $minutes = (int) (($remTime - $days * 24 * 3600 - $hours * 3600) / 60); getSymbolicName($hours, NULL, $he); if ($days) { getSymbolicName($days, NULL, $de); $period = $days . ' ' . ($de == 1 ? 'день' : ($de == 2 ? 'дня' : 'дней')) . ' ' . $hours . ' ' . ($he == 1 ? 'час' : ($he == 2 ? 'часа' : 'часов')); $et = $de; } else { getSymbolicName($minutes, NULL, $me); $period = $hours . ' ' . ($he == 1 ? 'час' : ($he == 2 ? 'часа' : 'часов')) . ' ' . $minutes . ' ' . ($me == 1 ? 'минута' : ($me == 2 ? 'минуты' : 'минут')); $et = $he; } $verb = 'Остал' . ($et == 1 ? 'ся' : 'ось'); return $period; }
echo getSymbolicName((strtotime($last_freeze['to_time']) - strtotime($last_freeze['from_time'])) / 60 / 60 / 24, 'day'); ?> </b> <?php } else { if ($freeze_set || $freezed_now) { //if ?> Ваш аккаунт будет заморожен с <b><?php echo date('d.m.Y', strtotime($from_time)); ?> </b> на <b> <?php echo (strtotime($last_freeze['to_time']) - strtotime($last_freeze['from_time'])) / 60 / 60 / 24; ?> <?php echo getSymbolicName((strtotime($last_freeze['to_time']) - strtotime($last_freeze['from_time'])) / 60 / 60 / 24, 'day'); ?> </b> <?php } } //if ?> </span> <a href="javascript:void(0)" class="b-button b-button_margtop_-4 b-button_flat b-button_flat_blue b-button_flat-size_medium margleft_10 freezed_btn"> <?php if ($_SESSION['is_freezed']) { ?> Разморозить <?php
/** * Проверяет наличие ранее сохраненных черновиков для проектов * */ function CheckDraftsProject($new = false) { $objResponse = new xajaxResponse(); session_start(); $uid = get_uid(false); if ($uid) { require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/drafts.php"; $count = drafts::CheckProjects($uid); if ($count) { if ($new) { $showDraftsCount = 3; $moreDraftsCount = $count - $showDraftsCount; $drafts = drafts::getUserDrafts($uid, 1, $showDraftsCount); ob_start(); include $_SERVER['DOCUMENT_ROOT'] . "/public/new/tpl.drafts_block.php"; $html = ob_get_clean(); //$objResponse->script('$("draft_div_info").setStyle("display","block")'); $objResponse->assign('draft_div_info_text', 'innerHTML', $html); } else { // после введения нового шаблона добавления проектов, это можно удалить $objResponse->script('$("draft_div_info").setStyle("display","block")'); $objResponse->assign('draft_div_info_text', 'innerHTML', 'Не забывайте, у вас в черновиках <a href="/drafts/?p=projects">' . ending($count, 'сохранен', 'сохранено', 'сохранено') . ' ' . $count . ' ' . getSymbolicName($count, 'projects') . '</a>'); } } } return $objResponse; }
} elseif ($_SESSION['uid'] && (!$read_only || $read_only && !$mod)) { ?> <script type="text/javascript">draft_type = 3;</script> <div id="editmsg"><a name="bottom"></a> <?php $count_drafts = drafts::CheckBlogs($uid); if ($count_drafts) { ?> <div class="form fs-p drafts-v" id="draft_div_info"> <b class="b1"></b> <b class="b2"></b> <div class="form-in" id="draft_div_info_text"><?php echo 'Не забывайте, у вас в черновиках <a href="/drafts/?p=blogs">' . ending($count_drafts, 'сохранен', 'сохранено', 'сохранено') . ' ' . $count_drafts . ' ' . getSymbolicName($count_drafts, 'blogs') . '</a>'; ?> </div> <b class="b2"></b> <b class="b1"></b> </div> <?php } ?> <?php $request_uri = ($gr ? "?gr={$gr}&" : "?") . "ord={$ord}" . ($edit_msg["id"] ? "&tr={$edit_msg["id"]}" : ($thread ? "&tr={$thread}" : "")); ?> <?php
$prjs = array(); } $all_count = (int) $all_count >= 0 ? $all_count : $pocnt[$folder]; $pages = ceil($all_count / 40); ?> <div class="b-layout b-layout_relative"> <?php if (sizeof($prjs)) { foreach ($prjs as $prj) { $prj['name'] = htmlspecialchars($prj['name'], ENT_QUOTES, 'CP1251', false); $prj['descr'] = htmlspecialchars($prj['descr'], ENT_QUOTES, 'CP1251', false); $prj['role'] = '1'; // авторы проектов все работодатели поголовно $prj_count++; $msg_cnt = $prj['msg_count'] ? $prj['msg_count'] . ' ' . getSymbolicName($prj['msg_count'], $prj['kind'] == 7 ? 'comments' : 'messages') : ''; if ($prj['kind'] != 7) { $nmsg_cnt = $prj['frl_new_msg_count'] ? $prj['frl_new_msg_count'] . ' ' . ending($prj['frl_new_msg_count'], 'новое сообщение', 'новых сообщения', 'новых сообщений') : ($prj['emp_new_msg_count'] ? 'Сообщение не прочитано' : 'Сообщение прочитано'); } else { $nmsg_cnt = $prj['frl_new_msg_count'] ? $prj['frl_new_msg_count'] . ' ' . ending($prj['frl_new_msg_count'], 'новый', 'новых', 'новых') : ''; } $link = "/projects/{$prj['id']}?f=3"; $is_personal = $prj['kind'] == 9; $is_contest = in_array($prj['kind'], array(projects::KIND_CONTEST, projects::KIND_CONTEST7)); $is_not_payed_vacancy = $prj['kind'] == projects::KIND_VACANCY && $prj['state'] == projects::STATE_MOVED_TO_VACANCY; ?> <div id="prjoffer_box<?php echo $prj['offer_id']; ?> " class="b-post b-post_padtop_10 b-post_padbot_15 b-post_relative b-post_overflow_hidden">
<?php if ($notHiddenOffersCount != $real_offers_count) { // сколько ртветов скрыто $count_hidden_offers = $real_offers_count - $notHiddenOffersCount; } ?> <?php } elseif ($real_offers_count == 0) { ?> <h2 class="b-layout__title">Никто из фрилансеров пока не ответил<?php echo get_uid() ? ', вы первый' : ''; ?> </h2> <?php /*} elseif ($user_offer_exist) { //else?> <h2 class="b-layout__title">Ваше предложение</h2> <? */ } elseif ($notHiddenOffersCount == 0 && $real_offers_count != 0) { ?> <h2 class="b-layout__title"><?php echo $real_offers_count . ' ' . getSymbolicName($real_offers_count, 'hidden_offers'); ?> </h2> <?php $count_hidden_offers = $real_offers_count; ?> <?php } ?> <?php }
/** * Возвращает HTML содержимое списка сообществ * * @param int $page номер страницы * @param array $communes массив со списком сообществ * @param string $sub_om код дополнительного условия сортировки или вкладки * @param int $total общее количество сообществ * @param string $search если есть поисковоая строка для подсвечивания найденого в названияих и описаниях * @return string HTML содержимое списка сообществ */ function __commPrintPage($page = 1, $communes = array(), $total = 0, $sub_om = '', $search = null, $is_ajax = false) { $sHtml = ''; if (!is_array($communes) || !count($communes)) { return ''; } // начало нумерации сообществ для своей сортировки $limit = commune::MAX_ON_PAGE; $start_position = ($page - 1) * $limit; $i = 0; foreach ($communes as $comm) { $i++; // Название. $comm_url = getFriendlyURL('commune_commune', $comm['id']); $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>"; $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'); $sHtml .= '<div class="b-post b-post_padbot_20">'; $sHtml .= '<div class="b-post__body b-post__body_bordbot_solid_f0 b-post__body_padbot_30 b-layout">'; $sHtml .= '<table class="b-layout__table" cellpadding="0" cellspacing="0" border="0">'; $sHtml .= '<tr class="b-layout__tr">'; if ($sub_om == commune::OM_CM_JOINED_MY) { $sHtml .= ' <div class="form c-my-sort"> <b class="b1"></b> <b class="b2"></b> <div class="form-in"> <a onclick="xajax_CommuneMove(' . $comm['id'] . ', \'>\', ' . ($group_id ? $group_id : 0) . ', 10, ' . $page . ');" href="javascript:void(0);" class="b-sqr b-sqr-t1"><em></em></a> <a onclick="$(\'commune_set_order_' . $comm['id'] . '\').setStyle(\'display\', \'\');" href="javascript:void(0);" class="b-sqr b-sqr-t2"><em>' . ($start_position + $i) . '</em></a> <a onclick="xajax_CommuneMove(' . $comm['id'] . ', \'<\', ' . ($group_id ? $group_id : 0) . ', 10, ' . $page . ');" href="javascript:void(0);" class="b-sqr b-sqr-t3"><em></em></a> </div> <b class="b2"></b> <b class="b1"></b> </div>'; } // картинка сообщества $js = '<script type="text/javascript">seo_print(\'' . clearTextForJS(__commPrntImage($comm, 'author_')) . '\');</script>'; if ($comm['is_blocked'] == 't') { // если сообщество заблокировано $sHtml .= __commPrntBlockedBlock($comm['blocked_reason'], $comm['blocked_time'], $comm['admin_login'], "{$comm['admin_name']} {$comm['admin_uname']}"); } // левый блок, вставка изображения сообшщества $sHtml .= '<td class="b-layout__left b-layout__left_width_220">' . ($is_ajax ? __commPrntImage($comm, 'author_') : $js) . '</td>'; // начало правого блока $sHtml .= '<td class="b-layout__right"><div class="b-post__content">'; // блок голосования $sHtml .= '<div class="b-voting b-voting_float_right"><div id="idCommRating_' . $comm['id'] . '">' . __commPrntRating($comm, get_uid(false)) . '</div></div>'; // название сообщества $sHtml .= '<h3 class="b-post__title b-post__title_padbot_15">' . $name . '</h3>'; // описание сообщества $sHtml .= '<div class="b-post__txt b-post__txt_padbot_20">' . $descr . '</div>'; // инфа о сообществе $sHtml .= '<div class="b-post__foot">'; // количество участников и постов $sHtml .= '<div class="b-post__txt b-post__txt_padbot_10 b-post__txt_fontsize_11">' . '<a class="b-post__link b-post__link_fontsize_11 b-post__link_float_right" href="' . $comm_url . '">' . $comm['themes_count'] . ' ' . ending($comm['themes_count'], 'пост', 'поста', 'постов') . '</a>' . $mAcceptedCnt . ' ' . ending($mAcceptedCnt, 'участник', 'участника', 'участников') . '</div>'; // дата создания $sHtml .= '<div class="b-post__txt b-post__txt_padbot_10 b-post__txt_fontsize_11">Создано ' . __commPrntAgeEx($comm) . '</div>'; // создатель $sHtml .= '<div class="b-post__txt b-post__txt_padbot_30 b-post__txt_fontsize_11">Создатель ' . '<span class="b-username b-username_bold b-username_fontsize_11">' . __commPrntUsrInfo($comm, 'author_', '', '', false) . '</span>' . '</div>'; // вступить в сообщество if ($uid = get_uid(false)) { $sHtml .= '<span id="commSubscrButton_' . $comm['id'] . '">' . __commPrntSubmitButton($comm, $uid, null, 'green') . '</span>'; $sHtml .= __commPrntJoinButton($comm, $uid, null, 1); } $sHtml .= '</div>'; // закрытие тега div.b-post__foot if ($sub_om == commune::OM_CM_JOINED_MY) { $sHtml .= ' <div id="commune_set_order_' . $comm['id'] . '" class="overlay ov-out ov-commune-sort" style="display: none;"> <b class="c1"></b> <b class="c2"></b> <b class="ov-t"></b> <div class="ov-r"> <div class="ov-l"> <div class="ov-in"> <label>Позиция</label> <input type="text" id="position_time_' . $comm['id'] . '" name="position_time_' . $comm['id'] . '" size="3"> <button onclick="xajax_CommuneSetPosition(' . $comm['id'] . ', ' . ($start_position + $i) . ', $(\'position_time_' . $comm['id'] . '\').get(\'value\'), ' . $total . ', ' . ($group_id ? $group_id : 0) . ', 10, ' . $page . ');">Применить</button> <a href="javascript:void(0);" onclick="$(this).getParent(\'.overlay\').setStyle(\'display\', \'none\');" class="lnk-dot-666">Отменить</a> </div> </div> </div> <b class="ov-b"></b> <b class="c3"></b> <b class="c4"></b> </div>'; } $sHtml .= '</div></td>'; $sHtml .= '</tr></table></div></div>'; } return $sHtml; }