Update besar apk finance

This commit is contained in:
Wian Drs
2026-09-11 16:03:00 +07:00
parent d42483b350
commit 4ef15c22ae
897 changed files with 98056 additions and 15979 deletions
+29 -3
View File
@@ -7,9 +7,35 @@ defined('BASEPATH') OR exit('No direct script access allowed');
* @param string $action => action yang dicek (misal: 'can_view', 'can_export')
* @return bool
*/
function check_permission($key, $action = 'can_view') {
$CI =& get_instance();
$permissions = $CI->session->userdata('permissions');
function is_master_admin_user() {
static $resolved = array();
$CI =& get_instance();
$roleId = (int) $CI->session->userdata('role_id');
$roleName = strtolower(trim((string) $CI->session->userdata('role')));
if ((int) $CI->session->userdata('is_super_admin') === 1) {
return true;
}
// Kompatibilitas untuk session lama sebelum flag super-admin disimpan.
if (in_array($roleName, array('admin', 'master admin', 'master admin/admin'), true)) {
return true;
}
if ($roleId < 1 || !isset($CI->db) || !$CI->db->table_exists('roles')) {
return false;
}
if (!array_key_exists($roleId, $resolved)) {
$role = $CI->db->select('is_super_admin,is_active')->get_where('roles', array('id' => $roleId))->row();
$resolved[$roleId] = $role && (int)$role->is_active === 1 && (int)$role->is_super_admin === 1;
}
return $resolved[$roleId];
}
function check_permission($key, $action = 'can_view') {
$CI =& get_instance();
if (is_master_admin_user()) {
return true;
}
$permissions = $CI->session->userdata('permissions');
if (!$permissions || !is_array($permissions)) {
return false;