about summary refs log tree commit diff stats
path: root/central
diff options
context:
space:
mode:
Diffstat (limited to 'central')
-rw-r--r--central/trunk/activate.php126
-rw-r--r--central/trunk/index.php26
-rw-r--r--central/trunk/register.php132
3 files changed, 284 insertions, 0 deletions
diff --git a/central/trunk/activate.php b/central/trunk/activate.php new file mode 100644 index 0000000..c8d4aa0 --- /dev/null +++ b/central/trunk/activate.php
@@ -0,0 +1,126 @@
1<?php
2
3/* InstaDisc Server - A Four Island Project */
4
5include('instadisc.php');
6
7if (!isset($_GET['submit']))
8{
9 showForm('','',array());
10} else {
11 $numOfErrors = 0;
12 $errors = array();
13
14 $getpending = "SELECT * FROM pending WHERE username = \"" . mysql_real_escape_string($_POST['username']) . "\" AND code = \"" . mysql_real_escape_string($_POST['code']) . "\"";
15 $getpending2 = mysql_query($getpending);
16 $getpending3 = mysql_fetch_array($getpending2);
17 if ($getpending3['username'] != $_POST['username'])
18 {
19 addError($numOfErrors, $errors, '', 'Account could not be found');
20 }
21
22 if ($numOfErrors > 0)
23 {
24 showForm($_POST['username'], $_POST['code'], $errors);
25 } else {
26 if ($_POST['submit'] == "Verify")
27 {
28 if (instaDisc_activateAccount($_POST['username'], $_POST['code']))
29 {
30?>
31<HTML>
32 <HEAD>
33 <TITLE><?php echo(instaDisc_getConfig('siteName')); ?> InstaDisc Central Server</TITLE>
34 </HEAD>
35 <BODY>
36 <CENTER>
37 <H1>InstaDisc Activation</H1>
38
39 <P>Thank you for activating! You've now been signed up for the InstaDisc service.
40 You will recieve an email with the information to input into your InstaDisc client.
41 </CENTER>
42 </BODY>
43</HTML>
44<?php
45 } else {
46 addError($numOfErrors, $errors, '', 'The email could not be sent');
47 showForm($_POST['username'], $_POST['code'], $errors);
48 }
49 } else {
50 instaDisc_deactivateAccount($_POST['username'], $_POST['code']);
51 }
52 }
53}
54
55function showForm($username, $code, $errors)
56{
57?>
58<HTML>
59 <HEAD>
60 <TITLE><?php echo(instaDisc_getConfig('siteName')); ?> InstaDisc Central Server</TITLE>
61 <LINK REL="stylesheet" TYPE="text/css" HREF="uniform.css">
62 </HEAD>
63 <BODY>
64 <CENTER>
65 <H1>InstaDisc Activation</H1>
66
67 <P>If you've already registered and an activation email has been sent to your address, please fill in the form below.
68 </CENTER>
69
70 <FORM CLASS="uniform" ACTION="./activate.php?submit=" METHOD="POST">
71<?php
72 if (isset($errors[1]))
73 {
74?><DIV ID="errorMsg">Uh oh! Validation errors!<P>
75<OL><?php
76 foreach ($errors as $name => $value)
77 {
78?><LI><A HREF="#error<?php echo($name); ?>"><?php echo($value['msg']); ?></A></LI><?php
79 }
80?></OL></DIV><?php
81 }
82?>
83<FIELDSET CLASS="inlineLabels"><LEGEND>User Details</LEGEND>
84<DIV CLASS="ctrlHolder<?php ifErrors($errors, 'username'); ?>">
85<?php doErrors($errors, 'username'); ?> <LABEL FOR="username"><EM>*</EM> Username: </LABEL>
86 <INPUT TYPE="text" ID="username" NAME="username" CLASS="textInput" VALUE="<?php echo($username); ?>">
87</DIV>
88<DIV CLASS="ctrlHolder<?php ifErrors($errors, 'code'); ?>">
89<?php doErrors($errors, 'code'); ?> <LABEL FOR="code"><EM>*</EM> Activation Code: </LABEL>
90 <INPUT TYPE="text" ID="code" NAME="code" CLASS="textInput" VALUE="<?php echo($code); ?>">
91</DIV>
92</FIELDSET>
93<DIV CLASS="buttonHolder">
94 <INPUT TYPE="submit" NAME="submit" VALUE="Verify">
95 <INPUT TYPE="submit" NAME="submit" VALUE="Delete">
96</DIV></FORM><?php
97}
98
99function ifErrors($errors, $id)
100{
101 foreach ($errors as $name => $value)
102 {
103 if ($value['field'] == $id)
104 {
105 echo(' error');
106 return;
107 }
108 }
109}
110
111function doErrors($errors, $id)
112{
113 foreach ($errors as $name => $value)
114 {
115 if ($value['field'] == $id)
116 {
117?> <P ID="error<?php echo($name); ?>" CLASS="errorField"><EM>*</EM> <?php echo($value['msg']); ?></P><?php echo("\n");
118 }
119 }
120}
121
122function addError(&$numOfErrors, &$errors, $field, $msg)
123{
124 $numOfErrors++;
125 $errors[$numOfErrors] = array('field' => $field, 'msg' => $msg);
126}
diff --git a/central/trunk/index.php b/central/trunk/index.php new file mode 100644 index 0000000..ce71def --- /dev/null +++ b/central/trunk/index.php
@@ -0,0 +1,26 @@
1<?php
2
3/* InstaDisc Server - A Four Island Project */
4
5include('instadisc.php');
6
7?>
8<HTML>
9 <HEAD>
10 <TITLE>Four Island InstaDisc Central Server</TITLE>
11 </HEAD>
12 <BODY>
13 <CENTER>
14 <H1><?php echo(instaDisc_getConfig('siteName')); ?> InstaDisc</H1>
15
16 <P>Welcome to <?php instaDisc_getConfig('siteName')); ?>'s InstaDisc Central Server!
17 <P>InstaDisc is a wonderful productivity-increasing notification program. For more information about the project itself, see
18 <A HREF="http://fourisland.com/projects/instadisc/">its project site</A>.<P>An InstaDisc "Central Server" is where you can
19 register for the InstaDisc service. There are many Central Servers around the world, you generally pick the one that is
20 closest to you. If you would like to choose <?php echo(instaDisc_getConfig('siteName')); ?>'s, why not register now?
21 <P><A HREF="register.php">Register</A>
22 <BR><A HREF="login.php">Login</A>
23 <BR><A HREF="activate.php">Activation page</A>
24 </CENTER>
25 </BODY>
26</HTML>
diff --git a/central/trunk/register.php b/central/trunk/register.php new file mode 100644 index 0000000..8322861 --- /dev/null +++ b/central/trunk/register.php
@@ -0,0 +1,132 @@
1<?php
2
3/* InstaDisc Server - A Four Island Project */
4
5include('instadisc.php');
6
7if (!isset($_GET['submit']))
8{
9 showForm('','','',array());
10} else {
11 $numOfErrors = 0;
12 $errors = array();
13
14 if ($_POST['username'] == '')
15 {
16 addError($numOfErrors, $errors, 'username', 'Username is a required field');
17 }
18
19 if ($_POST['password'] == '')
20 {
21 addError($numOfErrors, $errors, 'password', 'Password is a required field');
22 }
23
24 if ($_POST['email'] == '')
25 {
26 addError($numOfErrors, $errors, 'email', 'Email is a required field');
27 }
28
29 if ($numOfErrors > 0)
30 {
31 showForm($_POST['username'], $_POST['password'], $_POST['email'], $errors);
32 } else {
33 $send = instaDisc_sendActivationEmail($_POST['username'], $_POST['password'], $_POST['email']);
34 if ($send === TRUE)
35 {
36?>
37<HTML>
38 <HEAD>
39 <TITLE><?php echo(instaDisc_getConfig('siteName')); ?> InstaDisc Central Server</TITLE>
40 </HEAD>
41 <BODY>
42 <CENTER>
43 <H1>InstaDisc Registration</H1>
44
45 <P>Thank you for registering! An activation email has been sent to the address you provided. When you recieve it, copy the
46 code inside to the <A HREF="activate.php">Activation page</A>.
47 </CENTER>
48 </BODY>
49</HTML>
50<?php
51 } else {
52 addError($numOfErrors, $errors, '', $send);
53 showForm($_POST['username'], $_POST['password'], $_POST['email'], $errors);
54 }
55 }
56}
57
58function showForm($username, $password, $email, $errors)
59{
60?>
61<HTML>
62 <HEAD>
63 <TITLE><?php echo(instaDisc_getConfig('siteName')); ?> InstaDisc Central Server</TITLE>
64 <LINK REL="stylesheet" TYPE="text/css" HREF="uniform.css">
65 </HEAD>
66 <BODY>
67 <CENTER>
68 <H1>InstaDisc Registration</H1>
69
70 <P>If you would like to sign up for our InstaDisc service, please fill out the form below.
71 </CENTER>
72
73 <FORM CLASS="uniform" ACTION="./register.php?submit=" METHOD="POST">
74<?php
75 if (isset($errors[1]))
76 {
77?><DIV ID="errorMsg">Uh oh! Validation errors!<P>
78<OL><?php
79 foreach ($errors as $name => $value)
80 {
81?><LI><A HREF="#error<?php echo($name); ?>"><?php echo($value['msg']); ?></A></LI><?php
82 }
83?></OL></DIV><?php
84 }
85?>
86<FIELDSET CLASS="inlineLabels"><LEGEND>User Details</LEGEND>
87<DIV CLASS="ctrlHolder<?php ifErrors($errors, 'username'); ?>">
88<?php doErrors($errors, 'username'); ?> <LABEL FOR="username"><EM>*</EM> Username: </LABEL>
89 <INPUT TYPE="text" ID="username" NAME="username" CLASS="textInput" VALUE="<?php echo($username); ?>">
90</DIV>
91<DIV CLASS="ctrlHolder<?php ifErrors($errors, 'password'); ?>">
92<?php doErrors($errors, 'password'); ?> <LABEL FOR="password"><EM>*</EM> Password: </LABEL>
93 <INPUT TYPE="password" ID="password" NAME="password" CLASS="textInput" VALUE="<?php echo($password); ?>">
94</DIV>
95<DIV CLASS="ctrlHolder<?php ifErrors($errors, 'email'); ?>">
96<?php doErrors($errors, 'email'); ?> <LABEL FOR="email"><EM>*</EM> Email: </LABEL>
97 <INPUT TYPE="text" ID="email" NAME="email" CLASS="textInput" VALUE="<?php echo($email); ?>">
98</DIV>
99</FIELDSET>
100<DIV CLASS="buttonHolder">
101 <INPUT TYPE="submit" VALUE="Submit">
102</DIV></FORM><?php
103}
104
105function ifErrors($errors, $id)
106{
107 foreach ($errors as $name => $value)
108 {
109 if ($value['field'] == $id)
110 {
111 echo(' error');
112 return;
113 }
114 }
115}
116
117function doErrors($errors, $id)
118{
119 foreach ($errors as $name => $value)
120 {
121 if ($value['field'] == $id)
122 {
123?> <P ID="error<?php echo($name); ?>" CLASS="errorField"><EM>*</EM> <?php echo($value['msg']); ?></P><?php echo("\n");
124 }
125 }
126}
127
128function addError(&$numOfErrors, &$errors, $field, $msg)
129{
130 $numOfErrors++;
131 $errors[$numOfErrors] = array('field' => $field, 'msg' => $msg);
132}