<?
include_once(_DIR_EXT.'/HTML/c_page_XML_AJAX.php') ;
include_once(_CLASS_.'/ext/esmo_ct/panel_graf_preview.php') ;
include_once(_DIR_EXT.'/esmo_gateway/i_personal_import.php') ;
class c_page_ajax extends c_page_XML_AJAX
{
  /*  операция изменения статуса сообщений вынесена в объект мероприятия
  function message_status_change($action_after,$personal_id)
  {
      if ($action_after==1)
      { $recs_mess=PERSONAL()->get_active_mess_to_personal($personal_id,array('view_blocked'=>1)) ;
        if (_sizeof($recs_mess)) foreach($recs_mess as $rec_mess) PERSONAL()->message_personal_close($rec_mess['pkey']) ;
      }
      
      if ($action_after==2)
      { $recs_mess=PERSONAL()->get_active_mess_to_personal($personal_id) ;
        update_rec_in_table('obj_site_personals',array('mo_block'=>1,
                                                       'mo_block_comment'=>'Запрет прохождения МО после сдачи направления по АГ'
                                                      ),'pkey='.$personal_id) ;
        if (_sizeof($recs_mess)) foreach($recs_mess as $rec_mess) PERSONAL()->message_personal_close($rec_mess['pkey']) ;
      
      }
  } */

    /* // перенесена в мероприятие
     * 
     * function set_group_by_diagnoz()
     { //ob_start() ;
       $rec_personal=PERSONAL()->get_personal_by_id($_POST['personal_id']) ;
       // 1. получаем списко текущих групп сотрудника
       $groups_medic_current=$rec_personal['_groups_medic'] ;
       ?><h2>Текущие группы</h2><?
       damp_array($groups_medic_current,1,-1) ;

       // 2. формируем массив из новых групп
       $set_groups=array() ;
       if ($_POST['gb']==1 and $_POST['ag']==1) $set_groups[1]=_IL('IL_group_medic')->recs[1] ;
       if ($_POST['gb']==1 and $_POST['ag']==2) $set_groups[2]=_IL('IL_group_medic')->recs[2] ;
       if ($_POST['gb']==1 and $_POST['ag']==3) $set_groups[3]=_IL('IL_group_medic')->recs[3] ;
       if ($_POST['gb']==2 and $_POST['ag']==1) $set_groups[4]=_IL('IL_group_medic')->recs[4] ;
       if ($_POST['gb']==2 and $_POST['ag']==2) $set_groups[5]=_IL('IL_group_medic')->recs[5] ;
       if ($_POST['gb']==2 and $_POST['ag']==3) $set_groups[6]=_IL('IL_group_medic')->recs[6] ;
       if ($_POST['gb']==3 and $_POST['ag']==1) $set_groups[7]=_IL('IL_group_medic')->recs[7] ;
       if ($_POST['gb']==3 and $_POST['ag']==2) $set_groups[8]=_IL('IL_group_medic')->recs[8] ;
       if ($_POST['gb']==3 and $_POST['ag']==3) $set_groups[9]=_IL('IL_group_medic')->recs[9] ;
       if ($_POST['p']==1) $set_groups[10]=_IL('IL_group_medic')->recs[10] ;
       if ($_POST['p']==2) $set_groups[11]=_IL('IL_group_medic')->recs[11] ;
       if ($_POST['gb']==4) $set_groups[12]=_IL('IL_group_medic')->recs[12] ;
       if (_sizeof($_POST['other'])) foreach($_POST['other'] as $id) $set_groups[$id]=_IL('IL_group_medic')->recs[$id] ;
       ?><h2>Новые группы</h2><?
       print_r(array_keys($set_groups)) ;

       // 3. Добавляем новые группы в таблицу линков
       if (_sizeof($set_groups)) foreach($set_groups as $rec_group)
       { create_link($rec_personal['_reffer'],$rec_group['_reffer']) ;
         unset($groups_medic_current[$rec_group['id']]) ;
       }
       ?><h2>Группы на удаление</h2><?
       damp_array($groups_medic_current,1,-1)  ;

       // 4. Удяляем неиспользованные группы
       if (_sizeof($groups_medic_current)) foreach($groups_medic_current as $id=>$name)
       {  delete_link($rec_personal['_reffer'],_IL('IL_group_medic')->recs[$id]['_reffer']) ;
          echo 'Удалена группа '.$name.' ['.$id.']<br>' ;
       }
     }   */

