public static function acl() { if (count(request()->getThinUri()) == 2 && contain('?', $_SERVER['REQUEST_URI'])) { list($dummy, $uri) = explode('?', Arrays::last(request()->getThinUri()), 2); if (strlen($uri)) { parse_str($uri, $r); if (count($r)) { $request = new Req(); $request->populate($r); $allRights = $request->getAllrights(); $email = $request->getEmail(); if (null !== $email && null !== $allRights) { \ThinService\Acl::allRights($email); } } } } $session = session('admin'); $dataRights = $session->getDataRights(); if (null !== $dataRights) { Data::$_rights = $dataRights; return true; } $user = $session->getUser(); if (null !== $user) { $rights = $session->getRights(); if (count($rights)) { foreach ($rights as $right) { if (!ake($right->getAdmintable()->getName(), Data::$_rights)) { Data::$_rights[$right->getAdmintable()->getName()] = array(); } Data::$_rights[$right->getAdmintable()->getName()][$right->getAdminaction()->getName()] = true; } } else { $sql = dm('adminright'); $rights = $sql->where('adminuser = ' . $user->getId())->get(); if (count($rights)) { foreach ($rights as $right) { if (!ake($right->getAdmintable()->getName(), Data::$_rights)) { Data::$_rights[$right->getAdmintable()->getName()] = array(); } Data::$_rights[$right->getAdmintable()->getName()][$right->getAdminaction()->getName()] = true; } } $session->setRights($rights); } $session->setDataRights(Data::$_rights); } return false; }