예제 #1
0
파일: clean.php 프로젝트: dezvell/skeleton
 * @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");
    }
};
예제 #2
0
파일: save.php 프로젝트: dezvell/skeleton
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');
};