[eluser]riwakawd[/eluser]
I am doing an a function where I can add permission to controllers.
but when I add $this->input->post('permission', 'access'); Need to no if OK to post like that my name="" on form is different sort of. Just not submitting data.
I am not to sure what to put for my model function. because of the double.
Controller Code
Code:
public function edit($user_group_id = 0) {
$data['action'] = site_url('users/users_permission/edit/' . $user_group_id);
$this->load->model('users/model_user_group');
$user_group_info = $this->model_user_group->getUserGroup($user_group_id);
if (!empty($this->input->post('name'))) {
$data['name'] = $this->input->post('permission');
} else {
$data['name'] = $user_group_info['name'];
}
if (!empty($this->input->post('permission','access'))) {
$data['access'] = $this->input->post('permission','access');
} elseif (isset($user_group_info['permission']['access'])) {
$data['access'] = $user_group_info['permission']['access'];
} else {
$data['access'] = array();
}
$ignore = array(
'common/dashboard',
'common/startup',
'common/login',
'common/register',
'common/logout',
'common/forgotten',
'common/reset',
'error/not_found',
'error/permission',
'common/footer',
'common/header'
);
$data['permissions'] = array();
$files = glob(APPPATH . 'controllers/*/*.php');
foreach ($files as $file) {
$part = explode('/', dirname($file));
$permission = end($part) . '/' . basename($file, '.php');
if (!in_array($permission, $ignore)) {
$data['permissions'][] = $permission;
}
}
//var_dump($files);
$this->load->library('form_validation');
$this->form_validation->set_rules('permission', 'Permission');
if ($this->form_validation->run()) {
redirect('users/users_permission');
} else {
$data['header'] = $this->load->view('template/common/header', $data, TRUE);
$data['footer'] = $this->load->view('template/common/footer', NULL, TRUE);
return $this->load->view('template/users/users_group_form', $data);
}
}
}
Model Function
Code:
public function addPermission($user_group_id) {
$this->db->where('user_group_id', $user_group_id);
$data = array(
'permission' => $this->input->post('permission'),
'name' => $this->input->post('name')
);
$this->db->update('user_group', $data);
}
view
Code:
<?php echo form_open('users/users_permission/edit/'. $user_group_id, array('role' => 'form', 'class' => 'form-horizontal'));?>
<div class="form-group required">
<label class="col-sm-2 control-label" for="input-name"><?php echo $entry_name; ?></label>
<div class="col-sm-10">
<input type="text" name="name" value="<?php echo $name; ?>" placeholder="<?php echo $entry_name; ?>" id="input-name" class="form-control" />
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label"><?php echo $entry_access; ?></label>
<div class="col-sm-10">
<div class="well well-sm" 150px; overflow: auto;">
<?php foreach ($permissions as $permission) { ?>
<div class="checkbox">
<label>
<?php if (in_array($permission, $access)) { ?>
<input type="checkbox" name="permission[access][]" value="<?php echo $permission; ?>" checked="checked" />
<?php echo $permission; ?>
<?php } else { ?>
<input type="checkbox" name="permission[access][]" value="<?php echo $permission; ?>" />
<?php echo $permission; ?>
<?php } ?>
</label>
</div>
<?php } ?>
</div>
<a ><?php echo $text_select_all; ?></a> / <a ><?php echo $text_unselect_all; ?></a>
</div>
</div>
<div class="text-right">
<button type="submit" class="btn btn-primary"><i class="fa fa-save"></i> Save</button>
</div>
</form>