<?
include_once(_DIR_EXT.'/HTML/c_page_XML_AJAX.php') ;
include_once(_DIR_EXT.'/aspmo_rmt/i_mrt.php') ;
class c_page_ajax extends c_page_XML_AJAX
{

    // добавление/удаление сотрудников из мероприятия и проверка статусов
   function event_check_personals()
   {   include(_DIR_TO_MODULES.'/engine/i_backgroup_process.php') ;
       $params=['event_id'=>$_POST['event_id']] ;
       $back_process=new i_backgroup_process('/services/events/check_personals/',$params) ; // будет вызван  /ext/events/c_update_personal_status.php::c_update_personal_status->show()
       $back_process->panel_background_process() ;
       $this->add_element('show_modal_window','HTML',array('title'=>'Обновление списка участников','after_close_go_url'=>$params['update_url'],'width'=>'700')) ;   // показываем модальное окно
   }

   function check_to_arhive()
   {   //damp_array($_POST) ;
       if (_sizeof($_POST['_check']))
       { $arr=execSQL_row('select pkey,obj_name from obj_site_events_schedule where pkey in ('.implode(',',array_keys($_POST['_check'])).')') ;
         //damp_array($arr,1,-1) ;
         ?><form><strong>В архив будут перенесены следующие мероприятия:</strong><br><ul><?
         if (_sizeof($arr)) foreach($arr as $id=>$name) {?><li><?echo $name?><input type="hidden" name="event_ids[]" value="<?echo $id?>"></li><?}
         ?></ul>
           <div class="center"><button class="cancel">Отмена</button>&nbsp;&nbsp;&nbsp;<button class="v2" cmd="events/check_to_arhive_apply">Подтверждаю</button></div>
           </form>
         <?
       }
       else echo '<div class="alert">Не выбрано ни одно мероприятие.</div>' ;
       $this->add_element('show_modal_window','HTML',array('title'=>'Перенос мероприятий в архив','after_close_update_page'=>1)) ;   // показываем модальное окно
   }

    function check_to_arhive_apply()
    { if (_sizeof($_POST['event_ids'])) foreach($_POST['event_ids'] as $event_id) EVENTS()->save_events($event_id,array('arhive'=>1)) ;
      $this->update_page=1 ;
    }

   function check_out_arhive()
   {   //damp_array($_POST) ;
       if (_sizeof($_POST['_check']))
       { $arr=execSQL_row('select pkey,obj_name from obj_site_events_schedule where pkey in ('.implode(',',array_keys($_POST['_check'])).')') ;
         //damp_array($arr,1,-1) ;
         ?><form><strong>Из архива будут перенесены следующие мероприятия:</strong><br><ul><?
         if (_sizeof($arr)) foreach($arr as $id=>$name) {?><li><?echo $name?><input type="hidden" name="event_ids[]" value="<?echo $id?>"></li><?}
         ?></ul>
           <div class="center"><button class="cancel">Отмена</button>&nbsp;&nbsp;&nbsp;<button class="v2" cmd="events/check_out_arhive_apply">Подтверждаю</button></div>
           </form>
         <?
       }
       else echo '<div class="alert">Не выбрано ни одно мероприятие.</div>' ;
       $this->add_element('show_modal_window','HTML',array('title'=>'Перенос мероприятий из архива','after_close_update_page'=>1)) ;   // показываем модальное окно
   }

    function check_out_arhive_apply()
    { if (_sizeof($_POST['event_ids'])) foreach($_POST['event_ids'] as $event_id) EVENTS()->save_events($event_id,array('arhive'=>0)) ;
      $this->update_page=1 ;
      //  $this->add_element('show_modal_window','HTML',array('title'=>'Перенос мероприятий из архива','after_close_update_page'=>1)) ;   // показываем модальное окно
    }

    function create_event()
      {  $success=0 ;
         //if ($_POST['event_type'] and isset($this->arr_events[$_POST['event_type']-1]))
         { //$event_ext=$this->arr_events[$_POST['event_type']-1] ;
           $event_ext=$_POST['event_type'] ;
           $this->obj_event=EVENTS()->get_event_obj_by_ext($event_ext) ;
           if (!$this->obj_event->error)
             { $this->obj_event->default_settings['ext']=$event_ext ;
               $id=EVENTS()->reg_event($this->obj_event->default_settings) ;
               $window_url=$this->obj_event->url_page_event_card.$id.'/edit/step1/' ;
               $this->add_element('show_new_window',$window_url) ;
               $success=1 ;
               /*  window.open("<?echo $this->obj_event->url_page_event_card.$id.'/edit/step1/'?>",'111','status=1,dependent=1,width='+LS_popup_window_width+',height='+LS_popup_window_height+',left=0,top=0, resizable=1, scrollbars=yes');*/
             }
           else
           {
               echo '<strong>'.$event_ext.'</strong> '.$this->obj_event->error.'<br>' ;
           }
         }
        // else echo 'Мероприятие "<strong>'.$_POST['event_type'].'</strong>" не зарегистрировано<br>' ;
         if (!$success)
         {   ?><button class="button cancel">Закрыть</button><?
             $this->add_element('show_modal_window','HTML',array('title'=>'Добавление мероприятия','after_close_update_page'=>1)) ;   // показываем модальное окно
         }
      }

