<?php
include_once("c_esmo_magnit_pdd.php");
include_once(_DIR_TO_MODULES."/engine/i_mailbox.php");
class c_page_cab_esmo_magnit_pdd_upload_mail extends c_page_cab_esmo_magnit_pdd
{
  public $h1='Прием направления по АГ по почте' ;
  public $rec_mo=array() ;
  public $rec_personal=array() ;
  public $rec_mess=array() ;

  function page_title($title='',$path=array(),$options=array()) {}

  function panel_cmd_exec() {}

 function block_main()
 { $this->page_title() ;
   //$this->panel_file_upload() ;
   $arr_mails=execSQL('select t2.pkey,t2.parent as mail_id,t1.c_data,t1.sender,t1.status,t2.obj_name,t2.type,t2.bytes,t2.saved_fname,t2.status as attach_status 
                       from obj_site_inmail_attach t2
                       left join obj_site_inmail t1 on t1.pkey=t2.parent 
                       where t2.status=0 and (t2.obj_name like "%.pdf" or t2.obj_name like "%.jpg" or t2.obj_name like "%.jpeg")
                           ') ;

    echo 'Ожидает обработки <strong>'._sizeof($arr_mails).'</strong> почтовых вложений<br><br>' ;

   ?><button class="v1" cmd="check_mailbox">Проверить почтовый ящик</button>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
     <button class="v1" cmd="check_mailbox_and_add_doc">Обработать принятые письма</button>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
     <button class="v1" cmd="view_register_senders">Показать зарегистрированные email отправителя</button>&nbsp;&nbsp;&nbsp;
     <button class="v1" cmd="view_inmail">Показать принятые письма</button>&nbsp;&nbsp;&nbsp;
     <br><br><?

     echo $this->cmd_exec_HTML_output ;
 }

 function CMD_view_inmail()
 {   ?><h2>Принятые письма</h2><?
     $arr_mails=execSQL('select t2.pkey,t2.parent as mail_id,t1.c_data,t1.sender,t1.obj_name as mail_theme,t2.obj_name,t2.type,t2.bytes,t2.saved_fname,t2.status as attach_status 
                            from obj_site_inmail_attach t2
                            left join obj_site_inmail t1 on t1.pkey=t2.parent 
                            order by t2.pkey desc 
                            limit 100
                      ') ;
     $arr_ATP_email=ACCOUNTS()->get_arr_register_emails() ;
     $recs=execSQL_row('select pkey,obj_name from obj_site_account where clss=206') ;
     if (_sizeof($arr_ATP_email)) foreach($arr_ATP_email as $email=>$group_id)  $arr_ATP_email[$email]=$recs[$group_id] ;
     $arr_status=array(0=>'Новое',1=>'Обработано',2=>'Отклонено (неверный формат вложения)',
             3=>'Отклонено (незарегистрированный email)',
             4=>'Отклонено (незарегистрированный email)',
             9=>'Ошибка (не найден сохраненный файл)') ;
     $arr_status_color=array(0=>'black',1=>'green',2=>'gray',3=>'yellow',9=>'red') ;
     $cnt_error=0 ;
     ?><table class="basic fz_small auto"><tr><th>ID письма</th><th>ID вложения</th><th>Тема письма</th><th>Дата получения</th><th>email отправителя</th><th>АТП отправителя</th><th>Файл вложения</th><th>Тип вложения</th><th>Размер вложения</th><th>Статус</th></tr><?
     if (_sizeof($arr_mails)) foreach($arr_mails as $rec)
     {  $file_exists=(file_exists($rec['saved_fname']))? 1:0 ;

         ?><tr>
            <td><?echo $rec['mail_id']?></td>
            <td><?echo $rec['pkey']?></td>
            <td class="left"><?echo $rec['mail_theme']?></td>
            <td><?echo date('d.m.Y H:i:s',$rec['c_data'])?></td>
            <td class="left"><?echo $rec['sender']?></td>
            <td class="left"><?echo $arr_ATP_email[$rec['sender']]?></td>
            <td><?if ($file_exists) {?><a href="<?echo hide_server_dir($rec['saved_fname'])?>" target="_blank"><?echo hide_server_dir($rec['saved_fname'])?></a><?} else echo '<div class=red>Файл<br> <strong>'.$rec['saved_fname'].'</strong><br>  не найден</div>'?></td>
            <td><?echo $rec['type']?></td>
            <td><?echo show_size($rec['bytes'])?></td>
            <td style="color:<?echo $arr_status_color[$rec['attach_status']]?>">
                <? echo (isset($arr_status[$rec['attach_status']]))? $arr_status[$rec['attach_status']]:$rec['attach_status']?>
            </td>
          </tr><?
         if ($rec['attach_status']>1) $cnt_error++ ;
     }
     ?></table><br><?
     if ($cnt_error){?><button class="v2" cmd="esmo_magnit/clear_status_error_inmail">Сбросить ошибки</button> <button class="v2" cmd="esmo_magnit/delete_status_error_inmail">Удалить ошибки</button><?}
     if (_sizeof($arr_mails)){?><form style="display:inline;"><input type="text" value="" name="mess_id"><input type="submit" class="v1" cmd="delete_mail" value="Удалить письмо по ID"></form><?}
 }

 function CMD_view_register_senders()
 {  ?><h3>Список зарегистрированных email отправителей</h3><?
     $arr_ATP_email=ACCOUNTS()->get_arr_register_emails() ;
     $recs=execSQL_row('select pkey,obj_name from obj_site_account where clss=206') ;
     if (_sizeof($arr_ATP_email)) foreach($arr_ATP_email as $email=>$group_id)  $arr_ATP_email[$email]=$recs[$group_id] ;
     damp_array($arr_ATP_email,1,-1) ;
 }

 function CMD_check_mailbox()
 {
   $mail_box=new c_mailbox()  ;
   $mail_box->read_mail() ;
 }

 function CMD_check_mailbox_and_add_doc()
 {   DOCS()->check_mailbox_and_add_doc() ;
 }


  function CMD_delete_mail()
  {
      //damp_array($_POST,1,-1) ;
      execSQL_update('delete from obj_site_inmail where pkey='.$_POST['mess_id'],1) ;
      execSQL_update('delete from obj_site_inmail_attach where parent in ('.$_POST['mess_id'].')',1) ;
  }



}






?>
