[ Index ]
 

Code source de CMS made simple 1.0.5

Accédez au Source d'autres logiciels libresSoutenez Angelica Josefina !

title

Body

[fermer]

/admin/ -> edituser.php (source)

   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="" />&nbsp;<?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" />&nbsp;<? 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">&nbsp;</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().'">&#171; '.lang('back').'</a></p>';
 241  
 242  include_once ("footer.php");
 243  
 244  # vim:ts=4 sw=4 noet
 245  ?>


Généré le : Tue Apr 3 18:50:37 2007 par Balluche grâce à PHPXref 0.7