From 24ee5485d1bb0c86833977dbfbd2e4999dba8e16 Mon Sep 17 00:00:00 2001 From: Kelly Rauchenberger Date: Mon, 23 Jun 2008 10:00:56 +0000 Subject: Moved over to the Four Island Templating System. --- central/trunk/common.php | 13 --- central/trunk/db.php | 21 ----- central/trunk/includes/common.php | 14 ++++ central/trunk/includes/db.php | 21 +++++ central/trunk/includes/template.php | 160 ++++++++++++++++++++++++++++++++++++ central/trunk/index.php | 11 +-- central/trunk/theme/index.tpl | 3 + 7 files changed, 204 insertions(+), 39 deletions(-) delete mode 100644 central/trunk/common.php delete mode 100644 central/trunk/db.php create mode 100644 central/trunk/includes/common.php create mode 100644 central/trunk/includes/db.php create mode 100644 central/trunk/includes/template.php create mode 100644 central/trunk/theme/index.tpl (limited to 'central') diff --git a/central/trunk/common.php b/central/trunk/common.php deleted file mode 100644 index 573ce15..0000000 --- a/central/trunk/common.php +++ /dev/null @@ -1,13 +0,0 @@ - diff --git a/central/trunk/db.php b/central/trunk/db.php deleted file mode 100644 index c492722..0000000 --- a/central/trunk/db.php +++ /dev/null @@ -1,21 +0,0 @@ - diff --git a/central/trunk/includes/common.php b/central/trunk/includes/common.php new file mode 100644 index 0000000..39a7ed2 --- /dev/null +++ b/central/trunk/includes/common.php @@ -0,0 +1,14 @@ + diff --git a/central/trunk/includes/db.php b/central/trunk/includes/db.php new file mode 100644 index 0000000..2fe1eed --- /dev/null +++ b/central/trunk/includes/db.php @@ -0,0 +1,21 @@ + diff --git a/central/trunk/includes/template.php b/central/trunk/includes/template.php new file mode 100644 index 0000000..cf2a6ab --- /dev/null +++ b/central/trunk/includes/template.php @@ -0,0 +1,160 @@ +file = $tfn; + } else { + throw new Exception($tfn . ' does not exist'); + } + } + + function add($name, $value) + { + $this->tags[$name] = $value; + } + + function adds($tagarr) + { + foreach ($tagarr as $name => $value) + { + add($name,$value); + } + } + + function adds_block($block, $tagarr) + { + if (!isset($this->blocks[$block])) + { + $this->blocks[$block] = array('count' => 1); + } + foreach ($tagarr as $name => $value) + { + $this->blocks[$block][$this->blocks[$block]['count']][$name] = $value; + } + $this->blocks[$block]['count']++; + } + + function add_ref($id, $block, $tagarr) + { + $this->adds_block($block,$tagarr); + $this->refs[$id] = &$this->blocks[$block][$this->blocks[$block]['count']-1];//'$this->blocks[\'' . $block . '\'][' . ($this->blocks[$block]['count']-1) . ']'; + } + + function adds_ref($id, $tagarr) + { + foreach ($tagarr as $name => $value) + { + $this->refs[$id][$name] = $value; + } + } + + function adds_ref_sub($id, $block, $tagarr) + { + if (!isset($this->refs[$id][$block])) + { + $this->refs[$id][$block] = array('count' => 1); + } + foreach ($tagarr as $name => $value) + { + $this->refs[$id][$block][$this->refs[$id][$block]['count']][$name] = $value; + } + $this->refs[$id][$block]['count']++; + } + + function display() + { + $template = file_get_contents($this->file); + while (preg_match('//',$template) == 1) + { + preg_match('//',$template,$mat); + $fname = $mat[1]; + $itmp = new FITemplate($fname); + $template = str_replace('',file_get_contents($itmp->file),$template); + } + if (isset($this->tags)) + { + foreach ($this->tags as $name => $value) + { + $template = str_replace('',$value,$template); + } + } + if (isset($this->blocks)) + { + foreach ($this->blocks as $bname => $block) + { + $this->parseBlock($template, $bname, $block); + } + } + while (preg_match('//',$template) == 1) + { + preg_match('//',$template,$mat); + $bname = $mat[1]; + $start = strpos($template,''); + $end = strpos($template,''); + $template = str_replace(substr($template,$start,$end-$start+strlen($bname)+11),'',$template); + } + $template = preg_replace('//','',$template); + echo($template); + } + + function parseBlock(&$template, $bname, $block) + { + while (strpos($template,'') !== FALSE) + { + $start = strpos($template,''); + $end = strpos($template,''); + $gencont = substr($template,$start+strlen($bname)+13,$end-$start-strlen($bname)-13); + $blockcont = ''; + foreach ($block as $lname => $blocktags) + { + if ($lname != 'count') + { + $scrcont = $gencont; + foreach ($blocktags as $name => $value) + { + if (!is_array($value)) + { + $scrcont = str_replace('',$value,$scrcont); + } else { + $this->parseBlock($scrcont, $bname . '.' . $name, $value); + } + } + $blockcont .= $scrcont; + } + } + $template = str_replace(substr($template,$start,$end-$start+strlen($bname)+11),$blockcont,$template); + } + } + +} + +?> diff --git a/central/trunk/index.php b/central/trunk/index.php index 6ba21ab..8ced805 100644 --- a/central/trunk/index.php +++ b/central/trunk/index.php @@ -2,12 +2,13 @@ /* InstaDisc Server - A Four Island Project */ -include('common.php'); +include('includes/common.php'); -?>Welcome to the InstaDisc Server!

add('TITLE', $config['title']); +$template->add('TEXT', $config['text']); +$template->display(); -echo($config['text']); - -include('footer.php'); +include('includes/footer.php'); ?> diff --git a/central/trunk/theme/index.tpl b/central/trunk/theme/index.tpl new file mode 100644 index 0000000..637648d --- /dev/null +++ b/central/trunk/theme/index.tpl @@ -0,0 +1,3 @@ +Welcome to the InstaDisc Server! +

+ -- cgit 1.4.1