]> git.ozlabs.org Git - ccan/blob - web/requestid.php
Add antithread. Not finished, but useful as example of module whose
[ccan] / web / requestid.php
1 <?php
2 session_start();
3 include('logo.html');
4 include('menulist.html');
5 include('configuration');
6
7 if(isset($_POST['submit'])) {
8         $name = $_REQUEST['name'];
9         $email = $_REQUEST['email'];
10         $website = $_REQUEST['website'];
11         $accountid = $_REQUEST['accountid'];
12         $description = $_REQUEST['description'];
13         if(trim($name) == '') {
14                 $errmsg = 'Please enter your name';
15         }
16         else if(trim($email) == '') {
17                 $errmsg = 'Please enter your email address';
18         }
19         else if(!isEmail($email)) {
20                 $errmsg = 'Your email address is not valid';
21         }
22         else if(trim($accountid) == '') {
23                 $errmsg = 'Please enter your account id';
24         }       
25         else if(strlen($accountid) < 4 || strlen($accountid) > 16)      {
26                 $errmsg = 'account id should have length between 4 and 16';
27         }
28         else if(trim($accountid) != '') {
29                 $handle = sqlite3_open($db) or die("Could not open database");
30                 $query = "SELECT * FROM users where username=\"$accountid\"";
31                 $result = sqlite3_query($handle, $query) or die("Error in query: ".sqlite3_error($handle));
32                 
33                 if (($row = sqlite3_fetch_array($result)) != '') { 
34                         $errmsg = 'Desired id already exist. Please enter different Desired id.';
35                 }
36         } 
37         else if(trim($description) == '') {
38                 $errmsg = 'Please enter your description';
39         }
40         else if(strlen($description) < 20) {
41                 $errmsg = 'Description should atleast be 20 characters';        
42         }
43 }
44  
45 if(trim($errmsg) != '' || !isset($_POST['submit'])) {
46 ?>
47                 <h3 class="firstheader" align="center">Request CCAN account</h3> 
48                 <div align="center" class="errmsg"><font color="RED"><?=$errmsg;?></font></div>
49                 <form method="post" action="requestid.php">
50                 <table align="center" width="70%" border="0" bgcolor="999999" cellpadding="4" cellspacing="1">
51                 <tr align="left" bgcolor="lightgray">
52                 <td> <p>Full name: </p> <p><input name="name" type="text" value="<?=$name;?>"/></p> </td>
53                 </tr>
54                 <tr align="left" bgcolor="silver">
55                 <td> <p>Email: </p>     <p><input name="email" type="text" value="<?=$email;?>"/> <br /></p>    </td>
56                 </tr>
57                 <tr align="left" bgcolor="lightgray">
58                 <td> <p>Desired ID: </p><p><input name="accountid" type="text" value="<?=$accountid;?>"/><br /></p></td>
59                 </tr>
60                 <tr align="left" bgcolor="silver">
61                 <td><p> Web Site[Optional]: </p><p><input name="website" type="text" value="<?=$website;?>"/><br /></p></td>
62                 </tr>
63                 <tr align="left" bgcolor="lightgray">
64                 <td><p> A short description of what you are planning to contribute: </p>
65                         <p><textarea name="description" rows="10" cols="70" value="<?=$description;?>"> </textarea></p>
66                 </td>
67                 </tr>
68                 <tr align="center">
69                 <td> <input type="submit" name="submit" value="Request Account"/> </td>
70                 </tr>
71                 </table>
72                 </form><hr>
73 <?php
74 }
75
76 else {
77 $handle = sqlite3_open($db) or die("Could not open database");
78 $query = "insert into users values(\"".$name."\",\"".$email."\",\"".$accountid."\",\"".$website."\",\"".$description."\",\"false\" ,\"false\")";
79 $result = sqlite3_exec($handle, $query) or die("Error in query: ".sqlite3_error($handle));
80
81 $subject = "Approval of ccan account";
82 $message = "There is new request for ccan account id.\n\n Please use the following link to approve http://ccan.ozlabs.org/dinesh/approval.php?accountid=".$accountid;
83 mail($ccan_admin, $subject, $message, "From: $email");
84 ?>
85         </br><div>Thank you for registering with CCAN. You will get the password to your mail after approval.</div>
86 <?php
87 }
88
89 function isEmail($email)
90 {
91         return(preg_match("/^[-_.[:alnum:]]+@((([[:alnum:]]|[[:alnum:]][[:alnum:]-]*[[:alnum:]])\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)$|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i"
92                         ,$email));
93 }
94 ?>