CMS  Version 3.9
UserManager Class Reference

Provides the interface to the user model for the application. More...

Public Member Functions

 UserManager ()
 Creates a new UserManager object. More...
 
 getUsernameField ()
 Returns the field name of the username in the user model. More...
 
 getEmailField ()
 Returns the field name of the email field in the user model. More...
 
 getUserClass ()
 Returns the datamodel class name of the user model. More...
 
 getUser ($user_id)
 Retrieves the user with the specified id. More...
 
 getActiveClause ()
 Return a clause that constrains records on those that are active. More...
 
 isActive ($user)
 Determine if the specified user account is active. More...
 
 getUserByName ($username)
 
 getUserByEmail ($email)
 
 getUserFullName ($user)
 Return the user's full name. More...
 
 validatePassword ($username, $password)
 Validates the user's username and password, returning the matching user. More...
 
 loadDefaultSession ($user)
 Load any supporting information into the user's session after a valid login. More...
 
 loginRedirect ($user)
 Redirect the user after a valid login. More...
 
 getLoginRedirect ($user)
 Redirect the user after a valid login. More...
 
 getPasswordResetPage ()
 Returns the identifier of the password reset page. More...
 
 getPasswordHelpText ()
 
 getPasswordHelpUserNameLabel ()
 

Static Public Member Functions

static deleteRole ($del_role)
 
static onInitialize ()
 
static upgradeComponent ($version)
 

Detailed Description

Provides the interface to the user model for the application.

This implementation uses the default user model as shipped with Fakoli/CMS. If you need to use a different user model you can simply implement your own 'user' component and include it in your application web root to override this one. In that case you must supply a UserManager class that conforms to the interface below.

Author
andy

Definition at line 49 of file user_manager.inc.

Member Function Documentation

◆ deleteRole()

static UserManager::deleteRole (   $del_role)
static

Definition at line 223 of file user_manager.inc.

224  {
225  $constraint = "WHERE role like '%$del_role%'";
226 
227  $mgr = new UserManager();
228  $class = $mgr->getUserClass();
229  $users = Query::create($class, $constraint)->execute();
230 
232 
233  return $del_role;
234  }
$constraint
static deleteRoleFromString(&$items, $del_role, $field="")
UserManager()
Creates a new UserManager object.

◆ getActiveClause()

UserManager::getActiveClause ( )

Return a clause that constrains records on those that are active.

Returns
string

Definition at line 101 of file user_manager.inc.

102  {
103  return "active=true";
104  }

◆ getEmailField()

UserManager::getEmailField ( )

Returns the field name of the email field in the user model.

Returns
string

Definition at line 71 of file user_manager.inc.

72  {
73  return "email";
74  }

◆ getLoginRedirect()

UserManager::getLoginRedirect (   $user)

Redirect the user after a valid login.

Parameters
$userthe user object

Definition at line 188 of file user_manager.inc.

189  {
190  global $isAdmin;
191  global $_SESSION;
192 
193  $page = $_SESSION["login_redirect"];
194  unset($_SESSION["login_redirect"]);
195 
196  if (!$page || startsWith($page, "components/login"))
197  {
198  $page = ($isAdmin) ? "/admin/index" : SiteRole::getHomePage($user);
199  }
200 
201  return $page;
202  }
$page
Definition: help.inc:39
static getHomePage($account=null)
Definition: role.inc:102
global $user
$_SESSION["useMobile"]
Definition: override.inc:7

◆ getPasswordHelpText()

UserManager::getPasswordHelpText ( )

Definition at line 213 of file user_manager.inc.

214  {
215  return "If you have an account on this system, please enter your user name or your user email address and we will email a temporary password to you.";
216  }

◆ getPasswordHelpUserNameLabel()

UserManager::getPasswordHelpUserNameLabel ( )

Definition at line 218 of file user_manager.inc.

219  {
220  return "User name or email";
221  }

◆ getPasswordResetPage()

UserManager::getPasswordResetPage ( )

Returns the identifier of the password reset page.

Returns
string the identifier of the password reset page.

Definition at line 208 of file user_manager.inc.

209  {
210  return "/password_reset";
211  }

