%PDF- %PDF-
Direktori : /home/bitrix/www/bitrix/modules/forum/admin/ |
Current File : //home/bitrix/www/bitrix/modules/forum/admin/forum_topics_search.php |
<? //***************************************************************************************************************** // Topic manage //************************************!**************************************************************************** require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php"); require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/forum/include.php"); $forumModulePermissions = $APPLICATION->GetGroupRight("forum"); if ($forumModulePermissions == "D") $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED")); IncludeModuleLangFile(__FILE__); require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/forum/prolog.php"); //************************************ Forums ********************************************************************* $db_Forum = CForumNew::GetListEx(array("SORT"=>"ASC", "NAME"=>"ASC")); $FN = preg_replace("/[^a-z0-9_\\[\\]:]/i", "", $_REQUEST["FN"]); $FC = preg_replace("/[^a-z0-9_\\[\\]:]/i", "", $_REQUEST["FC"]); if (strlen($FC)<=0) $FC = "TOPIC_ID"; $arr = array(); $arr["reference_id"][] = ""; $arr["reference"][] = ""; $arrForum = array(); $arrSelect = ""; while($dbForum = $db_Forum->Fetch()) { $arrForum[$dbForum["ID"]] = htmlspecialcharsex($dbForum["NAME"]); $arrSelect .= "<option value='".$dbForum["ID"]."'>".htmlspecialcharsex($dbForum["NAME"])."</option>"; $arr["reference_id"][] = $dbForum["ID"]; $arr["reference"][] = htmlspecialcharsex($dbForum["NAME"]); } //************************************ Filter *****************8*************************************************** $sTableID = "tbl_topic"; $oSort = new CAdminSorting($sTableID, "ID", "asc"); $lAdmin = new CAdminList($sTableID, $oSort); $lAdmin->InitFilter(array("FORUM_ID", "DATE_FROM", "DATE_TO", "CREATE_DATE_FROM", "CREATE_DATE_TO")); //************************************ Check filter *************************************************************** $arMsg = array(); $err = false; $date1_create_stm = ""; $date1_create_stm = ""; $date1_stm = ""; $date2_stm = ""; $CREATE_DATE_FROM = trim($CREATE_DATE_FROM); $CREATE_DATE_TO = trim($CREATE_DATE_TO); $CREATE_DATE_FROM_DAYS_TO_BACK = intval($CREATE_DATE_FROM_DAYS_TO_BACK); if (strlen($CREATE_DATE_FROM)>0 || strlen($CREATE_DATE_TO)>0 || $CREATE_DATE_FROM_DAYS_TO_BACK>0) { $date1_create_stm = MkDateTime(ConvertDateTime($CREATE_DATE_FROM,"D.M.Y"),"d.m.Y"); $date2_create_stm = MkDateTime(ConvertDateTime($CREATE_DATE_TO,"D.M.Y")." 23:59","d.m.Y H:i"); if ($CREATE_DATE_FROM_DAYS_TO_BACK > 0) { $date1_create_stm = time()-86400*$CREATE_DATE_FROM_DAYS_TO_BACK; $date1_create_stm = GetTime($date1_create_stm); } if (!$date1_create_stm) $arMsg[] = array("id"=>">=START_DATE", "text"=> GetMessage("FM_WRONG_DATE_CREATE_FROM")); if (!$date2_create_stm && strlen($CREATE_DATE_TO)>0) $arMsg[] = array("id"=>"<=START_DATE", "text"=> GetMessage("FM_WRONG_DATE_CREATE_FROM")); elseif ($date1_create_stm && $date2_create_stm && ($date2_create_stm <= $date1_create_stm)) $arMsg[] = array("id"=>"find_date_create_timestamp2", "text"=> GetMessage("SUP_FROM_TILL_DATE_TIMESTAMP")); } // LAST TOPIC $DATE_FROM = trim($DATE_FROM); $DATE_TO = trim($DATE_TO); $DATE_FROM_DAYS_TO_BACK = intval($DATE_FROM_DAYS_TO_BACK); if (strlen($DATE_FROM)>0 || strlen($DATE_TO)>0 || $DATE_FROM_DAYS_TO_BACK>0) { $date1_stm = MkDateTime(ConvertDateTime($DATE_FROM,"D.M.Y"),"d.m.Y"); $date2_stm = MkDateTime(ConvertDateTime($DATE_TO,"D.M.Y")." 23:59","d.m.Y H:i"); if ($DATE_FROM_DAYS_TO_BACK > 0) { $date1_stm = time()-86400*$DATE_FROM_DAYS_TO_BACK; $date1_stm = GetTime($date1_stm); } if (!$date1_stm) $arMsg[] = array("id"=>">=LAST_POST_DATE", "text"=> GetMessage("FM_WRONG_DATE_CREATE_FROM")); if (!$date2_stm && strlen($DATE_TO)>0) $arMsg[] = array("id"=>"<=LAST_POST_DATE", "text"=> GetMessage("FM_WRONG_DATE_CREATE_FROM")); elseif ($date1_stm && $date2_stm && ($date2_stm <= $date1_stm)) $arMsg[] = array("id"=>"find_date_timestamp2", "text"=> GetMessage("SUP_FROM_TILL_DATE_TIMESTAMP")); } $arFilter = array(); $FORUM_ID = intval($FORUM_ID); if ($FORUM_ID>0) $arFilter = array("FORUM_ID" => $FORUM_ID); if (strlen($date1_create_stm)>0) $arFilter = array_merge($arFilter, array(">=START_DATE" => $CREATE_DATE_FROM)); if (strlen($date2_create_stm)>0) $arFilter = array_merge($arFilter, array("<=START_DATE" => $CREATE_DATE_TO)); if (strlen($date1_stm)>0) $arFilter = array_merge($arFilter, array(">=LAST_POST_DATE" => $DATE_FROM)); if (strlen($date2_stm)>0) $arFilter = array_merge($arFilter, array("<=LAST_POST_DATE" => $DATE_TO)); if (!empty($arMsg)) { $err = new CAdminException($arMsg); $lAdmin->AddFilterError($err->GetString()); } $rsData = CForumTopic::GetList(array($by=>$order), $arFilter); $rsData = new CAdminResult($rsData, $sTableID); $rsData->NavStart(); $lAdmin->NavText($rsData->GetNavPrint(GetMessage("FM_TOPICS"))); //************************************ Headers ******************************************************************** $lAdmin->AddHeaders(array( array("id"=>"ID", "content"=>"ID", "sort"=>"ID", "default"=>true), array("id"=>"TITLE", "content"=>GetMessage("FM_TITLE_NAME"), "sort"=>"TITLE", "default"=>true), array("id"=>"START_DATE","content"=>GetMessage("FM_TITLE_DATE_CREATE"), "sort"=>"START_DATE", "default"=>true), array("id"=>"USER_START_NAME","content"=>GetMessage("FM_TITLE_AUTHOR"), "sort"=>"USER_START_NAME", "default"=>true), array("id"=>"POSTS", "content"=>GetMessage("FM_TITLE_MESSAGES"), "sort"=>"POSTS", "default"=>false), array("id"=>"VIEWS", "content"=>GetMessage("FM_TITLE_VIEWS"), "sort"=>"VIEWS", "default"=>false), array("id"=>"FORUM_ID", "content"=>GetMessage("FM_TITLE_FORUM"), "sort"=>"FORUM_ID", "default"=>true), array("id"=>"LAST_POST_DATE", "content"=>GetMessage("FM_TITLE_LAST_MESSAGE"), "sort"=>"LAST_POST_DATE", "default"=>false), array("id"=>"ACTION", "content"=>GetMessage("MAIN_ACTION"), "default"=>true), )); //************************************ Body *********************************************************************** while ($arForum = $rsData->NavNext(true, "t_")) { $row =& $lAdmin->AddRow($t_ID, $arForum); $row->bReadOnly = True; $row->AddViewField("ID", $t_ID); $row->AddViewField("TITLE", $t_TITLE); $row->AddViewField("START_DATE", $t_START_DATE); $row->AddViewField("USER_START_NAME", $t_USER_START_NAME); $row->AddViewField("POSTS", $t_POSTS); $row->AddViewField("VIEWS", $t_VIEWS); $row->AddViewField("FORUM_ID", $t_FORUM_ID); $row->AddViewField("LAST_POST_DATE", $t_LAST_POST_DATE); $row->AddViewField("ACTION", "<input type=\"button\" onClick=\"SetValue('".$t_ID."');\" value=\"".GetMessage("MAIN_SELECT")."\">"); } //************************************ Footer ********************************************************************* $lAdmin->AddFooter( array( array("title"=>GetMessage("MAIN_ADMIN_LIST_SELECTED"), "value" => $rsData->SelectedRowsCount()), array("counter"=>true, "title"=>GetMessage("MAIN_ADMIN_LIST_CHECKED"), "value"=>"0"), ) ); $lAdmin->CheckListMode(); $APPLICATION->SetTitle(GetMessage("FORUM_TOPICS")); require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_popup_admin.php"); $oFilter = new CAdminFilter( $sTableID."_filter", array( GetMessage("FM_TITLE_DATE_CREATE"), GetMessage("FM_TITLE_DATE_LAST_POST") ) ); ?> <script language="JavaScript"> <!-- function SetValue(id) { <?if (strLen($FN) <= 0):?> window.opener.document.getElementById("<?echo $FC;?>").value=id; <?else:?> window.opener.document.<?echo $FN;?>["<?echo $FC;?>"].value=id; <?endif;?> window.close(); } //--> </script> <form name="form1" method="get" action="<?=$APPLICATION->GetCurPage()?>?"> <?$oFilter->Begin();?> <tr valign="center"> <td><b><?=GetMessage("FM_TITLE_FORUM")?>:</b></td> <td><?echo SelectBoxFromArray("FORUM_ID", $arr, $FORUM_ID)?></td> </tr> <tr valign="center"> <td><?echo GetMessage("FM_TITLE_DATE_CREATE").":"?></td> <td><?echo CalendarPeriod("CREATE_DATE_FROM", $CREATE_DATE_FROM, "CREATE_DATE_TO", $CREATE_DATE_TO, "form1","Y")?></td> </tr> <tr valign="center"> <td><?echo GetMessage("FM_TITLE_DATE_LAST_POST").":"?></td> <td><?echo CalendarPeriod("DATE_FROM", $DATE_FROM, "DATE_TO", $DATE_TO, "form1","Y")?></td> </tr> <? $oFilter->Buttons(array("table_id" => $sTableID,"url" => $APPLICATION->GetCurPage(),"form" => "find_form")); $oFilter->End(); ?></form><? $lAdmin->DisplayList(); require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_popup_admin.php"); ?>