about summary refs log tree commit diff stats
path: root/central
diff options
context:
space:
mode:
authorKelly Rauchenberger <fefferburbia@gmail.com>2008-07-05 13:38:57 +0000
committerKelly Rauchenberger <fefferburbia@gmail.com>2008-07-05 13:38:57 +0000
commit3741a16e708fb022d6d05f353c581af831bedf3e (patch)
treeafa1b4a288f19a3cf2f003abfa6d2f8523e8baba /central
parent24ee5485d1bb0c86833977dbfbd2e4999dba8e16 (diff)
downloadinstadisc-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/.htaccess4
-rw-r--r--central/trunk/db.php (renamed from central/trunk/includes/db.php)4
-rw-r--r--central/trunk/includes/common.php14
-rw-r--r--central/trunk/includes/template.php160
-rw-r--r--central/trunk/install.php20
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 @@
1RewriteEngine On
2RewriteCond %{REQUEST_FILENAME} !-f
3RewriteCond %{REQUEST_FILENAME} !-d
4RewriteRule ^(.+) /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
5if (!file_exists('includes/config.php')) 5if (!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
16include('includes/config.php'); 16include('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/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
5include('includes/db.php');
6
7$getconfig = "SELECT * FROM config";
8$getconfig2 = mysql_query($getconfig);
9$config = mysql_fetch_array($getconfig2);
10
11include('includes/template.php');
12include('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
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/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
5if (!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?>