[ Index ] |
|
Code source de phpMyVisites 2.3 |
1 <?php 2 /* 3 * phpMyVisites : website statistics and audience measurements 4 * Copyright (C) 2002 - 2006 5 * http://www.phpmyvisites.net/ 6 * phpMyVisites is free software (license GNU/GPL) 7 * Authors : phpMyVisites team 8 */ 9 10 // $Id: FormUser.class.php 187 2007-01-17 11:03:48Z matthieu_ $ 11 12 13 require_once INCLUDE_PATH . "/core/forms/Form.class.php"; 14 require_once INCLUDE_PATH . "/core/include/UserConfigDb.class.php"; 15 16 class FormUser extends Form 17 { 18 var $login; 19 function FormUser( &$template, $userLogin = false ) 20 { 21 parent::Form( $template ); 22 23 $this->login = $userLogin; 24 } 25 26 function process() 27 { 28 29 if($this->login == 'anonymous') { 30 return false; 31 } 32 if($this->login) { 33 $info = User::getInfo( $this->login ); 34 } 35 36 $req =& Request::getInstance(); 37 38 $tmpPassword = @$info['password']; 39 $passwordMd5OrNot = !empty($tmpPassword)?$tmpPassword:''; 40 if($req->getActionName() === 'modCur' ) 41 { 42 $formElements = array( 43 array ('hidden', 'form_login', $this->login), 44 array('password', 'form_passwordold', "Old password:", 'value=""'), 45 array('password', 'form_password', "New password:", 'value=""'), 46 array('password', 'form_password2', $GLOBALS['lang']['admin_type_again'], 'value=""'), 47 array('text', 'form_alias', "Alias", 'size=40 value="'.@$info['alias'].'"'), 48 array('text', 'form_email', "email", 'value="'.@$info['email'].'"'), 49 array('radio', 'form_send_mail', $GLOBALS['lang']['install_send_mail'], $GLOBALS['lang']['install_oui'], 'yes'), 50 array('radio', 'form_send_mail', null, $GLOBALS['lang']['install_non'], 'no'), 51 ); 52 $formRules = array( 53 array('form_email', $GLOBALS['lang']['admin_valid_email'], 'email', '', 'server'), 54 array('form_email', sprintf($GLOBALS['lang']['admin_required'], $GLOBALS['lang']['admin_admin_mail']), 'required'), 55 56 array('form_passwordold', sprintf($GLOBALS['lang']['admin_required'], $GLOBALS['lang']['admin_user_oldPwd']), 'required'), 57 array('form_passwordold', $GLOBALS['lang']['admin_user_oldPwd_bad'], 'checkOldCurrentPassword'), 58 59 array('form_password', $GLOBALS['lang']['admin_valid_pass'], 'complexPassword'), 60 array('form_password', $GLOBALS['lang']['admin_match_pass'], 'compareField', 'form_password2'), 61 array('form_password', $GLOBALS['lang']['admin_valid_pass'], 'changePassword'), 62 63 ); 64 } 65 else { 66 $formElements = array( 67 array('password', 'form_password', "Password:", 'value="'.$passwordMd5OrNot.'"'), 68 array('password', 'form_password2', $GLOBALS['lang']['admin_type_again'], 'value="'.$passwordMd5OrNot.'"'), 69 array('text', 'form_alias', "Alias", 'size=40 value="'.@$info['alias'].'"'), 70 array('text', 'form_email', "email", 'value="'.@$info['email'].'"'), 71 array('radio', 'form_send_mail', $GLOBALS['lang']['install_send_mail'], $GLOBALS['lang']['install_oui'], 'yes'), 72 array('radio', 'form_send_mail', null, $GLOBALS['lang']['install_non'], 'no'), 73 ); 74 75 $formRules = array( 76 array('form_email', $GLOBALS['lang']['admin_valid_email'], 'email', '', 'server'), 77 array('form_email', sprintf($GLOBALS['lang']['admin_required'], $GLOBALS['lang']['admin_admin_mail']), 'required'), 78 79 array('form_password', sprintf($GLOBALS['lang']['admin_required'], $GLOBALS['lang']['install_mdpadmin']), 'required'), 80 array('form_password', $GLOBALS['lang']['admin_valid_pass'], 'complexPassword'), 81 array('form_password', $GLOBALS['lang']['admin_match_pass'], 'compareField', 'form_password2'), 82 83 ); 84 } 85 86 87 // when adding a new element, add an input named login 88 // else read the login in url 89 if($req->getActionName() === 'add' ) 90 { 91 $formElements = array_merge( 92 array( array('text', 'form_login', "Login:", 'value=""')), 93 $formElements 94 ); 95 $formRules[] = array('form_login', sprintf($GLOBALS['lang']['admin_required'], "Login"), 'required'); 96 $formRules[] = array('form_login', "Alpha numeric only", 'alphanumeric'); 97 98 if($login = $this->getSubmitValue('form_login')) 99 { 100 $all = array_keys(User::getAllUsers()); 101 if(in_array( $login, $all )) 102 { 103 $this->setElementError( 'form_login', 'Login already exist in database!'); 104 } 105 } 106 } 107 108 $this->addElements( $formElements , 'User Information'); 109 $this->setChecked( 'form_send_mail', @$info['send_mail']=='1'?'yes':'no' ); 110 $this->addRules( $formRules ); 111 112 113 return parent::process('install_general_setup'); 114 } 115 116 function postProcess() 117 { 118 $confUser = new UserConfigDb(); 119 120 $req =& Request::getInstance(); 121 $curAction = $req->getActionName(); 122 123 if($curAction === 'modCur' ) 124 { 125 // Verify if we update current user 126 if ($this->getSubmitValue('form_login') === $this->login) 127 { 128 $currentInfo = User::getInfo( $this->login ); 129 130 // Verify if old password is ok 131 $tmpOldPwd = md5($this->getSubmitValue('form_passwordold')); 132 if (@$currentInfo['password'] !== $tmpOldPwd) 133 { 134 // Bad old password 135 trigger_error('Bad old passord!', E_USER_ERROR); 136 } 137 else 138 { 139 $info = array( 140 // db field name => new value 141 'login' => $this->login, 142 //'password' => $tmpPassword, 143 'alias' => $this->getSubmitValue('form_alias'), 144 'email' => $this->getSubmitValue('form_email'), 145 'send_mail' => $this->getSubmitValue('form_send_mail')=='no'?0:1, 146 ); 147 148 $submitPassword = $this->getSubmitValue('form_password'); 149 if ( !empty($submitPassword) && $submitPassword !== $tmpOldPwd) 150 { 151 $info ['password'] = md5($submitPassword); 152 } 153 $curAction = 'mod'; 154 } 155 } 156 else 157 { 158 trigger_error('Action not authorized. You can modify only your settings!', E_USER_ERROR); 159 } 160 } 161 else { 162 $info = array( 163 // db field name => new value 164 'login' => $this->login?$this->login:$this->getSubmitValue('form_login'), 165 //'password' => md5($this->getSubmitValue('form_password')), 166 'alias' => $this->getSubmitValue('form_alias'), 167 'email' => $this->getSubmitValue('form_email'), 168 'send_mail' => $this->getSubmitValue('form_send_mail')=='no'?0:1, 169 ); 170 if ($curAction == 'mod') { 171 $currentInfo = User::getInfo( $this->login ); 172 if ($currentInfo['password'] !== $this->getSubmitValue('form_password')){ 173 $info['password'] = md5($this->getSubmitValue('form_password')); 174 } 175 } 176 else { 177 $info['password'] = md5($this->getSubmitValue('form_password')); 178 } 179 } 180 181 switch( $curAction ) 182 { 183 case 'add': 184 $confUser->addUser( $info ); 185 break; 186 187 case 'mod': 188 $confUser->modUser( $info ); 189 break; 190 191 default: 192 trigger_error('Action not specified for User configuration. Were you trying to add, modify, delete? Only YOU know that!', E_USER_ERROR); 193 break; 194 } 195 } 196 } 197 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Mon Nov 26 14:10:01 2007 | par Balluche grâce à PHPXref 0.7 |
![]() |