Began working on better template system.

pull/100/head
Joe Prochazka 2016-02-03 16:26:47 -05:00
rodzic e593c06160
commit 984d1ef10d
6 zmienionych plików z 148 dodań i 100 usunięć

Wyświetl plik

@ -28,23 +28,80 @@
// SOFTWARE. //
/////////////////////////////////////////////////////////////////////////////////////
class sysinfo {
/*
function memoryUsage(){
$free = shell_exec('free');
$free = (string)trim($free);
$free_arr = explode("\n", $free);
$mem = explode(" ", $free_arr[1]);
$mem = array_filter($mem);
$mem = array_merge($mem);
$memory_usage = $mem[2]/$mem[1]*100;
return $memoryUsage;
{area:name}
{$variable}
{* comment *}
*/
class template {
// PUT THE TEMPLATE TOGETHER
function display($page) {
// Load the master template.
$master = $this->readTemplate('master.tpl.php');
// Load the template for the requested page.
$page = $this->readTemplate($page.'.tpl.php');
$output = $master;
$output = mergeAreas($output, $page);
$output = mergeComments($output);
$output = mergeVariables($output);
return $output;
}
function cpuUsage(){
$load = sys_getloadavg();
return $load[0];
// TEMPLATE SYSTEM FUNCTIONS
// Return the contents of the requested template.
function readTemplate($template) {
$common = new Common($this);
return file_get_contents($_SERVER['DOCUMENT_ROOT']."/templates/".$common->getSetting('language')."/".$template, "r");
}
function mergeAreas($master, $template) {
$pattern = '\{area:(.*)/\}#U';
preg_match_all($pattern, $master, $areas, PREG_PATTERN_ORDER);
foreach ($areas[0] as $element) {
$id = extractString($element, 'id="', '"');
if if (strpos($template, '{area:'.$id.'/}') !== TRUE) {
$content = extractString($template, '{area:'.$id.'}', '{/area}');
$master = str_replace("{area:'.$id.'}", $content, $master);
} else {
$master = str_replace("{area:'.$id.'}", "", $master);
}
}
return $master;
}
function mergeComments($template) {
}
function mergeVariables($template) {
}
function processIfs($template) {
}
// Function that returns the string contained between two strings.
function extractString($string, $start, $end) {
$string = " ".$string;
$ini = strpos($string, $start);
if ($ini == 0) return "";
$ini += strlen($start);
$len = strpos($string, $end, $ini) - $ini;
return substr($string, $ini, $len);
}
}
?>

Wyświetl plik

@ -1,47 +1,51 @@
<?xml version="1.0" encoding="utf-8"?>
<settings>
<setting>
<name>siteName</name>
<value>ADS-B Feeder</value>
</setting>
<setting>
<name>template</name>
<value>default</value>
</setting>
<setting>
<name>defaultPage</name>
<value>blog</value>
</setting>
<setting>
<name>enableBlog</name>
<value>1</value>
</setting>
<setting>
<name>enableInfo</name>
<value>1</value>
</setting>
<setting>
<name>enableGraphs</name>
<value>1</value>
</setting>
<setting>
<name>enableDump1090</name>
<value>1</value>
</setting>
<setting>
<name>enableDump978</name>
<value>1</value>
</setting>
<setting>
<name>enablePfclient</name>
<value>1</value>
</setting>
<setting>
<name>measurement</name>
<value>imperial</value>
</setting>
<setting>
<name>networkInterface</name>
<value>eth0</value>
</setting>
</settings>
<?xml version="1.0" encoding="utf-8"?>
<settings>
<setting>
<name>siteName</name>
<value>ADS-B Feeder</value>
</setting>
<setting>
<name>template</name>
<value>default</value>
</setting>
<setting>
<name>defaultPage</name>
<value>blog</value>
</setting>
<setting>
<name>enableBlog</name>
<value>1</value>
</setting>
<setting>
<name>enableInfo</name>
<value>1</value>
</setting>
<setting>
<name>enableGraphs</name>
<value>1</value>
</setting>
<setting>
<name>enableDump1090</name>
<value>1</value>
</setting>
<setting>
<name>enableDump978</name>
<value>1</value>
</setting>
<setting>
<name>enablePfclient</name>
<value>1</value>
</setting>
<setting>
<name>measurement</name>
<value>imperial</value>
</setting>
<setting>
<name>networkInterface</name>
<value>eth0</value>
</setting>
<setting>
<name>language</name>
<value>en-us</value>
</setting>
</settings>

Wyświetl plik

@ -33,14 +33,15 @@
// Load the common PHP classes.
require_once('classes/common.class.php');
require_once('classes/template.class.php');
$common = new common();
$template = new template();
// The title and navigation link ID of this page.
$pageTitle = "System Information";
// Get the name of the template to use from the settings.
$siteName = $common->getSetting("siteName");
$template = $common->getSetting("template");
// Enable/disable navigation links.
$enableBlog = $common->getSetting("enableBlog");
@ -51,10 +52,6 @@
$enablePfclient = $common->getSetting("enablePfclient");
$linkId = $common->removeExtension($_SERVER["SCRIPT_NAME"])."-link";
// Include the index template.
require_once('templates/'.$template.'/system.tpl.php');
// Include the master template.
require_once('templates/'.$template.'/master.tpl.php');
$template->display("system");
?>

Wyświetl plik

@ -23,15 +23,13 @@
<html lang="en">
<head>
<meta charset="utf-8">
<title><?php echo $siteName ?>: <?php echo $pageTitle; ?></title>
<title>{$siteName}: {$title}</title>
<meta http-equiv="cache-control" content="no-cache" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap-theme.min.css">
<link rel="stylesheet" href="/templates/<?php echo $template; ?>/assets/css/portal.css">
<?php
headContent();
?>
<link rel="stylesheet" href="/templates/{$template}/assets/css/portal.css">
{area:head}
</head>
<body>
<div id="wrapper">
@ -44,23 +42,21 @@
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/"><?php echo $siteName; ?></title></a>
<a class="navbar-brand" href="/">{$siteName}</title></a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<?php ($enableBlog == 1 ? print '<li id="blog-link"><a href="/blog/">Blog</a></li>' : ''); ?>
<?php ($enableInfo == 1 ? print '<li id="system-link"><a href="/system.php">System Information</a></li>' : ''); ?>
<?php ($enableGraphs == 1 ? print '<li id="graphs-link"><a href="/graphs.php">Performance Graphs</a></li>' : ''); ?>
<?php ($enableDump1090 == 1 ? print '<li id="dump1090-link"><a href="/dump1090.php">Live Dump1090 Map</a></li>' : ''); ?>
<?php ($enableDump978 == 1 ? print '<li id="dump978-link"><a href="/dump978.php">Live Dump978 Map</a></li>' : ''); ?>
<?php ($enablePfclient == 1 ? print '<!-- Plane Finder ADS-B Client Link Placeholder -->' : ''); ?>
{if $enableBlog}<li id="blog-link"><a href="/blog/">Blog</a></li>{/if}
{if $enableInfo}<li id="system-link"><a href="/system.php">System Information</a></li>{/if}
{if $enableGraphs}<li id="graphs-link"><a href="/graphs.php">Performance Graphs</a></li>{/if}
{if $enableDump1090}<li id="dump1090-link"><a href="/dump1090.php">Live Dump1090 Map</a></li>{/if}
{if $enableDump978}<li id="dump978-link"><a href="/dump978.php">Live Dump978 Map</a></li>{/if}
{if $enableDump978}<!-- Plane Finder ADS-B Client Link Placeholder -->{/if}
</ul>
</div>
</div>
</nav>
<?php
pageContent();
?>
{area:content}
<div id="push"></div>
</div>
<footer id="footer">
@ -73,10 +69,8 @@
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<script src="https://code.jquery.com/jquery-2.2.0.min.js"></script>
<script type="text/javascript">
$('#<?php echo $linkId ?>').addClass("active");
$('#{$id}').addClass("active");
</script>
<?php
scriptContent();
?>
{area:scripts}
</body>
</html>

Wyświetl plik

@ -18,21 +18,13 @@
// A copy of the license can be found package along with these files. //
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////
// Additional <head> content.
function headContent() { }
///////////////////
// Page content.
function pageContent() {
?>
{area:head}
<style></style>
{/area}
{area:contents}
<div class="container">
<h1>System information coming soon...</h1>
<h1>{$comingSoon}</h1>
</div>
<?php
}
/////////////////////////////////////////////////
// Content to be added to the scripts section.
function scriptContent() {}
?>
{/area}
{area:scripts/}

Wyświetl plik

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<strings>
<string id="comingSoon">System information coming soon...</string>
</strings>