%
require_once $_SERVER['DOCUMENT_ROOT']."/utils/common.php3";
require_once "$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/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";
require_once "$DOCUMENT_ROOT/cmt2/TheArticleClass.php3";
require_once "$LIBRARY_ROOT/newsAPI.php3";
require_once "$LIBRARY_ROOT/MainPageNewsGenerator.php3";
if( ( isset($_GET['OT']) || isset($_POST['OT']) ) && ( isset($_GET['OI']) || isset($_POST['OI']) ) && ( isset($_GET['TI']) || isset($_POST['TI']) ) ){
if( isset($_GET['OT']) ){
$OriginatorType = $_GET['OT'] ;
$OriginatorIndex = $_GET['OI'] ;
$TopicIndex = $_GET['TI'] ;
}else{
$OriginatorType = $_POST['OT'] ;
$OriginatorIndex = $_POST['OI'] ;
$TopicIndex = $_POST['TI'] ;
}
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_ANSWERS_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']=="d") ? 'desc' : 'asc';
$DS_ARGS['PagerStart'] = 0;
$AdditionalWhereClause =
ParseQueryString($_POST['KWLIST'], array('login', 'AC1.COMMENTS_SUBJ', 'AC1.COMMENTS_TEXT', '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 );
$DS_ARGS['TI'] = QuoteAndSlashes( $TopicIndex );
$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']=="d") ? 'desc' : 'asc';
$DS_ARGS['PagerStart'] = ($CurrPage-1)*$PageSize;
$AdditionalWhereClause =
ParseQueryString($_POST['KWLIST'], array('login', 'AC1.COMMENTS_SUBJ', 'AC1.COMMENTS_TEXT', '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_TOPIC_ANSWERS_Item',
$Evaluate=true,
$UseCompiled=true,
array("CLASS=\"reg\"", "CLASS=\"reg1\""),
false,
$Preparators
);
/* Оболочка для таблицы: список пользователей для админки */
$T_TopicListEnvelope = new TheTemplate();
$T_TopicListEnvelope->LoadTemplate("FORUM_TOPIC_ANSWERS_Envelope");
$HASH_FORUM_TOPIC_ANSWERS_Envelope["FORUM_TOPIC_ANSWERS_LIST_Data"] = $TopicList;
$HASH_FORUM_TOPIC_ANSWERS_Envelope["FORM_ACTION_URL"] = $PHP_SELF;
$HASH_FORUM_TOPIC_ANSWERS_Envelope["KWLIST"] = htmlspecialchars($_POST['KWLIST']);
$HASH_FORUM_TOPIC_ANSWERS_Envelope["PG"] = $CurrPage;
$HASH_FORUM_TOPIC_ANSWERS_Envelope["OT"] = $OriginatorType;
$HASH_FORUM_TOPIC_ANSWERS_Envelope["OI"] = $OriginatorIndex;
$HASH_FORUM_TOPIC_ANSWERS_Envelope["TI"] = $TopicIndex;
$Topic = GetObject($DB, $SQL = "SELECT AIV_COMMENTS.*, AIV_MEMBER.login FROM AIV_COMMENTS LEFT JOIN AIV_MEMBER ON COMMENTS_WRITER_ID=id WHERE COMMENTS_ID=" . intval($HASH_FORUM_TOPIC_ANSWERS_Envelope["TI"]));
$HASH_FORUM_TOPIC_ANSWERS_Envelope["TOPIC.COMMENTS_ID"] = $Topic['COMMENTS_ID'];
$HASH_FORUM_TOPIC_ANSWERS_Envelope["TOPIC.COMMENTS_ISAUTOREPLY"] = $Topic['COMMENTS_ISAUTOREPLY'];
$HASH_FORUM_TOPIC_ANSWERS_Envelope["TOPIC.COMMENTS_ISSYSTEM"] = $Topic['COMMENTS_ISSYSTEM'];
$HASH_FORUM_TOPIC_ANSWERS_Envelope["TOPIC.COMMENTS_ORIGINATOR_ID"] = $Topic['COMMENTS_ORIGINATOR_ID'];
$HASH_FORUM_TOPIC_ANSWERS_Envelope["TOPIC.COMMENTS_ORIGINATOR_TYPE"] = $Topic['COMMENTS_ORIGINATOR_TYPE'];
$HASH_FORUM_TOPIC_ANSWERS_Envelope["TOPIC.COMMENTS_PARENT_ID"] = $Topic['COMMENTS_PARENT_ID'];
$HASH_FORUM_TOPIC_ANSWERS_Envelope["TOPIC.COMMENTS_PUBDATE"] = $Topic['COMMENTS_PUBDATE'];
$HASH_FORUM_TOPIC_ANSWERS_Envelope["TOPIC.COMMENTS_PUBHOST"] = $Topic['COMMENTS_PUBHOST'];
$HASH_FORUM_TOPIC_ANSWERS_Envelope["TOPIC.COMMENTS_SUBJ"] = TextWrapper($Topic['COMMENTS_SUBJ']);
$HASH_FORUM_TOPIC_ANSWERS_Envelope["TOPIC.COMMENTS_TEXT"] = TextWrapper($Topic['COMMENTS_TEXT']);
$HASH_FORUM_TOPIC_ANSWERS_Envelope["TOPIC.COMMENTS_WRITER_ID"] = $Topic['COMMENTS_WRITER_ID'];
$HASH_FORUM_TOPIC_ANSWERS_Envelope["TOPIC.login"] = $Topic['login'];
$HASH_FORUM_TOPIC_ANSWERS_Envelope["PG_SZ_SELECTOR"] = $APP_Selector;
$HASH_FORUM_TOPIC_ANSWERS_Envelope["TOTAL_PAGES"] = $NumPages;
$HASH_FORUM_TOPIC_ANSWERS_Envelope["sf"] = $DS_ARGS['OrderFLD'];
$HASH_FORUM_TOPIC_ANSWERS_Envelope["so"] = ($_POST['so']=="d") ? 'd' : 'a';
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_FORUM_TOPIC_ANSWERS_Envelope["II"] = intval($Data['COMMENTS_ID']);
$HASH_FORUM_TOPIC_ANSWERS_Envelope["TI"] = intval($Data['COMMENTS_PARENT_ID']);
$HASH_FORUM_TOPIC_ANSWERS_Envelope["TempSubject"] = htmlspecialchars($Data['COMMENTS_SUBJ']);
$HASH_FORUM_TOPIC_ANSWERS_Envelope["TempText"] = htmlspecialchars($Data['COMMENTS_TEXT']);
$HASH_FORUM_TOPIC_ANSWERS_Envelope["MESSAGE_MODE"] = "Редактировать сообщение";
}else{
$HASH_FORUM_TOPIC_ANSWERS_Envelope["II"] = "";
$HASH_FORUM_TOPIC_ANSWERS_Envelope["TI"] = $Topic['COMMENTS_ID'];
$HASH_FORUM_TOPIC_ANSWERS_Envelope["TempSubject"] = "Re: " . $Topic['COMMENTS_SUBJ'];
$HASH_FORUM_TOPIC_ANSWERS_Envelope["TempText"] = "";
$HASH_FORUM_TOPIC_ANSWERS_Envelope["MESSAGE_MODE"] = "Ответить";
}
// echo " DBG " . __FILE__ . ":" . __LINE__ . "
\n";
$ExtraHeader .= ": " . $Topic['COMMENTS_SUBJ'];
//Now we can prepare it. With evaluate option coz...
$_Content = $T_TopicListEnvelope->PrepareTemplate($HASH_FORUM_TOPIC_ANSWERS_Envelope, $Evaluatecode=1, $UsePrecompiled=1);
// echo " DBG " . __FILE__ . ":" . __LINE__ . "
\n";
// unset($T_TopicListEnvelope);
// unset($HASH_FORUM_TOPIC_ANSWERS_Envelope);
}else{
$_Content = CategoryTreeForum();
$OriginatorType = "CATEGORY";
$OriginatorIndex = SITE_INDEX_FORUMPAGE ;
}
/////////////////
////
/////////////////
/* Прототип основных страниц, полный */
$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;
// var_dump($DS_ARGS);
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;
}
$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);
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);
%>