/** * {@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; }
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); }
/** * 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; }
/** * 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); }
/** * 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); }