<?
function panel_select_personals_to_filter($extended,$rec_item,$options=array())
{
    // показываем текущий набор фильтров
    panel_view_personals_filter($extended,$rec_item,$options) ;

    // добавление новых правил
    ?><h2>Вы можете добавить новые правила отбора:</h2><?

    // используем отчет report_personals_by_filter так как там есть кнопка "Сохранить условия отбора сотрудников "
    include_once(_DIR_EXT.'/personal/report_personals_by_filter.php') ;
    $report_obj=new report_personals_by_filter() ;
    $report_obj->no_view_title=1 ;
    $report_obj->extended=$extended ;
    $report_obj->item_id=$rec_item['id']; // для personals_group item_id!=pkey
    $report_obj->item_reffer=$rec_item['_reffer'];
    $report_obj->no_use_account_usl_select=1; // нельзя чтобы личные условия отбора сотруков попали в общий вьювер. И на эту страницу вход только администраторам
    if ($options['full_filter']) $report_obj->setting($options) ;
    else                         $report_obj->setting_org_otdel_works($options) ;
    $report_obj->view_as_HTML(array('debug'=>0)) ;
}

function panel_view_personals_filter($extended,$rec_item,$options=array())
  {
      echo '<h2>Текущие правила отбора:</h2>';
      //damp_array($rec_item) ;

     // использем отчет для получения SQL для вьювера
     include_once(_DIR_EXT.'/personal/report_personals_ids_by_filter.php') ;
     $report_obj=new report_personals_ids_by_filter() ;
     $report_obj->no_use_account_usl_select=1; // показывать всех сотрудников без учета фильтра по текущему аккаунту

      ?><table class="basic fz_small auto"><tr><th>№</th><th>Условие отбора</th><th>Тип отбора</th><th>Число сотрудников по данному условию</th><th colspan="2">Операции</th></tr><?

      $i=1 ; // i!=filter_id
      // только новый вариант хранения данных по фильтру
      $personals_filter=PERSONALS_FILTER()->get_personals_filter_to_item($rec_item['_reffer']) ;
      if (_sizeof($personals_filter)) foreach($personals_filter as $id=>$filter_set)
      {   ob_start() ;
          $report_obj->filter=$filter_set ;
          $report_obj->left_join=[] ;
          $report_obj->unions=[] ;
          $usl=$report_obj->create_usl_select_obj() ;
          $cnt=$report_obj->get_cnt_items($usl) ;
          $debug_text=ob_get_clean() ;
          $filter_id=(is_int($id))? $id+1:$id ;
          $arr_info=$report_obj->get_arr_info_filters() ;
          $_str=[] ; $filter_info='' ;
          if (_sizeof($arr_info)) foreach($arr_info as $title=>$value) $_str[]=$title.': <strong>'.$value.'</strong>' ;
          if (_sizeof($_str)) $filter_info=implode('<br>',$_str) ;

          ?><tr><td><? echo $i; ?></td>
             <td style="text-align:left;"><? echo $filter_info ; if ($debug_text) echo $debug_text ; ?></td>
             <td>Включены</td>
             <td><? echo $cnt ; ?></td>
             <td><button class="v2" cmd="personal/delete_usl_select_persons" filter_id="<?echo $filter_id?>" item_reffer="<?echo $rec_item['_reffer']?>" extended="<?echo $extended?>">Удалить</button></td>
             <td><button class="v2" cmd="personal/view_persons_by_filter" filter_id="<?echo $filter_id?>" base_url="<?echo _CUR_REPORT_DIR?>" item_reffer="<?echo $rec_item['_reffer']?>">Показать сотрудников</button></td>
         </tr>
        <?
        $i++;
      }

      if ($i>1)
      { $viewer_name=PERSONALS_FILTER()->get_viewer_name_by_filter_reffer($rec_item['_reffer'],['debug'=>0]) ;
        $cnt=execSQL_value('select count(distinct(pkey)) from '.$viewer_name) ;
        ?><tr><td></td><td>Всего<?if ($options['comment']) echo ' ('.$options['comment'].') ' ; ?>:</td><td></td><td><?echo $cnt?></td><td></td><td></td></tr><?
      }
      else
      {
        ?><tr><td colspan="9">Правила отбора учасников не заданы</td></tr><?
      }

      ?></table><br><br><?
      //damp_array($rec_item);
  }
?>
