Fetch(); include($arSite['DOC_ROOT'].'/404.php'); return; } function getFullName($name, $name_second, $name_last) { $name_full = ($name_last) ? $name_last.' ' : '' ; $name_full .= $name; $name_full .= ($name_second) ? ' '.$name_second : '' ; return $name_full; } function getUserRows($arUser, $arFieldsBefore = array(), $arFieldsAfter = array()) { $arPreview = array( 'UF_DISCIPLINES' => array( 'title' => 'Преподаваемые дисциплины', 'list' => true ), 'UF_TRAINING_DIRECTIO' => array( 'title' => 'Наименование направления подготовки и (или) специальности', 'list' => false ), 'UF_TOTAL_WORK_EXPERI' => array( 'title' => 'Общий стаж работы', 'list' => false ), 'UF_PROF_EXP' => array( 'title' => 'Стаж работы по специальности', 'list' => false ), 'UF_ADVANCED_TRAINING' => array( 'title' => 'Повышение квалификации', 'list' => true ), 'UF_QUALIFICATION' => array( 'title' => 'Квалификация', 'list' => false ), 'UF_EDUCATION_LEVEL' => array( 'title' => 'Уровень образования', 'list' => false ), ); $arFields = array_merge($arFieldsBefore, $arPreview, $arFieldsAfter); $arUserRows = array(); foreach ($arFields as $field => $data) { $value = $arUser[$field]; if ($value) { if ($data['list']) { $value = renderList($value); } $arUserRows[] = ' '.$data['title'].': '.$value.' '; } } return $arUserRows; } function renderList($data) { $list = array(); foreach (explode(';', $data) as $item) { $item = trim($item); if ($item) { $list[] = $item; } } if (count($list) == 1) { return $data; } return ''; } $title = 'Список сотрудников'; $style = '.cont1 td,th { font-size: 12px; } .staff-info { padding-left: 10px; }'; $script = ''; $groupsAllowed = array(13); // UF_STUDY_PROGRAM begin $arStudyProgramsAll = array(); $rsUserFields = CUserFieldEnum::GetList(array(), array('USER_FIELD_NAME' => 'UF_STUDY_PROGRAM')); while ($arUserField = $rsUserFields->GetNext()) { $arStudyProgramsAll[$arUserField['ID']] = $arUserField['VALUE']; } $ufStudyProgram = htmlspecialcharsEx($_REQUEST['UF_STUDY_PROGRAM']); if (!array_key_exists($ufStudyProgram, $arStudyProgramsAll)) { $ufStudyProgram = null; } // UF_STUDY_PROGRAM end $id = htmlspecialcharsEx($_REQUEST['id']); if ($id) { $arGroups = CUser::GetUserGroup($id); $result_intersect = array_intersect($groupsAllowed, $arGroups); if (empty($result_intersect)) { return Http404(); } $rsUser = CUser::GetByID($id); if (!$rsUser) { return Http404(); } $arUser = $rsUser->Fetch(); $style .= '.staff-detail-table { border-collapse: collapse; } .staff-detail-table tr:nth-child(2n) { background-color: rgba(24, 24, 24, 0.1); } .staff-detail-table h1 { font-size: 16px; } '; $content = '<- К списку сотрудников'; $name_full = getFullName($arUser['NAME'], $arUser['SECOND_NAME'], $arUser['LAST_NAME']); $title .= ' - '.$name_full; $content .= ''; $photo_path = '/uisi/media/staff/'.$arUser['LOGIN'].'-w'; $photo = CFile::Show2Images($photo_path.'-pre.png', $photo_path.'.png', 256, 256); $content .= ''; $arFieldsBefore = array( 'UF_DEGREE' => array( 'title' => 'Ученая степень', 'list' => false ), 'UF_ACADEMIC_TITLE' => array( 'title' => 'Ученое звание / Категория', 'list' => false ), 'WORK_POSITION' => array( 'title' => 'Должность', 'list' => false ), ); $arFieldsAfter = array( 'WORK_PHONE' => array( 'title' => 'Внутренний телефон', 'list' => false ), 'UF_AUDITORIUM' => array( 'title' => 'Аудитория', 'list' => false ), 'UF_WING' => array( 'title' => 'Корпус', 'list' => false ), ); $arUserRows = getUserRows($arUser, $arFieldsBefore, $arFieldsAfter); $content .= implode($arUserRows); $email = $arUser['UF_EMAIL']; if ($email) { $content .= ''; } $content .= '
'.$photo.'

'.$name_full.'

Электронный адрес: '.$email.'
'; } else { $arUsersFilter = array('GROUPS_ID'=>$groupsAllowed); // UF_STUDY_PROGRAM begin if ($ufStudyProgram) { $arUsersFilter['UF_STUDY_PROGRAM'] = $ufStudyProgram; } // UF_STUDY_PROGRAM end $rsUsers = CUser::GetList( ($by='LAST_NAME'), ($order='asc'), $arUsersFilter, array('SELECT'=>array('UF_*')) ); // разбиваем постранично по 50 записей // $rsUsers->NavStart(50); // печатаем постраничную навигацию // echo $rsUsers->NavPrint(GetMessage('PAGES')); $style .= '.staff-list-item-preview { display: none; border-top: 1px dotted #828282; } .staff-list-item-preview-link { display: inline-block; margin-left: 0.255em; vertical-align: 0.255em; content: ""; border-top: 0.3em solid; border-right: 0.3em solid transparent; border-bottom: 0; border-left: 0.3em solid transparent; font-size: 20px !important; } .staff-list-item-preview-table { width: 90%; } .staff-list-item-preview-table td:first-child { width: 40%; }'; $content = '

Педагогический состав

'; $content .= ''; while ($arUser = $rsUsers->GetNext()) { $arPreviewRows = getUserRows($arUser); $content .= ''; $name_full = getFullName($arUser['NAME'], $arUser['SECOND_NAME'], $arUser['LAST_NAME']); $content .= ''; $content .= ''; $content .= ''; $content .= ''; $content .= ''; $content .= ''; // UF_STUDY_PROGRAM begin if ($arUser['UF_STUDY_PROGRAM']) { $arUserStudyPrograms = array(); foreach ($arUser['UF_STUDY_PROGRAM'] as $id) { $arUserStudyPrograms[] = $arStudyProgramsAll[$id]; } $previewRow = ''; $arPreviewRows[] = $previewRow; } // UF_STUDY_PROGRAM end if ($arPreviewRows) { $content .= ''; } } $filter = '
'; $content .= '
ФИО Ученая степень Ученое звание / Категория Должность
'.$name_full.''; if ($arPreviewRows) { $content .= ''; } $content .= ''.$arUser['UF_DEGREE'].''.$arUser['UF_ACADEMIC_TITLE'].''.$arUser['WORK_POSITION'].'
Учебная программа:'; if (count($arUser['UF_STUDY_PROGRAM']) > 1) { $previewRow .= '
  • '.implode('
  • ', $arUserStudyPrograms).'
'; } else { $previewRow .= $arUserStudyPrograms[0]; } $previewRow .= '
'; $content .= implode($arPreviewRows); $content .= '
'; $script .= '$(".staff-list-item-preview-link").on("click", function() { $(this).closest("tr").next("tr").find(".staff-list-item-preview").toggle(); return false; });'; } $APPLICATION->SetTitle($title); echo ''; echo $filter; echo $content; echo ''; ?>