403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/support/admin/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/support/admin/ticket_timetable_edit.php
<?

function Tab1($adminForm)
{
	$adminForm->BeginCustomField("NAME", GetMessage("SUP_NAME"), false); 
	?>
	<tr class="adm-detail-required-field"> 
		<td width="40%" align="right"><? echo $adminForm->GetCustomLabelHTML()?>:</td>
		<td width="60%"><input type="text" maxlength="255" name="NAME" size="50" value="<? echo CSupportPage::$timeTableFields->getFieldForOutput("NAME", CSupportTableFields::ATTRIBUTE); ?>"></td>
	</tr>
	<?
	$adminForm->EndCustomField("NAME");
		
	$adminForm->BeginCustomField("DESCRIPTION", GetMessage("SUP_DESCRIPTION"), false);
	?>
	<tr class="heading">
		<td colspan="2"><? echo $adminForm->GetCustomLabelHTML(); ?>:</td>
	</tr>
	<tr>
		<td colspan="2" align="center"><textarea style="width:60%; height:150px;" name="DESCRIPTION" wrap="VIRTUAL"><? echo CSupportPage::$timeTableFields->getFieldForOutput("DESCRIPTION", CSupportTableFields::ATTRIBUTE); ?></textarea></td>
	</tr>
	<? 
	$adminForm->EndCustomField("DESCRIPTION");
}

function Tab2_JS()
{
	?>
	<script>
	<!--
		function HideRC(ob, tableId)
		{
			h = "hidden";
			if(ob.value == 'CUSTOM')
			{
				h = "visible";
			}
			document.getElementById(tableId).style.visibility = h;
		}

		function Copy(i, j)
		{
			nextFieldF = document.getElementById("MINUTE_FROM_"+i+"_"+(j+1));
			if(nextFieldF==null)
			{
				j++;
				window.supportMinuteI = i;
				window.supportMinuteJ = j;
				var ajaxUrl = "<? echo basename(__FILE__); ?>";
				var tbl = document.getElementById("table"+i);
				var cnt = tbl.rows.length;
				var oRow = tbl.insertRow(-1);
				var currRowID = "td_" + Math.random();
				oRow.id = currRowID;

				/*vF = document.getElementById("MINUTE_FROM_"+i+"_"+(j-1)).value;
				oCellF = oRow.insertCell(0);
				oCellF.innerHTML = '<input id="MINUTE_FROM_'+i+'_'+j +'" type="text" title="" size="4" value="'+vF+'" name="ArrShedule['+i+'][CUSTOM_TIME]['+j+'][MINUTE_FROM]">';

				oCellD = oRow.insertCell(1);
				oCellD.innerHTML = '<td valign="middle" nowrap="" align="center"><nobr> - </nobr></td>';

				vT = document.getElementById("MINUTE_TILL_"+i+"_"+(j-1)).value;
				oCellT = oRow.insertCell(2);
				oCellT.innerHTML = '<input id="MINUTE_TILL_'+i+'_'+j+'" type="text" title="" size="4" value="'+vT+'" name="ArrShedule['+i+'][CUSTOM_TIME]['+j+'][MINUTE_TILL]">';

				oCellC = oRow.insertCell(3);
				oCellC.innerHTML = '<a title="<? echo GetMessage("MAIN_ADMIN_MENU_COPY"); ?>" href="javascript: Copy('+i+','+j+')">' +
				'<img src="/bitrix/images/support/copy.gif" style="vertical-align:middle" width="15" height="15" border=0 hspace="2" alt="<? echo GetMessage("MAIN_ADMIN_MENU_COPY"); ?>"></a>';*/

				vF = BX.Text.encode(document.getElementById("MINUTE_TILL_"+i+"_"+(j-1)).value);
				vT = "23:59"/*document.getElementById("MINUTE_TILL_"+i+"_"+(j-1)).value;*/
				oCellF = oRow.insertCell(0);
				oCellF.style.align="left";
				/*id="time_tab_row_' . $j . '"*/
				oCellF.innerHTML = '<input id="MINUTE_FROM_'+i+'_'+j +'" type="text" title="" size="4" value="'+vF+'" name="ArrShedule['+i+'][CUSTOM_TIME]['+j+'][MINUTE_FROM]">' +
						'<td valign="middle" nowrap="" align="center"><nobr> - </nobr></td>' +
						'<input id="MINUTE_TILL_'+i+'_'+j+'" type="text" title="" size="4" value="'+vT+'" name="ArrShedule['+i+'][CUSTOM_TIME]['+j+'][MINUTE_TILL]">' +
						'<a title="<? echo GetMessage("MAIN_ADMIN_MENU_COPY"); ?>" href="javascript: Copy('+i+','+j+')">' +
						'<img src="/bitrix/images/support/copy.gif" style="vertical-align:middle" width="15" height="15" border=0 hspace="2" alt="<? echo GetMessage("SUP_ADMIN_ROW_COPY"); ?>">' +
						'<a href="javascript: DeleteTabRow(\'' + oRow.id +'\')"><img src="/bitrix/images/support/cross.png" style="vertical-align:middle" width="15" height="15" border=0 hspace="2" alt="<? echo GetMessage("SUP_ADMIN_ROW_DELETE"); ?>"></a>' +
						'</a>';

				/*
				var data = {
					'MY_AJAX' : 'CClockAJAX',
					'CClockAJAXData' : {
						'i' : i,
						'j' : j
					}
				};


				BX.ajax.post(
					ajaxUrl,
					data,
					function(datum) {

						arrQ = JSON.parse(datum);
						for (var i = 0; i < arrQ.length; i++)
						{
							oRowQ = document.getElementById(currRowID);
							oCellQ = oRowQ.insertCell(i);
							oCellQ.innerHTML = arrQ[i];
						}

						i0 = window.supportMinuteI;
						j0 = window.supportMinuteJ;
						document.getElementById("MINUTE_FROM_"+i0+"_"+j0).value = document.getElementById("MINUTE_FROM_"+i0+"_"+(j0-1)).value;
						document.getElementById("MINUTE_TILL_"+i0+"_"+j0).value = document.getElementById("MINUTE_TILL_"+i0+"_"+(j0-1)).value;
					} 
				);*/
			}
			else
			{
				nextFieldT = document.getElementById("MINUTE_TILL_"+i+"_"+(j+1));
				nextFieldF.value = document.getElementById("MINUTE_FROM_"+i+"_"+j).value;
				nextFieldT.value = document.getElementById("MINUTE_TILL_"+i+"_"+j).value;
			}
		}

		function DeleteTabRow(rowID)
		{
			var timeTabRow = document.getElementById(rowID);
			timeTabRow.parentNode.removeChild(timeTabRow);
		}
	//-->
	</script>
	<?
}

