Example #1
0
 /**
  * Creates a user from the provided user data
  * @param array
  * @return void
  */
 private function createUser($userData)
 {
     $user = new User();
     $user->username = $userData['username'];
     $user->password = $userData['password'];
     $role = Role::where('name', '=', $userData['role'])->first();
     $user->role()->associate($role);
     $user->save();
     $this->users[$userData['username']] = $user;
 }
Example #2
0
 /**
  * Store a newly created resource in storage.
  * This route will be called automatically on a POST on the base path
  *
  * @return Response
  */
 public function store()
 {
     $user = new User();
     $user->username = Input::get('username');
     $user->password = Input::get('password');
     try {
         $user->role()->associate(Role::where('name', '=', Input::get('role'))->firstOrFail());
     } catch (ModelNotFoundException $e) {
         return $this->handleInvalidRole(Input::get('role'));
     }
     $user->save();
     return Response::json(array('message' => 'user created'), 201);
 }
Example #3
0
 /**
  * Test if a given user has capability to perform a certain action.
  *
  * @param   User     $user
  * @param   string   $action
  * @return  boolean
  */
 public function userCan($user, $action)
 {
     // Ensure a valid user object is given
     if (!$user instanceof User) {
         return false;
     }
     // Test for authorship
     $isAuthor = $this->username() === $user->username();
     if ($isAuthor && in_array($action, array('edit', 'delete'))) {
         return true;
     }
     // Test if the user has the required role
     $caps = plugin('comments')->config()->get('capabilities');
     $roles = explode('|', a::get($caps, $action));
     return in_array('all', $roles) || in_array($user->role(), $roles);
 }
Example #4
0
 /**
  * Displays a form for editing a current user.
  */
 public static function edit($id)
 {
     $user = User::user()->find($id);
     if (isset($_POST['update_user'])) {
         // First check if new email is already in use
         if ($_POST['email'] == $user->email || !User::user()->where('email', '=', $_POST['email'])->first()) {
             $status = User::user()->where('id', '=', $id)->update(array('email' => $_POST['email'], 'pass' => strlen($_POST['pass']) ? md5($_POST['pass']) : $user->pass));
             Db::table('habtm_userroles_userusers')->where('user_user_id', '=', $user->id)->delete();
             if (isset($_POST['role_id'])) {
                 foreach ($_POST['role_id'] as $roleId) {
                     Db::table('habtm_userroles_userusers')->insert(array('user_role_id' => $roleId, 'user_user_id' => $user->id));
                 }
             }
             if ($status) {
                 Message::ok('User updated successfully.');
             } else {
                 Message::error('Error updating user.');
             }
         } else {
             Message::error('That email address is already in use.');
         }
     }
     $options = array();
     $selected = array();
     $roles = User::role()->all();
     $selectedRoles = Db::table('habtm_userroles_userusers')->where('user_user_id', '=', $id)->all();
     foreach ($roles as $role) {
         $options[$role->id] = $role->name;
     }
     if ($selectedRoles) {
         foreach ($selectedRoles as $role) {
             $selected[] = $role->user_role_id;
         }
     }
     $fields[] = array('fields' => array('email' => array('title' => 'Email', 'type' => 'text', 'default_value' => $user->email), 'pass' => array('title' => 'Password', 'type' => 'password'), 'role_id[]' => array('title' => 'Roles', 'type' => 'select', 'options' => $options, 'selected' => $selected, 'attributes' => array('multiple' => 'multiple')), 'update_user' => array('value' => 'Update User', 'type' => 'submit')));
     return array(array('title' => 'Edit User', 'content' => Html::form()->build($fields)));
 }
Example #5
0
 protected function createUser($userData)
 {
     $user = new User();
     $user->username = $userData['username'];
     $user->password = $userData['password'];
     $user->role()->associate(Role::where('name', '=', $userData['role'])->firstOrFail());
     $user->save();
     return $user;
 }
Example #6
0
 /**
  * Deletes a role and redirects back to manage roles page.
  */
 public static function delete($id)
 {
     if (User::role()->delete($id)) {
         Message::ok('Role deleted successfully.');
     } else {
         Message::error('Error deleting role.');
     }
     Url::redirect('admin/user/role/manage');
 }
Example #7
0
</head>

<body>

<div class="container" id="page">

	<div id="header">
		<div id="logo"><?php 
echo CHtml::encode(Yii::app()->name);
?>
</div>
	</div><!-- header -->

	<div id="mainmenu">
		<?php 
$this->widget('zii.widgets.CMenu', array('items' => array(array('label' => 'Home', 'url' => array('/site/index')), array('label' => 'Abouts', 'url' => array('/site/page', 'view' => 'about')), array('label' => 'Организации', 'url' => ['/company/index'], 'visible' => User::role() != 'user'), array('label' => 'Contact', 'url' => array('/site/contact')), array('label' => 'Login', 'url' => array('/site/login'), 'visible' => Yii::app()->user->isGuest), array('label' => 'Logout (' . Yii::app()->user->role . ')', 'url' => array('/site/logout'), 'visible' => !Yii::app()->user->isGuest))));
?>
	</div><!-- mainmenu -->
	<?php 
if (isset($this->breadcrumbs)) {
    ?>
		<?php 
    $this->widget('zii.widgets.CBreadcrumbs', array('links' => $this->breadcrumbs));
    ?>
<!-- breadcrumbs -->
	<?php 
}
?>

	<?php 
echo $content;