<?php

OnlyShowIf(CheckAdmin());

$title = "Driver Logs";

include($installfolder.'/include/tmpl.php');
include($installfolder.'/model/relationship.php');

T('header-basic','title='.$title.'|backtrace=<li><a href="'.$siteroot.'/admin">Administration</a></li>');

ST('section','class=content');
	ST('row');
		
		ST('half');
			ST('box-collapsible','title=Driver List');?>
				<a href="<?php echo $siteroot; ?>/admin/drivers" class="btn btn-success">Return to Driver List</a><?php
				SS('footer');
				ST('table');
					$query = $db->query("SELECT port,assetid,datadriver.name as dname, assets.name as aname, datadriver.mode, datasources.profile as prof, datadriver.mode as mode, datadriver.driver FROM datadriver JOIN datasources ON (datadriver.port = datasources.gatewayport) JOIN assets ON (assets.id = datasources.assetid) ORDER BY datadriver.name");
		
					$driverid = 0;
					while($p = $query->fetch(PDO::FETCH_ASSOC)) 
					{
						
						if ($p['port'] != $driverid)
						{
							$running = '<span class="label label-warning">Offline</span>';
							$lockfile = '/var/run/drv-'.$p['driver'].'-'.$p['port'].'.pid';
							#echo 'Checking '.$lockfile;
							try
							{
								#$fp = @fopen($lockfile,'r+');
								if (file_exists($lockfile))
								{
								    #echo 'File Exists!';
								    $pid = file_get_contents($lockfile);
								    #echo 'Running On PID '.$pid;
								    
								    $dta = shell_exec("ps -p ".$pid);
								    #echo $dta;
								    
								    if (count(explode("\n",$dta)) > 1)
								    {
									#if(!flock($fp, LOCK_EX | LOCK_NB)) {
									$running = '<span class="label label-success">Online</span>';
									#}
								        #else
								        #{
									#    echo 'I Could Lock The File!';
									#}
									#fclose($fp);
								    }
								}
							}
							catch (Exception $e) 
							{
								echo 'Well, that didn\'t work out so well...';
							}
						
							echo '<tr><td><a href="showlog?type=driver&id='.$p['port'].'">'.$p['dname'].' ( '.$p['port'].' )</a></td><td>'.$running.'</td></tr>';
						}
						echo '<tr><td>&nbsp;&nbsp;&nbsp;<a href="showlog?id='.$p['port'].'&src='.$p['assetid'].'&profile='.$p['prof'].'&mode='.$p['mode'].'">'.$p['aname'].'</td><td>&nbsp;</td></tr>';
					}
				ET();
			ET();
		ET();
	ET();	
ET();

?>