function Tab2( $adminForm, $arShedule)
{
	$adminForm->BeginCustomField("HOURS", GetMessage("SUP_HOURS"), false);
	Tab2_JS();
	?>
		
	<tr>
		<td colspan="2" align="center">
			<table border="0" cellspacing="0" cellpadding="0" width="50%" class="internal">
	<?
	$arrSO = array(
		"24H" => "SUP_24H",
		"CLOSED" => "SUP_CLOSED",
		"CUSTOM" => "SUP_CUSTOM",
	);
	
	for($i=0; $i<=6; $i++)
	{
		?>
		<tr valign="top">
			<td class="heading"><b><? echo GetMessage("SUP_WEEKDAY_$i"); ?></b></td>
		<?
		foreach($arrSO as $v => $l) 
		{
			echo '<td align="center" nowrap>' . InputType("radio", "ArrShedule[$i][OPEN_TIME]", $v, $arShedule[$i]["OPEN_TIME"], false, '&nbsp;' . GetMessage($l), 'onClick="HideRC(this, \'table' . $i . '\')"') .  '</td>';
		}

		$styleV = " visibility: hidden;";
		if($arShedule[$i]["OPEN_TIME"] == "CUSTOM")
		{
			$styleV = "";
		}
		?>
			<td align="center" nowrap>
				<table border="0" cellspacing="0" cellpadding="0" style="margin-top:-6px;width:1%!important;<? echo $styleV; ?>" id="table<? echo $i; ?>">
		
		<?
			
			/*$arrREQ = array(
				"CClockAJAXData" => array(
					"i" => $i,
				),
			);*/
			$j = -1;
			$styleFirstRow = ' style="padding-top:2px !important;"';
			foreach($arShedule[$i]["CUSTOM_TIME"] as $k => $v)
			{
				$j++;
				/*$arrREQ["CClockAJAXData"]["j"] = $j;
				$arrREQ["CClockAJAXData"]["ValF"] = $v["MINUTE_FROM"];
				$arrREQ["CClockAJAXData"]["ValT"] = $v["MINUTE_TILL"];
				echo "<tr>" . CSupportPage::ShowClock($arrREQ) . "</tr>";*/
				$trID = "td_" . $i . $j;
				echo '<tr id="' . $trID . '">
				<td' . $styleFirstRow . ' align="left">'.
					'<input id="MINUTE_FROM_' . $i . '_' . $j . '" type="text" title="" size="4" value="' . $v["MINUTE_FROM"] . '" name="ArrShedule[' . $i . '][CUSTOM_TIME][' . $j . '][MINUTE_FROM]">' .
					'<nobr>&nbsp;-&nbsp;</nobr>' .
					'<input id="MINUTE_TILL_' . $i . '_' . $j . '" type="text" title="" size="4" value="' . $v["MINUTE_TILL"] .'" name="ArrShedule[' . $i . '][CUSTOM_TIME][' . $j . '][MINUTE_TILL]">' .
					'<a title="' . GetMessage("MAIN_ADMIN_MENU_COPY") . '" href="javascript: Copy(' . $i . ',' . $j . ')"><img src="/bitrix/images/support/copy.gif" style="vertical-align:middle" width="15" height="15" border=0 hspace="2" alt="' . GetMessage("SUP_ADMIN_ROW_COPY") . '"></a>' .
					($j > 0 ? '<a href="javascript: DeleteTabRow(\'' . $trID . '\')"><img src="/bitrix/images/support/cross.png" style="vertical-align:middle" width="15" height="15" border=0 hspace="2" alt="' . GetMessage("SUP_ADMIN_ROW_DELETE") . '"></a>' : '') .
				'</td></tr>';
				$styleFirstRow = "";
			}
		
		
		?>
				</table>
			</td>
		</tr>
		<? 
		
		
	}
	?>
			</table>
		</td>
	</tr>
				
	<?
	$adminForm->EndCustomField("HOURS");
}

