* @namespace */ namespace Application; use Bluz\Common\Nil; use Bluz\Proxy\Cache; use Bluz\Proxy\Messages; return function () { /** * @var Bootstrap $this */ if (!Cache::getInstance() instanceof Nil) { // routers Cache::delete('router:routers'); Cache::delete('router:reverse'); // roles Cache::deleteByTag('roles'); Cache::deleteByTag('privileges'); // reflection data Cache::deleteByTag('reflection'); // db metadata Cache::deleteByTag('db'); // view data Cache::deleteByTag('view'); // html data Cache::deleteByTag('html'); Messages::addSuccess("Cache is cleaned"); } else { Messages::addNotice("Cache is disabled"); } };
use Bluz\Proxy\Cache; use Bluz\Proxy\Db; use Bluz\Proxy\Messages; return function ($acl) use($view) { /** * @var Bootstrap $this * @var \Bluz\View\View $view */ $callback = function () use($acl) { /** * @var Bootstrap $this */ Db::query('DELETE FROM acl_privileges'); foreach ($acl as $roleId => $modules) { foreach ($modules as $module => $privileges) { foreach ($privileges as $privilege => $flag) { Db::query('INSERT INTO acl_privileges SET roleId = ?, module = ?, privilege = ?', array($roleId, $module, $privilege)); } } } }; if (empty($acl)) { Messages::addError('Privileges set is empty. You can\'t remove all of them'); } elseif (Db::transaction($callback)) { Cache::deleteByTag('privileges'); Messages::addSuccess('All data was saved'); } else { Messages::addError('Internal Server Error'); } $this->redirectTo('acl', 'index'); };