예제 #1
0
<?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\": \"Не заполнена дата начала отпуска \"}";
    }
예제 #2
0
파일: staff.php 프로젝트: smale3/eight
	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>";
		//-------------------------------------------------------------------------------------------------------------

		}
예제 #3
0
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>&rarr;</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> &mdash; <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>";
    }