diff options
author | Kelly Rauchenberger <fefferburbia@gmail.com> | 2008-07-05 13:38:57 +0000 |
---|---|---|
committer | Kelly Rauchenberger <fefferburbia@gmail.com> | 2008-07-05 13:38:57 +0000 |
commit | 3741a16e708fb022d6d05f353c581af831bedf3e (patch) | |
tree | afa1b4a288f19a3cf2f003abfa6d2f8523e8baba /central | |
parent | 24ee5485d1bb0c86833977dbfbd2e4999dba8e16 (diff) | |
download | instadisc-3741a16e708fb022d6d05f353c581af831bedf3e.tar.gz instadisc-3741a16e708fb022d6d05f353c581af831bedf3e.tar.bz2 instadisc-3741a16e708fb022d6d05f353c581af831bedf3e.zip |
Redid InstaDisc, new technique in store
New technique is to use XML-RPC hooks instead of a pre-built HTML interface so people who host Central Servers will not have to use the default interface, instead allowing them to create their own.
Diffstat (limited to 'central')
-rw-r--r-- | central/trunk/.htaccess | 4 | ||||
-rw-r--r-- | central/trunk/db.php (renamed from central/trunk/includes/db.php) | 4 | ||||
-rw-r--r-- | central/trunk/includes/common.php | 14 | ||||
-rw-r--r-- | central/trunk/includes/template.php | 160 | ||||
-rw-r--r-- | central/trunk/install.php | 20 |
5 files changed, 26 insertions, 176 deletions
diff --git a/central/trunk/.htaccess b/central/trunk/.htaccess new file mode 100644 index 0000000..aad8de8 --- /dev/null +++ b/central/trunk/.htaccess | |||
@@ -0,0 +1,4 @@ | |||
1 | RewriteEngine On | ||
2 | RewriteCond %{REQUEST_FILENAME} !-f | ||
3 | RewriteCond %{REQUEST_FILENAME} !-d | ||
4 | RewriteRule ^(.+) /theme/$1 [QSA,L] | ||
diff --git a/central/trunk/includes/db.php b/central/trunk/db.php index 2fe1eed..c492722 100644 --- a/central/trunk/includes/db.php +++ b/central/trunk/db.php | |||
@@ -2,7 +2,7 @@ | |||
2 | 2 | ||
3 | /* InstaDisc Server - A Four Island Project */ | 3 | /* InstaDisc Server - A Four Island Project */ |
4 | 4 | ||
5 | if (!file_exists('includes/config.php')) | 5 | if (!file_exists('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 | ||
16 | include('includes/config.php'); | 16 | include('config.php'); |
17 | 17 | ||
18 | mysql_connect($dbhost, $dbuser, $dbpass); | 18 | mysql_connect($dbhost, $dbuser, $dbpass); |
19 | mysql_select_db($dbname); | 19 | mysql_select_db($dbname); |
diff --git a/central/trunk/includes/common.php b/central/trunk/includes/common.php deleted file mode 100644 index 39a7ed2..0000000 --- a/central/trunk/includes/common.php +++ /dev/null | |||
@@ -1,14 +0,0 @@ | |||
1 | <?php | ||
2 | |||
3 | /* InstaDisc Server - A Four Island Project */ | ||
4 | |||
5 | include('includes/db.php'); | ||
6 | |||
7 | $getconfig = "SELECT * FROM config"; | ||
8 | $getconfig2 = mysql_query($getconfig); | ||
9 | $config = mysql_fetch_array($getconfig2); | ||
10 | |||
11 | include('includes/template.php'); | ||
12 | include('includes/header.php'); | ||
13 | |||
14 | ?> | ||
diff --git a/central/trunk/includes/template.php b/central/trunk/includes/template.php deleted file mode 100644 index cf2a6ab..0000000 --- a/central/trunk/includes/template.php +++ /dev/null | |||
@@ -1,160 +0,0 @@ | |||
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 | ||
10 | 4::::444444::::444 | ||
11 | 4::::::::::::::::4 includes/template.php | ||
12 | 4444444444:::::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 | |||
21 | class 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/install.php b/central/trunk/install.php new file mode 100644 index 0000000..f689875 --- /dev/null +++ b/central/trunk/install.php | |||
@@ -0,0 +1,20 @@ | |||
1 | <?php | ||
2 | |||
3 | /* InstaDisc Server - A Four Island Project */ | ||
4 | |||
5 | if (!isset($_GET['step'])) | ||
6 | { | ||
7 | ?>Welcome to the InstaDisc Central Server installation! Please input your database details here:<P><FORM ACTION="./install.php?step=2" METHOD="POST">Database host: <INPUT TYPE="text" NAME="host" VALUE="localhost"><BR>Username: <INPUT TYPE="text" NAME="username" VALUE="root"><BR>Password: <INPUT TYPE="text" NAME="password"><BR>Database name: <INPUT TYPE="text" NAME="name"> (Note: You must create this database BEFORE running installation)<BR><INPUT TYPE="submit"></FORM><?php | ||
8 | } else if ($_GET['step']==2) | ||
9 | { | ||
10 | if (!mysql_connect($_POST['host'], $_POST['username'], $_POST['password'])) | ||
11 | { | ||
12 | ?>Oops! Something went wrong!<?php exit(); | ||
13 | } | ||
14 | if (!mysql_select_db($_POST['name'])) | ||
15 | { | ||
16 | ?>Oops! Something went wrong!<?php exit(); | ||
17 | } | ||
18 | } | ||
19 | |||
20 | ?> | ||