require_once "../libs/pdf.php"; if ($ENABLE_PDF_EXPORT) { Application::makeLdapConfigAttrLowercase(); $menu_marker = "si_export_pdf_alphabet"; @($BOOKMARK_NAME = $_POST['bookmark_name'] ? $_POST['bookmark_name'] : ($_GET['bookmark_name'] ? $_GET['bookmark_name'] : current(array_keys($BOOKMARK_NAMES[current(array_keys($BOOKMARK_NAMES))])))); @($bookmark_attr = $_POST['bookmark_attr'] ? $_POST['bookmark_attr'] : ($_GET['bookmark_attr'] ? $_GET['bookmark_attr'] : current(array_keys($BOOKMARK_NAMES)))); $html .= PDF::get_pdf_head(); $html .= "\n\t<table cellpadding='0' border='0' cellspacing='0' class='staff'>\n\t"; $ldap = new LDAP($LDAPServer, $LDAPUser, $LDAPPassword); $CompanyNameLdapFilter = Application::getCompanyNameLdapFilter(); if ($USE_DISPLAY_NAME) { $DisplayName = $DISPLAY_NAME_FIELD; } else { $DisplayName = $LDAP_NAME_FIELD; } $Staff = $ldap->getArray($OU, "(&" . $CompanyNameLdapFilter . "(" . $LDAP_CN_FIELD . "=*)" . $DIS_USERS_COND . ")", array($DisplayName, $LDAP_MAIL_FIELD, $LDAP_INTERNAL_PHONE_FIELD, $LDAP_CITY_PHONE_FIELD, $LDAP_BIRTH_FIELD, $LDAP_TITLE_FIELD, $LDAP_DEPARTMENT_FIELD, $LDAP_CELL_PHONE_FIELD), array($DisplayName, array('ad_def_full_name'))); if (is_array($Staff)) { $sizeof = sizeof($Staff[$DisplayName]); for ($i = 0; $i < $sizeof; $i++) { if (!($PDF_HIDE_STAFF_WITHOUT_PHONES && !$Staff[$LDAP_INTERNAL_PHONE_FIELD][$i] && !$Staff[$HIDE_CITY_PHONE_FIELD][$i] && !$Staff[$LDAP_CELL_PHONE_FIELD][$i])) { $FIO = explode(" ", $Staff[$DisplayName][$i]); $Surname = $Staff[$DisplayName][$i]; $Name = ""; $Patronymic = ""; if (preg_match("/[ІЇЄЁA-ZА-Я]{1}[іїєёa-zа-я-]+[\\s]{1}[ІЇЄЁA-ZА-Я]{1}[іїєёa-zа-я-]+[\\s]{1}[ІЇЄЁA-ZА-Я]{1}[іїєёa-zа-я-]+/u", $Staff[$DisplayName][$i])) { $Surname = $FIO[0]; $Name = $FIO[1]; $Patronymic = $FIO[2]; } if (preg_match("/[ІЇЄЁA-ZА-Я]{1}[іїєёa-zа-я-]+[\\s]{1}[ІЇЄЁA-ZА-Я]{1}[.]{1}[\\s]{1}[ІЇЄЁA-ZА-Я]{1}[іїєёa-zа-я-]+/u", $Staff[$DisplayName][$i])) { $Surname = $FIO[2];
//Соединяемся с сервером // Определяем какой атрибут будем использовать в качестве формирования ФИО сотрудника //------------------------------------------------------------------------------------------------------------- if ($USE_DISPLAY_NAME) { $DisplayName = $DISPLAY_NAME_FIELD; } else { $DisplayName = $LDAP_NAME_FIELD; } //------------------------------------------------------------------------------------------------------------- // Делаем фильтр для выборки сотрудников нужных компаний //------------------------------------------------------------------------------------------------------------- $CompanyNameLdapFilter = Application::getCompanyNameLdapFilter(); //------------------------------------------------------------------------------------------------------------- $LdapListAttrs = array($LDAP_DISTINGUISHEDNAME_FIELD, $DisplayName, $LDAP_MAIL_FIELD, $LDAP_INTERNAL_PHONE_FIELD, $LDAP_CITY_PHONE_FIELD, $LDAP_ST_DATE_VACATION_FIELD, $LDAP_END_DATE_VACATION_FIELD, $LDAP_TITLE_FIELD, $LDAP_DEPARTMENT_FIELD, $LDAP_CELL_PHONE_FIELD, $LDAP_MANAGER_FIELD, $LDAP_COMPUTER_FIELD, $LDAP_DEPUTY_FIELD, $LDAP_GUID_FIELD, $LDAP_CREATED_DATE_FIELD, $LDAP_USERPRINCIPALNAME_FIELD); //Получаем правильно отсортированных сотрудников с необходимыми атрибутами LDAP $Staff = $ldap->getArray($OU, "(&" . $CompanyNameLdapFilter . "(" . $LDAP_CREATED_DATE_FIELD . ">=" . date('Ymd', time() - $NEW_USERS_NUM_DAYS * 24 * 60 * 60) . "000000.0Z)(" . $LDAP_CN_FIELD . "=*)" . $DIS_USERS_COND . ")", $LdapListAttrs, array($LDAP_CREATED_DATE_FIELD), 'DESC'); if (is_array($Staff)) { // Шапка таблицы //------------------------------------------------------------------------------------------------------------- echo "\n\t\t<table class=\"sqltable\" cellpadding=\"4\">\n\t\t<th><div>ФИО</div></th>\n\t\t<th><div>Должность</div></th>\n\t\t<th><div>E-mail</div></th>\n\t\t<th><div>" . $L->l('intrenal_phone') . "</div></th>\n\t\t"; if (!$HIDE_CITY_PHONE_FIELD) { echo "<th><div>" . $L->l('city_phone') . "</div></th>"; } if (!$HIDE_CELL_PHONE_FIELD) { echo "<th><div>" . $L->l('cell_phone') . "</div></th>"; } if (Staff::showComputerName($Login)) { //Если сотрудник является администратором справочника echo "<th><div>Компьютер</div></th>"; } if ($GLOBALS['XMPP_ENABLE'] && $GLOBALS['XMPP_MESSAGE_LISTS_ENABLE'] && !empty($_COOKIE['dn'])) {
<form class="heads" method="POST" action="<?php echo $_SERVER['PHP_SELF'] ?>"> <?php //Получаем переменные для сортировки @$_GET['sortcolumn']=($_GET['sortcolumn'])?$_GET['sortcolumn']:"ФИО"; @$_GET['sorttype']=($_GET['sorttype'])?$_GET['sorttype']:"ASC"; ?> <div class="heads"> <?php if($BLOCK_VIS[$menu_marker]['birthdays']) include("./libs/birth.php"); if($BLOCK_VIS[$menu_marker]['search']) include("./libs/search.php"); if($BLOCK_VIS[$menu_marker]['profile']) include("./libs/profile.php"); if($BLOCK_VIS[$menu_marker]['fast_move']) { echo"<br/>"; Alphabet::printGeneralLetters(); //Печатаем буквы алфавита, для быстрого перехода на сотрудников } ?> </div> </form> <?php $ldap=new LDAP($LDAPServer, $LDAPUser, $LDAPPassword); //Соединяемся с сервером // Делаем фильтр для выборки сотрудников нужных компаний //------------------------------------------------------------------------------------------------------------- $CompanyNameLdapFilter=Application::getCompanyNameLdapFilter(); //-------------------------------------------------------------------------------------------------------------
require_once "../libs/pdf.php"; if ($ENABLE_PDF_EXPORT) { Application::makeLdapConfigAttrLowercase(); $menu_marker = "si_export_pdf_department"; @($BOOKMARK_NAME = $_POST['bookmark_name'] ? $_POST['bookmark_name'] : ($_GET['bookmark_name'] ? $_GET['bookmark_name'] : current(array_keys($BOOKMARK_NAMES[current(array_keys($BOOKMARK_NAMES))])))); @($bookmark_attr = $_POST['bookmark_attr'] ? $_POST['bookmark_attr'] : ($_GET['bookmark_attr'] ? $_GET['bookmark_attr'] : current(array_keys($BOOKMARK_NAMES)))); $html .= PDF::get_pdf_head(); $html .= "\n\t<table cellpadding='0' border='0' cellspacing='0' class='staff'>\n\t"; $ldap = new LDAP($LDAPServer, $LDAPUser, $LDAPPassword); $CompanyNameLdapFilter = Application::getCompanyNameLdapFilter(); if ($USE_DISPLAY_NAME) { $DisplayName = $DISPLAY_NAME_FIELD; } else { $DisplayName = $LDAP_NAME_FIELD; } $Staff = $ldap->getArray($OU, "(&" . $CompanyNameLdapFilter . "(" . $LDAP_CN_FIELD . "=*)" . $DIS_USERS_COND . ")", array($DisplayName, $LDAP_MAIL_FIELD, $LDAP_INTERNAL_PHONE_FIELD, $LDAP_CITY_PHONE_FIELD, $LDAP_TITLE_FIELD, $LDAP_DEPARTMENT_FIELD, $LDAP_CELL_PHONE_FIELD, $LDAP_MANAGER_FIELD), array($LDAP_DEPARTMENT_FIELD, $DEP_SORT_ORDER, $LDAP_TITLE_FIELD, $STAFF_SORT_ORDER, $DisplayName)); if (is_array($Staff)) { $SizeOf = sizeof($Staff[$DisplayName]); for ($i = 0; $i < $SizeOf; $i++) { if (!($PDF_HIDE_STAFF_WITHOUT_PHONES && !$Staff[$LDAP_INTERNAL_PHONE_FIELD][$i] && !$Staff[$HIDE_CITY_PHONE_FIELD][$i] && !$Staff[$LDAP_CELL_PHONE_FIELD][$i])) { $n = $i + 1; $FIO = explode(" ", $Staff[$DisplayName][$i]); $Surname = $Staff[$DisplayName][$i]; $Name = ""; $Patronymic = ""; if (preg_match("/[ЁA-ZА-Я]{1}[ёa-zа-я-]+[\\s]{1}[ЁA-ZА-Я]{1}[ёa-zа-я-]+[\\s]{1}[ЁA-ZА-Я]{1}[ёa-zа-я-]+/u", $Staff[$DisplayName][$i])) { $Surname = $FIO[0]; $Name = $FIO[1]; $Patronymic = $FIO[2]; } if (preg_match("/[ЁA-ZА-Я]{1}[ёa-zа-я-]+[\\s]{1}[ЁA-ZА-Я]{1}[.]{1}[\\s]{1}[ЁA-ZА-Я]{1}[ёa-zа-я-]+/u", $Staff[$DisplayName][$i])) {
<form class="heads" method="POST" action="<?php echo $_SERVER['PHP_SELF'] ?>"> <?php @$_GET['sortcolumn']=($_GET['sortcolumn'])?$_GET['sortcolumn']:"ФИО"; @$_GET['sorttype']=($_GET['sorttype'])?$_GET['sorttype']:"ASC"; ?> <div class="heads"> <?php if($BLOCK_VIS[$menu_marker]['birthdays']) include("./libs/birth.php"); if($BLOCK_VIS[$menu_marker]['search']) include("./libs/search.php"); if($BLOCK_VIS[$menu_marker]['profile']) include("./libs/profile.php"); ?> </div> <?php //Печатаем контейнер в который JS будет класть ссылки для быстрого перехода на отделы if($BLOCK_VIS[$menu_marker]['fast_move']) { echo "<br/> <span id=\"ALPH_ITEM_IN_LINE\" class=\"h\">".$DEP_ITEM_IN_COL."</span> <fieldset id=\"move_to_dep\"> <legend>".$L->l('fast_move_to_department')."</legend> </fieldset> "; } ?> </form> <?php //=================================================================================================================
?> </div> </form> <?php $ldap = new LDAP($LDAPServer, $LDAPUser, $LDAPPassword); //Соединяемся с сервером // Делаем фильтр для выборки сотрудников нужных компаний //------------------------------------------------------------------------------------------------------------- $CompanyNameLdapFilter = Application::getCompanyNameLdapFilter(); //------------------------------------------------------------------------------------------------------------- // Определяем какой атрибут будем использовать в качестве формирования ФИО сотрудника //------------------------------------------------------------------------------------------------------------- if ($USE_DISPLAY_NAME) { $DisplayName = $DISPLAY_NAME_FIELD; } else { $DisplayName = $LDAP_NAME_FIELD; } //------------------------------------------------------------------------------------------------------------- $LdapListAttrs = array($LDAP_DISTINGUISHEDNAME_FIELD, $DisplayName, $LDAP_MAIL_FIELD, $LDAP_INTERNAL_PHONE_FIELD, $LDAP_CITY_PHONE_FIELD, $LDAP_HOMEPHONE_FIELD, $LDAP_BIRTH_FIELD, $LDAP_ST_DATE_VACATION_FIELD, $LDAP_END_DATE_VACATION_FIELD, $LDAP_TITLE_FIELD, $LDAP_DEPARTMENT_FIELD, $LDAP_CELL_PHONE_FIELD, $LDAP_MANAGER_FIELD, $LDAP_COMPUTER_FIELD, $LDAP_DEPUTY_FIELD, $LDAP_GUID_FIELD, $LDAP_USERPRINCIPALNAME_FIELD); //Получаем правильно отсортированных сотрудников с необходимыми атрибутами LDAP $Staff = $ldap->getArray($OU, "(&" . $CompanyNameLdapFilter . "(" . $LDAP_CN_FIELD . "=*)" . $DIS_USERS_COND . ")", $LdapListAttrs, array($DisplayName, array('ad_def_full_name'))); if (is_array($Staff)) { // Шапка таблицы //------------------------------------------------------------------------------------------------------------- echo "\r\t\t<table class=\"sqltable\" cellpadding=\"4\">\r\t\t<th><div>" . $L->l('full_name') . "</div></th>\r\t\t<th><div>" . $L->l('position') . "</div></th>\r\t\t"; // echo " // <table class=\"sqltable\" cellpadding=\"4\"> // <th><div>".$L->l('full_name')."</div></th> // <th><div>".$L->l('position')."</div></th> // <th><div>".$L->l('email')."</div></th> // <th><div>".$L->l('intrenal_phone')."</div></th>
</form> <?php //================================================================================================================= $ldap = new LDAP($LDAPServer, $LDAPUser, $LDAPPassword); //Соединяемся с сервером // Делаем фильтр для выборки сотрудников нужных компаний //------------------------------------------------------------------------------------------------------------- $CompanyNameLdapFilter = Application::getCompanyNameLdapFilter(); //------------------------------------------------------------------------------------------------------------- // Определяем какой атрибут будем использовать в качестве формирования ФИО сотрудника //------------------------------------------------------------------------------------------------------------- if ($USE_DISPLAY_NAME) { $DisplayName = $DISPLAY_NAME_FIELD; } else { $DisplayName = $LDAP_NAME_FIELD; } //------------------------------------------------------------------------------------------------------------- $LdapListAttrs = array($LDAP_DISTINGUISHEDNAME_FIELD, $DisplayName, $LDAP_MAIL_FIELD, $LDAP_INTERNAL_PHONE_FIELD, $LDAP_CITY_PHONE_FIELD, $LDAP_ST_DATE_VACATION_FIELD, $LDAP_END_DATE_VACATION_FIELD, $LDAP_TITLE_FIELD, $LDAP_DEPARTMENT_FIELD, $LDAP_CELL_PHONE_FIELD, $LDAP_MANAGER_FIELD, $LDAP_COMPUTER_FIELD, $LDAP_DEPUTY_FIELD, $LDAP_GUID_FIELD, $LDAP_USERPRINCIPALNAME_FIELD); //Получаем правильно отсортированных сотрудников с необходимыми атрибутами LDAP, учитывая настроки сортировки из конфига //echo $CompanyNameLdapFilter; $Staff = $ldap->getArray($OU, "(&" . $CompanyNameLdapFilter . "(" . $LDAP_CN_FIELD . "=*)" . $DIS_USERS_COND . ")", $LdapListAttrs, array($LDAP_DEPARTMENT_FIELD, $DEP_SORT_ORDER, $LDAP_TITLE_FIELD, $STAFF_SORT_ORDER, $DisplayName)); if (is_array($Staff)) { // Шапка таблицы //------------------------------------------------------------------------------------------------------------- echo "\r\t\t<table class=\"sqltable\" cellpadding=\"4\">\r\t\t<th><div>" . $L->l('full_name') . "</div></th>\r\t\t<th><div>" . $L->l('position') . "</div></th>\r\t\t<th><div>" . $L->l('email') . "</div></th>\r\t\t<th><div>" . $L->l('intrenal_phone') . "</div></th>\r\t\t"; if (!$HIDE_CITY_PHONE_FIELD) { echo "<th><div>" . $L->l('city_phone') . "</div></th>"; } if (!$HIDE_CELL_PHONE_FIELD) { echo "<th><div>" . $L->l('cell_phone') . "</div></th>";