2017-11-24 00:09:36 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								< ? php 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/** 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								*  Class  for  creating  and  rendering  an  incident 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								*/ 
							 
						 
					
						
							
								
									
										
										
										
											2018-04-13 21:31:03 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								class  Incident  implements  JsonSerializable 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-24 00:09:36 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  private  $id ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  private  $date ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  private  $end_date ; 
							 
						 
					
						
							
								
									
										
										
										
											2018-04-13 22:38:10 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  private  $timestamp ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  private  $end_timestamp ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-24 00:09:36 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  private  $text ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  private  $type ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  private  $title ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  private  $username ; 
							 
						 
					
						
							
								
									
										
										
										
											2018-11-21 10:50:21 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  private  $service_id ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  private  $service_name ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-24 00:09:36 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-01-07 20:39:10 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  /** 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								   *  Constructs  service  from  its  data . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								   *  @ param  array  $data  incident  data 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								   */ 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-24 00:09:36 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  function  __construct ( $data ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  { 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-07 20:39:10 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  	//TODO: Maybe get data from id?
 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-24 00:09:36 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    $this -> id  =  $data [ 'status_id' ]; 
							 
						 
					
						
							
								
									
										
										
										
											2018-04-13 22:38:10 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    $this -> timestamp  =  $data [ 'time' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    $this -> end_timestamp  =  $data [ 'end_time' ]; 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-24 00:09:36 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    $this -> date  =  new  DateTime ( " @ " . $data [ 'time' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    $this -> date  =  $this -> date -> format ( 'Y-m-d H:i:sP' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( $data [ 'end_time' ] > 0 ){ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      $this -> end_date  =  new  DateTime ( " @ " . $data [ 'end_time' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      $this -> end_date  =  $this -> end_date -> format ( 'Y-m-d H:i:sP' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    $this -> type  =  $data [ 'type' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    $this -> title  =  $data [ 'title' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    $this -> text  =  $data [ 'text' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    $this -> username  =  $data [ 'username' ]; 
							 
						 
					
						
							
								
									
										
										
										
											2018-11-21 10:50:21 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    $this -> service_id  =  $data [ 'service_id' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    $this -> service_name  =  $data [ 'service_name' ]; 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-24 00:09:36 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-01-07 20:39:10 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  /** 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								   *  Deletes  incident  by  ID . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								   *  @ param  int  ID 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								   */ 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-24 00:09:36 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  public  static  function  delete ( $id ){ 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-13 00:16:38 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    global  $mysqli ,  $message ,  $user ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( $user -> get_rank ()  >  1 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      $stmt  =  $mysqli -> prepare ( " SELECT count(*) as count FROM status WHERE id= ? AND user_id = ? " ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      $stmt -> bind_param ( " ii " ,  $id ,  $_SESSION [ 'user' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      $stmt -> execute (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      $query  =  $stmt -> get_result (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  ( ! $query -> fetch_assoc ()[ 'count' ]) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $message  =  _ ( " You don't have permission to do that! " ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-24 00:09:36 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    $stmt  =  $mysqli -> prepare ( " DELETE FROM services_status WHERE status_id = ? " ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    $stmt -> bind_param ( " i " ,  $id ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    $stmt -> execute (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    $query  =  $stmt -> get_result (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    $stmt  =  $mysqli -> prepare ( " DELETE FROM status WHERE id= ? " ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    $stmt -> bind_param ( " i " ,  $id ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    $stmt -> execute (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    $query  =  $stmt -> get_result (); 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-12 21:35:31 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    header ( " Location:  " . WEB_URL . " /admin " ); 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-24 00:09:36 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-01-07 20:39:10 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  /** 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								   *  Processes  submitted  form  and  adds  incident  unless  problem  is  encountered ,  
							 
						 
					
						
							
								
									
										
										
										
											2018-01-18 22:59:34 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								   *  calling  this  is  possible  only  for  admin  or  higher  rank .  Also  checks  requirements 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-07 20:39:10 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								   *  for  char  limits . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								   *  @ return  void 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								   */ 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-24 00:09:36 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  public  static  function  add () 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    global  $mysqli ,  $message ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    $user_id  =  $_SESSION [ 'user' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    $type  =  $_POST [ 'type' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    $title  =  $_POST [ 'title' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    $text  =  $_POST [ 'text' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( strlen ( $title ) == 0 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
									
										
										
										
											2017-12-31 00:41:58 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      $message  =  _ ( " Please enter title " ); 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-24 00:09:36 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								      return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } else  if ( strlen ( $title ) > 50 ){ 
							 
						 
					
						
							
								
									
										
										
										
											2017-12-31 00:41:58 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      $message  =  _ ( " Title too long! Character limit is 50 " ); 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-24 00:09:36 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								      return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( strlen ( $title ) == 0 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
									
										
										
										
											2017-12-31 00:41:58 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      $message  =  _ ( " Please enter text " ); 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-24 00:09:36 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								      return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( $type  ==  2  &&  ( ! strlen ( trim ( $_POST [ 'time' ]))  ||  ! strlen ( trim ( $_POST [ 'end_time' ])))) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
									
										
										
										
											2017-12-31 00:41:58 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      $message  =  _ ( " Please set start and end time! Use ISO 8601 format. " ); 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-24 00:09:36 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								      return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( empty ( $_POST [ 'services' ])){ 
							 
						 
					
						
							
								
									
										
										
										
											2017-12-31 00:41:58 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      $message  =  _ ( " Please select at least one service " ); 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-24 00:09:36 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  ( ! is_array ( $_POST [ 'services' ])) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $services  =  array ( $_POST [ 'services' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $services  =  $_POST [ 'services' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-08-23 20:37:45 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      if  ( ! empty ( $_POST [ 'time' ])  &&  $type  ==  2 ){ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $input_time  =  ( ! empty ( $_POST [ 'time_js' ]) ? $_POST [ 'time_js' ] :  $_POST [ 'time' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $input_end_time  =  ( ! empty ( $_POST [ 'end_time_js' ]) ? $_POST [ 'end_time_js' ] :  $_POST [ 'end_time' ]); 
							 
						 
					
						
							
								
									
										
										
										
											2018-04-13 23:41:05 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        $time  =  strtotime ( $input_time );   
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $end_time  =  strtotime ( $input_end_time ); 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-24 00:09:36 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								        if  ( ! $time ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        { 
							 
						 
					
						
							
								
									
										
										
										
											2017-12-31 00:41:58 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								          $message  =  _ ( " Start date format is not recognized. Please use ISO 8601 format. " ); 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-24 00:09:36 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								          return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        if  ( ! $end_time ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        { 
							 
						 
					
						
							
								
									
										
										
										
											2017-12-31 00:41:58 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								          $message  =  _ ( " End date format is not recognized. Please use ISO 8601 format. " ); 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-24 00:09:36 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								          return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
									
										
										
										
											2018-08-23 20:37:45 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        if  ( $time  >=  $end_time ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          $message  =  _ ( " End time is either the same or earlier than start time! " ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-24 00:09:36 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								      } else { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $time  =  time (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $end_time  =  '' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      
							 
						 
					
						
							
								
									
										
										
										
											2017-11-29 15:01:16 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      $stmt  =  $mysqli -> prepare ( " INSERT INTO status VALUES (NULL,?, ?, ?, ?, ?, ?) " ); 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-24 00:09:36 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								      $stmt -> bind_param ( " issiii " ,  $type ,  $title ,  $text ,  $time  , $end_time  , $user_id ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      $stmt -> execute (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      $query  =  $stmt -> get_result (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      $status_id  =  $mysqli -> insert_id ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      foreach  ( $services  as  $service )  { 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-29 15:01:16 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        $stmt  =  $mysqli -> prepare ( " INSERT INTO services_status VALUES (NULL,?, ?) " );  
							 
						 
					
						
							
								
									
										
										
										
											2017-11-24 00:09:36 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								        $stmt -> bind_param ( " ii " ,  $service ,  $status_id ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $stmt -> execute (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $query  =  $stmt -> get_result (); 
							 
						 
					
						
							
								
									
										
										
										
											2018-06-07 11:20:53 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $query  =  $mysqli -> query ( " SELECT * FROM services_subscriber WHERE serviceIDFK= "  .  $service ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
												while ( $subscriber  =  $query -> fetch_assoc ()){ 
							 
						 
					
						
							
								
									
										
										
										
											2018-06-07 11:29:28 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								          $subscriberQuery  =  $mysqli -> query ( " SELECT * FROM subscribers WHERE subscriberID= "  .  $subscriber [ 'subscriberIDFK' ]); 
							 
						 
					
						
							
								
									
										
										
										
											2018-06-07 11:20:53 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								          while ( $subscriberData  =  $subscriberQuery -> fetch_assoc ()){ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            $telegramID  =  $subscriberData [ 'telegramID' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            $firstname  =  $subscriberData [ 'firstname' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            $tg_message  =  urlencode ( 'Hi '  .  $firstname  .  chr ( 10 )  .  'There is a status update on a service that you have subscribed. <a href="'  .  WEB_URL  .  '">View online</a>' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            $response  =  json_decode ( file_get_contents ( " https://api.telegram.org/bot "  .  TG_BOT_API_TOKEN  .  " /sendMessage?chat_id= "  .  $telegramID  .  " &parse_mode=HTML&text= "  .  $tg_message )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								       
							 
						 
					
						
							
								
									
										
										
										
											2017-11-24 00:09:36 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								      } 
							 
						 
					
						
							
								
									
										
										
										
											2018-06-07 11:29:28 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      header ( " Location:  " . WEB_URL . " /admin " ); 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-24 00:09:36 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  } 
							 
						 
					
						
							
								
									
										
										
										
											2018-06-07 11:29:28 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  } 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-07 20:39:10 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  /** 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								   *  Renders  incident 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								   *  @ param  Boolean  $admin  -  decides  whether  admin  controls  should  be  rendered 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								   *  @ return  void 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								   */ 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-24 00:09:36 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  public  function  render ( $admin = 0 ){ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    global  $icons ; 
							 
						 
					
						
							
								
									
										
										
										
											2018-11-21 10:50:21 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    global  $classes ,  $user ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-24 00:09:36 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    $admin  =  $admin  &&  (( $user -> get_rank () <= 1 )  ||  ( $user -> get_username ()  ==  $this -> username )); 
							 
						 
					
						
							
								
									
										
										
										
											2018-11-19 09:19:23 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-11-24 00:09:36 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    ?> 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     < article  class = " panel panel-<?php echo  $classes[$this->type] ;?> " > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        < div  class = " panel-heading icon " > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          < i  class = " <?php echo  $icons[$this->type] ;?> " ></ i > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        </ div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        < div  class = " panel-heading clearfix " > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          < h2  class = " panel-title " >< ? php  echo  $this -> title ;  ?> </h2>
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          < ? php  if  ( $admin ){ 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-12 22:38:19 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            echo  '<a href="' . WEB_URL . '/admin/?delete=' . $this -> id . '" class="pull-right delete"><i class="fa fa-trash"></i></a>' ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-24 00:09:36 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								          } ?> 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          < time  class = " pull-right timeago "  datetime = " <?php echo  $this->date ; ?> " >< ? php  echo  $this -> date ;  ?> </time>
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        </ div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        < div  class = " panel-body " > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          < ? php  echo  $this -> text ;  ?> 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        </ div > 
							 
						 
					
						
							
								
									
										
										
										
											2018-11-21 10:50:21 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        < div  class = " panel-footer clearfix " > 
							 
						 
					
						
							
								
									
										
										
										
											2018-11-19 09:19:23 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								          < small > 
							 
						 
					
						
							
								
									
										
										
										
											2018-11-21 10:50:21 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								              < ? php  echo  _ ( " Impacted service(s):  " ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								              foreach  (  $this -> service_name  as  $key  =>  $value  )  { 
							 
						 
					
						
							
								
									
										
										
										
											2018-11-19 09:19:23 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                echo  '<span class="label label-default">' . $value  .  '</span> ' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								              } 
							 
						 
					
						
							
								
									
										
										
										
											2018-11-21 10:50:21 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-11-24 00:09:36 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								          if  ( isset ( $this -> end_date )){ ?>  
 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-13 00:57:13 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            < span  class = " pull-right " >< ? php  echo  strtotime ( $this -> end_date ) > time () ? _ ( " Ending " ) : _ ( " Ended " ); ?> : <time class="pull-right timeago" datetime="<?php echo $this->end_date; ?>"><?php echo $this->end_date; ?></time></span>
 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-12 21:35:31 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            < ? php  }  ?> 
 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-24 00:09:36 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								          </ small > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        </ div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      </ article > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      < ? php 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  } 
							 
						 
					
						
							
								
									
										
										
										
											2018-04-13 21:31:03 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  public  function  jsonSerialize ()  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    return  [ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      " id "  =>  $this -> id , 
							 
						 
					
						
							
								
									
										
										
										
											2018-04-13 22:38:10 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      " date "  =>  $this -> timestamp , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      " end_date "  =>  $this -> end_timestamp , 
							 
						 
					
						
							
								
									
										
										
										
											2018-04-13 21:31:03 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      " text "  =>  $this -> text , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      " type "  =>  $this -> type , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      " title "  =>  $this -> title , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      " username "  =>  $this -> username 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  } 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-24 00:09:36 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								}