Begin implementing user management

This commit is contained in:
Eike Foken
2011-08-10 14:59:48 +02:00
parent 667b5d0709
commit d35a6d887d
7 changed files with 174 additions and 2 deletions

View File

@@ -0,0 +1,33 @@
<?php
/**
* Controller for users.
*
* @author Eike Foken <kontakt@eikefoken.de>
*
*/
class Users extends MY_Controller {
/**
* Constructor.
*/
public function __construct() {
parent::__construct();
$this->load->model('user');
}
/**
* Shows a list of all users.
*/
public function index() {
$data['users'] = $this->user->getAll();
$this->load->view('admin/users/index', $data);
}
/**
* Allows admins to create a new user.
*/
public function create() {
$this->load->view('admin/users/create');
}
}

View File

@@ -0,0 +1,15 @@
<?php
$lang['users'] = "Users";
$lang['available_users'] = "Available users";
$lang['username'] = "Username";
$lang['realname'] = "Name";
$lang['options'] = "Options";
$lang['user_edit'] = "Edit";
$lang['user_create'] = "Create new user";
$lang['user_delete'] = "Delete";
$lang['create_user'] = "Create a new user";
/* End of file users_lang.php */
/* Location: ./application/language/english/users_lang.php */

View File

@@ -14,6 +14,9 @@ class User extends CI_Model {
*/
public $forgottenPasswordCode;
/**
* Constructor.
*/
public function __construct() {
parent::__construct();
$this->load->config('auth', true);
@@ -313,6 +316,15 @@ class User extends CI_Model {
return $this->db->get('users');
}
/**
* Gets all users.
*
* @return array
*/
public function getAll() {
return $this->get()->result_array();
}
/**
* Returns the number of users.
*
@@ -427,7 +439,7 @@ class User extends CI_Model {
}
/**
* delete
* Deletes the specified user.
*
* @return boolean
*/

View File

@@ -0,0 +1,73 @@
<?php $this->load->view('header');?>
<div id="content">
<div class="title">
<h2><?=lang('create_user');?></h2>
</div>
<div class="box">
<form name="createUser" method="post" action="<?=site_url('users/create')?>">
<h3>Required information</h3>
<ul>
<li>
<?=form_label("Username", 'username');?>
<div>
<input type="text" name="username" id="username" class="short text" value="<?=set_value('username');?>" />
<?=form_error('username')?>
</div>
</li>
<li>
<?=form_label("Password", 'password');?>
<div>
<input type="password" name="password" id="password" class="short text" />
<?=form_error('password')?>
</div>
</li>
<li>
<?=form_label("Confirm password", 'password2');?>
<div>
<input type="password" name="password_confirm" id="password_confirm" class="short text" />
<?=form_error('password_confirm')?>
</div>
</li>
<li>
<?=form_label("First name", 'firstname');?>
<div>
<input type="text" name="firstname" id="firstname" class="short text" value="<?=set_value('firstname');?>" />
<?=form_error('firstname')?>
</div>
</li>
<li>
<?=form_label("Last name", 'lastname');?>
<div>
<input type="text" name="lastname" id="lastname" class="short text" value="<?=set_value('lastname');?>" />
<?=form_error('lastname')?>
</div>
</li>
</ul>
<h3>Optional information</h3>
<ul>
<li>
<?=form_label("Institution", 'institution');?>
<div>
<input type="text" name="institution" id="institution" class="medium text" value="<?=set_value('institution');?>" />
<?=form_error('institution')?>
</div>
</li>
<li>
<?=form_label("Language", 'language');?>
<div>
<?=form_dropdown('language', array('English'), null, 'id="language" class="drop"');?>
<?=form_error('language')?>
</div>
</li>
</ul>
<p>
<a class="button save" href="javascript:void(0);" onclick="$('form[name=createUser]').submit();">Speichern</a>
</p>
</form>
</div>
</div>
<?php $this->load->view('footer');?>

View File

@@ -0,0 +1,38 @@
<?php $this->load->view('header');?>
<div id="content">
<div class="title">
<h2><?=lang('users');?></h2>
</div>
<div class="box">
<h3><?=lang('available_users');?></h3>
<table class="tableList paginated">
<thead>
<tr>
<th scope="col"><?=lang('username');?></th>
<th scope="col"><?=lang('realname');?></th>
<th scope="col"><?=lang('options');?></th>
</tr>
</thead>
<?php
foreach ($users as $user):
?>
<tr>
<td><?=$user['username'];?></td>
<td><?=$user['firstname'];?> <?=$user['lastname'];?></td>
<td><?=anchor('users/edit/' . $user['id'], lang('user_edit'));?> | <?=anchor('users/delete/' . $user['id'], lang('user_delete'));?></td>
</tr>
<?php
endforeach;
?>
<tbody>
</tbody>
</table>
<p><a class="button add" href="<?=site_url('users/create')?>"><?=lang('user_create');?></a>
</div>
</div>
<?php $this->load->view('footer');?>

View File

@@ -21,7 +21,7 @@
<div class="box">
<h3><?=lang('administration');?></h3>
<p>
<a class="button left big" href="#"><?=lang('servers_manage');?></a><a class="button middle big" href="#"><?=lang('programs_manage');?></a><a class="button right big" href="#"><?=lang('users_manage');?></a>
<a class="button left big" href="#"><?=lang('servers_manage');?></a><a class="button middle big" href="#"><?=lang('programs_manage');?></a><a class="button right big" href="<?=site_url('users');?>"><?=lang('users_manage');?></a>
</p>
</div>

View File

@@ -27,6 +27,7 @@ label.choice {
input.text,
textarea {
margin: 5px 0 5px 0;
padding: 3px 5px;
border: 1px solid #d2d2d2;
font-size: 12px;