protected function attach_manager_to_request_AJAX() { $this->db(); // прикрепить менеджера к запросу $client_id = trim($_POST['client_id']) == '' ? 0 : $_POST['client_id']; $query = " UPDATE `" . RT_LIST . "` SET "; $query .= " `manager_id` = '" . (int) $_POST['manager_id'] . "'"; if ($this->user_id != $_POST['manager_id']) { $query .= ",`time_attach_manager` = NOW()"; $query .= ",`status` = 'not_process'"; // перенаправление другому менеджеру include_once './libs/php/classes/manager_class.php'; $manager = Manager::get_snab_name_for_query_String($_POST['manager_id']); $message = 'Запрос был перенаправлен менеджеру ' . $manager; $this->responseClass->addMessage($message, 'system_message'); $this->responseClass->addResponseFunction('reload_order_tbl'); // оповещение менеджера $mail_message = ""; $Cabinet = new Cabinet(); $this->Query = $this->get_query((int) $_POST['rt_list_id']); $managers_email_arr = $Cabinet->get_users_email(array($_POST['manager_id'])); $subject = 'Вам доступен новый запрос.'; $mail_message .= 'Здравствуйте, ' . $manager . '!<br><br>'; $mail_message .= 'Вам доступен <a href="http://www.apelburg.ru/os/?page=cabinet§ion=requests&subsection=no_worcked_men&query_num=' . $this->Query['query_num'] . '">новый запрос № ' . $this->Query['query_num'] . '</a><br>'; $mail_message .= '<br>'; $mail_message .= 'P.S. Запрос доступен только Вам!'; $mailClass = new Mail(); foreach ($admin_email_arr as $key => $email) { $mailClass->send($email, '*****@*****.**', $subject, $mail_message); } } else { $query .= ",`status` = 'in_work'"; $this->Query = $this->get_query((int) $_POST['rt_list_id']); $link = '?page=client_folder&client_id=' . $this->Query['client_id'] . '&query_num=' . $this->Query['query_num']; // переадресация на другую вкладку $option['href'] = '' . HOST . '/' . $link; $option['timeout'] = '0'; $this->responseClass->addResponseFunction('location_href', $option); // $message = 'Вы взяли запрос в работу. Вы будете перенаправлены на другую вкладку.'; // $this->responseClass->addMessage($message,'successful_message'); } $query .= " WHERE `id` = '" . (int) $_POST['rt_list_id'] . "';"; $result = $this->mysqli->query($query) or die($this->mysqli->error); // echo '{"response":"OK"}'; // $options['width'] = 1200; // $query .= $this->print_arr($_POST); // $this->responseClass->addSimpleWindow($query,'',$options); }
protected function create_new_client_and_insert_curators_AJAX() { $html = ''; $html .= $this->print_arr($_POST); $managers_arr = json_decode($_POST['Json_meneger_arr'], true); // если кураторы не были получены if (empty($managers_arr)) { $message = "Необходимо выбрать минимум одного менеджера на обработку запроса."; // echo '{"response":"show_new_window","title":"Выбрать куратора","html":"'.base64_encode($this->get_choose_curators()).'"}'; echo '{"response":"false","function":"echo_message","message_type":"error_message","message":"' . base64_encode($message) . '"}'; exit; } // $html .= $this->print_arr(json_decode($_POST['Json_meneger_arr'])); // если клиент не заведен заводим клиента if (!isset($_POST['client_id']) || isset($_POST['client_id']) && $_POST['client_id'] == 'new_client') { $message = 'Клиент успешно заведён, прикреплённые менеджеры увидят запрос'; $this->client_id = $this->create_new_client($_POST['company'], $_POST['dop_info']); } else { // случай для редактирования списка админом $message = 'Список прикреплённых менеджеров успешно изменён'; $this->client_id = (int) $_POST['client_id']; if (isset($_POST['row_id']) && !isset($_POST['rt_list_id'])) { $_POST['rt_list_id'] = $_POST['row_id']; } } // удаляем всех кураторов //$this->remove_curator_width_client($this->client_id); // // заводим новых кураторов // foreach ($managers_arr as $key => $user_id) { // $this->attach_relate_manager($this->client_id, $user_id); // } // прикрепляем к запросу менеджера(ов) $this->attach_for_query_many_managers($managers_arr, $this->client_id); // оповещение группы менеджеров о новом запросе $mail_message = ""; include_once ROOT . '/libs/php/classes/cabinet/cabinet_class.php'; $Cabinet = new Cabinet(); $this->Query = $Cabinet->get_query((int) $_POST['rt_list_id']); $managers_email_arr = $Cabinet->get_users_email($managers_arr); $managers_info_arr = $this->getUserArrDatabase($managers_arr); if (count($managers_arr) > 1) { $subject = 'Вам доступен новый запрос.'; $mail_message .= 'Вам и ещё нескольким менеджерам доступен <a href="http://www.apelburg.ru/os/?page=cabinet§ion=requests&subsection=no_worcked_men&query_num=' . $this->Query['query_num'] . '">новый запрос № ' . $this->Query['query_num'] . '</a>'; $mail_message .= '<br>'; $mail_message .= 'P.S. Запрос так же увидят:'; $mail_message .= '<br>'; foreach ($managers_info_arr as $key => $manager) { $mail_message .= $manager['name'] != "" ? $manager['name'] : ''; $mail_message .= ' '; $mail_message .= $manager['last_name'] != "" ? $manager['last_name'] : ''; $mail_message .= '<br>'; } } else { $subject = 'Вам доступен новый запрос.'; $mail_message .= 'Вам доступен <a href="http://www.apelburg.ru/os/?page=cabinet§ion=requests&subsection=no_worcked_men&query_num=' . $this->Query['query_num'] . '">новый запрос № ' . $this->Query['query_num'] . '</a>'; $mail_message .= '<br>'; $mail_message .= 'P.S. Запрос доступен только Вам!'; } $mailClass = new Mail(); foreach ($managers_email_arr as $key => $email) { // echo $email.' *** '; $mailClass->send($email, '*****@*****.**', $subject, $mail_message); } /* тут нужно уведомление на почту для каждого прикреплённого менеджера !!!!!!!!!! */ echo '{"response":"OK","function":"reload_order_tbl","function2":"echo_message","message_type":"successful_message","message":"' . base64_encode($message) . '"}'; exit; // echo '{"response":"OK","title":"ТЕСТ","html":"'.base64_encode($html).'"}'; }