<?
// новый монитор событий для показа событий по вложенным группам
// отличие от обычного монитора событий - не передается ID события, передается только список группы, которые надо мониторить
header("Content-type: text/json");
session_start() ;
ob_start() ;
$result=array() ;  $read_file=0 ; $arr_group_id=[];
$group_ids=(isset($_GET['groups_ids']))? $_GET['groups_ids']:'' ;
if ($group_ids) $arr_group_id=explode(',',$_GET['groups_ids']) ;

// идем по списку групп и проверяем номер последнего события для каждой группы
if (is_array($arr_group_id) and count($arr_group_id)) foreach($arr_group_id as $group_id)
{   $result['debug'][]='check group '.$group_id ;
	$result[$group_id]=null;
	$last_mo_event=(isset($_SESSION['last_mo_event'][$group_id]))? $_SESSION['last_mo_event'][$group_id]:0 ;
	$result['debug'][]= 'last_mo_event (from session)=  '.$last_mo_event ;
	$fname=$_SERVER['DOCUMENT_ROOT'].'/temp/monitor/last_mo_event_'.$group_id.'.txt' ;
	$group_event_id=(file_exists($fname))? (int)file_get_contents($fname):0 ;
	$result['debug'][]= 'group_event_id (from file)=  '.$group_event_id ;
	if ($group_event_id>0 and $group_event_id>$last_mo_event)
	{ for($event_id=$last_mo_event+1;$event_id<=$group_event_id;$event_id++)
		{   $fname=$_SERVER['DOCUMENT_ROOT'].'/temp/monitor/evt_'.$group_id.'_'.$event_id.'.json' ;
			if (file_exists($fname))
			{ $result[$group_id]=json_decode(file_get_contents($fname),true) ;
			  $result['debug'][]= basename($fname).' - is read ' ;
			  $read_file++ ;
			}
			else $result['debug'][]=basename($fname).' - is not found ' ;
			$_SESSION['last_mo_event'][$group_id]=$event_id ;
		}
	}
}

if (!$read_file) unset($result['debug']) ;
else $result['debug']['session']=$_SESSION ;

$text=ob_get_clean() ;
$out=json_encode($result) ;
echo $out ;
session_write_close();
?>
