Rogier Neeleman
9 years ago
8 changed files with 343 additions and 1 deletions
@ -0,0 +1,122 @@ |
|||||||
|
<?php |
||||||
|
defined('BASEPATH') OR exit('No direct script access allowed'); |
||||||
|
|
||||||
|
/** |
||||||
|
* Info Class |
||||||
|
*/ |
||||||
|
class Config extends CI_Controller |
||||||
|
{ |
||||||
|
|
||||||
|
public function __construct() |
||||||
|
{ |
||||||
|
parent::__construct(); |
||||||
|
if(! $this->session->userdata('validated')){ |
||||||
|
redirect(base_url('/login')); |
||||||
|
} |
||||||
|
if (! ($this->session->admin == '1' OR $this->session->superadmin == '1')) { |
||||||
|
redirect(base_url('/dashboard')); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public function index() |
||||||
|
{ |
||||||
|
$data['page'] = 'config'; |
||||||
|
$data['tab'] = 'common'; |
||||||
|
|
||||||
|
// Header |
||||||
|
$this->load->view('header', $data); |
||||||
|
|
||||||
|
// Tab bar |
||||||
|
$this->load->view('config_tabbar', $data); |
||||||
|
|
||||||
|
// config page |
||||||
|
$this->load->view('config_common', $data); |
||||||
|
|
||||||
|
// Footer |
||||||
|
$this->load->view('footer'); |
||||||
|
} |
||||||
|
|
||||||
|
public function users($action = NULL, $id = NULL) |
||||||
|
{ |
||||||
|
$data['page'] = 'config'; |
||||||
|
$data['tab'] = 'users'; |
||||||
|
|
||||||
|
// Load data |
||||||
|
$this->load->model('Config_model'); |
||||||
|
|
||||||
|
// Check for post |
||||||
|
if ($this->input->post('save')) { |
||||||
|
$users = $this->Config_model->get_user_list(); |
||||||
|
foreach ($users as $user) { |
||||||
|
if ($this->input->post('admin'.$user['id']) == 1) { |
||||||
|
$update[$user['id']]['admin'] = 1; |
||||||
|
} else { |
||||||
|
$update[$user['id']]['admin'] = 0; |
||||||
|
} |
||||||
|
if ($this->input->post('superadmin'.$user['id']) == 1) { |
||||||
|
$update[$user['id']]['superadmin'] = 1; |
||||||
|
} else { |
||||||
|
$update[$user['id']]['superadmin'] = 0; |
||||||
|
} |
||||||
|
} |
||||||
|
// Update user |
||||||
|
$this->Config_model->update_user_rights($update); |
||||||
|
$data['updatemsg'] = 'Rechten aangepast.'; |
||||||
|
|
||||||
|
} elseif ($this->input->post('saveuser')) { |
||||||
|
if ($this->input->post('username')) { |
||||||
|
$update['username'] = $this->input->post('username'); |
||||||
|
} |
||||||
|
if ($this->input->post('password')) { |
||||||
|
$update['password'] = sha1($this->input->post('password')); |
||||||
|
} |
||||||
|
if ($this->input->post('admin') == 1) { |
||||||
|
$update['admin'] = 1; |
||||||
|
} else { |
||||||
|
$update['admin'] = 0; |
||||||
|
} |
||||||
|
if ($this->input->post('superadmin') == 1) { |
||||||
|
$update['superadmin'] = 1; |
||||||
|
} else { |
||||||
|
$update['superadmin'] = 0; |
||||||
|
} |
||||||
|
$update['regioid'] = $this->session->regio; |
||||||
|
$this->Config_model->add_user($update); |
||||||
|
$data['updatemsg'] = 'Gebruiker aangemaakt.'; |
||||||
|
} |
||||||
|
|
||||||
|
// Get data |
||||||
|
$data['users'] = $this->Config_model->get_user_list(); |
||||||
|
|
||||||
|
// Header |
||||||
|
$this->load->view('header', $data); |
||||||
|
|
||||||
|
// Tab bar |
||||||
|
$this->load->view('config_tabbar', $data); |
||||||
|
|
||||||
|
// If add user |
||||||
|
if (isset($action)) { |
||||||
|
if ($action == 'add') { |
||||||
|
$this->load->view('config_users_add', $data); |
||||||
|
} elseif ($action == 'remove') { |
||||||
|
if (isset($id)) { |
||||||
|
$this->Config_model->remove_user($id); |
||||||
|
$data['users'] = $this->Config_model->get_user_list(); |
||||||
|
$this->load->view('config_users', $data); |
||||||
|
} |
||||||
|
} else { |
||||||
|
$this->load->view('config_users', $data); |
||||||
|
} |
||||||
|
} else { |
||||||
|
// config page |
||||||
|
$this->load->view('config_users', $data); |
||||||
|
} |
||||||
|
|
||||||
|
//echo "<pre>"; |
||||||
|
//print_r($update); |
||||||
|
//echo "</pre>"; |
||||||
|
|
||||||
|
// Footer |
||||||
|
$this->load->view('footer'); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,47 @@ |
|||||||
|
<?php |
||||||
|
defined('BASEPATH') OR exit('No direct script access allowed'); |
||||||
|
|
||||||
|
/** |
||||||
|
* Add regio table |
||||||
|
*/ |
||||||
|
class Migration_Add_config extends CI_Migration |
||||||
|
{ |
||||||
|
|
||||||
|
public function up() |
||||||
|
{ |
||||||
|
$this->dbforge->add_field(array( |
||||||
|
'id' => array( |
||||||
|
'type' => 'INT', |
||||||
|
'constraint' => '5', |
||||||
|
'unsigned' => TRUE, |
||||||
|
'auto_increment' => TRUE, |
||||||
|
), |
||||||
|
'regioid' => array( |
||||||
|
'type' => 'INT', |
||||||
|
'constraint' => '3', |
||||||
|
'unsigned' => TRUE, |
||||||
|
), |
||||||
|
'jaar' => array( |
||||||
|
'type' => 'INT', |
||||||
|
'constraint' => '4', |
||||||
|
'unsigned' => TRUE, |
||||||
|
), |
||||||
|
'name' => array( |
||||||
|
'type' => 'VARCHAR', |
||||||
|
'constraint' => '80', |
||||||
|
), |
||||||
|
'value' => array( |
||||||
|
'type' => 'VARCHAR', |
||||||
|
'constraint' => '80', |
||||||
|
), |
||||||
|
)); |
||||||
|
$this->dbforge->add_key('id', TRUE); |
||||||
|
$this->dbforge->create_table('config'); |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
public function down() |
||||||
|
{ |
||||||
|
$this->dbforge->drop_table('config'); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,50 @@ |
|||||||
|
<?php |
||||||
|
defined('BASEPATH') OR exit('No direct script access allowed'); |
||||||
|
|
||||||
|
/** |
||||||
|
* Regio model |
||||||
|
*/ |
||||||
|
class Config_model extends CI_Model |
||||||
|
{ |
||||||
|
|
||||||
|
public function __construct() |
||||||
|
{ |
||||||
|
parent::__construct(); |
||||||
|
} |
||||||
|
|
||||||
|
public function get_user_list() |
||||||
|
{ |
||||||
|
$this->db->select('id, username, admin, superadmin'); |
||||||
|
$this->db->from('user'); |
||||||
|
$this->db->where('regioid', $this->session->regio); |
||||||
|
$this->db->order_by('username', 'ASC'); |
||||||
|
|
||||||
|
$query = $this->db->get(); |
||||||
|
|
||||||
|
return $query->result_array(); |
||||||
|
} |
||||||
|
|
||||||
|
public function update_user_rights($users) |
||||||
|
{ |
||||||
|
foreach ($users as $id=>$user) |
||||||
|
{ |
||||||
|
$this->db->where('id', $id); |
||||||
|
$this->db->where('regioid', $this->session->regio); |
||||||
|
$this->db->update('user', $user); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public function add_user($user) |
||||||
|
{ |
||||||
|
$this->db->insert('user', $user); |
||||||
|
} |
||||||
|
|
||||||
|
public function remove_user($id) |
||||||
|
{ |
||||||
|
$this->db->where('id', $id); |
||||||
|
if ($this->session->superadmin != '1') { |
||||||
|
$this->db->where('superadmin !=', '1'); |
||||||
|
} |
||||||
|
$this->db->delete('user'); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,25 @@ |
|||||||
|
<div class="container"> |
||||||
|
<hr> |
||||||
|
<ul class="nav nav-tabs"> |
||||||
|
<li role="presentation" |
||||||
|
<?php if ($tab == "common"){ ?> |
||||||
|
class="active" |
||||||
|
<?php }; ?> |
||||||
|
><a href="<?php echo base_url('config/'); ?>">Algemeen</a></li>
|
||||||
|
|
||||||
|
<li role="presentation" |
||||||
|
<?php if ($tab == "users"){ ?> |
||||||
|
class="active" |
||||||
|
<?php }; ?> |
||||||
|
><a href="<?php echo base_url('config/users'); ?>">Gebruikers</a></li>
|
||||||
|
|
||||||
|
<?php if ($this->session->superadmin == '1') { ?> |
||||||
|
<li role="presentation"><a href="<?php echo base_url('config/regios/'); ?>">Regios</a></li>
|
||||||
|
<?php }; ?> |
||||||
|
<li role="presentation"><a href="<?php echo base_url('config/groepen/'); ?>">Groepen</a></li>
|
||||||
|
<li role="presentation"><a href="<?php echo base_url('config/subgroepen/'); ?>">Subgroepen</a></li>
|
||||||
|
<li role="presentation"><a href="<?php echo base_url('config/onderdelen/'); ?>">Onderdelen</a></li>
|
||||||
|
<li role="presentation"><a href="<?php echo base_url('config/spelgebieden/'); ?>">Spelgebieden</a></li>
|
||||||
|
<li role="presentation"><a href="<?php echo base_url('config/lijsten/'); ?>">Lijsten</a></li>
|
||||||
|
<li role="presentation"><a href="<?php echo base_url('config/vragen/'); ?>">Vragen</a></li>
|
||||||
|
</ul> |
@ -0,0 +1,51 @@ |
|||||||
|
<br> |
||||||
|
<div class="row"> |
||||||
|
<div class="col-md-4 col-md-offset-4"> |
||||||
|
<?php echo form_open(base_url('config/users/')); ?> |
||||||
|
<table class="table table-hover"> |
||||||
|
<thead> |
||||||
|
<tr> |
||||||
|
<th>Naam</th> |
||||||
|
<th class="text-center">Admin</th> |
||||||
|
<?php if ($this->session->superadmin == '1') { ?> |
||||||
|
<th class="text-center">Superadmin</th> |
||||||
|
<?php }; ?> |
||||||
|
<th></th> |
||||||
|
</tr> |
||||||
|
</thead> |
||||||
|
<tbody> |
||||||
|
<?php foreach ($users as $user) { ?> |
||||||
|
<tr> |
||||||
|
<td><?php echo $user['username']; ?></td>
|
||||||
|
<td class="text-center"><?php echo form_checkbox('admin'.$user['id'], '1', $user['admin']); ?></td>
|
||||||
|
<?php if ($this->session->superadmin == '1') { ?> |
||||||
|
<td class="text-center"><?php echo form_checkbox('superadmin'.$user['id'], '1', $user['superadmin']); ?></td>
|
||||||
|
<?php }; ?> |
||||||
|
<td> |
||||||
|
<!-- ><span class="glyphicon glyphicon-cog"></span> --> |
||||||
|
<?php if ($this->session->superadmin != '1') { ?> |
||||||
|
<?php if ($user['superadmin'] == '1') { ?> |
||||||
|
<span class="glyphicon glyphicon-trash"></span> |
||||||
|
<?php } else { ?> |
||||||
|
<a href="<?php echo base_url('config/users/remove/'.$user['id'])?>"><span class="glyphicon glyphicon-trash text-danger"></span></a>
|
||||||
|
<?php }; ?> |
||||||
|
<?php } else { ?> |
||||||
|
<a href="<?php echo base_url('config/users/remove/'.$user['id'])?>"><span class="glyphicon glyphicon-trash text-danger"></span></a>
|
||||||
|
<?php }; ?> |
||||||
|
</td> |
||||||
|
</tr> |
||||||
|
<?php }; ?> |
||||||
|
</tbody> |
||||||
|
</table> |
||||||
|
<div class="text-right"> |
||||||
|
<a class="btn btn-default" href="<?php echo base_url('config/users/add/')?>" role="button"><span class="glyphicon glyphicon-plus"></span></a>
|
||||||
|
<button type="submit" class="btn btn-default" name="save" value="yes"><span class="glyphicon glyphicon-floppy-disk"></span></button> |
||||||
|
<br><br> |
||||||
|
<?php if (isset($updatemsg)) {?> |
||||||
|
<div class="alert alert-success" role="alert"><?php echo $updatemsg?></div>
|
||||||
|
<?php }; ?> |
||||||
|
</div> |
||||||
|
</form> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
@ -0,0 +1,45 @@ |
|||||||
|
<br> |
||||||
|
<div class="row"> |
||||||
|
<div class="col-md-4 col-md-offset-4"> |
||||||
|
<?php echo form_open(base_url('config/users/'), 'class="form-horizontal"'); ?> |
||||||
|
|
||||||
|
<div class='form-group'> |
||||||
|
<label for="inputUsername" class="col-sm-4 control-label">Inlognaam</label> |
||||||
|
<div class='col-sm-8'> |
||||||
|
<?php echo form_input('username', '', 'class="form-control"'); ?> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
|
||||||
|
<div class='form-group'> |
||||||
|
<label for="inputPassword" class="col-sm-4 control-label">Wachtwoord</label> |
||||||
|
<div class='col-sm-8'> |
||||||
|
<?php echo form_password('password', '', 'class="form-control"'); ?> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
|
||||||
|
<div class='form-group'> |
||||||
|
<label for="inputAdmin" class="col-sm-4 control-label">Admin</label> |
||||||
|
<div class='col-sm-8'> |
||||||
|
<div class="checkbox"><?php echo form_checkbox('admin', '1', '0'); ?></div>
|
||||||
|
</div> |
||||||
|
</div> |
||||||
|
|
||||||
|
<?php if ($this->session->superadmin == '1') { ?> |
||||||
|
<div class='form-group'> |
||||||
|
<label for="inputSuperAdmin" class="col-sm-4 control-label">Superadmin</label> |
||||||
|
<div class='col-sm-8'> |
||||||
|
<div class="checkbox"><?php echo form_checkbox('superadmin', '1', '0'); ?></div>
|
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<?php }; ?> |
||||||
|
|
||||||
|
<div class="form-group"> |
||||||
|
<div class="col-sm-offset-4 col-sm-8 text-right"> |
||||||
|
<a class="btn btn-default" href="<?php echo base_url('config/users/')?>" role="button"><span class="glyphicon glyphicon-remove"></span></a>
|
||||||
|
<button type="submit" class="btn btn-default" name="saveuser" value="yes"><span class="glyphicon glyphicon-floppy-disk"></span></button> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</form> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
Loading…
Reference in new issue