/** * Отдает HTML для Редактирование поста в сообществах * * @param object $objResponse xajaxResponse * @param string $rec_id идентификатор записи * @param string $rec_type тип записи * @param array $aParams дополнительные параметры с UID отправителя. остальные - опционально * @return string */ function _admEditCommunityPostParseForm(&$objResponse, $rec_id = '', $rec_type = '', $aParams = array()) { require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/commune.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/attachedfiles.php'; $mess = commune::GetMessage(intval($rec_id)); $answers = $mess['answers'] ? $mess['answers'] : array(array('id' => 0, 'answer' => '')); $sub_cat = commune::getCategories($mess['commune_id'], true); $uid = $_SESSION['uid']; $id = $mess['commune_id']; $top_id = $rec_id; $site = 'Topic'; $reloc = __commShaolin($error, $comm, $top, $restrict_type, $user_mod); $is_comm_admin = $user_mod & (commune::MOD_COMM_ADMIN | commune::MOD_COMM_MODERATOR); $is_author = $user_mod & commune::MOD_COMM_AUTHOR; $_SESSION['wysiwyg_inline_files'] = array(); // !!!TODO: что то сделать, когда будут готовы новые сообщества ob_start(); include_once $_SERVER['DOCUMENT_ROOT'] . '/user/adm_edit_tpl/community.php'; $sHtml = ob_get_contents(); ob_end_clean(); // аттачи $sAttach = getAttachedFilesJs(commune::getAttachedFiles($rec_id), commune::MAX_FILES, commune::MAX_FILE_SIZE, 'commune'); // опрос $sOnReady = "\n if(document.getElementById('adm_edit_msg')) document.getElementById('adm_edit_msg').value = (\$('adm_edit_msg_source')? \$('adm_edit_msg_source').value : null);\n parent.window['adm_edit_ckeditor'] = CKEDITOR.replace('adm_edit_msg');\n document.getElementById('adm_edit_question').value = document.getElementById('adm_edit_question_source').value;\n poll.init('Blogs', document.getElementById('div_adm_edit'), " . commune::POLL_ANSWERS_MAX . ", '" . $_SESSION['rand'] . "');\n maxChars('adm_edit_question', 'adm_edit_question_warn', " . commune::POLL_ANSWER_CHARS_MAX . ");"; $objResponse->assign('h4_adm_edit', 'innerHTML', 'Редактировать сообщение'); $objResponse->assign('div_adm_edit', 'innerHTML', $sHtml); $objResponse->script("\$('div_adm_reason').setStyle('display', 'none');"); $objResponse->script("adm_edit_content.editMenuItems = ['', 'Основное', 'Файлы', 'Опрос'];"); $objResponse->script('adm_edit_content.edit();'); $objResponse->script($sAttach); $objResponse->script($sOnReady); $objResponse->script('xajax_getAdmEditReasons(' . admin_log::ACT_ID_EDIT_COMMUNITY . ');'); }
$tah = $site == 'Topic' ? '150' : '200'; $action = str_replace('do.', '', $action); $anchor = ''; if ($site != 'Topic') { if ($alert) { $anchor = $action == 'Edit.post' ? 'o' . ($message_id ? $message_id : $parent_id) : 'o'; } else { $anchor = 'bottom'; } } elseif ($alert) { $anchor = 'op'; } $pt = $site == 'Topic' ? '25' : '0'; $pb = $site == 'Topic' ? '25' : '0'; $iid = mt_rand(1, 50000); $sub_cat = commune::getCategories($id, true); // ****************************************** // ШАБЛОН ФОРМЫ ***************************** // ****************************************** global $user_mod; /* <a name="o"></a> <a name="<?= !empty($alert) ? 'error' : '';?>"></a> */ $member = commune::GetCommuneByMember($_SESSION['uid']); $draft_id = !$draft_id ? intval($_GET['draft_id']) : $draft_id; require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/drafts.php"; $draft_data = drafts::getDraft($draft_id, get_uid(false), 4); if ($draft_data) { $mess['category_id'] = $draft_data['category']; $title = htmlspecialchars($draft_data['title'], ENT_COMPAT, 'cp1251');
// Сколько участников (вместе с админами тут). $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' ); $stop_words = new stop_words( hasPermissions("communes") );*/ ?> <script> var blockBoxContent = ''; function __commDT(b,t,e,m,p,o,s,f) { if(warning(1)) { var tc=document.getElementById('idThCnt'); xajax_DeleteTopic(b,t,e,m,p,o,s,f,(tc?tc.innerHTML:0)); } } </script> <script type="text/javascript">
/** * возвращает html блока с разделами сообщества, который в левом столбце * @param type $commune_id ID сообщества * @param type $om сортировка * @param type $curr_cat текущая активная категория * @param type $page страница * @return string html-код */ function __commPrintCategoriesList($commune_id, $om, $curr_cat = '', $page = 0) { $comm = NULL; $user_mod = 0; $uid = get_uid(false); if ($uid) { $status = commune::GetUserCommuneRel($commune_id, $uid); } $comm = commune::GetCommune($commune_id, !$uid ? NULL : $uid, $user_mod); if ($comm) { $communeThemesCounts = commune::getCommuneThemesCount($comm['id']); if (hasPermissions('communes')) { $themes_count = $communeThemesCounts['count']; $for_admin = true; } elseif ($status['is_moderator'] == 1 || $status['is_admin'] == 1 || $status['is_author'] == 1) { $themes_count = $communeThemesCounts['count'] - $communeThemesCounts['admin_hidden_count']; $for_commune_admin = true; } else { $themes_count = $communeThemesCounts['count'] - $communeThemesCounts['hidden_count']; $for_admin = false; } $categories = commune::getCategories($commune_id, true); ob_start(); include $_SERVER['DOCUMENT_ROOT'] . '/commune/tpl.categories_list.php'; return ob_get_clean(); } else { return null; } }