public
Description: Git mirror of the CMS Made Simple 2.0 rewrite
Homepage: http://cmsmadesimple.org
Clone URL: git://github.com/tedkulp/cmsmadesimple-2-0.git
tedkulp (author)
Mon Jun 30 18:44:59 -0700 2008
commit  e34223b6addd2ea537224ce7a5ce8213fd5b8cbb
tree    02aea6be6db63660a9bd2d5ecad0926ed4779006
parent  b1eaa8809efe0f7a4650c1b7f96c784c6cd4a995
cmsmadesimple-2-0 / admin / edituser.php
100644 95 lines (79 sloc) 2.407 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
<?php
#CMS - CMS Made Simple
#(c)2004-2008 by Ted Kulp (ted@cmsmadesimple.org)
#This project's homepage is: http://cmsmadesimple.sf.net
#
#This program is free software; you can redistribute it and/or modify
#it under the terms of the GNU General Public License as published by
#the Free Software Foundation; either version 2 of the License, or
#(at your option) any later version.
#
#This program is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
#GNU General Public License for more details.
#You should have received a copy of the GNU General Public License
#along with this program; if not, write to the Free Software
#Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
 
$CMS_ADMIN_PAGE=1;
 
require_once("../include.php");
 
if (isset($_POST["cancel"]))
{
  redirect("listusers.php");
}
 
$gCms = cmsms();
$smarty = cms_smarty();
$smarty->assign('action', 'edituser.php');
 
// Make sure we have permissions for this page
$userid = get_userid();
$access = check_permission($userid, 'Modify Users');
 
require_once("header.php");
 
$submit = array_key_exists('submitbutton', $_POST);
 
function get_user_object($user_id)
{
  $user_object = cmsms()->cms_user->find_by_id($user_id);
  if (isset($_REQUEST['user']))
  {
    $user_object->update_parameters($_REQUEST['user']);
  
    //Handle password separately -- too much room for error
    //to put all the login in the CmsUser class
    if ($_REQUEST['password'] != '')
    {
      if ($_REQUEST['password'] == $_REQUEST['passwordagain'])
      {
        $user_object->set_password($_REQUEST['password']);
      }
      else
      {
        //Add validation error about passwords not matching
        $user_object->add_error(lang("Passwords don't match"));
      }
    }
  }
  
  return $user_object;
}
 
//Get a working page object
$user_id = coalesce_key($_REQUEST, 'user_id', $userid);
$user_object = get_user_object($user_id);
 
if ($access)
{
  if ($submit)
  {
    if ($user_object->save())
    {
      if ($submit)
      {
        audit($user_object->id, $user_object->name, 'Edited user');
        redirect("listusers.php");
      }
    }
  }
}
 
//Add the header
$smarty->assign('header_name', $themeObject->ShowHeader('edituser'));
 
//Setup the user object
$smarty->assign_by_ref('user_object', $user_object);
 
$smarty->display('adduser.tpl');
 
include_once("footer.php");
?>