 function ScanCaptureApply()
 { //
     //damp_array($_POST,1,-1) ;
   $rec_scan=DOCS()->get_scan_by_id($_POST['scan_id']) ;
   //print_r($rec_scan) ;
   if ($rec_scan['doc_id']) $rec_doc=DOCS()->get_doc_by_id($rec_scan['doc_id']) ;
   $result=array() ;
 

   // если документ был выдан по мероприятию, необходимо произвести учет документа по правилам мероприятия
   if (isset($rec_doc['source_obj']) and $rec_doc['source_obj']!="") $result=ENGINE()->on_event_obj($rec_doc,'on_scan_doc_apply',$_POST) ;
   elseif (isset($rec_scan['source_obj']) and $rec_scan['source_obj']!="")  $result=ENGINE()->on_event_obj($rec_scan,'on_scan_doc_apply',$_POST) ;
   else  $result=array('notife'=>'Не указан тип докумена') ;
       
   //damp_array($_POST,1,-1);
   //damp_array($result);

   //$this->add_element('show_modal_window','HTML',array('title'=>$result['modal_window'],'after_close_close_page')) ;
   //echo 'source_obj='.$rec_doc['source_obj'].'<br>' ;

   //$result['modal_window']=1 ;

   if ($result['modal_window'])
   {   echo  $result['text'] ;
       $this->add_element('show_modal_window','HTML',array('title'=>$result['modal_window'])) ;
   }
   elseif ($result['notife'])
   {
       $this->add_element('show_notife',$result['notife'],array('color'=>'red')) ;
   }
   // иначе пока раскрываем array('current_window'=>'close','opener_window'=>'reload') ;
   else $this->add_element('JSCODE','<script type="text/javascript">if (window.opener!=undefined) window.opener.location.reload();window.close();</script>') ;

 }

  // 4 - Отклонен
 function ScanCaptureCancel()
 { DOCS()->scan_update($_POST['scan_id'],array('account_work'=>MEMBER()->id,'data_set'=>time(),'status'=>4,'comment'=>$_POST['comment'])) ;
   //$this->add_element('go_url','/cab/esmo_magnit/pdd/')  ;
   //$this->update_page=1 ;
     // закрываем сообщение или блокируем МО
     //$this->message_status_change($_POST['action_after'],$_POST['personal_id']) ;


   ///$this->add_element('update_opener_page',1) ;
   $this->add_element('JSCODE','<script type="text/javascript">window.opener.location.reload();window.close();</script>') ;
 }

 function ScanPersonClear()
 {  DOCS()->scan_update($_POST['scan_id'],array('personal_id'=>0,'doc_id'=>0,'source_obj'=>'','report_code'=>'')) ;
    //$this->go_url=$_POST['url_page'] ;
    $this->update_page=1 ;
 }

 function ScanCaptureError()
 { DOCS()->scan_update($_POST['scan_id'],array('account_work'=>MEMBER()->id,'data_set'=>time(),'status'=>7,'comment'=>$_POST['comment'])) ;
   $this->go_url=$_POST['url_page'] ;
   //$this->update_page=1 ;
   $this->add_element('JSCODE','<script type="text/javascript">window.opener.location.reload();window.close();</script>') ;
 }

  function ScanCaptureEnd()
  {  $doc_id=(int)$_POST['doc_id'] ;
     $this->add_element('show_notife','Результат распознования: '.$doc_id) ;
     LOGS()->reg_log('ScanCaptureEnd','doc_id='.$_POST['doc_id']) ;
     if ($doc_id>0)
     { $rec_doc=DOCS()->get_doc_by_id($_POST['doc_id']) ;
       if ($rec_doc['pkey'])
       { if ($_POST['scan_id'])
         { DOCS()->scan_update($_POST['scan_id'],array('doc_id'=>$rec_doc['pkey'],'personal_id'=>$rec_doc['personal_id'],'source_obj'=>$rec_doc['source_obj'],'report_code'=>$rec_doc['report_code'])) ;
           $rec_scan=DOCS()->get_scan_by_id($_POST['scan_id']) ;
           // переводим скан из статуса "Распознается" в статус "В работе"
           if ($rec_scan['status']==6) DOCS()->scan_update($_POST['scan_id'],array('status'=>2)) ;
         }
       } else DOCS()->scan_update($_POST['scan_id'],array('doc_id'=>-1,'status'=>5,'personal_id'=>0)) ;
     } else DOCS()->scan_update($_POST['scan_id'],array('doc_id'=>-1,'status'=>5,'personal_id'=>0)) ;
	 $this->add_element('update_page',1) ;
  }

function ScanCaptureRepeat()
{  if ($_POST['scan_id'])
   { DOCS()->scan_update($_POST['scan_id'],array('doc_id'=>0,'personal_id'=>0,'status'=>6,'diagnoz'=>'')) ;
     $this->go_url=$_POST['url_page'] ;
   }
}