class CSupportPage
{
	const AJAX_VAR_NAME = "MY_AJAX";
	const LIST_URL = "ticket_timetable_list.php";
	const SHOW_FORM_SETTINGS = true;
	const SHOW_USER_FIELDS = false;
	const DEFAULT_TIME = "00:00";
	const DEFAULT_TIME_INPUT_ROW = 1;
	
	static $needShowInterface = true;
	static $needSave = false;
	static $canNotRead = false;
	static $objCAdminForm = null; //$tabControl
	static $notSaved = true;
	static $isErrors = false;
	static $id = 0;
	
	static $timeTableFields = null;
	static $timeTableSheduleFields = null;
	static $postTimeTableFields = null;
	static $postTimeTableSheduleFields = null;
		
	static function ProcessAJAX()
	{
		if(isset($_REQUEST[self::AJAX_VAR_NAME]) && $_REQUEST[self::AJAX_VAR_NAME] <> '')
		{
			self::$needShowInterface = false;
			$type = $_REQUEST[self::AJAX_VAR_NAME];
			switch($type)
			{
				case "CClockAJAX":	
					//echo self::ShowClock($_REQUEST, true);
					return true;
			}
		}
		return false;
	}
	
	static function GetPost()
	{
		self::$postTimeTableFields = new CSupportTableFields(CSupportTimetable::$fieldsTypes);
		self::$postTimeTableSheduleFields = new CSupportTableFields(CSupportTimetable::$fieldsTypesShedule, CSupportTableFields::C_Table);
		$res = false;
		if(isset($_REQUEST["ID"]) && intval($_REQUEST["ID"]) > 0) self::$id = intval($_REQUEST["ID"]);
		
		if(check_bitrix_sessid() && $_SERVER["REQUEST_METHOD"] == "POST" )
		{
			// Get data from POST
			self::$postTimeTableFields->FromArray($_REQUEST);
			self::$id = self::$postTimeTableFields->ID;
			if(isset($_REQUEST["ArrShedule"]) && is_array($_REQUEST["ArrShedule"]) && count($_REQUEST["ArrShedule"]) > 0) self::ArrSheduleInObj($_REQUEST["ArrShedule"]);
			$res = true;
		}
		return $res;
	}
	
