HEX
Server: Apache/2.4.59 (Debian)
System: Linux keymana 4.19.0-21-cloud-amd64 #1 SMP Debian 4.19.249-2 (2022-06-30) x86_64
User: lijunjie (1003)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/doco/keytest/wp-content/themes/ormedia/page-test-permission.php
<?php
//Template Name: test-permission


header("Access-Control-Allow-Credentials: true");
//header("Access-Control-Allow-Origin: *"); // * http://localhost:9527
header("Access-Control-Allow-Origin: *"); // * http://localhost:9527
//CORS
header("Access-Control-Request-Methods:GET, POST, PUT, DELETE, OPTIONS");
header('Access-Control-Allow-Headers:x-requested-with,content-type,test-token,test-sessid');

//var_dump($wp_roles->roles);
/**
 *  Items:
 *  0 所有物業
 *  1 用戶管理
 *  2 大廈詳情
 *  3 物管人員
 *  4 法團成員
 *  5 承辦商
 *  6 大廈通告
 *  7 政府法令
 *  8 會議記錄
 *  9 單位列表
 * 10 單位記錄
 * 11 常規合約
 * 12 一次合約
 * 13 保險索償
 * 14 雜項
 * 15 檢查表
 * 16 時間表
 * 17 IE_STMT
 *  Caps:
 *  1 - 不可見
 *  2 - 唯讀
 *  3 - 可修改
 */
$uid = $_REQUEST['uid'];
$roles = get_user_by('id',$uid)->roles;
//string(96) "SELECT user_id, meta_key, meta_value FROM wp_usermeta WHERE user_id IN (6) ORDER BY umeta_id ASC"
// var_dump($roles);

$permission_arr = [];

$permission_result = $wpdb->get_results("SELECT k_role FROM keylab_permission GROUP BY k_role");
foreach($permission_result as $key=>$value){
    array_push($permission_arr, $value->k_role);
}

$temp_key = "";
if(count($roles) !== 0){
    if(!in_array($roles[0], $permission_arr)){
        $temp_key = "owners_read";
    }else{
        $temp_key = $roles[0];
    }
}else{
    $temp_key = "owners_read";
}

$caps = $wpdb->get_results("SELECT item, max(caps) as caps FROM keylab_permission WHERE k_role = '$temp_key' GROUP BY item");

exit(json_encode($caps));
// var_dump($wpdb->last_query);




?>