about summary refs log tree commit diff stats
path: root/central/trunk/register.php
blob: 8322861608610825d1420a26003b7615d1866004 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
<?php

/* InstaDisc Server - A Four Island Project */

include('instadisc.php');

if (!isset($_GET['submit']))
{
	showForm('','','',array());
} else {
	$numOfErrors = 0;
	$errors = array();

	if ($_POST['username'] == '')
	{
		addError($numOfErrors, $errors, 'username', 'Username is a required field');
	}

	if ($_POST['password'] == '')
	{
		addError($numOfErrors, $errors, 'password', 'Password is a required field');
	}

	if ($_POST['email'] == '')
	{
		addError($numOfErrors, $errors, 'email', 'Email is a required field');
	}

	if ($numOfErrors > 0)
	{
		showForm($_POST['username'], $_POST['password'], $_POST['email'], $errors);
	} else {
		$send = instaDisc_sendActivationEmail($_POST['username'], $_POST['password'], $_POST['email']);
		if ($send === TRUE)
		{
?>
<HTML>
 <HEAD>
  <TITLE><?php echo(instaDisc_getConfig('siteName')); ?> InstaDisc Central Server</TITLE>
 </HEAD>
 <BODY>
  <CENTER>
   <H1>InstaDisc Registration</H1>

   <P>Thank you for registering! An activation email has been sent to the address you provided. When you recieve it, copy the 
    code inside to the <A HREF="activate.php">Activation page</A>.
  </CENTER>
 </BODY>
</HTML>
<?php
		} else {
			addError($numOfErrors, $errors, '', $send);
			showForm($_POST['username'], $_POST['password'], $_POST['email'], $errors);
		}
	}
}

function showForm($username, $password, $email, $errors)
{
?>
<HTML>
 <HEAD>
  <TITLE><?php echo(instaDisc_getConfig('siteName')); ?> InstaDisc Central Server</TITLE>
  <LINK REL="stylesheet" TYPE="text/css" HREF="uniform.css">
 </HEAD>
 <BODY>
  <CENTER>
   <H1>InstaDisc Registration</H1>

   <P>If you would like to sign up for our InstaDisc service, please fill out the form below.
  </CENTER>

  <FORM CLASS="uniform" ACTION="./register.php?submit=" METHOD="POST">
<?php
	if (isset($errors[1]))
	{
?><DIV ID="errorMsg">Uh oh! Validation errors!<P>
<OL><?php
		foreach ($errors as $name => $value)
		{
?><LI><A HREF="#error<?php echo($name); ?>"><?php echo($value['msg']); ?></A></LI><?php
		}
?></OL></DIV><?php
	}
?>
<FIELDSET CLASS="inlineLabels"><LEGEND>User Details</LEGEND>
<DIV CLASS="ctrlHolder<?php ifErrors($errors, 'username'); ?>">
<?php doErrors($errors, 'username'); ?> <LABEL FOR="username"><EM>*</EM> Username: </LABEL>
 <INPUT TYPE="text" ID="username" NAME="username" CLASS="textInput" VALUE="<?php echo($username); ?>">
</DIV>
<DIV CLASS="ctrlHolder<?php ifErrors($errors, 'password'); ?>">
<?php doErrors($errors, 'password'); ?> <LABEL FOR="password"><EM>*</EM> Password: </LABEL>
 <INPUT TYPE="password" ID="password" NAME="password" CLASS="textInput" VALUE="<?php echo($password); ?>">
</DIV>
<DIV CLASS="ctrlHolder<?php ifErrors($errors, 'email'); ?>">
<?php doErrors($errors, 'email'); ?> <LABEL FOR="email"><EM>*</EM> Email: </LABEL>
 <INPUT TYPE="text" ID="email" NAME="email" CLASS="textInput" VALUE="<?php echo($email); ?>">
</DIV>
</FIELDSET>
<DIV CLASS="buttonHolder">
 <INPUT TYPE="submit" VALUE="Submit">
</DIV></FORM><?php
}

function ifErrors($errors, $id)
{
        foreach ($errors as $name => $value)
        {
                if ($value['field'] == $id)
                {
                        echo(' error');
                        return;
                }
        }
}

function doErrors($errors, $id)
{
        foreach ($errors as $name => $value)
        {
                if ($value['field'] == $id)
                {
?> <P ID="error<?php echo($name); ?>" CLASS="errorField"><EM>*</EM> <?php echo($value['msg']); ?></P><?php echo("\n");
                }
        }
}

function addError(&$numOfErrors, &$errors, $field, $msg)
{
        $numOfErrors++;
        $errors[$numOfErrors] = array('field' => $field, 'msg' => $msg);
}