	static function Save()
	{
		$presSave = (isset($_REQUEST["save"]) && $_REQUEST["save"] <> '');
		$presApply = (isset($_REQUEST["apply"]) && $_REQUEST["apply"] <> '');
		if($presSave || $presApply)
		{
			self::$id = intval(CSupportTimetable::Set(self::$postTimeTableFields, self::$postTimeTableSheduleFields));
			// Если сохранить не удалось то self::$id будет равен 0 и read() не сработает данные возьмутся из POST без изменений
			if(self::$id > 0)
			{
				if(!$presApply)
				{
					LocalRedirect("/bitrix/admin/" . self::LIST_URL . "?lang=". LANG . GetFilterParams("filter_", false));
				}
				return true;
			}
		}
		return false;				
	}
	
	static function Read()
	{
		if(self::$id <= 0) return false;
		self::$timeTableFields = new CSupportTableFields(CSupportTimetable::$fieldsTypes);
		$rs = CSupportTimetable::GetList(array(), array('ID' => self::$id));
		if ($arResult = $rs->Fetch()) 
		{
			self::$timeTableFields->FromArray($arResult);
			self::$notSaved = false;
			self::$timeTableSheduleFields = CSupportTimetable::GetSheduleByID(self::$id, true);
		}
		else
		{
			self::$canNotRead = true;
			return false;
		}
		return true;
	}
	
	static function GetArrayOfTabs()
	{
		global $USER_FIELD_MANAGER;
		$res = array(
			array(
				"DIV" => "edit1",
				"ICON"=>"main_user_edit",
				"TAB" => GetMessage("SUP_ADMIN_TAB1"),
				"TITLE"=>GetMessage("SUP_ADMIN_TAB1")
			),
			array(
				"DIV" => "edit2",
				"ICON"=>"main_user_edit",
				"TAB" => GetMessage("SUP_ADMIN_TAB2"),
				"TITLE"=>GetMessage("SUP_ADMIN_TAB2")
			),
		);
		if(self::SHOW_USER_FIELDS) $res[] = $USER_FIELD_MANAGER->EditFormTab("LEARN_ATTEMPT");
		return $res;
	}
	
	static function DoActions()
	{
		global $APPLICATION;
		if(self::ProcessAJAX()) return;
		if(self::GetPost()) self::Save();
		if(!self::Read())
		{
		
			self::$timeTableFields = self::$postTimeTableFields;
			self::$timeTableSheduleFields = self::$postTimeTableSheduleFields;
		}	
		self::$objCAdminForm = new CAdminForm("supTabControl", self::GetArrayOfTabs());

		if (empty($_REQUEST['ID']))
		{
			$APPLICATION->SetTitle(GetMessage("SUP_ADMIN_TITLE_ADD"));
		}
		else
		{
			$APPLICATION->SetTitle(GetMessage("SUP_ADMIN_TITLE_EDIT", array('#NAME#' => self::$timeTableFields->NAME)));
		}
	}
	
	static function ShowErrors()
	{
		global $APPLICATION;
		if(self::$canNotRead)
		{
			$aContext = array(
				array(
					"ICON" =>	"btn_list",
					"TEXT" =>	GetMessage("SUP_BACK_TO_ADMIN"),
					"LINK" =>	(self::LIST_URL . "?lang=" . LANG),
					"TITLE" =>	GetMessage("SUP_BACK_TO_ADMIN")
				),
			);
			$context = new CAdminContextMenu($aContext);
			$context->Show();

			CAdminMessage::ShowMessage(GetMessage("SUP_TIMETABLE_NOT_FOUND"));
			return true;
		}
		
		if($e = $APPLICATION->GetException())
		{
			self::$isErrors = true;
			$errorMessage = new CAdminMessage(GetMessage("SUP_ERROR"), $e);
			echo $errorMessage->Show();
		}
		return false;
	}
	
