Guest User

Untitled

a guest
Jan 20th, 2015
225
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 9.83 KB | None | 0 0
  1. <?
  2. require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php");
  3. require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/blog/include.php");
  4.  
  5. $blogModulePermissions = $APPLICATION->GetGroupRight("blog");
  6. if ($blogModulePermissions < "R")
  7.     $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));
  8.  
  9. IncludeModuleLangFile(__FILE__);
  10. require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/blog/prolog.php");
  11.  
  12. $sTableID = "tbl_blog_blog";
  13.  
  14. $oSort = new CAdminSorting($sTableID, "ID", "asc");
  15. $lAdmin = new CAdminList($sTableID, $oSort);
  16.  
  17. $arFilterFields = array(
  18.     "filter_name",
  19.     "filter_active",
  20.     "filter_url",
  21.     "filter_group_id",
  22.     //"filter_use_socnet",
  23.     "filter_owner"
  24. );
  25. $USER_FIELD_MANAGER->AdminListAddFilterFields("BLOG_BLOG", $arFilterFields);
  26.  
  27. $lAdmin->InitFilter($arFilterFields);
  28.  
  29. $arFilter = array();
  30. if (strlen($filter_name) > 0)
  31.     $arFilter["~NAME"] = "%".$filter_name."%";
  32. if (strlen($filter_active) > 0)
  33.     $arFilter["ACTIVE"] = $filter_active;
  34. if (strlen($filter_url) > 0)
  35.     $arFilter["URL"] = $filter_url;
  36. if (is_array($filter_group_id))
  37.     $arFilter["GROUP_ID"] = $filter_group_id;
  38. else
  39.     $filter_group_id = array();
  40. if (strlen($filter_owner) > 0)
  41.     $arFilter["%OWNER"] = $filter_owner;
  42.  
  43. $USER_FIELD_MANAGER->AdminListAddFilter("BLOG_BLOG", $arFilter);
  44.  
  45. if (($arID = $lAdmin->GroupAction()) && $blogModulePermissions >= "W")
  46. {
  47.     if ($_REQUEST['action_target']=='selected')
  48.     {
  49.         $arID = Array();
  50.         $dbResultList = CBlog::GetList(
  51.             array($by => $order),
  52.             $arFilter,
  53.             false,
  54.             false,
  55.             array("ID")
  56.         );
  57.         while ($arResult = $dbResultList->Fetch())
  58.             $arID[] = $arResult['ID'];
  59.     }
  60.  
  61.     foreach ($arID as $ID)
  62.     {
  63.         if (strlen($ID) <= 0)
  64.             continue;
  65.  
  66.         switch ($_REQUEST['action'])
  67.         {
  68.             case "delete":
  69.                 @set_time_limit(0);
  70.                 $dbBlog = CBlog::GetList(
  71.                         array(),
  72.                         array("ID" => $ID),
  73.                         false,
  74.                         false,
  75.                         array("ID", "GROUP_SITE_ID", "GROUP_ID")
  76.                     );
  77.                 $arBlogOld = $dbBlog->Fetch();
  78.  
  79.                 $DB->StartTransaction();
  80.  
  81.                 if (!CBlog::Delete($ID))
  82.                 {
  83.                     $DB->Rollback();
  84.  
  85.                     if ($ex = $APPLICATION->GetException())
  86.                         $lAdmin->AddGroupError($ex->GetString(), $ID);
  87.                     else
  88.                         $lAdmin->AddGroupError(GetMessage("BLB_DELETE_ERROR"), $ID);
  89.                 }
  90.  
  91.                 $DB->Commit();
  92.  
  93.                 if (!empty($arBlogOld))
  94.                 {
  95.                     BXClearCache(True, "/".$arBlogOld["GROUP_SITE_ID"]."/blog/");
  96.                     BXClearCache(True, "/".SITE_ID."/blog/last_messages/");
  97.                     BXClearCache(True, "/".SITE_ID."/blog/commented_posts/");
  98.                     BXClearCache(True, "/".SITE_ID."/blog/popular_posts/");
  99.                     BXClearCache(True, "/".SITE_ID."/blog/last_comments/");
  100.                     BXClearCache(True, "/".SITE_ID."/blog/popular_blogs/");
  101.                 }
  102.  
  103.                 break;
  104.         }
  105.     }
  106. }
  107.  
  108. $arHeaders = array(
  109.     array("id"=>"ID", "content"=>"ID", "sort"=>"ID", "default"=>true),
  110.     array("id"=>"NAME", "content"=>GetMessage("BLB_NAME"), "sort"=>"NAME", "default"=>true),
  111.     array("id"=>"DATE_CREATE", "content"=>GetMessage('BLB_DATE_CREATE'), "sort"=>"DATE_CREATE", "default"=>true),
  112.     array("id"=>"DATE_UPDATE", "content"=>GetMessage('BLB_DATE_UPDATE'), "sort"=>"DATE_UPDATE", "default"=>true),
  113.     array("id"=>"ACTIVE", "content"=>GetMessage('BLB_ACTIVE'), "sort"=>"ACTIVE", "default"=>true),
  114.     array("id"=>"OWNER_INFO", "content"=>GetMessage('BLB_OWNER_ID'), "sort"=>"", "default"=>true),
  115.     array("id"=>"URL", "content"=>GetMessage('BLB_URL'), "sort"=>"URL", "default"=>true),
  116.     array("id"=>"GROUP_ID", "content"=>GetMessage('BLB_GROUP_ID'), "sort"=>"GROUP_ID", "default"=>true),
  117.     array("id"=>"USE_SOCNET", "content"=>GetMessage('BLB_USE_SOCNET'), "sort"=>"USE_SOCNET", "default"=>false),
  118. );
  119. $USER_FIELD_MANAGER->AdminListAddHeaders("BLOG_BLOG", $arHeaders);
  120. $lAdmin->AddHeaders($arHeaders);
  121.  
  122. $arVisibleColumns = $lAdmin->GetVisibleHeaderColumns();
  123.  
  124. $arSelectedFields = array("ID", "NAME", "DATE_CREATE", "DATE_UPDATE", "ACTIVE", "OWNER_ID", "URL", "REAL_URL", "GROUP_ID", "OWNER_LOGIN", "OWNER_NAME", "OWNER_LAST_NAME", "OWNER_EMAIL", "GROUP_NAME", "GROUP_SITE_ID", "USE_SOCNET");
  125.  
  126. foreach($arVisibleColumns as $val)
  127.     if(!in_array($val, $arSelectedFields))
  128.         $arSelectedFields[] = $val;
  129.  
  130. $dbResultList = CBlog::GetList(
  131.     array($by => $order),
  132.     $arFilter,
  133.     false,
  134.     array("nPageSize"=>CAdminResult::GetNavSize($sTableID)),
  135.     $arSelectedFields
  136. );
  137.  
  138. $dbResultList = new CAdminResult($dbResultList, $sTableID);
  139. $dbResultList->NavStart();
  140.  
  141. $lAdmin->NavText($dbResultList->GetNavPrint(GetMessage("BLB_GROUP_NAV")));
  142.  
  143. while ($arBlog = $dbResultList->NavNext(true, "f_"))
  144. {      
  145.     $row =& $lAdmin->AddRow($f_ID, $arBlog, "/bitrix/admin/blog_blog_edit.php?ID=".$f_ID."&lang=".LANGUAGE_ID, GetMessage("BLB_UPDATE_ALT"));
  146.  
  147.     $row->AddField("ID", '<a href="/bitrix/admin/blog_blog_edit.php?ID='.$f_ID.'&lang='.LANGUAGE_ID.'" title="'.GetMessage("BLB_UPDATE_ALT").'">'.$f_ID.'</a>');
  148.     $row->AddField("NAME", "<a href=\"".CBlog::PreparePath($f_URL, $f_GROUP_SITE_ID, false, $f_OWNER_ID, $f_SOCNET_GROUP_ID)."\">".$f_NAME."</a>");
  149.     $row->AddField("DATE_CREATE", $f_DATE_CREATE);
  150.     $row->AddField("DATE_UPDATE", $f_DATE_UPDATE);
  151.     $row->AddField("ACTIVE", (($f_ACTIVE == "Y") ? GetMessage("BLB_YES") : GetMessage("BLB_NO")));
  152.     if(IntVal($f_OWNER_ID) > 0)
  153.         $row->AddField("OWNER_INFO", "<a href=\"/bitrix/admin/user_edit.php?ID=".$f_OWNER_ID."&lang=".LANG."\">[".$f_OWNER_ID."] ".$f_OWNER_NAME." ".$f_OWNER_LAST_NAME." (".$f_OWNER_LOGIN.")</a>");
  154.     if(IntVal($f_SOCNET_GROUP_ID) > 0)
  155.     {
  156.         $row->AddField("SOCNET_GROUP_ID", $f_SOCNET_GROUP_ID); 
  157.         if(CModule::IncludeModule("socialnetwork"))
  158.         {
  159.             $arGroupSo = CSocNetGroup::GetByID($f_SOCNET_GROUP_ID);
  160.             if(!empty($arGroupSo))
  161.             {
  162.                 $row->AddField("SOCNET_GROUP_ID", "[".$f_SOCNET_GROUP_ID."] ".$arGroupSo["NAME"]);
  163.             }
  164.         }
  165.        
  166.     }
  167.     $row->AddField("URL", $f_URL);
  168.     $row->AddField("GROUP_ID", "<a href=\"/bitrix/admin/blog_group_edit.php?ID=".$f_GROUP_ID."&lang=".LANG."\">[".$f_GROUP_SITE_ID."] ".$f_GROUP_NAME."</a>");
  169.     $row->AddField("USE_SOCNET", (($f_USE_SOCNET == "Y") ? GetMessage("BLB_YES") : GetMessage("BLB_NO")));
  170.    
  171.     $USER_FIELD_MANAGER->AddUserFields("BLOG_BLOG", $arBlog, $row);
  172.  
  173.     $arActions = Array();
  174.     $arActions[] = array("ICON"=>"edit", "TEXT"=>GetMessage("BLB_UPDATE_ALT"), "ACTION"=>$lAdmin->ActionRedirect("blog_blog_edit.php?ID=".$f_ID."&lang=".LANG."&".GetFilterParams("filter_").""), "DEFAULT"=>true);
  175.     if ($blogModulePermissions >= "U")
  176.     {
  177.         $arActions[] = array("SEPARATOR" => true);
  178.         $arActions[] = array("ICON"=>"delete", "TEXT"=>GetMessage("BLB_DELETE_ALT"), "ACTION"=>"if(confirm('".GetMessage('BLB_DELETE_CONF')."')) ".$lAdmin->ActionDoGroup($f_ID, "delete"));
  179.     }
  180.  
  181.     $row->AddActions($arActions);
  182. }
  183.  
  184. $lAdmin->AddFooter(
  185.     array(
  186.         array(
  187.             "title" => GetMessage("MAIN_ADMIN_LIST_SELECTED"),
  188.             "value" => $dbResultList->SelectedRowsCount()
  189.         ),
  190.         array(
  191.             "counter" => true,
  192.             "title" => GetMessage("MAIN_ADMIN_LIST_CHECKED"),
  193.             "value" => "0"
  194.         ),
  195.     )
  196. );
  197.  
  198. $lAdmin->AddGroupActionTable(
  199.     array(
  200.         "delete" => GetMessage("MAIN_ADMIN_LIST_DELETE"),
  201.     )
  202. );
  203.  
  204. if ($blogModulePermissions >= "W")
  205. {
  206.     $aContext = array(
  207.         array(
  208.             "TEXT" => GetMessage("BLB_ADD_NEW"),
  209.             "ICON" => "btn_new",
  210.             "LINK" => "blog_blog_edit.php?lang=".LANG,
  211.             "TITLE" => GetMessage("BLB_ADD_NEW_ALT")
  212.         ),
  213.     );
  214.     $lAdmin->AddAdminContextMenu($aContext);
  215. }
  216.  
  217. $lAdmin->CheckListMode();
  218.  
  219.  
  220. /****************************************************************************/
  221. /***********  MAIN PAGE  ****************************************************/
  222. /****************************************************************************/
  223. $APPLICATION->SetTitle(GetMessage("BLB_TITLE"));
  224. require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php");
  225. ?>
  226. <form name="find_form" method="GET" action="<?echo $APPLICATION->GetCurPage()?>?">
  227. <?
  228. $oFilter = new CAdminFilter(
  229.     $sTableID."_filter",
  230.     array(
  231.         GetMessage("BLB_FILTER_ACTIVE"),
  232.         GetMessage("BLB_FILTER_URL"),
  233.         GetMessage("BLB_FILTER_GROUP_ID"),
  234.         GetMessage("BLB_FILTER_OWNER")
  235.     )
  236. );
  237.  
  238. $oFilter->Begin();
  239. ?>
  240.     <tr>
  241.         <td><?echo GetMessage("BLB_FILTER_NAME")?>:</td>
  242.         <td><input type="text" name="filter_name" value="<?echo htmlspecialcharsbx($filter_name)?>" size="40"><?=ShowFilterLogicHelp()?></td>
  243.     </tr>
  244.     <tr>
  245.         <td><?echo GetMessage("BLB_FILTER_ACTIVE")?>:</td>
  246.         <td>
  247.             <select name="filter_active">
  248.                 <option value=""><?echo GetMessage("BLB_F_ALL")?></option>
  249.                 <option value="Y"<?if ($filter_active=="Y") echo " selected"?>><?echo GetMessage("BLB_YES")?></option>
  250.                 <option value="N"<?if ($filter_active=="N") echo " selected"?>><?echo GetMessage("BLB_NO")?></option>
  251.             </select>
  252.         </td>
  253.     </tr>
  254.     <tr>
  255.         <td><?echo GetMessage("BLB_FILTER_URL")?>:</td>
  256.         <td><input type="text" name="filter_url" value="<?echo htmlspecialcharsbx($filter_url)?>" size="40"></td>
  257.     </tr>
  258.     <tr>
  259.         <td valign="top"><?echo GetMessage("BLB_FILTER_GROUP_ID");?>:</td>
  260.         <td>
  261.             <select name="filter_group_id[]" multiple size="5">
  262.                 <option value=""><?echo GetMessage("BLB_F_ALL")?></option>
  263.                 <?
  264.                 $dbGroup = CBlogGroup::GetList(array("NAME" => "ASC"), array());
  265.                 while ($arGroup = $dbGroup->GetNext())
  266.                 {
  267.                     ?><option value="<?= $arGroup["ID"] ?>"<?if (in_array($arGroup["ID"], $filter_group_id)) echo " selected"?>>[<?= $arGroup["ID"] ?>] <?= $arGroup["NAME"] ?> (<?= $arGroup["SITE_ID"] ?>)</option><?
  268.                 }
  269.                 ?>
  270.             </select>
  271.         </td>
  272.     </tr>
  273.     <tr>
  274.         <td><?echo GetMessage("BLB_FILTER_OWNER")?>:</td>
  275.         <td><input type="text" name="filter_owner" value="<?echo htmlspecialcharsbx($filter_owner)?>" size="40"><?=ShowFilterLogicHelp()?></td>
  276.     </tr>
  277. <?
  278. $USER_FIELD_MANAGER->AdminListShowFilter("BLOG_BLOG");
  279.  
  280. $oFilter->Buttons(
  281.     array(
  282.         "table_id" => $sTableID,
  283.         "url" => $APPLICATION->GetCurPage(),
  284.         "form" => "find_form"
  285.     )
  286. );
  287. $oFilter->End();
  288. ?>
  289. </form>
  290.  
  291. <?
  292. $lAdmin->DisplayList();
  293. ?>
  294.  
  295. <?
  296. require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_admin.php");
  297. ?>
Advertisement
Add Comment
Please, Sign In to add comment