<?
include_once(_DIR_EXT.'/HTML/c_page_XML_AJAX.php') ;
class c_page_ajax extends c_page_XML_AJAX
{
    function search_client()
      {  //$this->add_element('show_modal_window','HTML') ;
         $options=array() ;

         if ($_POST['search_text'])
         { $arr_ids=execSQL_line('select pkey from obj_site_account where obj_name like "%'.$_POST['search_text'].'%" and rol=6') ;

           if (_sizeof($arr_ids)) $options['client_id']=implode(',',$arr_ids) ;
           else                  $options['client_id']=-1 ;
           $options['client_id_search']=$_POST['search_text'] ;
         }

         ob_start() ;
           include_once(_DIR_EXT.'/aspmo_manager/panel_list_clients.php') ;
           $cnt=panel_list_clients($options) ;
         $this->add_element('panel_list_clients.HTML',ob_get_clean()) ;

         if ($cnt) $this->add_element('show_notife','Найдено '.$cnt.' клиентов',array('type'=>'info')) ;
         else      $this->add_element('show_notife','Клиентов не найдено',array('type'=>'info')) ;
      }

      function change_car_sort()
      {  $_SESSION['list_client_sort_mode']=$_POST['sort_mode'] ;
         $this->add_element('show_notife','Сортировка изменена',array('type'=>'info')) ;
         $this->search_client() ;
      }


     function delete_check_client()
      {  if (_sizeof($_POST['check']))
         { $arr_ids=execSQL_row('select pkey,obj_name from obj_site_account where pkey in ('.implode(',',$_POST['check']).') and rol=6') ;
           if (_sizeof($arr_ids))
           { ?><strong>Внимание!</strong> Будут удалены следующие клиенты:
               <ul><? foreach($arr_ids as $id=>$name) {?><li><?echo $name?></li><?}?></ul>
               Вы действительно хотите удалить данных клиентов?<br>
               <div class="buttons"><button class="cancel">Нет</button> <button class="v2" cmd="aspmo_manager/delete_check_client_apply" ids="<?echo implode(',',array_keys($arr_ids))?>">Да</button></div>
             <?
           }
           $this->add_element('show_modal_window','HTML',array('title'=>'Удаление клиентов')) ;
         }
      }

    function delete_check_client_apply()
    { $arr_ids=execSQL_row('select pkey,obj_name from obj_site_account where pkey in ('.$_POST['ids'].') and rol=6') ;
      if (_sizeof($arr_ids))
      { $arr_ids_checked=implode(',',array_keys($arr_ids)) ;
        // надо бы отправтть уведомления клиентам о удалении их аккаунта

        // удаляем аккаунты из БД
        execSQL_update('delete from obj_site_account where pkey in ('.$arr_ids_checked.') and rol=6') ;
      }
      $this->add_element('update_page',1) ;
    }

  //==========================================================================================================================================================================
  // Работа с сотрудниками предприятия
  //==========================================================================================================================================================================

 function create_client()
 { $exist_id=execSQL_value('select pkey from obj_site_account where obj_name="'.$_POST['org_name'].'" or login="'.$_POST['login'].'"') ;
   if ($exist_id) $this->add_element('panel_alert.HTML','Аккаунт клиента для '.$_POST['org_name'].' ['.$_POST['login'].'] уже создан') ;
   else
   { $exist_id=execSQL_value('select pkey from obj_site_personals where obj_name="'.$_POST['org_name'].'" and clss=207') ;
     if ($exist_id) $this->add_element('panel_alert.HTML','Организация '.$_POST['org_name'].' уже существут') ;
     else
     {   // создаем новую группу для клиента
         if ($_POST['group_id']=='new')
         { $reffer_group=adding_rec_to_table('obj_site_account',array('clss'=>206,'parent'=>_ESMO_GROUP_ID,'obj_name'=>$_POST['org_name']),array('return_reffer'=>1)) ;
           LOGS()->reg_log('Создание группы ЭСМО','Создание новой группы при добавлении нового клиента',array('reffers'=>array($reffer_group))) ;
           list($_POST['group_id'],$tkey)=explode('.',$reffer_group) ;
         }

        // создаем клиента в аккаунтах
        $result=ACCOUNTS()->account_create(array('name'=>$_POST['org_name'],
                                                'login'=>$_POST['login'],
                                                'rol'=>6,
                                                'group_id'=>($_POST['group_id'])? $_POST['group_id']:_CLIENT_GROUP_ID
                                                )
                                            ) ;
        if (!$result['error'])
        { // задаем пароль клиента
          ACCOUNTS()->change_pass($result['member_id'],$_POST['password'],array('no_validate'=>1)) ;

          // создаем организацию в персонале
          adding_rec_to_table('obj_site_personals',array('clss'=>207,'parent'=>1,'obj_name'=>$_POST['org_name'],'client_id'=>$result['member_id'])) ;
          $this->add_element('go_url','/cab/manager/client/'.$result['member_id'].'/') ;
          // создаем расчетный счет клиента
          if (function_exists('ESMO_BILLING')) ESMO_BILLING()->create_rs(array('pkey'=>$result['member_id'],'obj_name'=>$_POST['org_name'])) ;
        }
        else $this->add_element('panel_alert.HTML','Ошибка создания нового клиента: '.$result['error']) ;
     }
   }


 }




}