	static function ShowMenu()
	{	
		global $APPLICATION;
		$aContext = array(
			array(
				"ICON" =>	"btn_list",
				"TEXT" =>	GetMessage("MAIN_ADMIN_MENU_LIST"),
				"LINK" =>	self::LIST_URL . "?lang=". LANG . GetFilterParams("filter_"),
				"TITLE" =>	GetMessage("MAIN_ADMIN_MENU_LIST")
			),
		);
		
		if(!self::$notSaved)
		{
			$aContext[] = 	array(
				"ICON" =>	"btn_delete",
				"TEXT" =>	GetMessage("MAIN_ADMIN_MENU_DELETE"),
				"LINK" =>	"javascript:if(confirm('" . GetMessage("SUP_CONFIRM_DEL_MESSAGE") . "'))window.location='" . self::LIST_URL . "?lang=" . LANG .
							"&action=delete&ID=" . self::$timeTableFields->ID . "&" . bitrix_sessid_get() . urlencode(GetFilterParams("filter_", false)) . "';",
			);

		}
	
		if(self::SHOW_FORM_SETTINGS)
		{
			$link = DeleteParam(array("mode"));
			$link = $APPLICATION->GetCurPage() . "?mode=settings".($link <> "" ? "&" . $link : "");
			$aContext[] = array(
				"TEXT" =>	GetMessage("SUP_FORM_SETTINGS"),
				"TITLE" =>	GetMessage("SUP_FORM_SETTINGS_EX"),
				"LINK" =>	"javascript:". self::$objCAdminForm->GetName() . ".ShowSettings('" . urlencode($link) . "')",
				"ICON" =>	"btn_settings",
			);
		}
		
		$context = new CAdminContextMenu($aContext);
		$context->Show();
	}
			
	static function Show()
	{
		global $USER_FIELD_MANAGER, $APPLICATION;
		if(self::ShowErrors()) return;
		self::ShowMenu();
		
		self::$objCAdminForm->BeginEpilogContent();
		echo bitrix_sessid_post();
		GetFilterHiddens("filter_");
		echo '
		<input type="hidden" name="Update" value="Y">
		<input type="hidden" name="ID" value="' . self::$timeTableFields->ID . '">
		';
		self::$objCAdminForm->EndEpilogContent();
		
		self::$objCAdminForm->Begin();
		
		self::$objCAdminForm->BeginNextFormTab();
		Tab1(self::$objCAdminForm);
		
		
		self::$objCAdminForm->BeginNextFormTab();
		Tab2(self::$objCAdminForm, self::ObjInArrShedule());
					
		if(self::SHOW_USER_FIELDS)
		{
			self::$objCAdminForm->BeginNextFormTab();
			self::$objCAdminForm->BeginCustomField("USER_FIELDS", GetMessage("SUP_ADMIN_USER_FIELDS"), false);
			$USER_FIELD_MANAGER->EditFormShowTab("LEARN_ATTEMPT", self::$isErrors, self::$timeTableFields->ID);
			self::$objCAdminForm->EndCustomField("USER_FIELDS");
		}
		
		self::$objCAdminForm->Buttons(Array("back_url" => "ticket_timetable_list.php?lang=" . LANG.GetFilterParams("filter_", false)));
		self::$objCAdminForm->arParams["FORM_ACTION"] = $APPLICATION->GetCurPage() . "?lang=" . LANG . GetFilterParams("filter_");
		self::$objCAdminForm->Show();
		
	}
	
	static function TimeToStr($t)
	{
		if($t == 0) return self::DEFAULT_TIME;
		$m = intval(fmod ($t, 60));
		$h = ($t - $m) / 60;
		return date("H:i", mktime($h, $m, 0, 1, 1, 2000));
	}
	
	static function StrToTime($t)
	{
		//echo $t;
		$a = explode(":", $t);
		$res = (isset($a[0]) ? intval($a[0]) * 60 : 0);
		$res += (isset($a[1]) ? intval($a[1]) : 0);
		return $res;
	}
	
