post-init.php
<?php
$app->public_file_params['phad'] = $app->phad;
$phad = $app->phad;
$accessClass= R()->has("admin.class.init_access")
? R("admin.class.init_access")
: "\\Phad\\App\\Admin\\DebugModeAccess";
$access = new $accessClass($lia, $phad);
$phad->setInitAccess($access);
$phad = $app->phad;
$accessClass= R()->has("admin.class.user_access")
? R("admin.class.user_access")
: "\\Phad\\App\\Admin\\RoleAccess";
$access = new $accessClass($lia, $phad);
$phad->setUserAccess($access);
$admin_profile_enabled = false;
if (R()->has("admin.enable_admin_user_profile") && R("admin.enable_admin_user_profile")===true) {
$admin_profile_enabled = true;
}
if ($admin_profile_enabled && $lia->user->has_role('admin')){
$file = __DIR__.'/admin-routes/user_profile.php';
$lia->addRoute('/user/profile/', $file, $app);
$lia->hook('FilterRoute',
function(\Lia\Obj\Route $route) use ($app, $lia, $file){
if ($route->url()!='/user/profile/')return true;
$is_admin = $app->phad->userAccess->is_admin($lia);
// echo __DIR__.'/admin-routes/user_profile.php';
// echo realpath($route->target());
// exit;
$is_our_profile =
is_string($route->target())
&& realpath($route->target())==realpath(__DIR__.'/admin-routes/user_profile.php')
// in case realpath returns an empty string or falsey value
&& realpath($route->target()) != '';
$is_requesting_standard_profile =
isset($_GET['show_standard_profile'])
&& $_GET['show_standard_profile'] = 'true';
// var_dump($route->target());
// var_dump("Is_our_profile:".$is_our_profile);
// var_dump("Is_admin:".$is_admin)
// exit;
if ($is_requesting_standard_profile && $is_our_profile) return false;
else if ($is_requesting_standard_profile && !$is_our_profile) return true;
if (!$is_admin && $is_our_profile){
return false;
}
$can_show_this_route = $is_admin && $is_our_profile;
// var_dump($can_show_this_route);
//
// echo 'fail here';
// exit;
return $can_show_this_route;
}
);
}