about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorKelly Rauchenberger <fefferburbia@gmail.com>2008-06-23 10:00:56 +0000
committerKelly Rauchenberger <fefferburbia@gmail.com>2008-06-23 10:00:56 +0000
commit24ee5485d1bb0c86833977dbfbd2e4999dba8e16 (patch)
treeb428b873939bcd7059291eeaeac07b06eb2ec0fa
parentc6e3d927c343280bc1fd6d0dfdb64658151e9aac (diff)
downloadinstadisc-24ee5485d1bb0c86833977dbfbd2e4999dba8e16.tar.gz
instadisc-24ee5485d1bb0c86833977dbfbd2e4999dba8e16.tar.bz2
instadisc-24ee5485d1bb0c86833977dbfbd2e4999dba8e16.zip
Moved over to the Four Island Templating System.
-rw-r--r--central/trunk/includes/common.php (renamed from central/trunk/common.php)5
-rw-r--r--central/trunk/includes/db.php (renamed from central/trunk/db.php)4
-rw-r--r--central/trunk/includes/template.php160
-rw-r--r--central/trunk/index.php11
-rw-r--r--central/trunk/theme/index.tpl3
5 files changed, 174 insertions, 9 deletions
diff --git a/central/trunk/common.php b/central/trunk/includes/common.php index 573ce15..39a7ed2 100644 --- a/central/trunk/common.php +++ b/central/trunk/includes/common.php
@@ -2,12 +2,13 @@
2 2
3/* InstaDisc Server - A Four Island Project */ 3/* InstaDisc Server - A Four Island Project */
4 4
5include('db.php'); 5include('includes/db.php');
6 6
7$getconfig = "SELECT * FROM config"; 7$getconfig = "SELECT * FROM config";
8$getconfig2 = mysql_query($getconfig); 8$getconfig2 = mysql_query($getconfig);
9$config = mysql_fetch_array($getconfig2); 9$config = mysql_fetch_array($getconfig2);
10 10
11include('header.php'); 11include('includes/template.php');
12include('includes/header.php');
12 13
13?> 14?>
diff --git a/central/trunk/db.php b/central/trunk/includes/db.php index c492722..2fe1eed 100644 --- a/central/trunk/db.php +++ b/central/trunk/includes/db.php
@@ -2,7 +2,7 @@
2 2
3/* InstaDisc Server - A Four Island Project */ 3/* InstaDisc Server - A Four Island Project */
4 4
5if (!file_exists('config.php')) 5if (!file_exists('includes/config.php'))
6{ 6{
7 header('Location: install.php'); 7 header('Location: install.php');
8 exit; 8 exit;
@@ -13,7 +13,7 @@ if (file_exists('install.php'))
13 die('Excuse me, but you need to delete install.php before you can use this as leaving install.php there is a biiiig security hole.'); 13 die('Excuse me, but you need to delete install.php before you can use this as leaving install.php there is a biiiig security hole.');
14} 14}
15 15
16include('config.php'); 16include('includes/config.php');
17 17
18mysql_connect($dbhost, $dbuser, $dbpass); 18mysql_connect($dbhost, $dbuser, $dbpass);
19mysql_select_db($dbname); 19mysql_select_db($dbname);
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 @@
1<?php
2/*
3 444444444
4 4::::::::4
5 4:::::::::4
6 4::::44::::4
7 4::::4 4::::4 Four Island
8 4::::4 4::::4
9 4::::4 4::::4 Written and maintained by Starla Insigna
104::::444444::::444
114::::::::::::::::4 includes/template.php
124444444444:::::444
13 4::::4 Please do not use, reproduce or steal the
14 4::::4 contents of this file without explicit
15 4::::4 permission from Hatkirby.
16 44::::::44
17 4::::::::4
18 4444444444
19*/
20
21class FITemplate
22{
23
24 var $file;
25 var $tags;
26 var $blocks;
27 var $refs;
28
29 function FITemplate($filename)
30 {
31 $tfn = 'theme/' . $filename . '.tpl';
32 if (file_exists($tfn))
33 {
34 $this->file = $tfn;
35 } else {
36 throw new Exception($tfn . ' does not exist');
37 }
38 }
39
40 function add($name, $value)
41 {
42 $this->tags[$name] = $value;
43 }
44
45 function adds($tagarr)
46 {
47 foreach ($tagarr as $name => $value)
48 {
49 add($name,$value);
50 }
51 }
52
53 function adds_block($block, $tagarr)
54 {
55 if (!isset($this->blocks[$block]))
56 {
57 $this->blocks[$block] = array('count' => 1);
58 }
59 foreach ($tagarr as $name => $value)
60 {
61 $this->blocks[$block][$this->blocks[$block]['count']][$name] = $value;
62 }
63 $this->blocks[$block]['count']++;
64 }
65
66 function add_ref($id, $block, $tagarr)
67 {
68 $this->adds_block($block,$tagarr);
69 $this->refs[$id] = &$this->blocks[$block][$this->blocks[$block]['count']-1];//'$this->blocks[\'' . $block . '\'][' . ($this->blocks[$block]['count']-1) . ']';
70 }
71
72 function adds_ref($id, $tagarr)
73 {
74 foreach ($tagarr as $name => $value)
75 {
76 $this->refs[$id][$name] = $value;
77 }
78 }
79
80 function adds_ref_sub($id, $block, $tagarr)
81 {
82 if (!isset($this->refs[$id][$block]))
83 {
84 $this->refs[$id][$block] = array('count' => 1);
85 }
86 foreach ($tagarr as $name => $value)
87 {
88 $this->refs[$id][$block][$this->refs[$id][$block]['count']][$name] = $value;
89 }
90 $this->refs[$id][$block]['count']++;
91 }
92
93 function display()
94 {
95 $template = file_get_contents($this->file);
96 while (preg_match('/<!--INCLUDE ([^>]*)-->/',$template) == 1)
97 {
98 preg_match('/<!--INCLUDE ([^>]*)-->/',$template,$mat);
99 $fname = $mat[1];
100 $itmp = new FITemplate($fname);
101 $template = str_replace('<!--INCLUDE ' . $fname . '-->',file_get_contents($itmp->file),$template);
102 }
103 if (isset($this->tags))
104 {
105 foreach ($this->tags as $name => $value)
106 {
107 $template = str_replace('<!--' . $name . '-->',$value,$template);
108 }
109 }
110 if (isset($this->blocks))
111 {
112 foreach ($this->blocks as $bname => $block)
113 {
114 $this->parseBlock($template, $bname, $block);
115 }
116 }
117 while (preg_match('/<!--BEGIN ([^>]*)-->/',$template) == 1)
118 {
119 preg_match('/<!--BEGIN ([^>]*)-->/',$template,$mat);
120 $bname = $mat[1];
121 $start = strpos($template,'<!--BEGIN ' . $bname . '-->');
122 $end = strpos($template,'<!--END ' . $bname . '-->');
123 $template = str_replace(substr($template,$start,$end-$start+strlen($bname)+11),'',$template);
124 }
125 $template = preg_replace('/<!--([^>]*)-->/','',$template);
126 echo($template);
127 }
128
129 function parseBlock(&$template, $bname, $block)
130 {
131 while (strpos($template,'<!--BEGIN ' . $bname . '-->') !== FALSE)
132 {
133 $start = strpos($template,'<!--BEGIN ' . $bname . '-->');
134 $end = strpos($template,'<!--END ' . $bname . '-->');
135 $gencont = substr($template,$start+strlen($bname)+13,$end-$start-strlen($bname)-13);
136 $blockcont = '';
137 foreach ($block as $lname => $blocktags)
138 {
139 if ($lname != 'count')
140 {
141 $scrcont = $gencont;
142 foreach ($blocktags as $name => $value)
143 {
144 if (!is_array($value))
145 {
146 $scrcont = str_replace('<!--' . $bname . '.' . $name . '-->',$value,$scrcont);
147 } else {
148 $this->parseBlock($scrcont, $bname . '.' . $name, $value);
149 }
150 }
151 $blockcont .= $scrcont;
152 }
153 }
154 $template = str_replace(substr($template,$start,$end-$start+strlen($bname)+11),$blockcont,$template);
155 }
156 }
157
158}
159
160?>
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 @@
2 2
3/* InstaDisc Server - A Four Island Project */ 3/* InstaDisc Server - A Four Island Project */
4 4
5include('common.php'); 5include('includes/common.php');
6 6
7?>Welcome to the <?php echo($config['title']); ?> InstaDisc Server!<P><?php 7$template = new FITemplate('index');
8$template->add('TITLE', $config['title']);
9$template->add('TEXT', $config['text']);
10$template->display();
8 11
9echo($config['text']); 12include('includes/footer.php');
10
11include('footer.php');
12 13
13?> 14?>
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 @@
1Welcome to the <!--TITLE--> InstaDisc Server!
2<P>
3<!--TEXT-->