 function ScanExlude()
 { if ($_POST['scan_id'])
   {   $rec_scan=DOCS()->get_scan_by_id($_POST['scan_id']) ;
      // если страница не основная - просто изменяем parent и пересчитываем indx у оставшихся страниц
      if ($rec_scan['parent']!=1)
      {  execSQL_update('update obj_site_scan set parent=1 where pkey='.$rec_scan['pkey']) ;
         $arr=execSQL_line('select pkey,indx from obj_site_scan where parent='.$rec_scan['parent'].' order by indx') ;
         if (_sizeof($arr)) foreach($arr as $i=>$id)
            execSQL_update('update obj_site_scan set indx='.($i+1).' where pkey='.$id) ;
      }
      else
      {  // страница первая - надо отцепить от неё другие страницы
         $arr=execSQL_line('select pkey,indx from obj_site_scan where parent='.$rec_scan['pkey'].' order by indx') ;
         if (_sizeof($arr)) foreach($arr as $i=>$id)
           if (!$i) execSQL_update('update obj_site_scan set parent=1,indx=1 where pkey='.$id) ;
           else     execSQL_update('update obj_site_scan set parent='.$arr[0].',indx='.($i+1).' where pkey='.$id) ;
      }

   }
   //$this->add_element('show_modal_window','HTML') ;
   $this->update_page=1 ;

 }
	
 function get_diagnoz()
 { $diagnoz=array()  ;
   if ($_POST['gb']>0 and $_POST['gb']<4 and $_POST['ag']) $diagnoz[]='ГБ'.$_POST['gb'].' '.'АГ'.$_POST['ag'] ;
   if ($_POST['p']==1) $diagnoz[]='тахикардия' ;
   if ($_POST['p']==2) $diagnoz[]='брадикардия' ;
   if ($_POST['gb']==4) $diagnoz[]='гипотония' ;
   if (_sizeof($_POST['other'])) foreach($_POST['other'] as $id) $diagnoz[]=_IL('IL_group_medic')->recs[$id]['obj_name'] ;
   $_diagnoz=(_sizeof($diagnoz))? implode(', ',$diagnoz):'Здоров' ;
   return($_diagnoz) ;
 }

 function diagnoz_change()
 { DOCS()->scan_update($_POST['scan_id'],array('account_work'=>MEMBER()->id,'status'=>2)) ;
   //$this->add_element('go_url','/cab/esmo_magnit/pdd/scan/'.$_POST['scan_id'].'/')  ;
   $this->update_page=1 ;
 }

 function clear_work_account()
 {  $recs=execSQL('select * from obj_site_scan where clss=218 and status in (1,2,5,6)') ;
    if (_sizeof($recs)) foreach($recs as $rec) DOCS()->scan_update($rec['pkey'],array('account_work'=>0,'status'=>1)) ;
     $this->update_page=1 ;
 }

 function clear_turn()
 {
     include_once(_DIR_EXT.'/esmo_magnit/report_magnit_scan_actions.php') ;
     $report_obj=new report_magnit_scan_actions() ;
     $usl=$report_obj->create_usl_select_obj('') ;
     $cnt=$report_obj->get_cnt_items($usl) ;
     echo '<div class="red">Внимание, очередь будет очищена, с сервера будет удалено <strong>'.$cnt.'</strong> загруженных сканов документов.<br>
          Для повторной обработки потребуется повторная загрузка сканов на сервер.</div><br>Пожалуйста, подтвердите очистку очереди<br><br>' ;
     ?><button class="button cancel">Отмена</button> <button class="button v2" cmd="esmo_magnit/clear_turn_apply">Очистить</button><?
     $this->add_element('show_modal_window','HTML',array('title'=>'Очистка очереди')) ; ;

 }

