root/releases/0.1.1b/units/users/userdetails_actions.php

Revision 5, 2.6 kB (checked in by sven, 3 years ago)

snapshot of elgg 0.1.1b

Line 
1 <?php
2
3     // Userdetails actions
4     
5         if (logged_on && isset($_REQUEST['action'])) {
6             
7             switch($_REQUEST['action']) {
8                 
9                 // Update user details
10                     case "userdetails:update":
11                                                     if (isset($_REQUEST['name']) && isset($_REQUEST['email'])) {
12                                                         $userdetails_ok = "yes";
13                                                         $name = addslashes($_REQUEST['name']);
14                                                         if (strlen($name) > 64) {
15                                                             $messages[] = "Your suggested name was too long. Please try something shorter.";
16                                                             $userdetails_ok = "no";
17                                                         }
18                                                         $email = $_REQUEST['email'];
19                                                         if (!@preg_match("/^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/i",$email)) {
20                                                             $messages[] = "Your suggested email address $email doesn't appear to be valid.";
21                                                             $userdetails_ok = "no";
22                                                         } else {
23                                                             $email = addslashes($email);
24                                                         }
25                                                         
26                                                         if ($userdetails_ok == "yes") {
27                                                             $messages[] = "Your name and email address were updated.";
28                                                             $id = (int) $_SESSION['userid'];
29                                                             db_query("update users set name = '$name', email = '$email' where ident = $id");
30                                                             $_SESSION['name'] = stripslashes($name);
31                                                             $_SESSION['email'] = stripslashes($email);
32                                                         } else {
33                                                             $messages[] = "Your user details were not changed.";
34                                                         }
35                                                         
36                                                     }
37                                                     
38                                                     if (isset($_REQUEST['password1']) && isset($_REQUEST['password2']) && $_REQUEST['password1'] != "") {
39                                                         $password1 = $_REQUEST['password1'];
40                                                         $password2 = $_REQUEST['password2'];
41                                                         if (($password1 == $password2)) {
42                                                             if (strlen($password1) < 4 || strlen($password1) > 32) {
43                                                                 $messages[] = "Password not changed: Your password is either too short or too long. It must be between 4 and 32 characters in length.";
44                                                             } else if (!preg_match("/^[a-zA-Z0-9]*$/i",$password1)) {
45                                                                 $messages[] = "Password not changed: Your password can only consist of letters or numbers.";
46                                                             } else {
47                                                                 $messages[] = "Your password was updated.";
48                                                                 db_query("update users set password = '".md5($password1)."' where ident = " . $_SESSION['userid']);
49                                                             }
50                                                         } else {
51                                                             $messages[] = "Password not changed: The password and its verification string did not match.";
52                                                         }
53                                                     }
54                                                     break;
55                 
56             }
57             
58         }
59 ?>
Note: See TracBrowser for help on using the browser.