Changeset 661
- Timestamp:
- Dec 28, 2004, 6:56:33 PM (20 years ago)
- Location:
- trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/functions.inc.php
r659 r661 86 86 } 87 87 88 /** 89 * returns boolean string 'true' or 'false' if the given var is boolean 90 * 91 * @param mixed $var 92 * @return mixed 93 */ 94 function boolean_to_string($var) 95 { 96 if (is_bool($var)) 97 { 98 if ($var) 99 { 100 return 'true'; 101 } 102 else 103 { 104 return 'false'; 105 } 106 } 107 else 108 { 109 return $var; 110 } 111 } 112 88 113 // array_remove removes a value from the given array if the value existed in 89 114 // this array. … … 513 538 // $refresh, $url_link and $title are required for creating an automated 514 539 // refresh page in header.tpl 515 $refresh = 1;540 $refresh = 2; 516 541 $url_link = $url; 517 542 $title = 'redirection'; -
trunk/include/functions_user.inc.php
r653 r661 46 46 } 47 47 48 function register_user( $login, $password, $password_conf, 49 $mail_address, $status = 'guest' ) 50 { 51 global $lang; 52 53 $error = array(); 54 $i = 0; 48 function register_user($login, $password, $password_conf, 49 $mail_address, $status = 'guest') 50 { 51 global $lang, $conf; 52 53 $errors = array(); 55 54 // login must not 56 55 // 1. be empty … … 58 57 // 3. include ' or " characters 59 58 // 4. be already used 60 if ( $login == '' ) $error[$i++] = $lang['reg_err_login1']; 61 if ( ereg( "^.* $", $login) ) $error[$i++] = $lang['reg_err_login2']; 62 if ( ereg( "^ .*$", $login ) ) $error[$i++] = $lang['reg_err_login3']; 63 64 if ( ereg( "'", $login ) or ereg( "\"", $login ) ) 65 $error[$i++] = $lang['reg_err_login4']; 59 if ($login == '') 60 { 61 array_push($errors, $lang['reg_err_login1']); 62 } 63 if (ereg("^.* $", $login)) 64 { 65 array_push($errors, $lang['reg_err_login2']); 66 } 67 if (ereg("^ .*$", $login)) 68 { 69 array_push($errors, $lang['reg_err_login3']); 70 } 71 72 if (ereg("'", $login) or ereg("\"", $login)) 73 { 74 array_push($errors, $lang['reg_err_login4']); 75 } 66 76 else 67 77 { 68 $query = 'SELECT id'; 69 $query.= ' FROM '.USERS_TABLE; 70 $query.= " WHERE username = '".$login."'"; 71 $query.= ';'; 72 $result = pwg_query( $query ); 73 if ( mysql_num_rows($result) > 0 ) $error[$i++] = $lang['reg_err_login5']; 78 $query = ' 79 SELECT id 80 FROM '.USERS_TABLE.' 81 WHERE username = \''.$login.'\' 82 ;'; 83 $result = pwg_query($query); 84 if (mysql_num_rows($result) > 0) 85 { 86 array_push($errors, $lang['reg_err_login5']); 87 } 74 88 } 75 89 // given password must be the same as the confirmation 76 if ( $password != $password_conf ) $error[$i++] = $lang['reg_err_pass']; 77 78 $error_mail_address = validate_mail_address( $mail_address ); 79 if ( $error_mail_address != '' ) $error[$i++] = $error_mail_address; 90 if ($password != $password_conf) 91 { 92 array_push($errors, $lang['reg_err_pass']); 93 } 94 95 $error_mail_address = validate_mail_address($mail_address); 96 if ($error_mail_address != '') 97 { 98 array_push($errors, $error_mail_address); 99 } 80 100 81 101 // if no error until here, registration of the user 82 if ( sizeof( $error ) == 0 ) 83 { 84 // 1. retrieving default values, the ones of the user "guest" 85 $infos = array( 'nb_image_line', 'nb_line_page', 'language', 86 'maxwidth', 'maxheight', 'expand', 'show_nb_comments', 87 'recent_period', 'template', 'forbidden_categories' ); 88 $query = 'SELECT '; 89 for ( $i = 0; $i < sizeof( $infos ); $i++ ) 90 { 91 if ( $i > 0 ) $query.= ','; 92 $query.= $infos[$i]; 93 } 94 $query.= ' FROM '.USERS_TABLE; 95 $query.= " WHERE username = 'guest'"; 96 $query.= ';'; 97 $row = mysql_fetch_array( pwg_query( $query ) ); 98 // 2. adding new user 99 $query = 'INSERT INTO '.USERS_TABLE; 100 $query.= ' ('; 101 $query.= ' username,password,mail_address,status'; 102 for ( $i = 0; $i < sizeof( $infos ); $i++ ) 103 { 104 $query.= ','.$infos[$i]; 105 } 106 $query.= ') values ('; 107 $query.= " '".$login."'"; 108 $query.= ",'".md5( $password )."'"; 109 if ( $mail_address != '' ) $query.= ",'".$mail_address."'"; 110 else $query.= ',NULL'; 111 $query.= ",'".$status."'"; 112 foreach ( $infos as $info ) { 113 $query.= ','; 114 if ( !isset( $row[$info] ) ) $query.= 'NULL'; 115 else $query.= "'".$row[$info]."'"; 116 } 117 $query.= ');'; 118 pwg_query( $query ); 119 } 120 return $error; 102 if (count($errors) == 0) 103 { 104 $insert = array(); 105 $insert['username'] = $login; 106 $insert['password'] = md5($password); 107 $insert['status'] = $status; 108 $insert['template'] = $conf['default_template']; 109 $insert['nb_image_line'] = $conf['nb_image_line']; 110 $insert['nb_line_page'] = $conf['nb_line_page']; 111 $insert['language'] = $conf['default_language']; 112 $insert['recent_period'] = $conf['recent_period']; 113 $insert['expand'] = boolean_to_string($conf['auto_expand']); 114 $insert['show_nb_comments'] = boolean_to_string($conf['show_nb_comments']); 115 if ( $mail_address != '' ) 116 { 117 $insert['mail_address'] = $mail_address; 118 } 119 if ($conf['default_maxwidth'] != '') 120 { 121 $insert['maxwidth'] = $conf['default_maxwidth']; 122 } 123 if ($conf['default_maxheight'] != '') 124 { 125 $insert['maxheight'] = $conf['default_maxheight']; 126 } 127 128 $query = ' 129 INSERT INTO '.USERS_TABLE.' 130 ('.implode(',', array_keys($insert)).') 131 VALUES 132 ('; 133 $is_first = true; 134 foreach (array_keys($insert) as $field) 135 { 136 if (!$is_first) 137 { 138 $query.= ','; 139 } 140 $query.= "'".$insert[$field]."'"; 141 $is_first = false; 142 } 143 $query.= ') 144 ;'; 145 pwg_query($query); 146 } 147 return $errors; 121 148 } 122 149 -
trunk/register.php
r631 r661 31 31 //----------------------------------------------------------- user registration 32 32 $errors = array(); 33 if ( isset( $_POST['submit'] ))33 if (isset($_POST['submit'])) 34 34 { 35 $errors = register_user( 36 $_POST['password_conf'], $_POST['mail_address'] 37 if ( sizeof( $errors ) == 0)35 $errors = register_user($_POST['login'], $_POST['password'], 36 $_POST['password_conf'], $_POST['mail_address']); 37 if (count($errors) == 0) 38 38 { 39 $query = ' 40 SELECT id 41 FROM '.USERS_TABLE.' 42 WHERE username = \''.$_POST['login'].'\' 43 ;'; 44 list($user_id) = mysql_fetch_array(pwg_query($query)); 45 $session_id = session_create($user_id, $conf['session_length']); 39 46 $url = 'category.php?id='.$session_id; 40 redirect( $url);47 redirect($url); 41 48 } 42 49 }
Note: See TracChangeset
for help on using the changeset viewer.