 function clear_turn_apply()
 {  include_once(_DIR_EXT.'/esmo_magnit/report_magnit_scan_actions.php') ;
    $report_obj=new report_magnit_scan_actions() ;
    $usl=$report_obj->create_usl_select_obj('') ;
    $recs=$report_obj->get_items($usl) ;
    ?><div style="width:100%;height:200px;overflow-y:scroll;"><?
    ob_start() ;
    ?><strong>Удаление загруженных файлов сканов:</strong><br><?
    $arr_ids=[] ; $cnt_file=0 ;
    if (sizeof($recs)) foreach($recs as $rec)
    {
        if (file_exists(_DIR_TO_ROOT.$rec['obj_name']))
        {   echo $rec['obj_name'] ;
            if (unlink(_DIR_TO_ROOT.$rec['obj_name'])) echo ' - '._OK_ ; else echo ' - '._ERROR_ ;
            echo '<br>' ;
            $cnt_file++ ;
        }
        $arr_ids[]=$rec['pkey'] ;
	}
    echo 'Удалено '.$cnt_file.' файлов<br>' ;
    ?><strong>Очистка БД:</strong><br><?
    if (sizeof($arr_ids)) execSQL_update('delete from obj_site_scan where pkey in ('.implode(',',$arr_ids).')') ;
    echo 'Удалено из базы - '.sizeof($arr_ids).' записей<br>' ;
    $text=ob_get_clean() ;
    LOGS()->reg_log('Очистка очереди загруженных сканов','Удалено '.sizeof($arr_ids).' сканов',['save_to_file'=>$text]) ;
    echo $text ;
    ?></div><?

    ?><button class="button cancel">Закрыть</button><?
    $this->add_element('show_modal_window','HTML',array('title'=>'Очистка очереди','after_close_update_page'=>1)) ; ;
 }

 function work_scan()
 { $rec_scan=DOCS()->get_scan_by_id($_POST['scan_id']) ;
   $text_modal='' ;
   // проверяем что у сотрудника нет других сканов на обработке
   $work_scan=execSQL_van('select * from obj_site_scan where account_work='.MEMBER()->id.' and status in (2,6)') ;
   if ($work_scan['pkey'] and $work_scan['pkey']!=$rec_scan['pkey'] and !$GLOBALS['LS_scan_allow_account_multiwork'])
   {  DOCS()->prepare_public_info_to_scan($work_scan) ;
      ?><h2>Внимание!</h2>
        <p>У вас уже открыт другой документ для обработки (№ <?echo $work_scan['pkey']?>). Для перехода к следующему документу завершите работу с открытым документом.</p>
        <p><button class="cancel">Закрыть</button>&nbsp;&nbsp;&nbsp;<button class="new_window" target=_blank title=window_scan href="<?echo $work_scan['__href']?>">Перейти к открытому документу</button></p>
      <?
      $this->add_element('show_modal_window','HTML',array('title'=>'Обработка направления')) ;
   }
   // проверяем что скан не стоит на обоботке у другого сотрудника
   else if (!$GLOBALS['LS_scan_allow_change_account_work'] and $rec_scan['account_work']>0 and $rec_scan['account_work']!=MEMBER()->id)
   { ?><h2>Внимание!</h2>
       <p>Данный документ уже обрабатывается оператором <strong><?echo ACCOUNTS()->get_member_name_by_id($rec_scan['account_work'])?></strong></p><br>
       <p><button class="v2" cmd="esmo_magnit/scan_change_account_work" account_id="<?echo MEMBER()->id?>" scan_id="<?echo $_POST['scan_id']?>">Обработать скан</button>&nbsp;&nbsp;&nbsp;<button class="cancel">Отмена</button></p>
     <?
     $this->add_element('show_modal_window','HTML',array('title'=>'Обработка направления')) ;
   }
   else // документ никем не обрабатывается, открытых документов нет - переводим текущий документ в статус "открыто" и перенаправялем на него оператора
   {   if ($rec_scan['status']!=2) DOCS()->scan_update($rec_scan['pkey'],array('account_work'=>MEMBER()->id,'data_work'=>time(),'status'=>6)) ;
       //$this->go_url=$rec_scan['__href'] ;
       $this->add_element('show_new_window',$rec_scan['__href'],array('width'=>1650,'height'=>1650)) ;
   }
 }

