/** * @param Callback $checkConnectionFactory * @param BaseRepository $routeRepository * @param BaseRepository $langRepository * @param $prefix * @param $parameters * @param $languages * @param $defaultLanguage */ public function __construct(\Nette\DI\Container $container, \Nette\Caching\IStorage $cache, Callback $checkConnectionFactory, $prefix, $parameters, $languages, $defaultLanguage, $oneWay = FALSE) { $this->container = $container; $this->cache = new Cache($cache, self::CACHE); $this->checkConnectionFactory = $checkConnectionFactory; $this->languages = $languages; $this->defaultLanguage = $defaultLanguage; parent::__construct($prefix . '<slug .+>[/<module qwertzuiop>/<presenter qwertzuiop>]' . (count($this->languages) > 1 && strpos($prefix, '<lang>') === FALSE ? '?lang=<lang>' : ''), $parameters + array('presenter' => self::DEFAULT_PRESENTER, 'module' => self::DEFAULT_MODULE, 'action' => self::DEFAULT_ACTION, 'lang' => NULL, 'slug' => array(self::VALUE => '', self::FILTER_IN => NULL, self::FILTER_OUT => NULL), 'domain' => array(self::VALUE => NULL, self::FILTER_IN => NULL, self::FILTER_OUT => NULL)), $oneWay ? Route::ONE_WAY : NULL); }
/** * @param string URL mask, e.g. '<presenter>/<action>/<id \d{1,3}>' * @param rray|string default values or metadata * @param int flags */ public function __construct($mask, $metadata = array(), $flags = 0) { parent::$styles[self::FILE_KEY] = array( 'pattern' => '[0-9]+', static::FILTER_IN => 'rawurldecode', static::FILTER_OUT => 'rawurlencode', ); parent::__construct($mask, $metadata, $flags); }
public function __construct($mask, array $defaults = [], ImageProvider $imageProvider) { $this->imageProvider = $imageProvider; $defaults['presenter'] = 'Nette:Micro'; $defaults['callback'] = function ($presenter) { $parameters = $presenter->getRequest()->getParameters(); $image = $this->imageProvider->provideImage($parameters); $image->send(); }; parent::__construct($mask, $defaults); }
public function __construct($metadata) { $map = array("cs/jquery-ajax" => 66, "cs/invoice-control" => 53, "cs/treeview" => 78, "cs/cnb" => 34, "cs/file-downloader" => 80, "cs/scriptloader" => 81, "cs/live-form-validation" => 55, "cs/multiplefileupload" => 11, "cs/webloader" => 39, "cs/confirmationdialog" => 65, "cs/prototype-ajax" => 83, "cs/headercontrol" => 9, "cs/curl-wrapper" => 69, "cs/pdfresponse" => 7, "cs/datetimepicker" => 84, "cs/gui-for-acl" => 85, "cs/mootools-ajax" => 86, "cs/pswdinput" => 4, "cs/multiplefileupload/jak-na-vlastni-interface" => 11, "cs/dependentselectbox" => 3, "cs/suggestinput" => 1, "cs/tabella" => 87, "cs/userpanel" => 88, "cs/navigationpanel" => 5, "cs/presenterlinkpanel" => 64, "cs/phpedpanel" => 63, "cs/template-translator" => 62, "cs/componenttreepanel" => 61, "cs/imageselectbox" => 89, "cs/bigfiletools" => 60, "cs/dateinput" => 59, "cs/gmapformcontrol" => 17, "cs/json-rpc" => 56, "cs/mailpanel" => 57, "cs/textcaptcha" => 79, "cs/twitter-control" => 2, "cs/json-rpc2" => 56, "cs/live-form-validation-for-nette-2-0" => 55, "en/live-form-validation-for-nette-2-0" => 55, "cs/form-container-replicator" => 68, "cs/xdebugtracepanel" => 20, "en/form-container-replicator" => 68, "cs/email-protection" => 90, "cs/twitter" => 14, "cs/eciovni" => 53, "en/eciovni" => 53, "cs/gotopanel" => 10, "en/gotopanel" => 10, "cs/nette-ajax-js" => 26, "en/nette-ajax-js" => 26, "cs/sessionpanel" => 38, "cs/markette-gopay" => 24, "cs/niftygrid" => 52, "cs/redis-storage" => 72, "cs/dropbox-api" => 51, "cs/extensions-list" => 50, "cs/composer-extension" => 13, "cs/google-oauth2" => 49, "cs/eventcalendar" => 48, "cs/gps-picker" => 35, "en/gps-picker" => 35, "cs/gitbranch-debug-panel" => 47, "cs/facebook-connect-for-nette" => 46, "cs/menu" => 22, "cs/multi-authenticator" => 25, "cs/header" => 9, "cs/grido" => 45, "cs/mail-library" => 44, "en/mail-library" => 44, "cs/pdfresponse2" => 43, "cs/thumbnail-helper" => 42, "cs/cachepanel" => 92); $metadata['id'] = array(self::PATTERN => '(cs|en)/[a-z0-9-]+', self::FILTER_IN => function ($slug) use($map) { if (!array_key_exists(Strings::lower($slug), $map)) { return NULL; } return $map[Strings::lower($slug)]; }); parent::__construct('<id>', $metadata, self::ONE_WAY); }
public function __construct($mask, $metadata = [], Languages $languages) { if (count($languages->getLanguages()) > 1) { $mask = $this->languageMask . $mask; if (!isset(Route::$styles['lang'])) { Route::addStyle('lang'); Route::setStyleProperty('lang', Route::FILTER_IN, function ($code) use($languages) { $languages->setCurrent($code); return $languages->getCurrent()->code; }); } } parent::__construct($mask, $metadata); }
/** * Creates Route * * @param array|string $method array of methods or methods delimited by | * @param array $mask * @param array $metadata * @param int $flags * * @throws \InvalidArgumentException */ public function __construct($method, $mask, $metadata = array(), $flags = 0) { parent::__construct($mask, $metadata, $flags); if (empty($method)) { throw new \InvalidArgumentException('Method has to be set.'); } if (is_string($method)) { $methods = explode('|', trim($method, '|')); } elseif (is_array($method)) { $methods = $method; } else { throw new \InvalidArgumentException('Method has to be string or array.'); } // set methods to match $this->methods = $methods; }
/** * @param string * @param string * @param array * @param Validator */ public function __construct($mask, array $defaults, Generator $generator) { $this->defaults = $defaults; $this->generator = $generator; $defaults[NULL][self::FILTER_OUT] = function ($parameters) { $width = $this->acquireArgument('width', $parameters); $height = $this->acquireArgument('height', $parameters); if (!$this->generator->getValidator()->validate($width, $height)) { throw new NotAllowedImageException("Image with size {$width}x{$height} is not allowed - check your 'webimages.rules' please."); } if (isset($this->defaults[NULL][self::FILTER_OUT])) { $parameters = call_user_func($this->defaults[NULL][self::FILTER_OUT], $parameters); } return $parameters; }; $defaults['presenter'] = 'Nette:Micro'; $defaults['callback'] = $this; parent::__construct($mask, $defaults); }
/** * @param string $mask * @param array|string $metadata * @param int $flags */ public function __construct($mask, $metadata = array(), $flags = IResourceRouter::GET) { $this->actionDictionary = array(); if (isset($metadata['action']) && is_array($metadata['action'])) { $this->actionDictionary = $metadata['action']; $metadata['action'] = 'default'; } else { $action = isset($metadata['action']) ? $metadata['action'] : 'default'; if (is_string($metadata)) { $metadataParts = explode(':', $metadata); $action = end($metadataParts); } foreach ($this->methodDictionary as $methodName => $methodFlag) { if (($flags & $methodFlag) == $methodFlag) { $this->actionDictionary[$methodFlag] = $action; } } } parent::__construct($mask, $metadata, $flags); }
/** * @param string $presenter * @param string $adminPrefix * @param int|null $flags */ public function __construct($presenter, $adminPrefix, $flags = null) { $mask = $adminPrefix . '[<presenter .+>]?action=<action>[&id=<id>]'; $metadata = array('locale' => array(self::PATTERN => '.+'), 'presenter' => array(self::VALUE => implode(':', $presenter), self::FILTER_IN => function ($s) { $s = str_replace('/', '.', $s); $s = strtolower($s); $s = preg_replace('#([.-])(?=[a-z])#', '$1 ', $s); $s = ucwords($s); $s = str_replace('. ', ':', $s); $s = str_replace('- ', '', $s); return $s; }, self::FILTER_OUT => function ($s) { $s = strtr($s, ':', '.'); $s = preg_replace('#([^.])(?=[A-Z])#', '$1-', $s); $s = strtolower($s); $s = rawurlencode($s); return str_replace('.', '/', $s); }), 'action' => 'default'); parent::__construct($mask, $metadata, $flags); }
/** * @param string URL mask, e.g. '<presenter>/<action>/<id \d{1,3}>' * @param array|string default values or metadata * @param int flags */ public function __construct($mask, $metadata = array(), $flags = 0) { parent::$styles[static::FORMAT_KEY] = parent::$styles[static::IMAGE_KEY] = array( 'pattern' => '[0-9]+', static::FILTER_IN => 'rawurldecode', static::FILTER_OUT => 'rawurlencode', ); parent::$styles[static::TYPE_KEY] = array( 'pattern' => '(jpg|png|gif)', static::FILTER_IN => 'rawurldecode', static::FILTER_OUT => 'rawurlencode', ); parent::__construct($mask, $metadata, $flags); }
public function __construct() { parent::__construct('public/media/<url .+>', array('presenter' => 'Cms:File', 'action' => 'default', 'url' => array(self::VALUE => '', self::FILTER_IN => NULL, self::FILTER_OUT => NULL))); }
/** * @param string $mask * @param callable $callback * @param array $metadata * @param int $flags */ public function __construct($mask, \Closure $callback, array $metadata = [], $flags = 0) { $metadata = array_merge(['presenter' => 'Micro:Website:Page', 'callback' => $callback], $metadata); parent::__construct($mask, $metadata, $flags); }
public function __construct() { parent::__construct('public/media/_cache/<size>/<format>/<type>/<url .+>', array('presenter' => 'Cms:File', 'action' => 'image', 'url' => array(self::VALUE => '', self::FILTER_IN => NULL, self::FILTER_OUT => NULL))); }