	static function ArrSheduleInObj($arr)
	{
	
		/*
		array["ArrShedule"] = array(
			0 => array(
				OPEN_TIME => "CUSTOM",
				//CUSTOM_TIME_NUM => 1 (0,1)
				CUSTOM_TIME => array(
					0 => array(
						MINUTE_FROM => "11:32"
						MINUTE_TILL => "12:32"
					)
				)
			),
			6 => ...
		)
		*/
		self::$postTimeTableSheduleFields->RemoveExistingRows();
		$arrTTS = array();
		foreach($arr as $DateWeekday => $arDay)
		{
			if(!isset($arDay["OPEN_TIME"]) || $arDay["OPEN_TIME"] == '') continue;
			if($arDay["OPEN_TIME"] == "CUSTOM" && !(isset($arDay["CUSTOM_TIME"]) && is_array($arDay["CUSTOM_TIME"]) && count($arDay["CUSTOM_TIME"]) > 0)) continue;
			
			$arrTTS["TIMETABLE_ID"] = self::$id;
			$arrTTS["WEEKDAY_NUMBER"] = $DateWeekday;
			$arrTTS["OPEN_TIME"] = $arDay["OPEN_TIME"];
			if($arDay["OPEN_TIME"] == "CUSTOM")
			{
				foreach($arDay["CUSTOM_TIME"] as $ar)
				{
					$presMF = (isset($ar["MINUTE_FROM"]) && $ar["MINUTE_FROM"] <> '');
					$presMT = (isset($ar["MINUTE_TILL"]) && $ar["MINUTE_TILL"] <> '');
					if($presMF || $presMT)
					{
						$minute_from = self::StrToTime(($presMF ? $ar["MINUTE_FROM"] : "00:00"));
						$minute_till = self::StrToTime(($presMT ? $ar["MINUTE_TILL"] : "23:59"));
						self::$postTimeTableSheduleFields->AddRow();
						self::$postTimeTableSheduleFields->FromArray($arrTTS);
						self::$postTimeTableSheduleFields->MINUTE_FROM = min($minute_from, $minute_till);
						self::$postTimeTableSheduleFields->MINUTE_TILL = max($minute_from, $minute_till);
					}
				}
			}
			else
			{
				self::$postTimeTableSheduleFields->AddRow();
				self::$postTimeTableSheduleFields->FromArray($arrTTS);
			}
		}
	}
		
	static function ObjInArrShedule()
	{
	
	/*
		ArrShedule = array(
			0 => array(
				OPEN_TIME => "CUSTOM",
				//CUSTOM_TIME_NUM => 1 (0,1)
				CUSTOM_TIME => array(
					0 => array(
						MINUTE_FROM => "11:32"
						MINUTE_TILL => "12:32"
					)
				)
			),
			6 => ...
		)
		*/
		
		$res = array();
		self::$timeTableSheduleFields->SortRow("WEEKDAY_NUMBER,MINUTE_FROM");
		self::$timeTableSheduleFields->ResetNext();
		while(self::$timeTableSheduleFields->Next())
		{
			$res[self::$timeTableSheduleFields->WEEKDAY_NUMBER]["OPEN_TIME"] = self::$timeTableSheduleFields->OPEN_TIME;
			$res[self::$timeTableSheduleFields->WEEKDAY_NUMBER]["CUSTOM_TIME"][] = array("MINUTE_FROM" => self::TimeToStr(self::$timeTableSheduleFields->MINUTE_FROM), "MINUTE_TILL" => self::TimeToStr(self::$timeTableSheduleFields->MINUTE_TILL));
				
		}
		// дополняем для покза
		for($i=0; $i<=6; $i++)
		{
			if(!isset($res[$i]) || !is_array($res[$i]) || (count($res[$i]) <= 0))
			{
				$res[$i] = array("OPEN_TIME" => "24H");
			}
			if(!isset($res[$i]["CUSTOM_TIME"]) || !is_array($res[$i]["CUSTOM_TIME"]) || (count($res[$i]["CUSTOM_TIME"]) <= 0))
			{
				$res[$i]["CUSTOM_TIME"] = array();
			}
			$c = self::DEFAULT_TIME_INPUT_ROW - count($res[$i]["CUSTOM_TIME"]);
			for($j = 0; $j < $c; $j++) $res[$i]["CUSTOM_TIME"][] = array("MINUTE_FROM" => self::DEFAULT_TIME, "MINUTE_TILL" => self::DEFAULT_TIME);
		}
		return $res;
	}
}


require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php");
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/support/include.php");
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/support/prolog.php");
IncludeModuleLangFile(__FILE__);

CSupportPage::DoActions();

if(CSupportPage::$needShowInterface)
{
	require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php");
	CSupportPage::Show();
	require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_admin.php");
}

?>

Youez - 2016 - github.com/yon3zu
LinuXploit