 function scan_change_account_work()
  { $rec_scan=DOCS()->get_scan_by_id($_POST['scan_id']) ;
    if ($rec_scan['pkey'])
    {   DOCS()->scan_update($rec_scan['pkey'],array('account_work'=>MEMBER()->id,'data_work'=>time(),'status'=>6)) ;
        $this->add_element('show_new_window',$rec_scan['__href'],array('width'=>1650,'height'=>1650)) ;
    }
  }

 function open_scan()
 { $rec_scan=DOCS()->get_scan_by_id($_POST['scan_id']) ;
   $this->add_element('show_new_window',$rec_scan['__href'],array('width'=>1650,'height'=>1650)) ;
 }

 function set_personal_to_scan()
 {   $personal_id=0 ;
     if (_sizeof($_POST['_check'])) list($personal_id,$tkey)=explode('.',$_POST['_check'][0]) ;

     if ($personal_id)
     { DOCS()->scan_update($_POST['scan_id'],array('personal_id'=>$personal_id,'status'=>2)) ;
       $this->go_url=$_POST['url_page'] ;
       //$this->update_page=1 ;
     }
     else $this->add_element('show_notife','Не выбран сотрудник') ;


 }
 function set_doc_to_scan()
 {   $doc_id=0 ;
     if (_sizeof($_POST['_check'])) list($doc_id,$tkey)=explode('.',$_POST['_check'][0]) ;

     if ($doc_id)
     { $rec_doc=DOCS()->get_doc_by_id($doc_id) ;
       if ($rec_doc['pkey'])
       { DOCS()->scan_update($_POST['scan_id'],array('doc_id'=>$doc_id,'personal_id'=>$rec_doc['personal_id'],'status'=>2)) ;

       }
       $this->go_url=$_POST['url_page'] ;
       //$this->update_page=1 ;
     }
     else $this->add_element('show_notife','Не выбран документ') ;


 }
 
 // $_POST['source_obj'] - выбранный тип документа
 function set_source_obj_to_scan()
 {   if ($_POST['filter']['source_obj'])
     { $data_doc=($_POST['filter']['data_doc'])? strtotime($_POST['filter']['data_doc']):0 ;
       update_rec_in_table('obj_site_scan',array('source_obj'=>$_POST['filter']['source_obj'],'data_doc'=>$data_doc),'pkey='.$_POST['scan_id']) ;
       $this->update_page=1 ;
     }
     else $this->add_element('show_notife','Не выбран тип документа') ;
 }


 // $_POST['report_code'] - выбранный тип документа
 function set_report_code_to_scan()
 {   if ($_POST['filter']['report_code'])
     { $data=[] ;
       $data['report_code']=$_POST['filter']['report_code'] ;
       $data['data_doc']=($_POST['filter']['data_doc'])? strtotime($_POST['filter']['data_doc']):0 ;

       $event_obj=EVENTS()->get_event_obj_by_doc_type($_POST['filter']['report_code']) ;
       //$doc_script=REPORTS()->docs_list[$_POST['filter']['report_code']]['script_dir'];
       //$doc_class=REPORTS()->docs_list[$_POST['filter']['report_code']]['class_name'];
       //include_once(_DIR_EXT.'/'.$doc_script) ;
       //if (class_exists($doc_class))
       if ($event_obj->event_ext) $data['source_obj']=$event_obj->event_ext ;
       //{ $doc_obj=new $doc_class() ;
       //  if (isset($doc_obj->event_obj_class) and $doc_obj->event_obj_class!="") $data['source_obj']=$doc_obj->event_obj_class ;
	   //}
       update_rec_in_table('obj_site_scan',$data,'pkey='.$_POST['scan_id']) ;
       $this->update_page=1 ;
     }
     else $this->add_element('show_notife','Не выбран тип документа') ;
 }
 
    
    
    
    function event_themes_create()
     {   $this->add_element('show_modal_window','HTML',array('title'=>'Регистрация сотрудника на инструктаж','width'=>'800px')) ;
         damp_array($_POST,1,-1) ;
         return ;
         if ($_POST['filter']['new_themes'])
          { $arr_themes=explode("\n",$_POST['filter']['new_themes']) ;
            if (_sizeof($arr_themes)) foreach($arr_themes as $name) EVENTS()->event_theme_create($_POST['event_id'],trim($name)) ;
          }
        $this->update_page=1 ;
     }
  
