В настоящее время я работаю над повторной адаптацией системы ERP, которая уже имеет некоторые функции, большинство из них заблокированы только для пользователей с правами администратора, но я хочу разблокировать ее также для персонала, функция редактирования выглядит следующим образом:
public function can_action($table, $action, $id, $permission = null)
{
$role = $this->session->userdata('user_type');
$user_id = $this->session->userdata('user_id');
$result_info = $this->db->where($id)->get($table)->row();
if (!empty($permission) || $role != 1) {
if (!empty($result_info)) {
if ($result_info->permission != 'all') {
$get_permission = json_decode($result_info->permission);
} else {
return true;
}
if (is_object($get_permission)) {
foreach ($get_permission as $user => $v_permission) {
if (!empty($v_permission)) {
foreach ($v_permission as $v_action) {
if ($user == $user_id) {
if ($v_action == $action) {
return true;
}
}
}
}
}
}
} else {
return false;
}
} else {
return true;
}
}
$ role! = 1 означает администратора, я также хочу добавить роль 3
Предложения?
Заранее спасибо