diff options
-rw-r--r-- | central/trunk/activate.php | 126 | ||||
-rw-r--r-- | central/trunk/index.php | 26 | ||||
-rw-r--r-- | central/trunk/register.php | 132 |
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 | |||
5 | include('instadisc.php'); | ||
6 | |||
7 | if (!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 | |||
55 | function 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 | |||
99 | function 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 | |||
111 | function 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 | |||
122 | function 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 | |||
5 | include('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 | |||
5 | include('instadisc.php'); | ||
6 | |||
7 | if (!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 | |||
58 | function 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 | |||
105 | function 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 | |||
117 | function 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 | |||
128 | function addError(&$numOfErrors, &$errors, $field, $msg) | ||
129 | { | ||
130 | $numOfErrors++; | ||
131 | $errors[$numOfErrors] = array('field' => $field, 'msg' => $msg); | ||
132 | } | ||