    function save_event()
    {
        //damp_array($_POST) ;
        $rec_event_old=EVENTS()->get_event_by_id($_POST['event_id']) ;
        EVENTS()->save_events($_POST['event_id'],$_POST['filter']) ;
        $rec_event=EVENTS()->get_event_by_id($_POST['event_id']) ;
        if (!$rec_event['enabled']) $this->go_url=$rec_event['__href'].'edit/step2/' ;
        else
        { $is_change=0 ;
          $from_text=date('d.m.Y',$rec_event_old['alert_from']) ;
          if (isset($_POST['filter']['alert_from']) and $_POST['filter']['alert_from']!=$from_text) $is_change=1 ;
          if (isset($_POST['filter']['alert_to']) and strtotime($_POST['filter']['alert_to'].' 23:59:59')!=$rec_event_old['alert_to']) $is_change=2 ;
          if (isset($_POST['filter']['block_from']) and strtotime($_POST['filter']['block_from'])!=$rec_event_old['block_from']) $is_change=3 ;
          if (isset($_POST['filter']['block_to']) and strtotime($_POST['filter']['block_to'].' 23:59:59')!=$rec_event_old['block_to']) $is_change=4 ;
          if (isset($_POST['filter']['deadline_day']) and $_POST['filter']['deadline_day']!=$rec_event_old['deadline_day']) $is_change=7 ;
          if (isset($_POST['filter']['day_delay']) and $_POST['filter']['day_delay']!=$rec_event_old['day_delay']) $is_change=8 ;
          if (isset($_POST['filter']['message1']) and $_POST['filter']['message1']!=$rec_event_old['_ext_info']['message1']) $is_change=5 ;
          if (isset($_POST['filter']['message2']) and $_POST['filter']['message2']!=$rec_event_old['_ext_info']['message2']) $is_change=6 ;
          if ($is_change)
          { echo 'Внимание, были изменены параметры уведомлений. Изменить параметры уже отправленных сообщений?<br>' ;
            ?><button class="button cancel">Нет</button> <button class="button v2" cmd="events/change_message_time_params" event_id="<?echo $rec_event['pkey']?>">Да</button><?
            $this->add_element('show_modal_window','HTML',array('title'=>'Сохранение параметров мероприятия','_after_close_update_page'=>0)) ;   // показываем модальное окно
          }
          else $this->update_page=1 ;
          $this->add_element('show_notife','Сохранено',array('color'=>'green')) ;
        }


    }


//Вам необходимо пройти сезонный инструктаж, срок до 06.11.2019

    function change_message_time_params()
    {   //damp_array($_POST);
        $obj_event=EVENTS()->get_event_obj_by_id($_POST['event_id']) ;
        $rec_event=EVENTS()->get_event_by_id($_POST['event_id']) ;
        $recs=execSQL('select * from view_personals_messages where mess_event_id='.$_POST['event_id'].' and status!=4') ;
        $i=0 ;
        if (_sizeof($recs)) foreach($recs as $rec)
        {   //$text=preg_replace('/срок до \d\d.\d\d.\d\d\d\d/is','срок до '.date('d.m.Y',$rec_event['block_from']),$rec['obj_name']) ;
            $rec_event_pass=execSQL_van('select pkey,tkey,personal_id from obj_site_events_pass where pkey='.$rec['source_pkey']) ;
            // передаем message1, так как ПМО и ОПО уже работают по виртуальным сообщениям
            $mess_rec=$obj_event->prepare_message($rec_event,$rec_event_pass,$rec_event['_ext_info']['message1'])  ;
            //if ($mess_rec['block_to']) $mess_rec['auto_close']=$mess_rec['block_to'];
            //$mess_rec['mess_text']=$text ;
            unset($mess_rec['group_id'],$mess_rec['personal_id'],$mess_rec['source_pkey'],$mess_rec['source_tkey'],$mess_rec['source_obj']) ;
            PERSONAL()->message_personal_save($rec['pkey'],$mess_rec) ;
            $i++ ;
        }
        //damp_array($mess_rec,1,-1);
        echo 'Были изменены параметры отображения в <strong>'.$i.'</strong> сообщениях<br><br>' ;
        ?><button class="button cancel">Закрыть</button><?

        $this->add_element('show_modal_window','HTML',array('title'=>'Сохранение параметров мероприятия','after_close_update_page'=>1)) ;   // показываем модальное окно
    }

    function pass_save()
    {
      //damp_array($_POST);
      $data=[] ;
      if ($_POST['filter']['status']) $data['status']=$_POST['filter']['status'] ;
      if ($_POST['filter']['data_from']) $data['data_from']=strtotime($_POST['filter']['data_from']) ;
      if ($_POST['filter']['data_to']) $data['data_to']=strtotime($_POST['filter']['data_to']) ;
      //damp_array($data);
      if (_sizeof($data) and $_POST['pass_id'])
      { $rec_pass=EVENTS()->get_event_pass_by_pass_id($_POST['pass_id'])  ;
        $rec_event=EVENTS()->get_event_by_id($rec_pass['event_id']) ;
        $event_obj=EVENTS()->get_event_obj_by_id($rec_pass['event_id']) ;
        if ($_POST['new_status']==1) PERSONAL()->messages_personal_close($rec_pass['personal_id'],$rec_event['ext'],['event_id'=>$rec_event['pkey'],'comment'=>'Ручной перевод в статус 1']) ;
        EVENTS()->set_event_personal_data($rec_event['pkey'],$rec_pass['personal_id'],$data,'Ручное изменение данных',['ignore_not_change_status'=>1]) ;


        $event_obj->update_personal_status_1($rec_event['pkey']) ;
	  }
      $this->add_element('show_modal_window','HTML',array('title'=>'Сохранение параметров участия в мероприятии','after_close_update_page'=>1,'width'=>'1200px')) ;   // показываем модальное окно
	}


}
