<?php
include_once("c_docs.php");
class c_page_cab_docs_limits extends c_page_cab_docs
{
  public $h1='Сроки хранения документов' ;

 function block_main()
 { $this->page_title() ;
   if ($_POST['cmd']=='get_doc_dir_weight') $this->get_doc_dir_weight() ;
   else $this->panel_list_edit() ;

 }
function panel_list_edit()
  { $recs_doc=execSQL('select * from reports') ;
    $recs_docs_created=execSQL('select report_code,min(c_data) as min_data,max(c_data) as max_data,count(pkey) as cnt from obj_site_docs where clss=215 and report_code!=""  group by report_code') ;
    $docs_limits=SETUP()->load_ini_setting('/ini/docs_limits.yaml') ;
    ?><form>
      <button class="button v2 left" cmd="docs/doc_limit_save">Сохранить изменения</button>
      <button class="button v1 left" cmd="get_doc_dir_weight">Показать размер директорий документов</button>
      <div class="clear"></div>
      <table class="basic fz_small">
          <tr>
              <th>Выбор</th><th>ID</th><th>Модуль</th><th>Наименование</th><th>Тип документа</th><th>Код документа</th><th>Срок хранения документа, лет.</th>
              <th>Дата первого документа</th>
              <th>Дата последнего документа</th>
              <th>Число документов в базе</th>
              <th>Число документов в базе, подлежащих хранению PDF</th>
              <th>Число файлов PDF</th>
              <th>Число файлов, подлежащих удалению</th>
              <th>Директория документа</th>
              <th>Операция</th>
          </tr>
       <?if ($recs_doc) foreach($recs_doc as $rec)
         {   $id=$rec['pkey'] ;
             $rec_report=REPORTS()->docs_list[$rec['code']] ;


             $doc_dir=str_replace(array('/','.php'),array('_',''),$rec['code']) ;
             $full_doc_dir=_DIR_TO_ROOT.'/docs/pdf/'.$doc_dir.'/' ;
             $dir_exists=(file_exists($full_doc_dir))? 1:0 ;


             $report_code=str_replace('.php', '', $rec['script']) ;
             $doc_info=$recs_docs_created[$report_code] ;

             if (!sizeof($doc_info)) $doc_info=$recs_docs_created[$rec['code']] ;

             if (sizeof($doc_info))
             {
                 $year_limit=$docs_limits[$rec['code']] ;
                 if (!$year_limit) $year_limit=5 ;
                 $day_limit=$year_limit*365 ;

                 $cmd='find '.$full_doc_dir.' -type f  -mtime +'.$day_limit.' | wc -l' ;
                 $result=ENGINE()->exec_bash_cmd($cmd) ;
                 $cnt=(int)$result ;

                 $cmd='find '.$full_doc_dir.' -type f  | wc -l ' ;
                 $result=ENGINE()->exec_bash_cmd($cmd) ;
                 $pdf_cnt=(int)$result ;

                 $now=getdate() ;
                 $time_from=mktime(0,0,0,$now['mon'],$now['mday']-$day_limit,$now['year']);
                 $cnt_docs=execSQL_value('select count(pkey) from obj_site_docs where report_code="'.$doc_info['report_code'].'" and c_data>'.$time_from) ;


                 ?><tr>
                     <td><?if ($rec['virt']){?><input type="checkbox" name="_check[<?echo $rec['pkey']?>]" value="1"><?}?></td>
                     <td class="left"><?echo $id?></td>
                     <td class="left"><?echo $rec_report['section_title']?></td>
                     <td class="left">
                       <? if ($rec['virt']){?><input type="text" name="doc_types[<?echo  $rec['pkey']?>][name]"  style="width:1000px;" value="<?echo htmlspecialchars($rec['obj_name'])?>"><?}
                          else echo $rec['obj_name'] ;
                       ?>
                     </td>
                      <td><?
                          if ($rec['type']==1) echo 'Отчет' ;
                          if ($rec['type']==2) echo 'Документ' ;
                      ?></td>
                     <td class="left"><?echo ($rec['code'])?></td>
                     <td><input type="input" name="docs_limits[<?echo $rec['code']?>]" value="<?echo $year_limit ?>" style="text-align:center"></td>
                     <td><?echo ($doc_info['min_data'])? date('d.m.Y',$doc_info['min_data']):'-'?></td>
                     <td><?echo ($doc_info['max_data'])? date('d.m.Y',$doc_info['max_data']):'-'?></td>
                     <td><?echo ($doc_info['cnt'])?:'-'?></td>
                     <td><?echo ($cnt_docs)?:'-'?></td>
                     <td><?echo ($pdf_cnt)?:'-'?></td>
                     <td><?echo ($cnt)?:'-'?></td>
                     <td class="left"><span class="<?echo ($dir_exists)? 'green':'red'?>"><?echo $doc_dir?></span></td>
                     <td><?if ($cnt){?><button class="button v2 left" cmd="docs/doc_clear_pdf" dir="<?echo $full_doc_dir?>" year_limit="<?echo $year_limit?>">Удалить файлы PDF</button><?}?></td>
                  </tr>
                 <?
             }
         }?>
     </table>
     </form>
      <?
//      print_2x_arr($recs_doc);
  }

  function get_doc_dir_weight()
  {   ?><h2>Размер директорий с PDF-файлами</h2><?
      $full_doc_dir=_DIR_TO_ROOT.'/docs/pdf/' ;
      $cmd='du -hd 1  '.$full_doc_dir ;
      $result=ENGINE()->exec_bash_cmd($cmd) ;
      ?><textarea style="width:100%;height:500px;"><?echo $result?></textarea><?
  }

}



?>
