require($_SERVER['DOCUMENT_ROOT'].'/bitrix/header.php');
function Http404()
{
CHTTP::SetStatus('404 Not Found');
@define('ERROR_404','Y');
$rsSites = CSite::GetByID(SITE_ID);
$arSite = $rsSites->Fetch();
include($arSite['DOC_ROOT'].'/404.php');
return;
}
function getAddress($arUser)
{
$arAddress = array();
foreach (array($arUser['WORK_ZIP'], $arUser['WORK_CITY'], $arUser['WORK_STREET']) as $part) {
if ($part) {
$arAddress[] = $part;
}
}
return implode(',', $arAddress);
}
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())
{
$arFieldsBase = array(
'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, $arFieldsBase, $arFieldsAfter);
$arUserRows = array();
foreach ($arFields as $field => $data) {
$value = $arUser[$field];
if ($value) {
if ($data['list']) {
$value = renderList($value);
}
$arUserRows[] = '
| '.$data['title'].': |
'.$value.' |
';
}
}
$address = getAddress($arUser);
if ($address) {
$arUserRows[] = '
| Адрес: |
'.$address.' |
';
}
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(14);
$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 = '<- '.$title.'';
$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 .= '
| '.$photo.' |
'.$name_full.' |
';
$arFieldsBefore = array(
'WORK_POSITION' => array(
'title' => 'Должность',
'list' => false
),
'WORK_PHONE' => array(
'title' => 'Телефон',
'list' => false
),
);
$arUserRows = getUserRows($arUser, $arFieldsBefore);
$content .= implode($arUserRows);
$email = $arUser['UF_EMAIL'];
if ($email) {
$content .= '
| Электронный адрес: |
'.$email.' |
';
}
$content .= '
';
} else {
$rsUsers = CUser::GetList(($by='UF_SORT'), ($order='asc'), array('GROUPS_ID'=>$groupsAllowed), 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: 30%;
}';
$content = 'Педагогический состав
';
$content = '<- Руководство. Педагогический состав';
$content .= '
|
ФИО |
Должность |
Телефон |
Почта |
';
while ($arUser = $rsUsers->GetNext()) {
$arPreviewRows = getUserRows($arUser);
$content .= '';
$url_detail = '?id='.$arUser['ID'];
$photo = CFile::ShowImage('/uisi/media/staff/'.$arUser['LOGIN'].'-w.png', 100, 100, 'border=0', $url_detail);
$content .= '| '.$photo.' | ';
$name_full = getFullName($arUser['NAME'], $arUser['SECOND_NAME'], $arUser['LAST_NAME']);
$content .= ''.$name_full.' | ';
$content .= '';
if ($arPreviewRows) {
$content .= '';
}
$content .= ' | ';
$content .= ''.$arUser['WORK_POSITION'].' | ';
$content .= ''.$arUser['WORK_PHONE'].' | ';
$content .= '';
$email = $arUser['UF_EMAIL'];
if ($email) {
$content .= ''.$email.'';
}
$content .= ' | ';
$content .= '
';
if ($arPreviewRows) {
$content .= '';
$content .= implode($arPreviewRows);
$content .= ' |
';
}
}
$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 $content;
echo '';
?>