예제 #1
0
function loadAcl($files, $namespace, $format = 'yaml', $drop = false)
{
    if ($drop) {
        dropNamespace($namespace);
    }
    $class = "App_Acl_Loader_" . ucfirst($format);
    $loader = new $class();
    \App::cache()->clean(Zend_Cache::CLEANING_MODE_MATCHING_ANY_TAG, array('Namespace'));
    $loader->loadFromMultiFiles($files, $namespace);
    \App::cache()->clean(Zend_Cache::CLEANING_MODE_MATCHING_ANY_TAG, array('Namespace'));
}
예제 #2
0
    if (!($namespace = $cli->getOption('n')) || $namespace == 'all') {
        if ($drop) {
            foreach ($namespaces as $ns => $file) {
                \App::cache()->clean(Zend_Cache::CLEANING_MODE_MATCHING_ANY_TAG, array('Namespace'));
                dropNamespace($ns);
            }
        }
        foreach ($namespaces as $ns => $file) {
            \App::cache()->clean(Zend_Cache::CLEANING_MODE_MATCHING_ANY_TAG, array('Namespace'));
            updateNamespace($ns, $file);
        }
    } else {
        if (isset($namespaces[$namespace])) {
            if ($drop) {
                \App::cache()->clean(Zend_Cache::CLEANING_MODE_MATCHING_ANY_TAG, array('Namespace'));
                dropNamespace($namespace);
            }
            \App::cache()->clean(Zend_Cache::CLEANING_MODE_MATCHING_ANY_TAG, array('Namespace'));
            updateNamespace($namespace, $namespaces[$namespace], $drop);
        } else {
            echo "Namespace {$namespace} does not exist";
        }
    }
    //create JSON file from acl_portal collection
    aclPortal2JSON($db);
} catch (Exception $e) {
    echo "Error:\n";
    echo get_class($e) . ": " . $e->getMessage() . "\n";
    echo $e->getTraceAsString();
}
function aclPortal2JSON($db)