/**
  * {@inheritDoc}
  */
 public static function process($assets)
 {
     if (self::getOutputDirectory()) {
         $filename = '';
         $sourceFiles = array();
         for ($i = 0; $i < count($assets); $i++) {
             $asset = $assets[$i];
             $filename .= $asset->getAssetHashKey();
             $sourceFiles[] = $asset->getAssetURL();
         }
         $filename = sha1($filename);
         $app = Facade::getFacadeApplication();
         $ah = $app->make('helper/assets');
         $paths = array();
         foreach ($assets as $asset) {
             $paths[] = $asset->getAssetPath();
         }
         $relativePath = $ah->javascriptPath($paths, array('name' => $filename, 'skipDigest' => true));
         $assetDir = Config::get('concrete.cache.directory');
         $asset = new JavascriptAsset();
         $asset->setAssetURL($relativePath);
         $asset->setAssetPath($assetDir . $relativePath);
         $asset->setCombinedAssetSourceFiles($sourceFiles);
         return array($asset);
     }
     return $assets;
 }
Beispiel #2
0
 public static function fire($eventName, $event = null)
 {
     $app = Facade::getFacadeApplication();
     $args = func_get_args();
     // legacy support
     if (!$event instanceof \Symfony\Component\EventDispatcher\Event) {
         array_shift($args);
         $event = new \Symfony\Component\EventDispatcher\GenericEvent();
         $event->setArgument('arguments', $args);
     }
     $app['director']->dispatch($eventName, $event);
 }
Beispiel #3
0
 /**
  * Returns the controller class for the currently selected captcha library.
  *
  * @return mixed
  */
 public function getController()
 {
     $class = overrideable_core_class('Core\\Antispam\\' . camelcase($this->saslHandle) . 'Controller', DIRNAME_CLASSES . '/Antispam/' . camelcase($this->saslHandle) . 'Controller.php', $this->getPackageHandle());
     $app = Facade::getFacadeApplication();
     $cl = $app->make($class);
     return $cl;
 }
Beispiel #4
0
 /**
  * Filters a route for the permission.
  * If the third parameter is null then return 403.
  * Overwise the $result is returned.
  * @param string       $route       Route pattern. i.e: "admin/*"
  * @param array|string $roles       The role(s) needed.
  * @param array|string $permissions The permission needed.
  * @param mixed        $result      i.e: Redirect::to('/')
  * @param bool         $cumulative  Must have all permissions
  * @return void
  */
 public static function routeNeedsRoleOrPermission($route, $roles, $permissions, $result = null, $cumulative = false)
 {
     if (!is_array($roles)) {
         $roles = array($roles);
     }
     if (!is_array($permissions)) {
         $permissions = array($permissions);
     }
     if (!$result instanceof Closure) {
         $result = function () use($roles, $permissions, $result, $cumulative) {
             if ($user = self::user()) {
                 $hasARole = array();
                 foreach ($roles as $role) {
                     if ($user->hasRole($role)) {
                         $hasARole[] = true;
                     } else {
                         $hasARole[] = false;
                     }
                 }
                 $hasAPermission = array();
                 foreach ($permissions as $permission) {
                     if ($user->can($permission)) {
                         $hasAPermission[] = true;
                     } else {
                         $hasAPermission[] = false;
                     }
                 }
             }
             // Check to see if it is false and then
             // check additive flag and that the array only contains false.
             if (!$user || (in_array(false, $hasARole) || in_array(false, $hasAPermission)) && ($cumulative || count(array_unique(array_merge($hasARole, $hasAPermission))) == 1)) {
                 if (!$result) {
                     Facade::getFacadeApplication()->abort(403);
                 }
                 return $result;
             }
         };
     }
     $filter_name = implode('_', $roles) . '_' . implode('_', $permissions) . '_' . substr(md5($route), 0, 6);
     // Registers a new filter
     Route::filter($filter_name, $result);
     // Assigns a route pattern to the previously created filter.
     Route::when($route, $filter_name);
 }
Beispiel #5
0
 /**
  * Return a new Redirect response from the application.
  *
  * @param string $location
  * @param int    $status
  *
  * @return \Ape\Responses\Redirect
  */
 public static function redirect($location, $status)
 {
     $app = Facade::getFacadeApplication();
     return $app->make('response.redirect')->to($location)->status($status);
 }