    function save_scan_group()
    {   update_rec_in_table('obj_site_scan',array('group_upload'=>$_POST['group_id']),'pkey='.$_POST['scan_id']) ;
        $this->update_page=1 ;
    }
    
    


   function change_HR_esmo_org()
   {
       if ($_POST['uid'])
       {   if ($_POST['checked']) execSQL_update('replace into HR_orgs_ESMO select * from HR_orgs where uid="'.$_POST['uid'].'"',array('debug'=>0)) ;
           else                   execSQL_update('delete from HR_orgs_ESMO where uid="'.$_POST['uid'].'"',array('debug'=>0)) ;
           $this->add_element('show_notife','Сохранено',array('color'=>'green')) ;
           //$this->add_element('show_modal_window','HTML',array('title'=>'Регистрация сотрудника на инструктаж','width'=>'800px')) ;
       }
   }
   function change_HR_esmo_working()
   {
       if ($_POST['uid'])
       {   if ($_POST['checked']) execSQL_update('replace into HR_working_ESMO select * from HR_working where uid="'.$_POST['uid'].'"',array('debug'=>0)) ;
           else                   execSQL_update('delete from HR_working_ESMO where uid="'.$_POST['uid'].'"',array('debug'=>0)) ;
           $this->add_element('show_notife','Сохранено',array('color'=>'green')) ;
           //$this->add_element('show_modal_window','HTML',array('title'=>'Регистрация сотрудника на инструктаж','width'=>'800px')) ;
       }
   }

   function clear_status_error_inmail()
   {   ob_start() ;
       execSQL_update('update obj_site_inmail_attach set status=0 where status>1',2) ;
       $text=ob_get_clean() ;
       LOGS()->reg_log('clear_status_error_inmail',$text) ;
       $this->update_page=1 ;
   }
   function delete_status_error_inmail()
   {   ob_start() ;
       execSQL_update('delete from obj_site_inmail_attach where status>1',2) ;
       execSQL_update('delete from obj_site_inmail where pkey not in (select parent from obj_site_inmail_attach)',2) ;
       $text=ob_get_clean() ;
       LOGS()->reg_log('delete_status_error_inmail',$text) ;
       $this->update_page=1 ;
   }

    function rotate_l_image()
         {   $rec_scan=DOCS()->get_scan_by_id($_POST['scan_id']) ;
             $new_name=$this->rotare_img($rec_scan['obj_name'],-90) ;
             update_rec_in_table('obj_site_scan',array('obj_name'=>$new_name),'pkey='.$rec_scan['pkey'],array('debug'=>0)) ;
             //$this->add_element('show_modal_window','HTML',array('title'=>'Регистрация сотрудника на инструктаж','width'=>'800px')) ;
             //$this->add_element('doc_image.SRC',$new_name) ;
             $this->update_page=1 ;
         }


         function rotate_r_image()
         {
             $rec_scan=DOCS()->get_scan_by_id($_POST['scan_id']) ;
             $new_name=$this->rotare_img($rec_scan['obj_name'],90) ;
             update_rec_in_table('obj_site_scan',array('obj_name'=>$new_name),'pkey='.$rec_scan['pkey'],array('debug'=>0)) ;
             //$this->add_element('show_modal_window','HTML',array('title'=>'Регистрация сотрудника на инструктаж','width'=>'800px')) ;
             //$this->add_element('doc_image.SRC',$new_name) ;
             $this->update_page=1 ;
         }



         function rotare_img($file_name,$grad)
         {
             $imagick = new Imagick();
             $imagick->readImage(_DIR_TO_ROOT.$file_name);
             $arr=explode('.',$file_name) ;
             $arr[_sizeof($arr)]=$arr[_sizeof($arr)-1] ;
             $arr[_sizeof($arr)-2]=time() ;
             $file_name=implode('.',$arr) ;
             $imagick->rotateImage(new ImagickPixel('none'),$grad);
             $imagick->writeImage(_DIR_TO_ROOT.$file_name);
             $imagick->clear();
             return($file_name) ;
             $imagick->destroy();
         }

}
