[ Index ] |
|
Code source de CMS made simple 1.0.5 |
1 <?php 2 #CMS - CMS Made Simple 3 #(c)2004 by Ted Kulp (wishy@users.sf.net) 4 #This project's homepage is: http://cmsmadesimple.sf.net 5 # 6 #This program is free software; you can redistribute it and/or modify 7 #it under the terms of the GNU General Public License as published by 8 #the Free Software Foundation; either version 2 of the License, or 9 #(at your option) any later version. 10 # 11 #This program is distributed in the hope that it will be useful, 12 #but WITHOUT ANY WARRANTY; without even the implied warranty of 13 #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 #GNU General Public License for more details. 15 #You should have received a copy of the GNU General Public License 16 #along with this program; if not, write to the Free Software 17 #Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 # 19 #$Id: edituser.php 3345 2006-08-21 12:42:08Z wishy $ 20 21 $CMS_ADMIN_PAGE=1; 22 23 require_once ("../include.php"); 24 require_once ("../lib/classes/class.user.inc.php"); 25 26 check_login(); 27 28 $error = ""; 29 30 $dropdown = ""; 31 32 $user = ""; 33 if (isset($_POST["user"])) $user = cleanValue($_POST["user"]); 34 35 $password = ""; 36 if (isset($_POST["password"])) $password = $_POST["password"]; 37 38 $passwordagain = ""; 39 if (isset($_POST["passwordagain"])) $passwordagain = $_POST["passwordagain"]; 40 41 $firstname = ""; 42 if (isset($_POST["firstname"])) $firstname = cleanValue($_POST["firstname"]); 43 44 $lastname = ""; 45 if (isset($_POST["lastname"])) $lastname = cleanValue($_POST["lastname"]); 46 47 $email = ""; 48 if (isset($_POST["email"])) $email = cleanValue($_POST["email"]); 49 50 $adminaccess = 1; 51 if (!isset($_POST["adminaccess"]) && isset($_POST["edituser"])) $adminaccess = 0; 52 53 $active = 1; 54 if (!isset($_POST["active"]) && isset($_POST["edituser"])) $active = 0; 55 56 $userid = get_userid(); 57 $user_id = $userid; 58 if (isset($_POST["user_id"])) $user_id = cleanValue($_POST["user_id"]); 59 else if (isset($_GET["user_id"])) $user_id = cleanValue($_GET["user_id"]); 60 61 global $gCms; 62 $userops =& $gCms->GetUserOperations(); 63 $thisuser = $userops->LoadUserByID($user_id); 64 if (strlen($thisuser->username) > 0) 65 { 66 $CMS_ADMIN_SUBTITLE = $thisuser->username; 67 } 68 69 // this is now always true... but we may want to change how things work, so I'll leave it 70 $access_perm = check_permission($userid, 'Modify Users'); 71 $access_user = ($userid == $user_id); 72 $access = $access_perm | $access_user; 73 74 $use_wysiwyg = ""; 75 #if (isset($_POST["use_wysiwyg"])){$use_wysiwyg = $_POST["use_wysiwyg"];} 76 #else{$use_wysiwyg = get_preference($userid, 'use_wysiwyg');} 77 78 if ($access) { 79 80 if (isset($_POST["cancel"])) { 81 redirect("listusers.php"); 82 return; 83 } 84 85 if (isset($_POST["edituser"])) { 86 87 $validinfo = true; 88 89 if ($user == "") { 90 $validinfo = false; 91 $error .= "<li>".lang('nofieldgiven', array(lang('username')))."</li>"; 92 } 93 94 if ($password != $passwordagain) { 95 $validinfo = false; 96 $error .= "<li>".lang('nopasswordmatch')."</li>"; 97 } 98 99 if ($validinfo) { 100 #set_preference($userid, 'use_wysiwyg', $use_wysiwyg); 101 #audit(-1, '', 'Edited User'); 102 103 $result = false; 104 if ($thisuser) 105 { 106 $thisuser->username = $user; 107 $thisuser->firstname = $firstname; 108 $thisuser->lastname = $lastname; 109 $thisuser->email = $email; 110 $thisuser->adminaccess = $adminaccess; 111 $thisuser->active = $active; 112 if ($password != "") 113 { 114 $thisuser->SetPassword($password); 115 } 116 117 #Perform the edituser_pre callback 118 foreach($gCms->modules as $key=>$value) 119 { 120 if ($gCms->modules[$key]['installed'] == true && 121 $gCms->modules[$key]['active'] == true) 122 { 123 $gCms->modules[$key]['object']->EditUserPre($thisuser); 124 } 125 } 126 127 Events::SendEvent('Core', 'EditUserPre', array('user' => &$thisuser)); 128 129 130 $result = $thisuser->save(); 131 } 132 133 if ($result) 134 { 135 audit($user_id, $thisuser->username, 'Edited User'); 136 137 #Perform the edituser_post callback 138 foreach($gCms->modules as $key=>$value) 139 { 140 if ($gCms->modules[$key]['installed'] == true && 141 $gCms->modules[$key]['active'] == true) 142 { 143 $gCms->modules[$key]['object']->EditUserPost($thisuser); 144 } 145 } 146 147 Events::SendEvent('Core', 'EditUserPost', array('user' => &$thisuser)); 148 149 if ($access_perm) 150 { 151 redirect("listusers.php"); 152 } 153 else 154 { 155 redirect("topmyprefs.php"); 156 } 157 158 } 159 else { 160 $error .= "<li>".lang('errorupdatinguser')."</li>"; 161 } 162 } 163 164 } 165 else if ($user_id != -1) { 166 $user = $thisuser->username; 167 $firstname = $thisuser->firstname; 168 $lastname = $thisuser->lastname; 169 $email = $thisuser->email; 170 $adminaccess = $thisuser->adminaccess; 171 $active = $thisuser->active; 172 } 173 } 174 175 include_once ("header.php"); 176 177 if (!$access) { 178 echo "<div class=\"pageerrorcontainer\"><p class=\"pageerror\">".lang('noaccessto', array(lang('edituser')))."</p></div>"; 179 } 180 else { 181 if (FALSE == empty($error)) { 182 echo $themeObject->ShowErrors('<ul class="error">'.$error.'</ul>'); 183 } 184 ?> 185 186 <div class="pagecontainer"> 187 <?php echo $themeObject->ShowHeader('edituser'); ?> 188 <form method="post" action="edituser.php"> 189 <div class="pageoverflow"> 190 <p class="pagetext"><?php echo lang('name')?>:</p> 191 <p class="pageinput"><input type="text" name="user" maxlength="25" value="<?php echo $user?>" class="standard" /></p> 192 </div> 193 <div class="pageoverflow"> 194 <p class="pagetext"><?php echo lang('password')?>:</p> 195 <p class="pageinput"><input type="password" name="password" maxlength="25" value="" /> <?php echo lang('info_edituser_password') ?></p> 196 </div> 197 <div class="pageoverflow"> 198 <p class="pagetext"><?php echo lang('passwordagain')?>:</p> 199 <p class="pageinput"><input type="password" name="passwordagain" maxlength="25" value="" class="standard" /> <? echo lang('info_edituser_passwordagain') ?></p> 200 </div> 201 <div class="pageoverflow"> 202 <p class="pagetext"><?php echo lang('firstname')?>:</p> 203 <p class="pageinput"><input type="text" name="firstname" maxlength="50" value="<?php echo $firstname?>" class="standard" /></p> 204 </div> 205 <div class="pageoverflow"> 206 <p class="pagetext"><?php echo lang('lastname')?>:</p> 207 <p class="pageinput"><input type="text" name="lastname" maxlength="50" value="<?php echo $lastname?>" class="standard" /></p> 208 </div> 209 <div class="pageoverflow"> 210 <p class="pagetext"><?php echo lang('email')?>:</p> 211 <p class="pageinput"><input type="text" name="email" maxlength="255" value="<?php echo $email?>" class="standard" /></p> 212 </div> 213 <?php 214 if( $access_perm && !$access_user ) { 215 ?> 216 <div class="pageoverflow"> 217 <p class="pagetext"><?php echo lang('active')?>:</p> 218 <p class="pageinput"><input class="pagecheckbox" type="checkbox" name="active" <?php echo ($active == 1?"checked=\"checked\"":"")?> /></p> 219 </div> 220 <?php 221 } else { 222 echo '<input type="hidden" name="active" value="'.$active.'" />'; 223 } 224 ?> 225 <div class="pageoverflow"> 226 <p class="pagetext"> </p> 227 <p class="pageinput"> 228 <input type="hidden" name="user_id" value="<?php echo $user_id?>" /> 229 <input type="hidden" name="edituser" value="true" /> 230 <input class="pagebutton" onmouseover="this.className='pagebuttonhover'" onmouseout="this.className='pagebutton'" type="submit" value="<?php echo lang('submit')?>" /> 231 <input class="pagebutton" onmouseover="this.className='pagebuttonhover'" onmouseout="this.className='pagebutton'" type="submit" name="cancel" value="<?php echo lang('cancel')?>" /> 232 </p> 233 </div> 234 </form> 235 </div> 236 <?php 237 238 } 239 240 echo '<p class="pageback"><a class="pageback" href="'.$themeObject->BackUrl().'">« '.lang('back').'</a></p>'; 241 242 include_once ("footer.php"); 243 244 # vim:ts=4 sw=4 noet 245 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Tue Apr 3 18:50:37 2007 | par Balluche grâce à PHPXref 0.7 |