/**
  * Обработчик событий страницы /about/team/ (Команда)
  *
  */
 function teamAction()
 {
     $DB = new DB('master');
     require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/team.php";
     $action = $_POST['action'];
     switch ($action) {
         case 'updatecategory':
             if (!get_uid(false)) {
                 header("Location: /fbd.php");
                 exit;
             }
             if (!hasPermissions('about')) {
                 header("Location: /about/team");
                 exit;
             }
             $id = front::$_req['ecf_id'];
             $name = stripslashes(front::$_req['ecf_name']);
             $position = front::$_req['ecf_number'];
             $error = 0;
             if (empty($name)) {
                 $error = 1;
                 $error_msgs[1] = 'Поле "Название" заполнено некорректно';
             }
             if (!is_numeric($position)) {
                 $error = 1;
                 $error_msgs[2] = 'Поле "Порядок" заполнено некорректно';
             } else {
                 $position = (int) $position;
                 if ($position <= 0) {
                     $error = 1;
                     $error_msgs[2] = 'Поле "Порядок" заполнено некорректно';
                 }
             }
             $name = change_q($name);
             if ($error) {
                 front::og("tpl")->error_msgs_ecf = $error_msgs;
                 front::og("tpl")->ecf_name = $name;
                 front::og("tpl")->ecf_position = $position;
                 front::og("tpl")->ecf_id = $id;
             } else {
                 team::EditGroup($id, $name, $position);
                 header('Location: /about/team/');
                 exit;
             }
             break;
         case 'addpeople':
             if (!get_uid(false)) {
                 header("Location: /fbd.php");
                 exit;
             }
             if (!hasPermissions('about')) {
                 header("Location: /about/team");
                 exit;
             }
             $p_name = stripslashes(front::$_req['pt_name']);
             $p_login = stripslashes(front::$_req['pt_login']);
             $p_occupation = stripslashes(front::$_req['pt_occupation']);
             $p_position = stripslashes(front::$_req['pt_position']);
             $p_group = stripslashes(front::$_req['pt_group']);
             $p_info = stripslashes(front::$_req['pt_info']);
             $p_foto = $_FILES['pt_photo'];
             $error = 0;
             if (empty($p_name)) {
                 $error = 1;
                 $error_msgs[1] = 'Поле "Имя, фамилия" заполнено некорректно';
             }
             if (empty($p_occupation)) {
                 $error = 1;
                 $error_msgs[2] = 'Поле "Должность" заполнено некорректно';
             }
             if (!is_numeric($p_position) && $p_position != '') {
                 $error = 1;
                 $error_msgs[3] = 'Поле "Порядок" заполнено некорректно';
             } else {
                 $p_position = (int) $p_position;
             }
             if (!empty($p_login)) {
                 require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/users.php";
                 $u = new users();
                 if (!$u->GetUid($ee, $p_login)) {
                     $error = 1;
                     $error_msgs[4] = 'Поле "Логин" заполнено некорректно';
                 }
             }
             $p_name = change_q($p_name);
             $p_login = change_q($p_login);
             $p_occupation = change_q($p_occupation);
             $p_info = change_q($p_info);
             $p_name = addslashes($p_name);
             $p_occupation = addslashes($p_occupation);
             $p_info = addslashes($p_info);
             $p_foto = '';
             if (!empty($_FILES['pt_photo']['tmp_name'])) {
                 list($i_width, $i_height, $i_type) = @getimagesize($_FILES['pt_photo']['tmp_name']);
                 if (in_array($i_type, array(IMAGETYPE_GIF, IMAGETYPE_JPEG, IMAGETYPE_PNG)) && $i_width == 150 && $i_height == 200) {
                     $p_userpic = new CFile($_FILES['pt_photo']);
                     if ($p_userpic->name) {
                         $e = team::UpdateFoto($p_userpic);
                         if ($e['error'] == '1') {
                             $error = 1;
                             $error_msgs[5] = 'Файл не удовлетворяет условиям загрузки';
                             $p_foto = $e['foto'];
                         } else {
                             $p_foto = $e['foto'];
                             $error_msgs[5] = 'Файл не удовлетворяет условиям загрузки';
                         }
                     }
                 } else {
                     $error = 1;
                     $error_msgs[5] = 'Файл не удовлетворяет условиям загрузки';
                 }
             }
             if ($error) {
                 if ($p_foto != '') {
                     $p_userpic->Delete(0, 'team/' . $p_foto);
                 }
                 front::og("tpl")->error_msgs_apf = $error_msgs;
                 front::og("tpl")->p_name = $p_name;
                 front::og("tpl")->p_login = $p_login;
                 front::og("tpl")->p_occupation = $p_occupation;
                 front::og("tpl")->p_group = $p_group;
                 front::og("tpl")->p_position = $p_position;
                 front::og("tpl")->p_info = $p_info;
             } else {
                 if ($p_position <= 0) {
                     $max_position = front::og("db")->select("SELECT MAX(position) as position FROM team_people WHERE groupid = ?;", $p_group)->fetchOne();
                     $p_position = $max_position['position'] + 1;
                 }
                 team::AddUser($p_name, $p_login, $p_occupation, $p_foto, $p_group, $p_position, $p_info);
                 header('Location: /about/team/');
                 exit;
             }
             break;
         case 'updatepeople':
             if (!get_uid(false)) {
                 header("Location: /fbd.php");
                 exit;
             }
             if (!hasPermissions('about')) {
                 header("Location: /about/team");
                 exit;
             }
             $p_id = stripslashes(front::$_req['pt_id']);
             $p_name = stripslashes(front::$_req['pt_name']);
             $p_login = stripslashes(front::$_req['pt_login']);
             $p_occupation = stripslashes(front::$_req['pt_occupation']);
             $p_position = stripslashes(front::$_req['pt_position']);
             $p_group = stripslashes(front::$_req['pt_group']);
             $p_info = stripslashes(front::$_req['pt_info']);
             $p_foto = $_FILES['pt_photo'];
             $error = 0;
             if (empty($p_name)) {
                 $error = 1;
                 $error_msgs[1] = 'Поле "Имя, фамилия" заполнено некорректно';
             }
             if (empty($p_occupation)) {
                 $error = 1;
                 $error_msgs[2] = 'Поле "Должность" заполнено некорректно';
             }
             if (!is_numeric($p_position)) {
                 $error = 1;
                 $error_msgs[3] = 'Поле "Порядок" заполнено некорректно';
             } else {
                 $p_position = (int) $p_position;
                 if ($p_position <= 0) {
                     $error = 1;
                     $error_msgs[3] = 'Поле "Порядок" заполнено некорректно';
                 }
             }
             if (!empty($p_login)) {
                 require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/users.php";
                 $u = new users();
                 if (!$u->GetUid($ee, $p_login)) {
                     $error = 1;
                     $error_msgs[4] = 'Поле "Логин" заполнено некорректно';
                 }
             }
             $p_name = change_q($p_name);
             $p_login = change_q($p_login);
             $p_occupation = change_q($p_occupation);
             $p_info = change_q($p_info);
             $p_name = addslashes($p_name);
             $p_occupation = addslashes($p_occupation);
             $p_info = addslashes($p_info);
             $p_foto = '';
             if (!empty($_FILES['pt_photo']['tmp_name'])) {
                 list($i_width, $i_height, $i_type) = @getimagesize($_FILES['pt_photo']['tmp_name']);
                 if (in_array($i_type, array(IMAGETYPE_GIF, IMAGETYPE_JPEG, IMAGETYPE_PNG)) && $i_width == 150 && $i_height == 200) {
                     $p_userpic = new CFile($_FILES['pt_photo']);
                     if ($p_userpic->name) {
                         $e = team::UpdateFoto($p_userpic);
                         if ($e['error'] == '1') {
                             $error = 1;
                             $error_msgs[5] = 'Файл не удовлетворяет условиям загрузки';
                             $p_foto = $e['foto'];
                         } else {
                             $p_foto = $e['foto'];
                             $error_msgs[5] = 'Файл не удовлетворяет условиям загрузки';
                         }
                     }
                 } else {
                     $error = 1;
                     $error_msgs[5] = 'Файл не удовлетворяет условиям загрузки';
                 }
             }
             if ($error) {
                 if ($p_foto != '') {
                     $p_userpic->Delete(0, 'team/' . $p_foto);
                 }
                 front::og("tpl")->error_msgs_apf = $error_msgs;
                 front::og("tpl")->p_name = $p_name;
                 front::og("tpl")->p_login = $p_login;
                 front::og("tpl")->p_occupation = $p_occupation;
                 front::og("tpl")->p_group = $p_group;
                 front::og("tpl")->p_position = $p_position;
                 front::og("tpl")->p_info = $p_info;
                 front::og("tpl")->p_id = $p_id;
                 front::og("tpl")->p_action = 'updatepeople';
             } else {
                 team::EditUser($p_id, $p_name, $p_login, $p_occupation, $p_foto, $p_group, $p_position, $p_info);
                 header('Location: /about/team/');
                 exit;
             }
             break;
         case 'insertcategory':
             if (!get_uid(false)) {
                 header("Location: /fbd.php");
                 exit;
             }
             if (!hasPermissions('about')) {
                 header("Location: /about/team");
                 exit;
             }
             $name = stripslashes(front::$_req['acf_name']);
             $position = front::$_req['acf_number'];
             $error = 0;
             if (empty($name)) {
                 $error = 1;
                 $error_msgs[1] = 'Поле "Название" заполнено некорректно';
             }
             if (!is_numeric($position)) {
                 $error = 1;
                 $error_msgs[2] = 'Поле "Порядок" заполнено некорректно';
             } else {
                 $position = (int) $position;
                 if ($position <= 0) {
                     $error = 1;
                     $error_msgs[2] = 'Поле "Порядок" заполнено некорректно';
                 }
             }
             $name = change_q($name);
             if ($error) {
                 front::og("tpl")->error_msgs_acf = $error_msgs;
                 front::og("tpl")->acf_name = $name;
                 front::og("tpl")->acf_position = $position;
                 front::og("tpl")->acf_id = $id;
             } else {
                 team::CreateGroup($name, $position);
                 header('Location: /about/team/');
                 exit;
             }
             break;
         case 'deletecategory':
             if (hasPermissions('about')) {
                 team::DeleteGroup(front::$_req['dcf_id']);
             }
             header('Location: /about/team/');
             exit;
             break;
         case 'deleteteampeople':
             if (hasPermissions('about')) {
                 team::DeleteUser(front::$_req['dtf_id']);
             }
             header('Location: /about/team/');
             exit;
             break;
     }
     // Берем команду для вывода
     front::og("tpl")->groups = team::GetAllGroups();
     foreach (front::og("tpl")->groups as $group) {
         $sql = "SELECT team_people.*, team_groups.id as groups_id,team_groups.title as groups_title, team_groups.position as groups_position FROM team_people LEFT JOIN team_groups ON team_groups.id = team_people.groupid WHERE team_people.groupid=?i ORDER BY team_groups.position, team_people.position, team_people.id ASC";
         $team = $DB->rows($sql, $group['id']);
         front::og("tpl")->team_people[$group['id']] = array();
         if ($team) {
             foreach ($team as $t) {
                 array_push(front::og("tpl")->team_people[$group['id']], $t);
             }
         }
     }
     front::og("tpl")->text = static_pages::get("about_team");
     front::og("tpl")->script = array('team.js');
     front::og("tpl")->display("about/about_team.tpl");
 }