Ejemplo n.º 1
0
	function SetLimitedValues($NameLimits, $NameBegin, $NameEnd, $TimeStart, $TimeEnd, $categoryId_Values, $scriptId_Refresh) {
		CreateTimer($TimeStart, 'IPSTwilight_'.$NameBegin, $scriptId_Refresh);
		CreateTimer($TimeEnd,   'IPSTwilight_'.$NameEnd,   $scriptId_Refresh);

		$Limits = GetValue(IPS_GetVariableIDByName($NameLimits, $categoryId_Values));
		//                   01234567890123456789012
		// Format or Limits: xx:xx-xx:xx/yy:yy-yy:yy
		$TimeStartMin =  mktime(substr($Limits,0,2), substr($Limits,3,2), 0);
		$TimeStartMax =  mktime(substr($Limits,6,2), substr($Limits,9,2), 0);
		$TimeEndMin   =  mktime(substr($Limits,12,2), substr($Limits,15,2), 0);
		$TimeEndMax   =  mktime(substr($Limits,18,2), substr($Limits,21,2), 0);
		if ($TimeStart > $TimeStartMax) { $TimeStart= $TimeStartMax;}
		if ($TimeStart < $TimeStartMin) { $TimeStart= $TimeStartMin;}
		if ($TimeEnd > $TimeEndMax) { $TimeEnd= $TimeEndMax;}
		if ($TimeEnd < $TimeEndMin and date('H', $TimeEnd)=='00') { $TimeEnd= $TimeEndMax;}
		if ($TimeEnd < $TimeEndMin) { $TimeEnd= $TimeEndMin;}
		SetValue(IPS_GetVariableIDByName($NameBegin, $categoryId_Values), date("H:i",$TimeStart));
		SetValue(IPS_GetVariableIDByName($NameEnd,   $categoryId_Values), date("H:i",$TimeEnd));

		CreateTimer($TimeStart, 'IPSTwilight_'.str_replace('Limited', '', $NameBegin), $scriptId_Refresh);
		CreateTimer($TimeEnd,   'IPSTwilight_'.str_replace('Limited', '', $NameEnd),   $scriptId_Refresh);
	}
	// Program Installation
	// ----------------------------------------------------------------------------------------------------------------------------

	$CategoryIdData     = $moduleManager->GetModuleCategoryID('data');
	$CategoryIdApp      = $moduleManager->GetModuleCategoryID('app');
	$InstanceId     = CreateDummyInstance("IPSLogger", $CategoryIdData, 0);

	CreateProfiles();

	// Get Scripts Ids
	$ID_ScriptIPSLoggerChangeSettings  = IPS_GetScriptIDByName('IPSLogger_ChangeSettings',  $CategoryIdApp);
	$ID_ScriptIPSLoggerSendMail        = IPS_GetScriptIDByName('IPSLogger_SendMail',        $CategoryIdApp);
	$ID_ScriptIPSLoggerClearSingleOut  = IPS_GetScriptIDByName('IPSLogger_ClearSingleOut',  $CategoryIdApp);
	$ID_ScriptIPSLoggerClearHtmlOut    = IPS_GetScriptIDByName('IPSLogger_ClearHtmlOut',    $CategoryIdApp);
	$ID_ScriptIPSLoggerPurgeLogFiles   = IPS_GetScriptIDByName('IPSLogger_PurgeLogFiles',   $CategoryIdApp);
	CreateTimer ('IPSLogger_PurgeLogFilesTimer', $ID_ScriptIPSLoggerPurgeLogFiles, 8);

	// Add IPSLogger Variables
	$ID_SingleOutEnabled  = CreateVariable('SingleOut_Enabled',  0 /*Boolean*/, $InstanceId, 100, '~Switch',            $ID_ScriptIPSLoggerChangeSettings, true,        'Power');
	$ID_SingleOutLevel    = CreateVariable('SingleOut_Level',    1 /*Integer*/, $InstanceId, 110, 'IPSLogger_Level',    $ID_ScriptIPSLoggerChangeSettings, 1 /*Error*/, 'Intensity');
	$ID_SingleOutMsg      = CreateVariable('SingleOut_Msg',      3 /*String*/,  $InstanceId, 120, '~HTMLBox',           null, ""  ,                                     'Window');
	$ID_HtmlOutEnabled    = CreateVariable('HtmlOut_Enabled',    0 /*Boolean*/, $InstanceId, 200, '~Switch',            $ID_ScriptIPSLoggerChangeSettings, true,        'Power');
	$ID_HtmlOutLevel      = CreateVariable('HtmlOut_Level',      1 /*Integer*/, $InstanceId, 210, 'IPSLogger_Level',    $ID_ScriptIPSLoggerChangeSettings, 9 /*All*/,   'Intensity');
	$ID_HtmlOutMsgCount   = CreateVariable('HtmlOut_MsgCount',   1 /*Integer*/, $InstanceId, 220, 'IPSLogger_MsgCount', $ID_ScriptIPSLoggerChangeSettings, 20,          'Distance');
	$ID_HtmlOutMsgId      = CreateVariable('HtmlOut_MsgId',      1 /*Integer*/, $InstanceId, 230, 'IPSLogger_MsgId',    null, 0,                                        'Repeat');
	$ID_HtmlOutMsgList    = CreateVariable('HtmlOut_MsgList',    3 /*String*/,  $InstanceId, 240, '~HTMLBox',           null,  "",                                      'Window');
	$ID_IPSOutEnabled     = CreateVariable('IPSOut_Enabled',     0 /*Boolean*/, $InstanceId, 300, '~Switch',            $ID_ScriptIPSLoggerChangeSettings, true,        'Power');
	$ID_IPSOutLevel       = CreateVariable('IPSOut_Level',       1 /*Integer*/, $InstanceId, 310, 'IPSLogger_Level',    $ID_ScriptIPSLoggerChangeSettings, 5 /*Debug*/, 'Intensity');
	$ID_FileOutEnabled    = CreateVariable('FileOut_Enabled',    0 /*Boolean*/, $InstanceId, 400, '~Switch',            $ID_ScriptIPSLoggerChangeSettings, false,       'Power');
	$ID_FileOutLevel      = CreateVariable('FileOut_Level',      1 /*Integer*/, $InstanceId, 410, 'IPSLogger_Level',    $ID_ScriptIPSLoggerChangeSettings, 5 /*Debug*/, 'Intensity');
	$ID_FileOutDays       = CreateVariable('FileOut_Days',       1 /*Integer*/, $InstanceId, 420, 'IPSLogger_Days',     $ID_ScriptIPSLoggerChangeSettings, 1,           'Repeat');