◆ getUser()

UserManager::getUser (   $user_id)

Retrieves the user with the specified id.

Parameters
$user_idthe primary key identifying the user
Returns
object

Definition at line 90 of file user_manager.inc.

91  {
92  return new SiteUser($user_id);
93  }
$user_id
This class maps the site_user table.
Definition: site_user.inc:43

◆ getUserByEmail()

UserManager::getUserByEmail (   $email)

Definition at line 127 of file user_manager.inc.

128  {
129  $emailField = $this->getEmailField();
130 
131  $matches = Query::create(SiteUser, "WHERE $emailField=:email")
132  ->bind(":email", $email)
133  ->execute();
134 
135  return (count($matches) > 0) ? $matches[0] : null;
136  }
getEmailField()
Returns the field name of the email field in the user model.

◆ getUserByName()

UserManager::getUserByName (   $username)

Definition at line 115 of file user_manager.inc.

116  {
117  $usernameField = $this->getUsernameField();
118 
119  $matches = Query::create(SiteUser, "WHERE $usernameField=:username")
120  ->bind(":username", $username)
121  ->execute();
122 
123  return (count($matches) > 0) ? $matches[0] : null;
124  }
$username
getUsernameField()
Returns the field name of the username in the user model.

◆ getUserClass()

UserManager::getUserClass ( )

Returns the datamodel class name of the user model.

Returns
string

Definition at line 80 of file user_manager.inc.

81  {
82  return SiteUser;
83  }

◆ getUserFullName()

UserManager::getUserFullName (   $user)

Return the user's full name.

Parameters
string$userthe user object to be queried

Definition at line 142 of file user_manager.inc.

143  {
144  return $user->getFullName();
145  }

◆ getUsernameField()

UserManager::getUsernameField ( )

Returns the field name of the username in the user model.

Returns
string

Definition at line 62 of file user_manager.inc.

63  {
64  return "username";
65  }

◆ isActive()

UserManager::isActive (   $user)

Determine if the specified user account is active.

Parameters
SiteUser$user

Definition at line 110 of file user_manager.inc.

111  {
112  return $user->active;
113  }

◆ loadDefaultSession()

UserManager::loadDefaultSession (   $user)

Load any supporting information into the user's session after a valid login.

Parameters
$userthe user object

Definition at line 171 of file user_manager.inc.

172  {
173  }

◆ loginRedirect()

UserManager::loginRedirect (   $user)

Redirect the user after a valid login.

Parameters
$userthe user object

Definition at line 179 of file user_manager.inc.

180  {
181  $page = $this->getLoginRedirect($user);
182  redirect($page);
183  }
getLoginRedirect($user)
Redirect the user after a valid login.

◆ onInitialize()

static UserManager::onInitialize ( )
static

Definition at line 236 of file user_manager.inc.

237  {
238  global $user;
239  if ($user)
240  {
241  MenuManager::setDisplayFlag('logged_in', true);
242  }
243  else
244  {
245  MenuManager::setDisplayFlag('logged_in', false);
246  }
247  }
static setDisplayFlag($name, $value=true)

◆ upgradeComponent()

static UserManager::upgradeComponent (   $version)
static

Definition at line 249 of file user_manager.inc.

250  {
251  $mgr = new UserUpgradeManager();
252  $mgr->upgrade($version);
253  }

◆ UserManager()

UserManager::UserManager ( )

Creates a new UserManager object.

Definition at line 54 of file user_manager.inc.

55  {
56  }

◆ validatePassword()

UserManager::validatePassword (   $username,
  $password 
)

Validates the user's username and password, returning the matching user.

Parameters
$usernamethe user's username
$passwordthe supplied password
Returns
object the matching user if password is valid, null otherwise

Definition at line 153 of file user_manager.inc.

154  {
155  $user = querySingle(SiteUser, "WHERE username='{$username}' and active=1");
156 
157  if ($user && crypt($_POST["password"], $user->password) === $user->password)
158  {
159  return $user;
160  }
161  else
162  {
163  return null;
164  }
165  }
$_POST["owner_id"]
Definition: blog_form.inc:54

The documentation for this class was generated from the following file: