diff options
author | Kelly Rauchenberger <fefferburbia@gmail.com> | 2008-09-06 21:42:34 +0000 |
---|---|---|
committer | Kelly Rauchenberger <fefferburbia@gmail.com> | 2008-09-06 21:42:34 +0000 |
commit | fe678d3e0ed345aa5edbc9dd0ae98faa7cc322c0 (patch) | |
tree | ef4aca9adde8522de8d3e6f56107045be00799f1 | |
parent | 0b80d600e22ac218a59e1c09967a3caee91b1981 (diff) | |
download | instadisc-fe678d3e0ed345aa5edbc9dd0ae98faa7cc322c0.tar.gz instadisc-fe678d3e0ed345aa5edbc9dd0ae98faa7cc322c0.tar.bz2 instadisc-fe678d3e0ed345aa5edbc9dd0ae98faa7cc322c0.zip |
Central: Started moving to Series
Refs #28
-rw-r--r-- | central/trunk/activatesub.php | 124 | ||||
-rw-r--r-- | central/trunk/addsub.php | 94 | ||||
-rw-r--r-- | central/trunk/includes/instadisc.php | 142 | ||||
-rw-r--r-- | central/trunk/instadisc.sql | 54 | ||||
-rw-r--r-- | central/trunk/mansub.php | 27 | ||||
-rw-r--r-- | central/trunk/theme/activatedsub.tpl | 14 | ||||
-rw-r--r-- | central/trunk/theme/activatesub.tpl | 51 | ||||
-rw-r--r-- | central/trunk/theme/addedsub.tpl | 17 | ||||
-rw-r--r-- | central/trunk/theme/addsub.tpl | 50 | ||||
-rw-r--r-- | central/trunk/theme/mansub.tpl | 30 | ||||
-rw-r--r-- | central/trunk/theme/userpanel.tpl | 6 | ||||
-rw-r--r-- | central/trunk/xmlrpc.php | 83 |
12 files changed, 66 insertions, 626 deletions
diff --git a/central/trunk/activatesub.php b/central/trunk/activatesub.php deleted file mode 100644 index 46a05ec..0000000 --- a/central/trunk/activatesub.php +++ /dev/null | |||
@@ -1,124 +0,0 @@ | |||
1 | <?php | ||
2 | |||
3 | /* InstaDisc Server - A Four Island Project */ | ||
4 | |||
5 | include('includes/instadisc.php'); | ||
6 | include('includes/template.php'); | ||
7 | |||
8 | if (isset($_SESSION['username'])) | ||
9 | { | ||
10 | if (!isset($_GET['submit'])) | ||
11 | { | ||
12 | showForm('',array()); | ||
13 | } else { | ||
14 | $numOfErrors = 0; | ||
15 | $errors = array(); | ||
16 | |||
17 | $getpending = "SELECT * FROM pending2 WHERE username = \"" . mysql_real_escape_string($_SESSION['username']) . "\" AND url = \"" . mysql_real_escape_string($_POST['url']) . "\""; | ||
18 | $getpending2 = mysql_query($getpending); | ||
19 | $getpending3 = mysql_fetch_array($getpending2); | ||
20 | if ($getpending3['username'] != $_POST['username']) | ||
21 | { | ||
22 | addError($numOfErrors, $errors, 'url', 'Subscription could not be found'); | ||
23 | } | ||
24 | |||
25 | if ($numOfErrors > 0) | ||
26 | { | ||
27 | showForm($_POST['url'], $errors); | ||
28 | } else { | ||
29 | if ($_POST['submit'] == "Verify") | ||
30 | { | ||
31 | switch (instaDisc_addSubscription($_SESSION['username'], $_POST['url'])) | ||
32 | { | ||
33 | case 0: | ||
34 | $template = new FITemplate('activatedsub'); | ||
35 | $template->add('SITENAME', instaDisc_getConfig('siteName')); | ||
36 | $template->display(); | ||
37 | break; | ||
38 | |||
39 | case 1: | ||
40 | addError($numOfErrors, $errors, '', 'Unknown error'); | ||
41 | showForm($_POST['url'], $errors); | ||
42 | break; | ||
43 | |||
44 | case 2: | ||
45 | addError($numOfErrors, $errors, 'url', 'Subscription could not be found'); | ||
46 | showForm($_POST['url'], $errors); | ||
47 | break; | ||
48 | |||
49 | case 3: | ||
50 | addError($numOfErrors, $errors, '', 'Subscription File is not well-formed'); | ||
51 | showForm($_POST['url'], $errors); | ||
52 | break; | ||
53 | |||
54 | case 4: | ||
55 | addError($numOfErrors, $errors, '', 'Key in Subscription File is incorrect'); | ||
56 | showForm($_POST['url'], $errors); | ||
57 | break; | ||
58 | } | ||
59 | } else { | ||
60 | instaDisc_cancelSubscription($_SESSION['username'], $_POST['url']); | ||
61 | } | ||
62 | } | ||
63 | } | ||
64 | } else { | ||
65 | header('Location: index.php'); | ||
66 | } | ||
67 | |||
68 | function showForm($url, $errors) | ||
69 | { | ||
70 | $template = new FITemplate('activatesub'); | ||
71 | $template->add('SITENAME', instaDisc_getConfig('siteName')); | ||
72 | |||
73 | if (isset($errors[1])) | ||
74 | { | ||
75 | $template->adds_block('ERROR', array('ex'=>'1')); | ||
76 | |||
77 | foreach ($errors as $name => $value) | ||
78 | { | ||
79 | $template->adds_block('ERRORS', array( 'NAME' => $name, | ||
80 | 'MSG' => $value['msg'])); | ||
81 | } | ||
82 | } | ||
83 | |||
84 | $template->add('URL_ERR', ifErrors($errors, 'url')); | ||
85 | |||
86 | doErrors($template, $errors, 'url'); | ||
87 | |||
88 | $template->add('URL', $url); | ||
89 | |||
90 | $template->display(); | ||
91 | } | ||
92 | |||
93 | function ifErrors($errors, $id) | ||
94 | { | ||
95 | foreach ($errors as $name => $value) | ||
96 | { | ||
97 | if ($value['field'] == $id) | ||
98 | { | ||
99 | return ' error'; | ||
100 | } | ||
101 | } | ||
102 | |||
103 | return ''; | ||
104 | } | ||
105 | |||
106 | function doErrors($template, $errors, $id) | ||
107 | { | ||
108 | foreach ($errors as $name => $value) | ||
109 | { | ||
110 | if ($value['field'] == $id) | ||
111 | { | ||
112 | $template->adds_block(strtoupper($id) . '_ERRS', array( 'NAME' => $name, | ||
113 | 'VALUE' => $value['msg'])); | ||
114 | } | ||
115 | } | ||
116 | } | ||
117 | |||
118 | function addError(&$numOfErrors, &$errors, $field, $msg) | ||
119 | { | ||
120 | $numOfErrors++; | ||
121 | $errors[$numOfErrors] = array('field' => $field, 'msg' => $msg); | ||
122 | } | ||
123 | |||
124 | ?> | ||
diff --git a/central/trunk/addsub.php b/central/trunk/addsub.php deleted file mode 100644 index fd46234..0000000 --- a/central/trunk/addsub.php +++ /dev/null | |||
@@ -1,94 +0,0 @@ | |||
1 | <?php | ||
2 | |||
3 | /* InstaDisc Server - A Four Island Project */ | ||
4 | |||
5 | include('includes/instadisc.php'); | ||
6 | include('includes/template.php'); | ||
7 | |||
8 | if (!isset($_GET['submit'])) | ||
9 | { | ||
10 | showForm('',array()); | ||
11 | } else { | ||
12 | $numOfErrors = 0; | ||
13 | $errors = array(); | ||
14 | |||
15 | if ($_POST['url'] == '') | ||
16 | { | ||
17 | addError($numOfErrors, $errors, 'url', 'URL is a required field'); | ||
18 | } | ||
19 | |||
20 | if ($numOfErrors > 0) | ||
21 | { | ||
22 | showForm($_POST['url'], $errors); | ||
23 | } else { | ||
24 | $key = instaDisc_generateSubscriptionActivation($_SESSION['username'], $_POST['url']); | ||
25 | if ($key !== FALSE) | ||
26 | { | ||
27 | $template = new FITemplate('addedsub'); | ||
28 | $template->add('SITENAME', instaDisc_getConfig('siteName')); | ||
29 | $template->add('KEY', $key); | ||
30 | $template->display(); | ||
31 | } else { | ||
32 | addError($numOfErrors, $errors, '', 'Unknown error'); | ||
33 | showForm($_POST['url'], $errors); | ||
34 | } | ||
35 | } | ||
36 | } | ||
37 | |||
38 | function showForm($url, $errors) | ||
39 | { | ||
40 | $template = new FITemplate('addsub'); | ||
41 | $template->add('SITENAME', instaDisc_getConfig('siteName')); | ||
42 | |||
43 | if (isset($errors[1])) | ||
44 | { | ||
45 | $template->adds_block('ERROR', array('ex'=>'1')); | ||
46 | |||
47 | foreach ($errors as $name => $value) | ||
48 | { | ||
49 | $template->adds_block('ERRORS', array( 'NAME' => $name, | ||
50 | 'MSG' => $value['msg'])); | ||
51 | } | ||
52 | } | ||
53 | |||
54 | $template->add('URL_ERR', ifErrors($errors, 'url')); | ||
55 | |||
56 | doErrors($template, $errors, 'url'); | ||
57 | |||
58 | $template->add('URL', $url); | ||
59 | |||
60 | $template->display(); | ||
61 | } | ||
62 | |||
63 | function ifErrors($errors, $id) | ||
64 | { | ||
65 | foreach ($errors as $name => $value) | ||
66 | { | ||
67 | if ($value['field'] == $id) | ||
68 | { | ||
69 | return ' error'; | ||
70 | } | ||
71 | } | ||
72 | |||
73 | return ''; | ||
74 | } | ||
75 | |||
76 | function doErrors($template, $errors, $id) | ||
77 | { | ||
78 | foreach ($errors as $name => $value) | ||
79 | { | ||
80 | if ($value['field'] == $id) | ||
81 | { | ||
82 | $template->adds_block(strtoupper($id) . '_ERRS', array( 'NAME' => $name, | ||
83 | 'VALUE' => $value['msg'])); | ||
84 | } | ||
85 | } | ||
86 | } | ||
87 | |||
88 | function addError(&$numOfErrors, &$errors, $field, $msg) | ||
89 | { | ||
90 | $numOfErrors++; | ||
91 | $errors[$numOfErrors] = array('field' => $field, 'msg' => $msg); | ||
92 | } | ||
93 | |||
94 | ?> | ||
diff --git a/central/trunk/includes/instadisc.php b/central/trunk/includes/instadisc.php index d00893b..3f3922a 100644 --- a/central/trunk/includes/instadisc.php +++ b/central/trunk/includes/instadisc.php | |||
@@ -271,148 +271,6 @@ function instaDisc_getConfig($key) | |||
271 | return $getconfig3['value']; | 271 | return $getconfig3['value']; |
272 | } | 272 | } |
273 | 273 | ||
274 | function instaDisc_listSubscriptions($username) | ||
275 | { | ||
276 | $getsubs = "SELECT * FROM subscriptions WHERE username = \"" . mysql_real_escape_string($username) . "\" AND owner = \"true\""; | ||
277 | $getsubs2 = mysql_query($getsubs); | ||
278 | $i=0; | ||
279 | while ($getsubs3[$i] = mysql_fetch_array($getsubs2)) | ||
280 | { | ||
281 | $subs[$i] = $getsubs3[$i]['url']; | ||
282 | |||
283 | $i++; | ||
284 | } | ||
285 | |||
286 | $subs['size'] = $i; | ||
287 | return $subs; | ||
288 | } | ||
289 | |||
290 | function instaDisc_addSubscription($username, $url) | ||
291 | { | ||
292 | $getcode = "SELECT * FROM pending2 WHERE username = \"" . mysql_real_escape_string($username) . "\" AND url = \"" . mysql_real_escape_string($url) . "\""; | ||
293 | $getcode2 = mysql_query($getcode); | ||
294 | $getcode3 = mysql_fetch_array($getcode2); | ||
295 | if ($getcode3['username'] == $username) | ||
296 | { | ||
297 | $c = curl_init(); | ||
298 | curl_setopt($c, CURLOPT_URL, $url); | ||
299 | curl_setopt($c, CURLOPT_HEADER, false); | ||
300 | curl_setopt($c, CURLOPT_RETURNTRANSFER, true); | ||
301 | $page_data = curl_exec($c); | ||
302 | curl_close($c); | ||
303 | |||
304 | $headers = split("\n", $page_data); | ||
305 | foreach ($headers as $name => $value) | ||
306 | { | ||
307 | $header = split(": ", $value); | ||
308 | $headerMap[$header[0]] = $header[1]; | ||
309 | } | ||
310 | |||
311 | if (isset($headerMap['Subscription'])) | ||
312 | { | ||
313 | if (isset($headerMap['Title'])) | ||
314 | { | ||
315 | if (isset($headerMap['Category'])) | ||
316 | { | ||
317 | if (isset($headerMap['Key'])) | ||
318 | { | ||
319 | if ($headerMap['Key'] == $getcode3['code']) | ||
320 | { | ||
321 | $inssub = "INSERT INTO subscriptions (username,url,owner,category) VALUES (\"" . mysql_real_escape_string($username) . "\", \"" . mysql_real_escape_string($headerMap['Subscription']) . "\", \"true\", \"" . mysql_real_escape_string($headerMap['Category']) . "\")"; | ||
322 | $inssub2 = mysql_query($inssub); | ||
323 | |||
324 | $delcode = "DELETE FROM pending2 WHERE username = \"" . mysql_real_escape_string($username) . "\" AND url = \"" . mysql_real_escape_string($url) . "\""; | ||
325 | $delcode2 = mysql_query($delcode); | ||
326 | |||
327 | return 0; | ||
328 | } else { | ||
329 | return 4; | ||
330 | } | ||
331 | } else { | ||
332 | return 3; | ||
333 | } | ||
334 | } else { | ||
335 | return 3; | ||
336 | } | ||
337 | } else { | ||
338 | return 3; | ||
339 | } | ||
340 | } else { | ||
341 | return 3; | ||
342 | } | ||
343 | } else { | ||
344 | return 2; | ||
345 | } | ||
346 | |||
347 | return 1; | ||
348 | } | ||
349 | |||
350 | function instaDisc_listPendingSubscriptions($username) | ||
351 | { | ||
352 | $getsubs = "SELECT * FROM pending2 WHERE username = \"" . mysql_real_escape_string($username) . "\""; | ||
353 | $getsubs2 = mysql_query($getsubs); | ||
354 | $i=0; | ||
355 | while ($getsubs3[$i] = mysql_fetch_array($getsubs2)) | ||
356 | { | ||
357 | $subs[$i] = array('url' => $getsubs3[$i]['url'], 'code' => $getsubs3[$i]['code']); | ||
358 | |||
359 | $i++; | ||
360 | } | ||
361 | |||
362 | $subs['size'] = $i; | ||
363 | return $subs; | ||
364 | } | ||
365 | |||
366 | function instaDisc_generateSubscriptionActivation($username, $url) | ||
367 | { | ||
368 | $getuser = "SELECT * FROM users WHERE username = \"" . mysql_real_escape_string($username) . "\""; | ||
369 | $getuser2 = mysql_query($getuser); | ||
370 | $getuser3 = mysql_fetch_array($getuser2); | ||
371 | if ($getuser3['username'] == $username) | ||
372 | { | ||
373 | $key = md5(rand(1,2147483647)); | ||
374 | |||
375 | $inspending = "INSERT INTO pending2 (username, url, code) VALUES (\"" . mysql_real_escape_string($username) . "\", \"" . mysql_real_escape_string($url) . "\", \"" . mysql_real_escape_string($key) . "\")"; | ||
376 | $inspending2 = mysql_query($inspending); | ||
377 | |||
378 | return $key; | ||
379 | } | ||
380 | |||
381 | return false; | ||
382 | } | ||
383 | |||
384 | function instaDisc_deleteSubscription($username, $url) | ||
385 | { | ||
386 | $getsub = "SELECT * FROM subscriptions WHERE username = \"" . mysql_real_escape_string($username) . "\" AND url = \"" . mysql_real_escape_string($url) . "\")"; | ||
387 | $getsub2 = mysql_query($getsub); | ||
388 | $getsub3 = mysql_fetch_array($getsub2); | ||
389 | if ($getsub3['username'] == $username) | ||
390 | { | ||
391 | $delsub = "DELETE FROM subscriptions WHERE username = \"" . mysql_real_escape_string($username) . "\" AND url = \"" . mysql_real_escape_string($url) . "\")"; | ||
392 | $delsub2 = mysql_query($delsub); | ||
393 | |||
394 | return true; | ||
395 | } | ||
396 | |||
397 | return false; | ||
398 | } | ||
399 | |||
400 | function instaDisc_cancelSubscription($username, $url) | ||
401 | { | ||
402 | $getsub = "SELECT * FROM pending2 WHERE username = \"" . mysql_real_escape_string($username) . "\" AND url = \"" . mysql_real_escape_string($url) . "\")"; | ||
403 | $getsub2 = mysql_query($getsub); | ||
404 | $getsub3 = mysql_fetch_array($getsub2); | ||
405 | if ($getsub3['username'] == $username) | ||
406 | { | ||
407 | $delsub = "DELETE FROM pending2 WHERE username = \"" . mysql_real_escape_string($username) . "\" AND url = \"" . mysql_real_escape_string($url) . "\")"; | ||
408 | $delsub2 = mysql_query($delsub); | ||
409 | |||
410 | return true; | ||
411 | } | ||
412 | |||
413 | return false; | ||
414 | } | ||
415 | |||
416 | function instaDisc_changePassword($username, $password) | 274 | function instaDisc_changePassword($username, $password) |
417 | { | 275 | { |
418 | $setpass = "UPDATE users WHERE username = \"" . mysql_real_escape_string($username) . "\" SET password = \"" . mysql_real_escape_string(md5($password)) . "\""; | 276 | $setpass = "UPDATE users WHERE username = \"" . mysql_real_escape_string($username) . "\" SET password = \"" . mysql_real_escape_string(md5($password)) . "\""; |
diff --git a/central/trunk/instadisc.sql b/central/trunk/instadisc.sql index 2019503..70e3c3b 100644 --- a/central/trunk/instadisc.sql +++ b/central/trunk/instadisc.sql | |||
@@ -3,11 +3,11 @@ | |||
3 | -- http://www.phpmyadmin.net | 3 | -- http://www.phpmyadmin.net |
4 | -- | 4 | -- |
5 | -- Host: localhost | 5 | -- Host: localhost |
6 | -- Generation Time: Aug 03, 2008 at 04:54 PM | 6 | -- Generation Time: Sep 06, 2008 at 05:37 PM |
7 | -- Server version: 5.0.51 | 7 | -- Server version: 5.0.51 |
8 | -- PHP Version: 5.2.4-2ubuntu5.3 | 8 | -- PHP Version: 5.2.4-2ubuntu5.3 |
9 | -- | 9 | -- |
10 | -- Database: `instadisc` | 10 | -- Database: `instadisc_central` |
11 | -- | 11 | -- |
12 | 12 | ||
13 | -- -------------------------------------------------------- | 13 | -- -------------------------------------------------------- |
@@ -16,13 +16,14 @@ | |||
16 | -- Table structure for table `centralServers` | 16 | -- Table structure for table `centralServers` |
17 | -- | 17 | -- |
18 | 18 | ||
19 | CREATE TABLE IF NOT EXISTS `centralServers` ( | 19 | DROP TABLE IF EXISTS `centralServers`; |
20 | CREATE TABLE `centralServers` ( | ||
20 | `id` int(11) NOT NULL auto_increment, | 21 | `id` int(11) NOT NULL auto_increment, |
21 | `url` varchar(255) NOT NULL, | 22 | `url` varchar(255) NOT NULL, |
22 | `code` varchar(255) NOT NULL, | 23 | `code` varchar(255) NOT NULL, |
23 | `xmlrpc` varchar(255) NOT NULL, | 24 | `xmlrpc` varchar(255) NOT NULL, |
24 | PRIMARY KEY (`id`) | 25 | PRIMARY KEY (`id`) |
25 | ) ENGINE=MyISAM DEFAULT CHARSET=latin1; | 26 | ) ENGINE=MyISAM DEFAULT CHARSET=latin1; |
26 | 27 | ||
27 | -- -------------------------------------------------------- | 28 | -- -------------------------------------------------------- |
28 | 29 | ||
@@ -30,12 +31,13 @@ CREATE TABLE IF NOT EXISTS `centralServers` ( | |||
30 | -- Table structure for table `config` | 31 | -- Table structure for table `config` |
31 | -- | 32 | -- |
32 | 33 | ||
33 | CREATE TABLE IF NOT EXISTS `config` ( | 34 | DROP TABLE IF EXISTS `config`; |
35 | CREATE TABLE `config` ( | ||
34 | `id` int(11) NOT NULL auto_increment, | 36 | `id` int(11) NOT NULL auto_increment, |
35 | `name` varchar(255) NOT NULL, | 37 | `name` varchar(255) NOT NULL, |
36 | `value` varchar(255) NOT NULL, | 38 | `value` varchar(255) NOT NULL, |
37 | PRIMARY KEY (`id`) | 39 | PRIMARY KEY (`id`) |
38 | ) ENGINE=MyISAM DEFAULT CHARSET=latin1; | 40 | ) ENGINE=MyISAM DEFAULT CHARSET=latin1; |
39 | 41 | ||
40 | -- -------------------------------------------------------- | 42 | -- -------------------------------------------------------- |
41 | 43 | ||
@@ -43,7 +45,8 @@ CREATE TABLE IF NOT EXISTS `config` ( | |||
43 | -- Table structure for table `inbox` | 45 | -- Table structure for table `inbox` |
44 | -- | 46 | -- |
45 | 47 | ||
46 | CREATE TABLE IF NOT EXISTS `inbox` ( | 48 | DROP TABLE IF EXISTS `inbox`; |
49 | CREATE TABLE `inbox` ( | ||
47 | `id` int(11) NOT NULL auto_increment, | 50 | `id` int(11) NOT NULL auto_increment, |
48 | `username` varchar(255) NOT NULL, | 51 | `username` varchar(255) NOT NULL, |
49 | `itemID` int(11) NOT NULL, | 52 | `itemID` int(11) NOT NULL, |
@@ -54,7 +57,7 @@ CREATE TABLE IF NOT EXISTS `inbox` ( | |||
54 | `semantics` text NOT NULL, | 57 | `semantics` text NOT NULL, |
55 | `encryptionID` int(11) NOT NULL, | 58 | `encryptionID` int(11) NOT NULL, |
56 | PRIMARY KEY (`id`) | 59 | PRIMARY KEY (`id`) |
57 | ) ENGINE=MyISAM DEFAULT CHARSET=latin1; | 60 | ) ENGINE=MyISAM DEFAULT CHARSET=latin1; |
58 | 61 | ||
59 | -- -------------------------------------------------------- | 62 | -- -------------------------------------------------------- |
60 | 63 | ||
@@ -62,12 +65,13 @@ CREATE TABLE IF NOT EXISTS `inbox` ( | |||
62 | -- Table structure for table `oldVerID` | 65 | -- Table structure for table `oldVerID` |
63 | -- | 66 | -- |
64 | 67 | ||
65 | CREATE TABLE IF NOT EXISTS `oldVerID` ( | 68 | DROP TABLE IF EXISTS `oldVerID`; |
69 | CREATE TABLE `oldVerID` ( | ||
66 | `id` int(11) NOT NULL auto_increment, | 70 | `id` int(11) NOT NULL auto_increment, |
67 | `username` varchar(255) NOT NULL, | 71 | `username` varchar(255) NOT NULL, |
68 | `verID` int(11) NOT NULL, | 72 | `verID` int(11) NOT NULL, |
69 | PRIMARY KEY (`id`) | 73 | PRIMARY KEY (`id`) |
70 | ) ENGINE=MyISAM DEFAULT CHARSET=latin1; | 74 | ) ENGINE=MyISAM DEFAULT CHARSET=latin1; |
71 | 75 | ||
72 | -- -------------------------------------------------------- | 76 | -- -------------------------------------------------------- |
73 | 77 | ||
@@ -75,7 +79,8 @@ CREATE TABLE IF NOT EXISTS `oldVerID` ( | |||
75 | -- Table structure for table `pending` | 79 | -- Table structure for table `pending` |
76 | -- | 80 | -- |
77 | 81 | ||
78 | CREATE TABLE IF NOT EXISTS `pending` ( | 82 | DROP TABLE IF EXISTS `pending`; |
83 | CREATE TABLE `pending` ( | ||
79 | `id` int(11) NOT NULL auto_increment, | 84 | `id` int(11) NOT NULL auto_increment, |
80 | `username` varchar(255) NOT NULL, | 85 | `username` varchar(255) NOT NULL, |
81 | `password` varchar(255) NOT NULL, | 86 | `password` varchar(255) NOT NULL, |
@@ -87,29 +92,15 @@ CREATE TABLE IF NOT EXISTS `pending` ( | |||
87 | -- -------------------------------------------------------- | 92 | -- -------------------------------------------------------- |
88 | 93 | ||
89 | -- | 94 | -- |
90 | -- Table structure for table `pending2` | ||
91 | -- | ||
92 | |||
93 | CREATE TABLE IF NOT EXISTS `pending2` ( | ||
94 | `id` int(11) NOT NULL auto_increment, | ||
95 | `username` varchar(255) NOT NULL, | ||
96 | `url` varchar(255) NOT NULL, | ||
97 | `code` varchar(255) NOT NULL, | ||
98 | PRIMARY KEY (`id`) | ||
99 | ) ENGINE=MyISAM DEFAULT CHARSET=latin1; | ||
100 | |||
101 | -- -------------------------------------------------------- | ||
102 | |||
103 | -- | ||
104 | -- Table structure for table `subscriptions` | 95 | -- Table structure for table `subscriptions` |
105 | -- | 96 | -- |
106 | 97 | ||
107 | CREATE TABLE IF NOT EXISTS `subscriptions` ( | 98 | DROP TABLE IF EXISTS `subscriptions`; |
108 | `id` mediumint(11) NOT NULL auto_increment, | 99 | CREATE TABLE `subscriptions` ( |
100 | `id` int(11) NOT NULL auto_increment, | ||
109 | `username` varchar(255) NOT NULL, | 101 | `username` varchar(255) NOT NULL, |
110 | `url` varchar(255) NOT NULL, | 102 | `url` varchar(255) NOT NULL, |
111 | `owner` varchar(5) NOT NULL, | 103 | `identity` varchar(255) NOT NULL, |
112 | `category` varchar(255) NOT NULL, | ||
113 | PRIMARY KEY (`id`) | 104 | PRIMARY KEY (`id`) |
114 | ) ENGINE=MyISAM DEFAULT CHARSET=latin1; | 105 | ) ENGINE=MyISAM DEFAULT CHARSET=latin1; |
115 | 106 | ||
@@ -119,7 +110,8 @@ CREATE TABLE IF NOT EXISTS `subscriptions` ( | |||
119 | -- Table structure for table `users` | 110 | -- Table structure for table `users` |
120 | -- | 111 | -- |
121 | 112 | ||
122 | CREATE TABLE IF NOT EXISTS `users` ( | 113 | DROP TABLE IF EXISTS `users`; |
114 | CREATE TABLE `users` ( | ||
123 | `id` int(11) NOT NULL auto_increment, | 115 | `id` int(11) NOT NULL auto_increment, |
124 | `username` varchar(255) NOT NULL, | 116 | `username` varchar(255) NOT NULL, |
125 | `password` varchar(255) NOT NULL, | 117 | `password` varchar(255) NOT NULL, |
@@ -127,5 +119,5 @@ CREATE TABLE IF NOT EXISTS `users` ( | |||
127 | `ip` varchar(255) NOT NULL, | 119 | `ip` varchar(255) NOT NULL, |
128 | `nextItemID` int(11) NOT NULL, | 120 | `nextItemID` int(11) NOT NULL, |
129 | PRIMARY KEY (`id`) | 121 | PRIMARY KEY (`id`) |
130 | ) ENGINE=MyISAM DEFAULT CHARSET=latin1; | 122 | ) ENGINE=MyISAM DEFAULT CHARSET=latin1; |
131 | 123 | ||
diff --git a/central/trunk/mansub.php b/central/trunk/mansub.php deleted file mode 100644 index b36966f..0000000 --- a/central/trunk/mansub.php +++ /dev/null | |||
@@ -1,27 +0,0 @@ | |||
1 | <?php | ||
2 | |||
3 | /* InstaDisc Server - A Four Island Project */ | ||
4 | |||
5 | include('includes/instadisc.php'); | ||
6 | include('includes/template.php'); | ||
7 | |||
8 | if (isset($_SESSION['username'])) | ||
9 | { | ||
10 | $template = new FITemplate('mansub'); | ||
11 | $template->add('SITENAME', instaDisc_getConfig('siteName')); | ||
12 | |||
13 | $subs = instaDisc_listSubscriptions($_SESSION['username']); | ||
14 | $i=0; | ||
15 | for ($i=0;$i<$subs['size'];$i++) | ||
16 | { | ||
17 | $template->adds_block('SUBSCRIPTIONS', array( 'URL' => $subs[$i], | ||
18 | 'ID' => $i, | ||
19 | 'EVEN' => (($i % 2 == 0) ? " CLASS=\"even\"" : ""))); | ||
20 | } | ||
21 | |||
22 | $template->display(); | ||
23 | } else { | ||
24 | header('Location: index.php'); | ||
25 | } | ||
26 | |||
27 | ?> | ||
diff --git a/central/trunk/theme/activatedsub.tpl b/central/trunk/theme/activatedsub.tpl deleted file mode 100644 index 9bdcbf5..0000000 --- a/central/trunk/theme/activatedsub.tpl +++ /dev/null | |||
@@ -1,14 +0,0 @@ | |||
1 | <HTML> | ||
2 | <HEAD> | ||
3 | <TITLE><!--SITENAME--> InstaDisc Central Server</TITLE> | ||
4 | </HEAD> | ||
5 | |||
6 | <BODY> | ||
7 | <CENTER> | ||
8 | <H1>InstaDisc Subscription Activation</H1> | ||
9 | |||
10 | <P>You've sucessfully activated your subscription! <A HREF="userpanel.php">Back to User Panel</A> | ||
11 | </CENTER> | ||
12 | </BODY> | ||
13 | </HTML> | ||
14 | |||
diff --git a/central/trunk/theme/activatesub.tpl b/central/trunk/theme/activatesub.tpl deleted file mode 100644 index f6dd6a0..0000000 --- a/central/trunk/theme/activatesub.tpl +++ /dev/null | |||
@@ -1,51 +0,0 @@ | |||
1 | <HTML> | ||
2 | <HEAD> | ||
3 | <TITLE><!--SITENAME--> InstaDisc Central Server</TITLE> | ||
4 | <LINK REL="stylesheet" TYPE="text/css" HREF="theme/uniform.css"> | ||
5 | </HEAD> | ||
6 | |||
7 | <BODY> | ||
8 | <CENTER> | ||
9 | <H1>InstaDisc Subscription Activation</H1> | ||
10 | |||
11 | <P>If you've already requested a subscription be sponsered and added its Activation Key to its Subscription File, you can activate the subscription here: | ||
12 | </CENTER> | ||
13 | |||
14 | <FORM CLASS="uniform" ACTION="./activatesub.php?submit=" METHOD="POST"> | ||
15 | |||
16 | <!--BEGIN ERROR--> | ||
17 | <DIV ID="errorMsg">Uh oh! Validation errors!<P> | ||
18 | <OL> | ||
19 | <!--END ERROR--> | ||
20 | |||
21 | <!--BEGIN ERRORS--> | ||
22 | <LI><A HREF="#error<!--ERRORS.NAME-->"><!--ERRORS.MSG--></A></LI> | ||
23 | <!--END ERRORS--> | ||
24 | |||
25 | <!--BEGIN ERROR--> | ||
26 | </OL> | ||
27 | </DIV> | ||
28 | <!--END ERROR--> | ||
29 | |||
30 | <FIELDSET CLASS="inlineLabels"> | ||
31 | <LEGEND>User Details</LEGEND> | ||
32 | |||
33 | <DIV CLASS="ctrlHolder<!--URL_ERR-->"> | ||
34 | <!--BEGIN URL_ERRS--> | ||
35 | <P ID="error<!--URL_ERRS.NAME-->" CLASS="errorField"><EM>*</EM> | ||
36 | <!--URL_ERRS.MSG--> | ||
37 | </P> | ||
38 | <!--END URL_ERRS--> | ||
39 | |||
40 | <LABEL FOR="url"><EM>*</EM> Subscription File URL: </LABEL> | ||
41 | <INPUT TYPE="text" ID="url" NAME="url" CLASS="textInput" VALUE="<!--URL-->"> | ||
42 | </DIV> | ||
43 | </FIELDSET> | ||
44 | |||
45 | <DIV CLASS="buttonHolder"> | ||
46 | <INPUT TYPE="submit" NAME="submit" VALUE="Verify"> | ||
47 | <INPUT TYPE="submit" NAME="submit" VALUE="Delete"> | ||
48 | </DIV> | ||
49 | </FORM> | ||
50 | </BODY> | ||
51 | </HTML> | ||
diff --git a/central/trunk/theme/addedsub.tpl b/central/trunk/theme/addedsub.tpl deleted file mode 100644 index 9efa010..0000000 --- a/central/trunk/theme/addedsub.tpl +++ /dev/null | |||
@@ -1,17 +0,0 @@ | |||
1 | <HTML> | ||
2 | <HEAD> | ||
3 | <TITLE><!--SITENAME--> InstaDisc Central Server</TITLE> | ||
4 | </HEAD> | ||
5 | |||
6 | <BODY> | ||
7 | <CENTER> | ||
8 | <H1>InstaDisc Add Subscription</H1> | ||
9 | |||
10 | <P>Thank you for submitting! An activation key has been generated for you. Here it is: | ||
11 | <P><!--KEY--> | ||
12 | <P>Please place that in your Subscription File and return here to activate your subscription. | ||
13 | <P>Don't know how to add the key to your subscription file? Well, simply go to <A HREF="http://fourisland.com/projects/instadisc/">Four Island</A>, find the type of Update Server you are using, and there should be instructions on how to add an Activation Key to your subscription file. | ||
14 | <P><A HREF="userpanel.php">Back to the User Panel</A> | ||
15 | </CENTER> | ||
16 | </BODY> | ||
17 | </HTML> | ||
diff --git a/central/trunk/theme/addsub.tpl b/central/trunk/theme/addsub.tpl deleted file mode 100644 index 148b67c..0000000 --- a/central/trunk/theme/addsub.tpl +++ /dev/null | |||
@@ -1,50 +0,0 @@ | |||
1 | <HTML> | ||
2 | <HEAD> | ||
3 | <TITLE><!--SITENAME--> InstaDisc Central Server</TITLE> | ||
4 | <LINK REL="stylesheet" TYPE="text/css" HREF="theme/uniform.css"> | ||
5 | </HEAD> | ||
6 | |||
7 | <BODY> | ||
8 | <CENTER> | ||
9 | <H1>InstaDisc Add Subscription</H1> | ||
10 | |||
11 | <P>If you would like to have us sponser a subscription for you, please fill out the form below: | ||
12 | </CENTER> | ||
13 | |||
14 | <FORM CLASS="uniform" ACTION="./addsub.php?submit=" METHOD="POST"> | ||
15 | |||
16 | <!--BEGIN ERROR--> | ||
17 | <DIV ID="errorMsg">Uh oh! Validation errors!<P> | ||
18 | <OL> | ||
19 | <!--END ERROR--> | ||
20 | |||
21 | <!--BEGIN ERRORS--> | ||
22 | <LI><A HREF="#error<!--ERRORS.NAME-->"><!--ERRORS.MSG--></A></LI> | ||
23 | <!--END ERRORS--> | ||
24 | |||
25 | <!--BEGIN ERROR--> | ||
26 | </OL> | ||
27 | </DIV> | ||
28 | <!--END ERROR--> | ||
29 | |||
30 | <FIELDSET CLASS="inlineLabels"> | ||
31 | <LEGEND>Subscription Details</LEGEND> | ||
32 | |||
33 | <DIV CLASS="ctrlHolder<!--URL_ERR-->"> | ||
34 | <!--BEGIN URL_ERRS--> | ||
35 | <P ID="error<!--URL_ERRS.NAME-->" CLASS="errorField"><EM>*</EM> | ||
36 | <!--URL_ERRS.MSG--> | ||
37 | </P> | ||
38 | <!--END URL_ERRS--> | ||
39 | |||
40 | <LABEL FOR="url"><EM>*</EM> Subscription File URL: </LABEL> | ||
41 | <INPUT TYPE="text" ID="url" NAME="url" CLASS="textInput" VALUE="<!--URL-->"> | ||
42 | </DIV> | ||
43 | </FIELDSET> | ||
44 | |||
45 | <DIV CLASS="buttonHolder"> | ||
46 | <INPUT TYPE="submit" NAME="submit" VALUE="Submit"> | ||
47 | </DIV> | ||
48 | </FORM> | ||
49 | </BODY> | ||
50 | </HTML> | ||
diff --git a/central/trunk/theme/mansub.tpl b/central/trunk/theme/mansub.tpl deleted file mode 100644 index 23639b1..0000000 --- a/central/trunk/theme/mansub.tpl +++ /dev/null | |||
@@ -1,30 +0,0 @@ | |||
1 | <HTML> | ||
2 | <HEAD> | ||
3 | <TITLE><!--SITENAME--> InstaDisc Central Server</TITLE> | ||
4 | <LINK REL="stylesheet" HREF="theme/table.css"> | ||
5 | </HEAD> | ||
6 | |||
7 | <BODY> | ||
8 | <CENTER> | ||
9 | <H1>InstaDisc Subscription Management</H1> | ||
10 | |||
11 | <P>If you've sponsered subscriptions here but have decided you want to move elsewhere you can delete subscriptions using the table below: | ||
12 | |||
13 | <TABLE> | ||
14 | <TR> | ||
15 | <TH>Subscription URL</TH> | ||
16 | <TH>Actions</TH> | ||
17 | </TR> | ||
18 | |||
19 | <!--BEGIN SUBSCRIPTIONS--> | ||
20 | <TR<!--SUBSCRIPTIONS.EVEN-->> | ||
21 | <TD><!--SUBSCRIPTIONS.URL--></TD> | ||
22 | <TD><A HREF="deletesub.php?id=<!--SUBSCRIPTIONS.ID-->">Delete</A></TD> | ||
23 | </TR> | ||
24 | <!--END SUBSCRIPTIONS--> | ||
25 | </TABLE> | ||
26 | |||
27 | <P><A HREF="userpanel.php">Back to User Panel</A> | ||
28 | </CENTER> | ||
29 | </BODY> | ||
30 | </HTML> | ||
diff --git a/central/trunk/theme/userpanel.tpl b/central/trunk/theme/userpanel.tpl index c10c0dc..37d5ec0 100644 --- a/central/trunk/theme/userpanel.tpl +++ b/central/trunk/theme/userpanel.tpl | |||
@@ -14,12 +14,10 @@ | |||
14 | <LI><A HREF="logout.php">Log out</A></LI> | 14 | <LI><A HREF="logout.php">Log out</A></LI> |
15 | </UL> | 15 | </UL> |
16 | 16 | ||
17 | <P>If you own a subscription and wish to have this Central Server sponser it, you can use the options below: | 17 | <P>If you own a subscription and wish to have this Central Server sponser it, you can use the option below: |
18 | 18 | ||
19 | <UL> | 19 | <UL> |
20 | <LI><A HREF="addsub.php">Submit a Subscription for Sponsership</A></LI> | 20 | <LI><A HREF="setSeries.php">Set Series Control URL</A></LI> |
21 | <LI><A HREF="activatesub.php">Activate a Subscription</A></LI> | ||
22 | <LI><A HREF="mansub.php">Manage subscriptions</A></LI> | ||
23 | </UL> | 21 | </UL> |
24 | 22 | ||
25 | <!--BEGIN ADMIN--> | 23 | <!--BEGIN ADMIN--> |
diff --git a/central/trunk/xmlrpc.php b/central/trunk/xmlrpc.php index a451d93..64dc4f7 100644 --- a/central/trunk/xmlrpc.php +++ b/central/trunk/xmlrpc.php | |||
@@ -75,45 +75,40 @@ function requestRetained($username, $verification, $verificationID) | |||
75 | return new xmlrpcresp(new xmlrpcval(1, "int")); | 75 | return new xmlrpcresp(new xmlrpcval(1, "int")); |
76 | } | 76 | } |
77 | 77 | ||
78 | function sendFromUpdate($username, $verification, $verificationID, $subscription, $title, $author, $url, $semantics, $encryptionID) | 78 | function sendFromUpdate($username, $verification, $verificationID, $subscriptionSeriesURL, $subscriptionID, $title, $author, $url, $semantics, $encryptionID) |
79 | { | 79 | { |
80 | if (instaDisc_checkVerification($username, $verification, $verificationID, 'users', 'username', 'password')) | 80 | if (instaDisc_checkVerification($username, $verification, $verificationID, 'users', 'username', 'password')) |
81 | { | 81 | { |
82 | $getusubs = "SELECT * FROM subscriptions WHERE username = \"" . mysql_real_escape_string($username) . "\" AND url = \"" . mysql_real_escape_string($subscription) . "\" AND owner = \"true\" AND category <> \"instadisc\""; | 82 | $cserver = $_SERVER['SERVER_NAME']; |
83 | $getusubs2 = mysql_query($getusubs); | 83 | $getuk = "SELECT * FROM centralServers WHERE url = \"" . mysql_real_escape_string($cserver) . "\""; |
84 | $getusubs3 = mysql_fetch_array($getusubs2); | 84 | $getuk2 = mysql_query($getuk); |
85 | if ($getusubs3['username'] == $username) | 85 | $getuk3 = mysql_fetch_array($getuk2); |
86 | { | ||
87 | $cserver = $_SERVER['SERVER_NAME']; | ||
88 | $getuk = "SELECT * FROM centralServers WHERE url = \"" . mysql_real_escape_string($cserver) . "\""; | ||
89 | $getuk2 = mysql_query($getuk); | ||
90 | $getuk3 = mysql_fetch_array($getuk2); | ||
91 | 86 | ||
92 | $getcs = "SELECT * FROM centralServers"; | 87 | $getcs = "SELECT * FROM centralServers"; |
93 | $getcs2 = mysql_query($getcs); | 88 | $getcs2 = mysql_query($getcs); |
94 | $i=0; | 89 | $i=0; |
95 | while ($getcs3[$i] = mysql_fetch_array($getcs2)) | 90 | while ($getcs3[$i] = mysql_fetch_array($getcs2)) |
96 | { | 91 | { |
97 | $verID = rand(1,2147483647); | 92 | $verID = rand(1,2147483647); |
98 | |||
99 | $client = new xmlrpc_client($getcs3[$i]['xmlrpc']); | ||
100 | $msg = new xmlrpcmsg("InstaDisc.sendFromCentral", array( new xmlrpcval($cserver, 'string'), | ||
101 | new xmlrpcval(md5($cserver . ":" . $getuk3['code'] . ":" . $verID), 'string'), | ||
102 | new xmlrpcval($verID, 'int'), | ||
103 | new xmlrpcval($subscription, 'string'), | ||
104 | new xmlrpcval($title, 'string'), | ||
105 | new xmlrpcval($author, 'string'), | ||
106 | new xmlrpcval($url, 'string'), | ||
107 | new xmlrpcval($semantics, 'string'), | ||
108 | new xmlrpcval($encryptionID, 'int'), | ||
109 | new xmlrpcval(instaDisc_getConfig('softwareVersion'), 'int'), | ||
110 | new xmlrpcval(instaDisc_getConfig('databaseVersion'), 'int'))); | ||
111 | $client->send($msg); | ||
112 | $i++; | ||
113 | } | ||
114 | 93 | ||
115 | return new xmlrpcresp(new xmlrpcval(0, "int")); | 94 | $client = new xmlrpc_client($getcs3[$i]['xmlrpc']); |
95 | $msg = new xmlrpcmsg("InstaDisc.sendFromCentral", array( new xmlrpcval($cserver, 'string'), | ||
96 | new xmlrpcval(md5($cserver . ":" . $getuk3['code'] . ":" . $verID), 'string'), | ||
97 | new xmlrpcval($verID, 'int'), | ||
98 | new xmlrpcval($subscriptionSeriesURL, 'string'), | ||
99 | new xmlrpcval($subscriptionID, 'string'), | ||
100 | new xmlrpcval($title, 'string'), | ||
101 | new xmlrpcval($author, 'string'), | ||
102 | new xmlrpcval($url, 'string'), | ||
103 | new xmlrpcval($semantics, 'string'), | ||
104 | new xmlrpcval($encryptionID, 'int'), | ||
105 | new xmlrpcval(instaDisc_getConfig('softwareVersion'), 'int'), | ||
106 | new xmlrpcval(instaDisc_getConfig('databaseVersion'), 'int'))); | ||
107 | $client->send($msg); | ||
108 | $i++; | ||
116 | } | 109 | } |
110 | |||
111 | return new xmlrpcresp(new xmlrpcval(0, "int")); | ||
117 | } else { | 112 | } else { |
118 | return new xmlrpcresp(new xmlrpcval(2, "int")); | 113 | return new xmlrpcresp(new xmlrpcval(2, "int")); |
119 | } | 114 | } |
@@ -121,7 +116,7 @@ function sendFromUpdate($username, $verification, $verificationID, $subscription | |||
121 | return new xmlrpcresp(new xmlrpcval(1, "int")); | 116 | return new xmlrpcresp(new xmlrpcval(1, "int")); |
122 | } | 117 | } |
123 | 118 | ||
124 | function sendFromCentral($cserver, $verification, $verificationID, $subscription, $title, $author, $url, $semantics, $encryptionID, $softwareVersion, $databaseVersion) | 119 | function sendFromCentral($cserver, $verification, $verificationID, $subscriptionSeriesURL, $subscriptionID, $title, $author, $url, $semantics, $encryptionID, $softwareVersion, $databaseVersion) |
125 | { | 120 | { |
126 | if (instaDisc_checkVerification($cserver, $verification, $verificationID, 'centralServers', 'url', 'code')) | 121 | if (instaDisc_checkVerification($cserver, $verification, $verificationID, 'centralServers', 'url', 'code')) |
127 | { | 122 | { |
@@ -165,16 +160,20 @@ function sendFromCentral($cserver, $verification, $verificationID, $subscription | |||
165 | instaDisc_sendDatabase($cserver); | 160 | instaDisc_sendDatabase($cserver); |
166 | } | 161 | } |
167 | 162 | ||
168 | $getsed = "SELECT * FROM subscriptions WHERE url = \"" . mysql_real_escape_string($subscription) . "\" AND owner = \"false\" AND category <> \"instadisc\""; | 163 | $subscriptionURL = instaDisc_resolveSubscription($subscriptionSeriesURL, $subscriptionID); |
169 | $getsed2 = mysql_query($getsed); | 164 | if ($subscriptionURL != 'false') |
170 | $i=0; | ||
171 | while ($getsed3[$i] = mysql_fetch_array($getsed2)) | ||
172 | { | 165 | { |
173 | instaDisc_addItem($getsed3[$i]['username'], $subscription, $title, $author, $url, $semantics, $encryptionID); | 166 | $getsed = "SELECT * FROM subscriptions WHERE url = \"" . mysql_real_escape_string($subscriptionSeriesURL) . "\" AND identity = \"" . mysql_real_escape_string($subscriptionID) . "\""; |
174 | $i++; | 167 | $getsed2 = mysql_query($getsed); |
175 | } | 168 | $i=0; |
169 | while ($getsed3[$i] = mysql_fetch_array($getsed2)) | ||
170 | { | ||
171 | instaDisc_addItem($getsed3[$i]['username'], $subscriptionURL, $title, $author, $url, $semantics, $encryptionID); | ||
172 | $i++; | ||
173 | } | ||
176 | 174 | ||
177 | return new xmlrpcresp(new xmlrpcval(0, "int")); | 175 | return new xmlrpcresp(new xmlrpcval(0, "int")); |
176 | } | ||
178 | } | 177 | } |
179 | 178 | ||
180 | return new xmlrpcresp(new xmlrpcval(1, "int")); | 179 | return new xmlrpcresp(new xmlrpcval(1, "int")); |