<?php require_once "../libs/require_once.php"; if ($Valid) { if ($_POST['vac_from']) { if ($_POST['vac_to']) { if (Time::checkDate($_POST['vac_from'])) { if (Time::checkDate($_POST['vac_to'])) { if (Time::getTimeOfDMYHI($_POST['vac_from']) >= time()) { if (Time::getTimeOfDMYHI($_POST['vac_from']) <= Time::getTimeOfDMYHI($_POST['vac_to'])) { $ldap->ldap_modify($_COOKIE['dn'], array($LDAP_ST_DATE_VACATION_FIELD => Time::modifyDateFormat($_POST['vac_from'], "dd.mm.yyyy", $VAC_DATE_FORMAT))); $ldap->ldap_modify($_COOKIE['dn'], array($LDAP_END_DATE_VACATION_FIELD => Time::modifyDateFormat($_POST['vac_to'], "dd.mm.yyyy", $VAC_DATE_FORMAT))); echo "{\"success\": \"true\", \"dn\": \"" . Time::getTimeOfDMYHI($_POST['vac_from']) . "\"}"; } else { echo "{\"success\": \"false\", \"field\": \"vac_to\", \"answer\": \"Дата окончания отпуска должна быть позже даты начала.\"}"; } } else { echo "{\"success\": \"false\", \"field\": \"vac_from\", \"answer\": \"Дата начала планируемого отпуска должна быть позже текущей\"}"; } } else { echo "{\"success\": \"false\", \"field\": \"vac_to\", \"answer\": \"Дата не соответствует формату\"}"; } } else { echo "{\"success\": \"false\", \"field\": \"vac_from\", \"answer\": \"Дата не соответствует формату\"}"; } } else { echo "{\"success\": \"false\", \"field\": \"vac_to\", \"answer\": \"Не заполнена дата окончания отпуска\"}"; } } else { echo "{\"success\": \"false\", \"field\": \"vac_from\", \"answer\": \"Не заполнена дата начала отпуска \"}"; }
public static function printUserTableRow($Staff, $key, $Vars) { $StDate=$Staff[$GLOBALS['LDAP_ST_DATE_VACATION_FIELD']][$key]; $EndDate=$Staff[$GLOBALS['LDAP_END_DATE_VACATION_FIELD']][$key]; $VacationState=self::getVacationState($StDate, $EndDate); // проверка: в каком состоянии отпуск? ($VacationState===0) ? $tag="del" : $tag="span"; // в зависимости от этого применяем разные стили // Строки таблицы //------------------------------------------------------------------------------------------------------------- $data_parent_id=($Vars['data_parent_id']) ? "data-parent-id=".md5($Staff[$GLOBALS['LDAP_DISTINGUISHEDNAME_FIELD']][$key]) : ''; $id=($Vars['id']) ? "id=".md5($Staff[$GLOBALS['LDAP_DISTINGUISHEDNAME_FIELD']][$key]) : ''; echo"<tr class=\"".$Vars['row_css']."\" ".$id." ".$data_parent_id.">"; echo "<td>"; self::printVacOnCurrentPage($StDate, $EndDate); if($GLOBALS['THUMBNAIL_PHOTO_VIS']) echo self::makeAvatar($Staff[$GLOBALS['LDAP_DISTINGUISHEDNAME_FIELD']][$key]); if( (self::checkInVacation($StDate, $EndDate) && $GLOBALS['BIND_DEPUTY_AND_VACATION']) || !$GLOBALS['BIND_DEPUTY_AND_VACATION']) // self::printDeputyInList($Staff[$GLOBALS['LDAP_DEPUTY_FIELD']][$key], $Vars['ldap_conection']->getValue($Staff[$GLOBALS['LDAP_DEPUTY_FIELD']][$key], $GLOBALS['DISPLAY_NAME_FIELD'])); if(empty($Vars['search_str'])) //Если не велся поиск, то не подсвечивавем результаты echo self::makeNameUrlFromDn($Staff[$GLOBALS['LDAP_DISTINGUISHEDNAME_FIELD']][$key], $Staff[$Vars['display_name']][$key]); //Делаем ссылку на полную информацию о сотруднике else echo self::highlightSearchResult(self::makeNameUrlFromDn($Staff[$GLOBALS['LDAP_DISTINGUISHEDNAME_FIELD']][$key], $Staff[$Vars['display_name']][$key]), $Vars['search_str']); //Делаем ссылку на полную информацию о сотруднике echo "</td>"; if(empty($Vars['search_str'])) //Если не велся поиск, то не подсвечивавем результаты echo "<td>".self::makeTitle($Staff[$GLOBALS['LDAP_TITLE_FIELD']][$key])."</td>"; //Выводим должность else echo "<td>".self::highlightSearchResult(self::makeTitle($Staff[$GLOBALS['LDAP_TITLE_FIELD']][$key]), $Vars['search_str'])."</td>"; //Выводим должность if($Vars['locked_date']) echo "<td>".Time::modifyDateFormat(self::makeTitle($Staff[$GLOBALS['LDAP_CHANGED_DATE_FIELD']][$key]), $GLOBALS['LDAP_CHANGED_DATE_FORMAT'], "yyyy-mm-dd")."</td>"; //Выводим должность if(empty($Vars['search_str'])) //Если не велся поиск, то не подсвечивавем результаты echo "<td>".self::makeMailUrl($Staff[$GLOBALS['LDAP_MAIL_FIELD']][$key])."</td>"; //Выводим почту else echo "<td>".self::highlightSearchResult(self::makeMailUrl($Staff[$GLOBALS['LDAP_MAIL_FIELD']][$key]), $Vars['search_str'])."</td>"; if(!$GLOBALS['HIDE_ROOM_NUMBER']) { if(empty($Vars['search_str'])) //Если не велся поиск, то не подсвечивавем результаты echo "<td>".self::makePlainText($Staff[$GLOBALS['LDAP_ROOM_NUMBER_FIELD']][$key])."</td>"; //Выводим сотовый else echo "<td>".self::highlightSearchResult(self::makePlainText($Staff[$GLOBALS['LDAP_ROOM_NUMBER_FIELD']][$key]), $Vars['search_str'])."</td>"; //Делаем ссылку на полную информацию о сотруднике } echo "<td><".$tag.">".self::makeInternalPhone($Staff[$GLOBALS['LDAP_INTERNAL_PHONE_FIELD']][$key])."</".$tag."></td>"; //Выводим внутренний if(!$GLOBALS['HIDE_CITY_PHONE_FIELD']) { echo "<td><".$tag.">".self::makeCityPhone($Staff[$GLOBALS['LDAP_CITY_PHONE_FIELD']][$key])."</".$tag."></td>"; //Выводим городской } if(!$GLOBALS['HIDE_CELL_PHONE_FIELD']) { if(empty($Vars['search_str'])) //Если не велся поиск, то не подсвечивавем результаты echo "<td>".self::makeCellPhone($Staff[$GLOBALS['LDAP_CELL_PHONE_FIELD']][$key])."</td>"; //Выводим сотовый else echo "<td>".self::highlightSearchResult(self::makeCellPhone($Staff[$GLOBALS['LDAP_CELL_PHONE_FIELD']][$key]), $Vars['search_str'])."</td>"; //Делаем ссылку на полную информацию о сотруднике } if(self::showComputerName($Vars['current_login'])) //Если сотрудник является администратором справочника { if(empty($Vars['search_str'])) //Если не велся поиск, то не подсвечивавем результаты echo "<td>".self::makeComputerName($Staff[$GLOBALS['LDAP_COMPUTER_FIELD']][$key])."</td>"; //Выводим имя компьютера else echo "<td>".self::highlightSearchResult(self::makeComputerName($Staff[$GLOBALS['LDAP_COMPUTER_FIELD']][$key]), $Vars['search_str'])."</td>"; //Выводим имя компьютера } if( @$Staff[$GLOBALS['LDAP_CREATED_DATE_FIELD']][$key] ) echo "<td>".Time::getHandyDateOfDMYHI($Staff[$GLOBALS['LDAP_CREATED_DATE_FIELD']][$key], $GLOBALS['LDAP_CREATED_DATE_FORMAT'])."</td>"; //Выводим дату принятия на работу if($GLOBALS['XMPP_ENABLE'] && $GLOBALS['XMPP_MESSAGE_LISTS_ENABLE'] && $_COOKIE['dn']) { if(is_array($_COOKIE['xmpp_list']) && in_array($Staff[$GLOBALS['LDAP_USERPRINCIPALNAME_FIELD']][$key], $_COOKIE['xmpp_list'])) $xmpp_link_class="in_xmpp_list"; else $xmpp_link_class='out_xmpp_list'; echo "<td> <a href=\"#\" class=\"add_xmpp_list ".$xmpp_link_class." in_link\" title=\"".$GLOBALS['L']->l("add_contact_to_xmpp_list")."\" data-login="******"></a> </td>"; //Выводим иконку добавления сотрудника в группу рассылки } if($GLOBALS['FAVOURITE_CONTACTS'] && $_COOKIE['dn']) { if(is_array($Vars['favourite_dns'])) $favourite_link_class=(in_array($Staff[$GLOBALS['LDAP_DISTINGUISHEDNAME_FIELD']][$key], $Vars['favourite_dns'])) ? 'fav_true' : 'fav_false'; else $favourite_link_class='fav_false'; echo "<td> <a href=\"javascript: F();\" class=\"favourite ".$favourite_link_class." in_link\" title=\"Добавить контакт в избранные.\"></a> <div class=\"hidden\"> <div class=\"favourite_user_dn\">".$Staff[$GLOBALS['LDAP_DISTINGUISHEDNAME_FIELD']][$key]."</div> </div> </td>"; } if(empty($_COOKIE['dn']) && $GLOBALS['ENABLE_DANGEROUS_AUTH']) { echo "<td><div><a href=\"\" class=\"is_it_you window in_link\">Это я!</a></div><div class=\"window hidden\">".self::getAuthForm(md5($Staff[$GLOBALS['LDAP_DISTINGUISHEDNAME_FIELD']][$key]), $Staff[$GLOBALS['LDAP_DISTINGUISHEDNAME_FIELD']][$key])."</div></td>"; } echo"</tr>"; //------------------------------------------------------------------------------------------------------------- }
if ($_COOKIE['dn']) { if ($WhoAreYou !== false) { echo "<fieldset class=\"whoareyou\">"; echo "<legend>" . $WhoAreYou . "</legend>"; echo "<ul>"; if ($Login = $ldap->getValue($_COOKIE['dn'], "userprincipalname")) { if (in_array($Login, $ADMIN_LOGINS)) { echo "<li><a href=\"" . $_SERVER['PHP_SELF'] . "?menu_marker=si_staffedit\">" . $L->l("admin_panel") . "</a></li>"; } } if ($vac_from = $ldap->getValue($_COOKIE['dn'], $LDAP_ST_DATE_VACATION_FIELD)) { $vac_from = Time::modifyDateFormat($vac_from, $VAC_DATE_FORMAT, 'dd.mm.yyyy'); } if ($vac_to = $ldap->getValue($_COOKIE['dn'], $LDAP_END_DATE_VACATION_FIELD)) { $vac_to = Time::modifyDateFormat($vac_to, $VAC_DATE_FORMAT, 'dd.mm.yyyy'); } echo "<li><a href=\"newwin.php?menu_marker=si_employeeview&dn=" . $_COOKIE['dn'] . "\" data-lightview-type=\"iframe\" data-lightview-options=\"width: '80%', height: '100%', keyboard: {esc: true}, skin: 'light'\" class=\"lightview\">" . $L->l("profile") . "</a></li>"; if ($VACATION) { echo "<li><span id=\"Vac\">" . $L->l("vacation_plan") . "<big><big>→</big></big> <span class=\"\">\r\n\t\t\t<input type=\"text\" name=\"vac_from\" id=\"vac_from\" class=\"date\" value=\"" . $vac_from . "\"/>\r\n\t\t\t<em><i></i></em></span> — <span class=\"\">\r\n\t\t\t<input type=\"text\" name=\"vac_to\" id=\"vac_to\" class=\"date\" value=\"" . $vac_to . "\" />\r\n\t\t\t<em><i></i></em></span>\r\n\t\t\t<img id=\"vac_apply\" src=\"./skins/" . $CURRENT_SKIN . "/images/true24.png\" width=\"24\" height=\"24\"/><img id=\"vac_loader\" class=\"hidden\" src=\"./skins/" . $CURRENT_SKIN . "/images/load.gif\" width=\"16\" height=\"16\"/></span>\r\n\t\t\t</li>\r\n\t\t\t<script type='text/javascript'>\r\n\t\t\tCalendar.setup({inputField:'vac_from', ifFormat:'%d.%m.%Y', button:'vac_from', firstDay:1, weekNumbers:false, showOthers:true});\r\n\t\t\tCalendar.setup({inputField: 'vac_to', ifFormat: '%d.%m.%Y', button: 'vac_to', firstDay:1, weekNumbers:false, showOthers:true});\r\n\t\t\t</script>\r\n\t\t\t"; if ($VAC_CLAIM_ALARM && $vac_from && $vac_to) { if (Time::getTimeOfDMYHI($vac_from) - $VAC_CLAIM_ALARM_DAYES_FROM * 24 * 60 * 60 <= time() && Time::getTimeOfDMYHI($vac_to) - $VAC_CLAIM_ALARM_DAYES_TO * 24 * 60 * 60 >= time()) { echo "<li><a href=\"newwin.php?menu_marker=si_print_vacation_claim&dn=" . $_COOKIE['dn'] . "\" title=\":: :: width: 900, height: 700\" class=\"lightview alert\">Заявление на отпуск</a></li>"; } } } if (@(!$_SERVER['REMOTE_USER'])) { echo "<li><a href=\"" . $_SERVER['PHP_SELF'] . "?iamnot=1\" title=\"Нет! \">" . $L->l("exit") . "</a></li>"; } echo "</ul></fieldset>"; }