?> </div> <div style="margin-top:15px"> <?php echo __commPrntJoinButton($comm, $user->uid, 'users/' . $_SESSION['login'] . '/info/', 2); ?> </div> </td> <td style="text-align:center"> <div> <div id="idCommRating_<?php echo $comm['id']; ?> "> <?php echo __commPrntRating($comm, $user->uid); ?> </div> </div> </td> </tr> <?php } ?> <tr><td colspan="3"><br /></td></tr> <?php } ?> </table> </td> </tr>
function Vote($pfx, $commune_id, $user_id, $prev_rating, $vote) { $objResponse = new xajaxResponse(); if ($commune_id == 5100) { return $objResponse; } if (get_uid(false) != $user_id) { return $objResponse; } // !!! Вообще, везде бы, где ajax, проверку такую делать. $uStatus = commune::GetUserCommuneRel($commune_id, $user_id); if (!$uStatus || !$uStatus['is_accepted'] || $uStatus['is_deleted'] || $uStatus['is_banned'] || is_banned($user_id)) { $objResponse->script("document.location.replace('/commune/?id={$commune_id}')"); } else { $comm = commune::GetCommune($commune_id, $user_id); if ($comm && !$comm['is_blocked']) { $v = commune::Vote($commune_id, $user_id, intval($vote)); // заменяем html'овский минус (−) на - $prev_rating = str_replace('–', '-', $prev_rating); $rating = intval($prev_rating) + $v; $html = __commPrntRating($comm, $user_id, $rating); $objResponse->assign($pfx . $commune_id, 'innerHTML', $html); $objResponse->script("if(window.lockRating{$commune_id}) lockRating{$commune_id}=0;"); } } return $objResponse; }
<?php echo __commPrntImage($comm, 'author_', 'b-layout__link', 'b-layout__pic b-layout__pic_center'); ?> <?php echo seo_end(); ?> <?php if ($comm['id'] != 5100) { ?> <div class="b-voting b-voting_center b-voting_padtb_10"> <div id="idCommRating_<?php echo $comm['id']; ?> "> <?php echo __commPrntRating($comm, get_uid(false)); ?> </div> </div> <?php } ?> <div class="b-free-share b-free-share_padbot_10"> <div class="b-free-share__body b-free-share__body_center "> <?php echo ViewSocialButtons('small_block', $comm['name']); ?> </div> </div> <?php if ($uid = get_uid(false)) {
?> </div> <div style="margin-top:4px"> <?php echo __commPrntAge($comm); ?> </div> </td> <td style="text-align:right"> <div> <div id="idCommRating_<?php echo $comm['id']; ?> "> <?php echo __commPrntRating($comm); ?> </div> </div> </td> </tr> <tr><td colspan="3"><br /></td></tr> <?php } ?> <?php } ?> </table> </td> </tr>
?> </div> <div style="margin-top:15px"> <?php echo __commPrntJoinButton($comm, $uid, "users/" . $_SESSION['login'] . "/info/", 2); ?> </div> </td> <td style="text-align:right"> <div> <div id="idCommRating_<?php echo $comm['id']; ?> "> <?php echo __commPrntRating($comm, $uid); ?> </div> </div> </td> </tr> <tr><td colspan="3"><br/></td></tr> <?php } ?> <?php } ?> </table> </div> <?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; }