<% require_once $_SERVER['DOCUMENT_ROOT']."/utils/common.php3"; require_once "$LIBRARY_ROOT/DBForms.php3"; require_once "$LIBRARY_ROOT/Member.php3"; require_once "$LIBRARY_ROOT/Templates.php3"; require_once "$LIBRARY_ROOT/searchAPI.php3"; require_once "$LIBRARY_ROOT/ToolsCategory.php3"; require_once "$LIBRARY_ROOT/ToolsIntellySelector.php3"; require_once "$LIBRARY_ROOT/ToolsSelector.php3"; require_once "$LIBRARY_ROOT/MainMenuGenerator.php3"; require_once "$DOCUMENT_ROOT/poll/displaypoll.php3"; require_once "$DOCUMENT_ROOT/cmt2/TheArticleClass.php3"; require_once "$LIBRARY_ROOT/newsAPI.php3"; require_once "$LIBRARY_ROOT/MainPageNewsGenerator.php3"; require_once "$DOCUMENT_ROOT/cmt2/fckeditor.php" ; require_once "$DOCUMENT_ROOT/cmt2/cmt2.inc"; if( !defined("BFOPT_WITH_ALL") ){ require_once "$LIBRARY_ROOT/TheBlobAPI.php3"; } require_once "$DOCUMENT_ROOT/utils/DataSource.php"; require_once "$DOCUMENT_ROOT/utils/qparser.php"; require_once "$DOCUMENT_ROOT/sys/modules/forum/comments.php"; // echo " DBG " . __FILE__ . ":" . __LINE__ . "
\n"; // echo 'Got:' .$_GET['OT'] .' Pot:' . $_POST['OT'] .' Goi:' . $_GET['OI'] .' Poi:' . $_POST['OI']; if( ( isset($_GET['OT']) || isset($_POST['OT']) ) && ( isset($_GET['OI']) || isset($_POST['OI']) ) ){ if( isset($_GET['OT']) ){ $OriginatorType = $_GET['OT'] ; $OriginatorIndex = $_GET['OI'] ; }else{ $OriginatorType = $_POST['OT'] ; $OriginatorIndex = $_POST['OI'] ; } switch($OriginatorType){ case "c": case "C": case "CATEGORY": $OriginatorType = "CATEGORY"; $ExtraHeader = ": " . GetCategoryName($OriginatorIndex); break; case "p": case "P": case "PERSONALITY": $OriginatorType = "PERSONALITY"; $ExtraHeader = ": " . GetLoginByID($OriginatorIndex); break; case "a": case "A": case "ARTICLE": $OriginatorType = "ARTICLE"; $ExtraHeader = ": " . GetArticleHEADLINE($OriginatorIndex); break; default: return "?OT?"; } $DS = new WEB_TEMPLATE_DATA_SOURCE(); $DS->WEB_TEMPLATE_DATA_SOURCE_LOAD_BY_NAME($DSName = 'FORUM_TOPIC_LIST'); $PageSize = intval($_POST['PageSize'])>0 ? $_POST['PageSize'] : $LoggedInUser->UserProperties['PageSize']; if( $_POST['PageSize'] != $LoggedInUser->UserProperties['PageSize'] ){ SetPropertyValue($LoggedInUser->id, $PropID='PageSize', $PageSize); } $DS_ARGS['OrderFLD'] = $DS->WEB_TEMPLATE_DATA_SOURCE_GETSO_FIELD($_POST['sf']); $DS_ARGS['Order'] = ($_POST['so']=="a") ? 'asc' : 'desc'; $DS_ARGS['PagerStart'] = 0; $AdditionalWhereClause = ParseQueryString($_POST['KWLIST'], array('login', 'AC1.COMMENTS_SUBJ', 'AC2.COMMENTS_SUBJ', 'AC1.COMMENTS_PUBDATE') ); $DS_ARGS['WhereClauseExpression'] = ($AdditionalWhereClause <> "") ? $AdditionalWhereClause : "1" ; $DS_ARGS['PagerSize'] = 1; $DS_ARGS['OrderFLD'] = 'AC1.COMMENTS_PUBDATE'; $DS_ARGS['Order'] = 'desc'; $DS_ARGS['OT'] = QuoteAndSlashes( $OriginatorType ); $DS_ARGS['OI'] = QuoteAndSlashes( $OriginatorIndex ); $NumPages = ceil($DS->GetNumRows($DS_ARGS) / $PageSize); switch($_POST['NP']){ case "p": if( $_POST['PG']>1 ){ $CurrPage = $_POST['PG']-1; }else{ $CurrPage = 1; } break; case "1": $CurrPage = 1; break; case "n":; if( $_POST['PG']<$NumPages ){ $CurrPage = $_POST['PG']+1; }else{ $CurrPage = $NumPages; } break; } if( !isset($CurrPage) ) $CurrPage = 1; $ART_PP = ParseEnum( GetPropertyValue( $UserId=0, $PropID='PageSize', $DefaultValue="10|20|30|*40|50|60|70|80|90|100|110|120|130|140|150" ), $LATEST_ARTICLES_LIST_LENGTH ); ob_start(); GenericSelector( $selectorname = "PageSize", $currentvalue = $PageSize, $ART_PP, $KeyEqValue=0, $ExtraClass=" ONCHANGE=\"this.form.submit()\" ", $Quote=true); $APP_Selector = ob_get_contents(); ob_end_clean(); $DS_ARGS['OrderFLD'] = $DS->WEB_TEMPLATE_DATA_SOURCE_GETSO_FIELD($_POST['sf']); $DS_ARGS['Order'] = ($_POST['so']=="a") ? 'asc' : 'desc'; $DS_ARGS['PagerStart'] = ($CurrPage-1)*$PageSize; $AdditionalWhereClause = ParseQueryString($_POST['KWLIST'], array('login', 'AC1.COMMENTS_SUBJ', 'AC2.COMMENTS_SUBJ', 'AC1.COMMENTS_PUBDATE') ); $DS_ARGS['WhereClauseExpression'] = ($AdditionalWhereClause <> "") ? $AdditionalWhereClause : "1" ; $DS_ARGS['PagerSize'] = $PageSize; $Preparators['COMMENTS_TEXT'] = TextWrapper; $TopicList = $DS->WEB_TEMPLATE_DATA_SOURCE_ITERATOR( $DS_ARGS, $TemplateName = 'FORUM_TOPICLIST_Item', $Evaluate=true, $UseCompiled=true, array("CLASS=\"reg\"", "CLASS=\"reg1\""), false, $Preparators ); /* Оболочка для таблицы: список тем */ $T_TopicListEnvelope = new TheTemplate(); $T_TopicListEnvelope->LoadTemplate("FORUM_TOPICLIST_Envelope"); $HASH_TopicListEnvelope["FORUM_TOPIC_LIST_Data"] = $TopicList; $HASH_TopicListEnvelope["FORM_ACTION_URL"] = $PHP_SELF; $HASH_TopicListEnvelope["KWLIST"] = htmlspecialchars($_POST['KWLIST']); $HASH_TopicListEnvelope["PG"] = $CurrPage; $HASH_TopicListEnvelope["OT"] = $OriginatorType; $HASH_TopicListEnvelope["OI"] = $OriginatorIndex; $HASH_TopicListEnvelope["PG_SZ_SELECTOR"] = $APP_Selector; $HASH_TopicListEnvelope["TOTAL_PAGES"] = $NumPages; $HASH_TopicListEnvelope["sf"] = $DS_ARGS['OrderFLD']; $HASH_TopicListEnvelope["so"] = ($_POST[so]=="a") ? 'a' : 'd';; if( $_GET[II] ){ $Data = GetObject($DB, $SQL="SELECT COMMENTS_ID, COMMENTS_PARENT_ID, COMMENTS_SUBJ, COMMENTS_TEXT FROM AIV_COMMENTS WHERE COMMENTS_ID=" . intval($_GET[II]) ); $HASH_TopicListEnvelope["II"] = intval($Data[COMMENTS_ID]); $HASH_TopicListEnvelope["TI"] = 0; $HASH_TopicListEnvelope["TempSubject"] = htmlspecialchars($Data[COMMENTS_SUBJ]); $HASH_TopicListEnvelope["TempText"] = htmlspecialchars($Data[COMMENTS_TEXT]) ; $HASH_TopicListEnvelope["MESSAGE_MODE"] = "Редактировать сообщение"; }else{ $HASH_TopicListEnvelope["II"] = 0; $HASH_TopicListEnvelope["TI"] = 0; $HASH_TopicListEnvelope["TempSubject"] = ""; $HASH_TopicListEnvelope["TempText"] = ""; $HASH_TopicListEnvelope["MESSAGE_MODE"] = "Создать новую тему"; } $_Content = $T_TopicListEnvelope->PrepareTemplate($HASH_TopicListEnvelope, $Evaluatecode=1, $UsePrecompiled=1); // unset($T_TopicListEnvelope); // unset($HASH_TopicListEnvelope); }else{ $_Content = CategoryTreeForum(); $OriginatorType = "CATEGORY"; $OriginatorIndex = SITE_INDEX_FORUMPAGE ; $ExtraHeader = ""; } ///////////////// //// ///////////////// /* Прототип основных страниц, полный */ $T_SITE_DEFULT_PAGE = new TheTemplate(); $T_SITE_DEFULT_PAGE->LoadTemplateID(DEFAULT_SEARCHPAGE_TEMPLATE_ID); // predefined: #FILEMOD $HASH_SITE_DEFAULT_PAGE["DocumentTitle"] = FORUM_TITLE . $ExtraHeader; $HASH_SITE_DEFAULT_PAGE["HEADEXTRA"] = ""; $HASH_SITE_DEFAULT_PAGE["KEYWORDS"] = ""; $HASH_SITE_DEFAULT_PAGE["PAGE_AUTHOR"] = ""; $HASH_SITE_DEFAULT_PAGE["PAGE_DATA"] = ""; $HASH_SITE_DEFAULT_PAGE["Description"] = FORUM_DESCRIPTION; switch( $OriginatorType ){ case "CATEGORY": $currentnode = $OriginatorIndex; $PathFinal = PATH_FINAL_CATEGORY; break; case "PERSONALITY": $currentnode = SITE_INDEX_FORUMPAGE; $PathFinal = PATH_FINAL_USERPAGE; break; case "ARTICLE": $currentnode = SITE_INDEX_FORUMPAGE; $PathFinal = PATH_FINAL_ARTICLE; break; default: $currentnode = SITE_INDEX_FORUMPAGE; break; } // echo "$OriginatorType : $currentnode"; $HASH_SITE_DEFAULT_PAGE["CSS_FILE_NAME"] = "/style.css"; $HASH_SITE_DEFAULT_PAGE["SITE_VMENU_ITEMS"] = MainMenuGenerator($currentnode); $HASH_SITE_DEFAULT_PAGE["SITE_HMENU_ITEMS"] = MenuGenerateHMenu($currentnode, $IsEmpty); $BotMainMenuBlock = MainMenuGenerator($currentnode, 0, 1); $HASH_SITE_DEFAULT_PAGE["SITE_botHMENU_ITEMS"] = $BotMainMenuBlock; // site news // $HASH_SITE_DEFAULT_PAGE["PAGE_NEWS_LIST"] = ""; $HASH_SITE_DEFAULT_PAGE["PAGE_NEWS_LIST"] = MainPageNewsGenerator2(); $HASH_SITE_DEFAULT_PAGE["ShowSiteHeader"] = ($LoggedInUser->UserProperties['ShowSiteHeader'] == 'N') ? "N" : "Y"; /* Page section template */ $T_PAGE_SECTION = new TheTemplate(); $T_PAGE_SECTION->LoadTemplate("PAGE_SECTION"); /* Page section separator template */ $T_PAGE_SECTION_SEPARATOR = new TheTemplate(); $T_PAGE_SECTION_SEPARATOR->LoadTemplate("PAGE_SECTION_SEPARATOR"); $HASH_PAGE_SECTION_SEPARATOR["SectionTitle"] = LangLink() . FORUM_TITLE; $DocumentTitle = $T_PAGE_SECTION_SEPARATOR->PrepareTemplate($HASH_PAGE_SECTION_SEPARATOR, $Evaluatecode=0, $UsePrecompiled=1); $HASH_PAGE_SECTION["Page_Section_Text"] = $_Content; $PageData = $T_PAGE_SECTION->PrepareTemplate($HASH_PAGE_SECTION, $Evaluatecode=0, $UsePrecompiled=1); $HASH_SITE_DEFAULT_PAGE["PAGE_SECTION_LIST"] = /* $DocumentTitle . */ $PageData ; // DISCLAIMER $HASH_PAGE_SECTION_SEPARATOR["SectionTitle"] = CD_TXT_DISCLAIMER_TITLE; $HASH_SITE_DEFAULT_PAGE["DISCLAIMER"] = $T_PAGE_SECTION_SEPARATOR->PrepareTemplate($HASH_PAGE_SECTION_SEPARATOR, $Evaluatecode=0, $UsePrecompiled=1); $HASH_PAGE_SECTION["Page_Section_Text"] = CD_TXT_DISCLAIMER; $HASH_SITE_DEFAULT_PAGE["DISCLAIMER"] .= $T_PAGE_SECTION->PrepareTemplate($HASH_PAGE_SECTION, $Evaluatecode=0, $UsePrecompiled=1); DrawThePath($currentnode, $PathWithHLinks, $TARGETURL=_CD_URL_PATH, $Node1Index, $BoldHiddenCategories=0, $LinkStyle = "", $FirstCall=0, $ReverseOrder=0, $PathFinal, $OriginatorIndex); $HASH_SITE_DEFAULT_PAGE["THE_NAVIGATION_PATH"] = $PathWithHLinks; $HASH_SITE_DEFAULT_PAGE["CATEGORY_POLL"] = DisplayDailyPoll($originator_id=0, $originator_class=0); $HASH_SITE_DEFAULT_PAGE["EXTRA_ITEMS"] = ""; $HASH_SITE_DEFAULT_PAGE["_NROWSSPANNED_"] = 2; $HASH_SITE_DEFAULT_PAGE["_SiteDesign_"] = DEFAULT_SITE_DESIGN; $HASH_SITE_DEFAULT_PAGE["RANDOM_HOT_NEWS"] = HotNewsGenerator(); //Now we can prepare it. With evaluate option coz... echo $T_SITE_DEFULT_PAGE->PrepareTemplate($HASH_SITE_DEFAULT_PAGE, $Evaluatecode=1, $UsePrecompiled=1); // return $T_SITE_DEFULT_PAGE->PrepareTemplate($HASH_SITE_DEFAULT_PAGE, $Evaluatecode=0, $UsePrecompiled=1); unset($T_SITE_DEFULT_PAGE); unset($HASH_SITE_DEFAULT_PAGE); /* echo " "; */ %>