Beispiel #1
0
 /**
  *
  * @param \Phalcon\DI $di
  */
 public function registerServices($di)
 {
     Admin::instance();
     require __DIR__ . '/../../../../phad/phad.php';
     $di['phadConfig'] = function () {
         $config = (require __DIR__ . '/../../../../phad-config.php');
         return new Config($config);
     };
     $di['view'] = function () {
         $view = new ViewEngine();
         $view->setViewsDir(__DIR__ . '/Views/');
         $view->setLayoutsDir('Layouts/');
         $view->setPartialsDir('Partials/');
         return $view;
     };
     $di['viewSimple'] = function () {
         $view = new Simple();
         $view->setViewsDir(__DIR__ . '/Views/');
         return $view;
     };
     $di['flashSession'] = function () {
         $flashClasses = ['error' => 'alert alert-danger', 'success' => 'alert alert-success', 'notice' => 'alert alert-info', 'warning' => 'alert alert-warning'];
         return new FlashSession($flashClasses);
     };
     $di['session'] = function () {
         $session = new Session();
         $session->start();
         return $session;
     };
     $di['phadAuth'] = function () {
         return new Auth();
     };
     $di['assets'] = function () use($di) {
         $options = ['sourceBasePath' => __DIR__ . '/Assets/', 'targetBasePath' => __DIR__ . '/../../../../public/backend-assets/'];
         $assets = new AssetsManager($options);
         $assets->collection('backend_css')->setTargetPath('final.css')->setTargetUri('backend-assets/final.css')->addCss('bootstrap/css/bootstrap.min.css')->addCss('css/styles.css')->join(true)->addFilter(new AssetsNullFilter());
         $assets->collection('backend_js')->setTargetPath('final.js')->setTargetUri('backend-assets/final.js')->addJs('bootstrap/js/bootstrap.min.js')->addJs('js/custom.js')->join(true)->addFilter(new AssetsNullFilter());
         return $assets;
     };
 }
Beispiel #2
0
 public function loadAssets($assets, $isAdmin = false)
 {
     $prefix = $isAdmin ? 'admin-' : '';
     if (isset($this->_loadedThemes[$prefix])) {
         return $this;
     }
     $this->_loadedThemes[$prefix] = true;
     $assetsOptions = $this->config['options']['assets_options'];
     $applyFilter = $assetsOptions['apply_filter'];
     // The base path, usually the public directory
     $basePath = $assetsOptions['base_path'];
     // The assets dir inside base path
     $resourcePath = '/' . $assetsOptions['assets_dir'] . '/';
     $compiledPath = '/' . $assetsOptions['compiled_dir'] . '/';
     foreach ($assets as $collectionName => $resources) {
         $resourceType = substr($collectionName, strrpos($collectionName, '-') + 1);
         $collectionName = $prefix . $collectionName;
         $collection = $this->assets->collection($collectionName);
         $collection->setSourcePath($basePath);
         $contentHash = '';
         switch ($resourceType) {
             case 'css':
                 foreach ($resources as $item) {
                     $isLocal = !isHttpUrl($item);
                     $resource = new Css($isLocal ? $resourcePath . $item : $item, $isLocal);
                     $applyFilter and $contentHash = $resource->concatenateHash($contentHash);
                     $collection->add($resource);
                 }
                 $applyFilter and $collection->addFilter(new Cssmin());
                 break;
             case 'js':
                 foreach ($resources as $item) {
                     $isLocal = !isHttpUrl($item);
                     $resource = new Js($isLocal ? $resourcePath . $item : $item, $isLocal);
                     $applyFilter and $contentHash = $resource->concatenateHash($contentHash);
                     $collection->add($resource);
                 }
                 $applyFilter and $collection->addFilter(new Jsmin());
                 break;
         }
         $targetUri = $compiledPath . substr($collectionName, 0, -1 - strlen($resourceType));
         $contentHash and $targetUri .= '.' . $contentHash;
         $targetUri .= '.' . $resourceType;
         $collection->setTargetPath($basePath . $targetUri)->setTargetUri(url($targetUri));
     }
     return $this;
 }
Beispiel #3
0
 /**
  * Tests custom filters
  *
  * @issue   1198
  * @author  Volodymyr Kolesnykov <*****@*****.**>
  * @since   2013-09-15
  */
 public function testAssetsFilterChainCustomFilterWithCssmin()
 {
     $this->specify("The chaining a custom filter with cssmin does not return the correct results", function () {
         $fileName = $this->tester->getNewFileName('assets_', 'css');
         $assets = new Manager();
         $assets->useImplicitOutput(false);
         $css = $assets->collection('css');
         $css->setTargetPath(PATH_CACHE . $fileName);
         $css->addCss(PATH_DATA . 'assets/1198.css');
         $css->addFilter(new UppercaseFilter());
         $css->addFilter(new TrimFilter());
         $css->join(true);
         $assets->outputCss('css');
         $expected = 'A{TEXT-DECORATION:NONE;}B{FONT-WEIGHT:BOLD;}';
         $actual = file_get_contents(PATH_CACHE . $fileName);
         $this->tester->cleanFile(PATH_CACHE, $fileName);
         expect($actual)->equals($expected);
     });
 }
Beispiel #4
0
 public function collection($name)
 {
     return parent::collection($name);
 }
Beispiel #5
0
 /**
  *
  * @param type $options
  */
 protected function initAssets($options = [])
 {
     $this->_di->setShared('assets', function () {
         $assets = new AssetsManager();
         $assets->collection('headerCss');
         $assets->collection('headerJs');
         $assets->collection('footerJs');
         return $assets;
     });
 }
Beispiel #6
0
$di->set('router', function () {
    $router = new Router();
    $router->setUriSource(Router::URI_SOURCE_SERVER_REQUEST_URI);
    return $router;
});
$di->set('flash', function () {
    $flash = new flash();
    $flash->setCssclasses(array('success' => 'alert alert-success', 'warning' => 'alert alert-warning', 'error' => 'alert alert-danger'));
    return $flash;
});
$di->set('assets', function () use($config) {
    $manager = new Manager();
    foreach ($config->vendorAssets as $k => $v) {
        if ($k == 'css') {
            foreach ($v as $alias => $file) {
                $manager->collection('css')->addCss($file);
            }
        } else {
            foreach ($v as $alias => $file) {
                $manager->collection('js')->addJs($file);
            }
        }
    }
    $manager->collection('js')->setPrefix('/public/vendor')->setLocal(true);
    $manager->collection('css')->setPrefix('/public/vendor')->setLocal(true);
    return $manager;
});
/**
 * The URL component is used to generate all kind of urls in the application
 */
$di->set('url', function () use($config) {
Beispiel #7
0
 public function collection($name)
 {
     $collection = parent::collection($name);
     $collection->setSourcePath($this->getBasePath() . $this->getAssetsDir());
     $collection->setPrefix($this->getBasePath() . $this->getAssetsDir());
     return $collection;
 }