Advertisement
Trigub_Ilia

GRID Битрикс предустановленный фильтр (не доработанный, если зайти под новым браузером без фильтра)

Nov 24th, 2021
966
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.58 KB | None | 0 0
  1. //Код для result_modifier.php компонента lists.list
  2. $connection = Bitrix\Main\Application::getConnection();
  3. $sqlHelper = $connection->getSqlHelper();
  4.  
  5. $name = $arResult["FILTER_ID"];
  6. $user_id = $_GET["user"];
  7. $user_name = "";
  8. $propUserID = "";
  9.  
  10. switch ($arResult["FILTER_ID"]) {
  11.     case "lists_list_elements_14";
  12.         $propUserID = "93";
  13.         break;
  14.     case "lists_list_elements_11";
  15.         $propUserID = "94";
  16.         break;
  17.     case "lists_list_elements_27";
  18.         $propUserID = "97";
  19.         break;
  20. }
  21.  
  22. $rsUsers = CUser::GetList($by = "ID", $order = "desc", array("ID" => $user_id), array("SELECT" => array(), "FIELDS" => array("ID", "NAME", "LAST_NAME", "SECOND_NAME")));
  23. while ($rs = $rsUsers->GetNext()) {
  24.     $user_name = $rs["LAST_NAME"] . " " . $rs["NAME"] . " " . $rs["SECOND_NAME"];
  25.     $user_name = trim($user_name);
  26. }
  27.  
  28. $sql = "SELECT * FROM b_user_option WHERE NAME = '" . $name . "' AND USER_ID = '" . $user_id . "' AND CATEGORY = 'main.ui.filter'";
  29.  
  30. $arrAllData = [];
  31. $recordset = $connection->query($sql);
  32. while ($record = $recordset->fetch()) {
  33.     $arrAllData = $record;
  34. }
  35.  
  36. if (!empty($arrAllData)) {
  37.     $nowParam = unserialize($arrAllData["VALUE"]);
  38.  
  39.     $nowParam["filters"]["tmp_filter"]["fields"]["PROPERTY_" . $propUserID] = $user_id;
  40.     $nowParam["filters"]["tmp_filter"]["fields"]["PROPERTY_" . $propUserID . "_label"] = $user_name;
  41.  
  42.     $nowParam = serialize($nowParam);
  43.  
  44.     $sql = "UPDATE b_user_option SET VALUE='" . $nowParam . "' WHERE `ID`='" . $arrAllData["ID"] . "'";
  45.     $connection->query($sql);
  46. } else {
  47.     $dew = array(
  48.         'use_pin_preset' => true,
  49.         'deleted_presets' =>
  50.             array(),
  51.         'default_presets' =>
  52.             array(),
  53.         'default' => 'default_filter',
  54.         'filter' => 'default_filter',
  55.         'filters' =>
  56.             array(
  57.                 'default_filter' =>
  58.                     array(
  59.                         'fields' =>
  60.                             array(),
  61.                         'filter_rows' => 'NAME,CREATED_BY',
  62.                     ),
  63.                 'tmp_filter' =>
  64.                     array(
  65.                         'fields' =>
  66.                             array(
  67.                                 'NAME' => '',
  68.                                 'CREATED_BY' => '',
  69.                                 'CREATED_BY_label' => '',
  70.                             ),
  71.                         'filter_rows' => 'NAME,CREATED_BY',
  72.                     ),
  73.             ),
  74.     );
  75.  
  76.     $dew["filters"]["tmp_filter"]["fields"]["PROPERTY_".$propUserID] = $user_id;
  77.     $dew["filters"]["tmp_filter"]["fields"]["PROPERTY_".$propUserID."_label"] = $user_name;
  78.  
  79.     $nowParam = serialize($dew);
  80.  
  81.     $sql = "INSERT INTO `b_user_option` (`USER_ID`, `CATEGORY`, `NAME`, `VALUE`, `COMMON`) VALUES ('" . $user_id . "', 'main.ui.filter', '" . $name . "', '" . $nowParam . "', 'N');";
  82.     $connection->query($sql);
  83. }
  84.  
  85. global $APPLICATION;
  86. $page = $APPLICATION->GetCurPage();
  87. LocalRedirect($page, false, '301 Moved permanently');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement