Files
safekat/ci4/app/Controllers/Test.php
2023-04-25 15:36:53 +02:00

82 lines
2.6 KiB
PHP

<?php
namespace App\Controllers;
use App\Models\UserModel;
use App\Models\UserGroupModel;
use App\Models\GroupUserModel;
class Test extends BaseController
{
private $user_model;
private $group_user_model;
private $group_model;
function __construct()
{
$this->user_model = new UserModel();
$this->group_user_model = new GroupUserModel();
$this->group_model = new UserGroupModel();
}
public function index()
{
/////////////////////////////////7
// Join groups access rules
/*$user_token = "a4a60f9f064218b09cf108418e585507";
$groups = $this->group_user_model
->select('token_group')
->where('token_user', $user_token)->findAll();
if(sizeof($groups)>0){
$rules = html_entity_decode($this->group_model->select('rules')->where('token',$groups[0]['token_group'])->first()['rules']);
}
for ($i = 1; $i<sizeof($groups); $i++) {
echo var_dump($this->group_model->select('rules')->where('token',$groups[$i]['token_group'])->first()['rules']);
$rules = json_encode(
array_merge(
json_decode($rules, true),
json_decode($this->group_model->select('rules')->where('token',$groups[$i]['token_group'])->first()['rules'], true)
)
);
} */
$rules1 = '{"token":["token"],"Group":["index","add","edit","store","delete"],"My":["index","notification","notification_view"],"Notification":["index","add","store","delete"],"Profile":["index","store"],"User":["index","add","edit","store","delete"]}';
$rules2 = '{"token":["token"],"Activity":["index"],"Group":["edit"],"My":["notification"]}';
$new_rules = [];
echo '<pre>';
var_dump($rules1);
var_dump(json_decode($rules1, true));
echo '</pre>';
foreach (json_decode($rules1, true) as $key => $value){
if (array_key_exists($key, json_decode($rules2, true))){
$value2 = json_decode($rules2, true)[$key];
$new_rules[$key] = array_unique(array_merge($value, $value2));
}
else{
$new_rules[$key]= $value;
}
}
foreach (json_decode($rules2, true) as $key2 => $value2){
if (!array_key_exists($key2, json_decode($rules1, true))){
$new_rules[$key2] = $value2;
}
}
echo '<pre>';
var_dump($new_rules);
echo '</pre>';
}
}