| 
									
										
										
										
											2016-01-01 13:42:52 +01:00
										 |  |  | <?php | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-02-02 16:37:38 +01:00
										 |  |  | session_start(); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-04 10:57:08 +01:00
										 |  |  | if (file_exists("./pgs/functions.php"))  { require_once("./pgs/functions.php");  } else { die("functions.php does not exist.");  } | 
					
						
							|  |  |  | if (file_exists("./pgs/config.inc.php")) { require_once("./pgs/config.inc.php"); } else { die("config.inc.php does not exist."); } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-01-01 13:42:52 +01:00
										 |  |  | if (!class_exists('ParseXML'))   require_once("./pgs/class.parsexml.php"); | 
					
						
							|  |  |  | if (!class_exists('Node'))       require_once("./pgs/class.node.php"); | 
					
						
							|  |  |  | if (!class_exists('xReflector')) require_once("./pgs/class.reflector.php"); | 
					
						
							|  |  |  | if (!class_exists('Station'))    require_once("./pgs/class.station.php"); | 
					
						
							| 
									
										
										
										
											2016-02-11 18:51:12 +01:00
										 |  |  | if (!class_exists('Peer'))       require_once("./pgs/class.peer.php"); | 
					
						
							| 
									
										
										
										
											2016-05-04 08:33:20 +02:00
										 |  |  | if (!class_exists('Interlink'))  require_once("./pgs/class.interlink.php"); | 
					
						
							| 
									
										
										
										
											2016-01-01 13:42:52 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | $Reflector = new xReflector(); | 
					
						
							|  |  |  | $Reflector->SetFlagFile("./pgs/country.csv"); | 
					
						
							| 
									
										
										
										
											2016-03-13 19:16:51 +01:00
										 |  |  | $Reflector->SetPIDFile($Service['PIDFile']); | 
					
						
							|  |  |  | $Reflector->SetXMLFile($Service['XMLFile']); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | $Reflector->LoadXML(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if ($CallingHome['Active']) {  | 
					
						
							| 
									
										
										
										
											2016-04-05 11:06:58 +02:00
										 |  |  |     | 
					
						
							| 
									
										
										
										
											2016-03-13 19:16:51 +01:00
										 |  |  |    $CallHomeNow = false; | 
					
						
							| 
									
										
										
										
											2016-04-05 11:06:58 +02:00
										 |  |  |    if (!file_exists($CallingHome['HashFile'])) { | 
					
						
							| 
									
										
										
										
											2016-03-13 19:16:51 +01:00
										 |  |  |       $Hash = CreateCode(16); | 
					
						
							|  |  |  |       $LastSync = 0; | 
					
						
							| 
									
										
										
										
											2016-04-05 11:06:58 +02:00
										 |  |  |       $Ressource = @fopen($CallingHome['HashFile'],"w"); | 
					
						
							| 
									
										
										
										
											2016-03-13 19:16:51 +01:00
										 |  |  |       if ($Ressource) { | 
					
						
							|  |  |  |          @fwrite($Ressource, "<?php\n"); | 
					
						
							|  |  |  |          @fwrite($Ressource, "\n".'$LastSync = 0;'); | 
					
						
							|  |  |  |          @fwrite($Ressource, "\n".'$Hash     = "'.$Hash.'";'); | 
					
						
							|  |  |  |          @fwrite($Ressource, "\n\n".'?>'); | 
					
						
							|  |  |  |          @fclose($Ressource); | 
					
						
							| 
									
										
										
										
											2016-04-05 11:06:58 +02:00
										 |  |  |          @exec("chmod 777 ".$CallingHome['HashFile']); | 
					
						
							| 
									
										
										
										
											2016-03-13 19:16:51 +01:00
										 |  |  |          $CallHomeNow = true; | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |    } | 
					
						
							|  |  |  |    else { | 
					
						
							| 
									
										
										
										
											2017-02-02 16:37:38 +01:00
										 |  |  |       include($CallingHome['HashFile']); | 
					
						
							|  |  |  |       if ($LastSync < (time() - $CallingHome['PushDelay'])) {  | 
					
						
							|  |  |  |          $Ressource = @fopen($CallingHome['HashFile'],"w"); | 
					
						
							|  |  |  |          if ($Ressource) { | 
					
						
							|  |  |  |             @fwrite($Ressource, "<?php\n"); | 
					
						
							|  |  |  |             @fwrite($Ressource, "\n".'$LastSync = '.time().';'); | 
					
						
							|  |  |  |             @fwrite($Ressource, "\n".'$Hash     = "'.$Hash.'";'); | 
					
						
							|  |  |  |             @fwrite($Ressource, "\n\n".'?>'); | 
					
						
							|  |  |  |             @fclose($Ressource); | 
					
						
							| 
									
										
										
										
											2016-03-13 19:16:51 +01:00
										 |  |  |          } | 
					
						
							| 
									
										
										
										
											2017-02-02 16:37:38 +01:00
										 |  |  |          $CallHomeNow = true; | 
					
						
							| 
									
										
										
										
											2016-03-13 19:16:51 +01:00
										 |  |  |       } | 
					
						
							|  |  |  |    } | 
					
						
							| 
									
										
										
										
											2016-05-04 08:33:20 +02:00
										 |  |  |     | 
					
						
							| 
									
										
										
										
											2016-03-13 19:16:51 +01:00
										 |  |  |    if ($CallHomeNow || isset($_GET['callhome'])) { | 
					
						
							| 
									
										
										
										
											2016-05-04 08:33:20 +02:00
										 |  |  |       $Reflector->SetCallingHome($CallingHome, $Hash); | 
					
						
							|  |  |  |       $Reflector->ReadInterlinkFile(); | 
					
						
							|  |  |  |       $Reflector->PrepareInterlinkXML(); | 
					
						
							|  |  |  |       $Reflector->PrepareReflectorXML(); | 
					
						
							|  |  |  |       $Reflector->CallHome(); | 
					
						
							| 
									
										
										
										
											2016-03-13 19:16:51 +01:00
										 |  |  |    } | 
					
						
							| 
									
										
										
										
											2016-02-11 18:51:12 +01:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2016-05-04 08:33:20 +02:00
										 |  |  | else { | 
					
						
							|  |  |  |    $Hash = ""; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-01-01 13:42:52 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | ?><!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Strict//EN"
 | 
					
						
							|  |  |  | "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> | 
					
						
							|  |  |  | <html xmlns="http://www.w3.org/1999/xhtml"> | 
					
						
							|  |  |  | <head> | 
					
						
							|  |  |  |    <meta http-equiv="content-type" content="text/html; charset=utf-8" /> | 
					
						
							| 
									
										
										
										
											2016-03-13 19:16:51 +01:00
										 |  |  |    <meta name="description" content="<?php echo $PageOptions['MetaDescription']; ?>" /> | 
					
						
							|  |  |  |    <meta name="keywords"    content="<?php echo $PageOptions['MetaKeywords']; ?>" /> | 
					
						
							|  |  |  |    <meta name="author"      content="<?php echo $PageOptions['MetaAuthor']; ?>" /> | 
					
						
							|  |  |  |    <meta name="revisit"     content="<?php echo $PageOptions['MetaRevisit']; ?>" /> | 
					
						
							|  |  |  |    <meta name="robots"      content="<?php echo $PageOptions['MetaAuthor']; ?>" /> | 
					
						
							|  |  |  |     | 
					
						
							|  |  |  |    <meta http-equiv="content-type" content="text/html; charset=utf-8" /> | 
					
						
							|  |  |  |    <title><?php echo $Reflector->GetReflectorName(); ?> Reflector Dashboard</title>
 | 
					
						
							| 
									
										
										
										
											2016-01-01 13:42:52 +01:00
										 |  |  |    <link rel="stylesheet" type="text/css" href="./css/layout.css"> | 
					
						
							| 
									
										
										
										
											2016-03-04 10:57:08 +01:00
										 |  |  |    <link rel="icon" href="./favicon.ico" type="image/vnd.microsoft.icon"><?php | 
					
						
							| 
									
										
										
										
											2016-03-13 19:16:51 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-04 10:57:08 +01:00
										 |  |  |    if ($PageOptions['PageRefreshActive']) { | 
					
						
							|  |  |  |       echo ' | 
					
						
							| 
									
										
										
										
											2016-01-01 13:42:52 +01:00
										 |  |  |    <script> | 
					
						
							| 
									
										
										
										
											2016-03-13 19:16:51 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-01-01 13:42:52 +01:00
										 |  |  |       function ReloadPage() { | 
					
						
							| 
									
										
										
										
											2016-03-04 10:57:08 +01:00
										 |  |  |          document.location.href = "./index.php';
 | 
					
						
							| 
									
										
										
										
											2016-03-13 19:16:51 +01:00
										 |  |  |      if (isset($_GET['show'])) { | 
					
						
							|  |  |  |         echo '?show='.$_GET['show']; | 
					
						
							| 
									
										
										
										
											2016-03-04 10:57:08 +01:00
										 |  |  |      } | 
					
						
							|  |  |  |      echo '";
 | 
					
						
							|  |  |  |       }'; | 
					
						
							| 
									
										
										
										
											2016-03-13 19:16:51 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-05-04 08:33:20 +02:00
										 |  |  |      if (!isset($_GET['show']) || (($_GET['show'] != 'liveircddb') && ($_GET['show'] != 'reflectors') && ($_GET['show'] != 'interlinks'))) { | 
					
						
							| 
									
										
										
										
											2016-01-01 13:42:52 +01:00
										 |  |  |          echo ' | 
					
						
							| 
									
										
										
										
											2017-02-02 16:37:38 +01:00
										 |  |  |          setTimeout(ReloadPage, '.$PageOptions['PageRefreshDelay'].');'; | 
					
						
							| 
									
										
										
										
											2016-03-04 10:57:08 +01:00
										 |  |  |      } | 
					
						
							|  |  |  |      echo ' | 
					
						
							| 
									
										
										
										
											2016-03-13 19:16:51 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-04 10:57:08 +01:00
										 |  |  |    </script>'; | 
					
						
							| 
									
										
										
										
											2016-03-13 19:16:51 +01:00
										 |  |  |    } | 
					
						
							|  |  |  | ?>
 | 
					
						
							| 
									
										
										
										
											2016-01-01 13:42:52 +01:00
										 |  |  | </head> | 
					
						
							|  |  |  | <body> | 
					
						
							| 
									
										
										
										
											2016-03-13 19:16:51 +01:00
										 |  |  |    <?php if (file_exists("./tracking.php")) { include_once("tracking.php"); }?>
 | 
					
						
							| 
									
										
										
										
											2016-02-11 18:51:12 +01:00
										 |  |  |    <div id="top"><img src="./img/header.jpg" alt="XLX Multiprotocol Gateway Reflector" style="margin-top:15px;" /> | 
					
						
							| 
									
										
										
										
											2016-03-13 19:16:51 +01:00
										 |  |  |       <br />   <?php echo $Reflector->GetReflectorName(); ?> v<?php echo $Reflector->GetVersion(); ?> - Dashboard v<?php echo $PageOptions['DashboardVersion']; ?>  /  Service uptime: <span id="suptime"><?php echo FormatSeconds($Reflector->GetServiceUptime()); ?></span></div>
 | 
					
						
							| 
									
										
										
										
											2016-01-01 13:42:52 +01:00
										 |  |  |    <div id="menubar"> | 
					
						
							|  |  |  |       <div id="menu"> | 
					
						
							|  |  |  |          <table border="0"> | 
					
						
							|  |  |  |             <tr> | 
					
						
							| 
									
										
										
										
											2016-03-13 19:16:51 +01:00
										 |  |  |                <td><a href="./index.php" class="menulink">Users / Modules</a></td><td><a href="./index.php?show=repeaters" class="menulink">Repeaters / Nodes (<?php echo $Reflector->NodeCount(); ?>)</a></td><td><a href="./index.php?show=peers" class="menulink">Peers (<?php echo $Reflector->PeerCount(); ?>)</a></td><td><a href="./index.php?show=reflectors" class="menulink">Reflectorlist</a></td><td><a href="./index.php?show=liveircddb" class="menulink">D-Star live</a></td>
 | 
					
						
							| 
									
										
										
										
											2016-01-01 13:42:52 +01:00
										 |  |  |             </tr> | 
					
						
							|  |  |  |           </table> | 
					
						
							|  |  |  |       </div> | 
					
						
							|  |  |  |    </div> | 
					
						
							|  |  |  |    <div id="content" align="center"> | 
					
						
							| 
									
										
										
										
											2016-03-13 19:16:51 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-01-01 13:42:52 +01:00
										 |  |  | <?php | 
					
						
							| 
									
										
										
										
											2016-04-05 11:06:58 +02:00
										 |  |  |    if ($CallingHome['Active']) { | 
					
						
							|  |  |  |       if (!is_readable($CallingHome['HashFile']) && (!is_writeable($CallingHome['HashFile']))) { | 
					
						
							|  |  |  |          echo ' | 
					
						
							|  |  |  |          <div class="error"> | 
					
						
							|  |  |  |             your private hash in '.$CallingHome['HashFile'].' could not be created, please check your config file and the permissions for the defined folder. | 
					
						
							|  |  |  |          </div>'; | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |    } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-01-01 13:42:52 +01:00
										 |  |  |    if (!isset($_GET['show'])) $_GET['show'] = ""; | 
					
						
							|  |  |  |    switch ($_GET['show']) { | 
					
						
							|  |  |  |       case 'users'      : require_once("./pgs/users.php"); break; | 
					
						
							|  |  |  |       case 'repeaters'  : require_once("./pgs/repeaters.php"); break; | 
					
						
							|  |  |  |       case 'liveircddb' : require_once("./pgs/liveircddb.php"); break; | 
					
						
							| 
									
										
										
										
											2016-02-11 18:51:12 +01:00
										 |  |  |       case 'peers'      : require_once("./pgs/peers.php"); break; | 
					
						
							| 
									
										
										
										
											2016-03-13 19:16:51 +01:00
										 |  |  |       case 'reflectors' : require_once("./pgs/reflectors.php"); break; | 
					
						
							| 
									
										
										
										
											2016-01-01 13:42:52 +01:00
										 |  |  |       default           : require_once("./pgs/users.php"); | 
					
						
							|  |  |  |    } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-13 19:16:51 +01:00
										 |  |  | ?>
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-04 10:57:08 +01:00
										 |  |  |    <div style="width:100%;text-align:center;margin-top:50px;"><a href="mailto:<?php echo $PageOptions['ContactEmail']; ?>" style="font-family:verdana;color:#000000;font-size:12pt;text-decoration:none;"><?php echo $PageOptions['ContactEmail']; ?></a></div>
 | 
					
						
							| 
									
										
										
										
											2016-03-13 19:16:51 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-01-01 13:42:52 +01:00
										 |  |  |    </div> | 
					
						
							| 
									
										
										
										
											2016-03-13 19:16:51 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-01-01 13:42:52 +01:00
										 |  |  | </body> | 
					
						
							|  |  |  | </html> |