Ejemplo n.º 1
0
 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);
 }
Ejemplo n.º 2
0
 /**
  * @return \Nette\Application\IRouter
  */
 public static function createRouter()
 {
     Route::addStyle('itemname');
     Route::setStyleProperty('itemname', Route::FILTER_OUT, function ($url) {
         return Strings::webalize($url);
     });
     Route::addStyle('category');
     Route::setStyleProperty('category', Route::FILTER_OUT, function ($url) {
         return Strings::webalize($url);
     });
     $router = new RouteList();
     $router[] = new Route('//api.%domain%/%basePath%/<action>[/<id>]', 'Api:default');
     //$router[] = new Route('//api.%domain%/%basePath%/v1/user[/<user>]/<action>[/<id>]', 'Api:user');
     $router[] = new Route('//api.%domain%/%basePath%/v2/<action>[/<id>]', 'Api:default');
     $router[] = new Route('item[/<item>-<itemname>]', 'Item:default', Route::SECURED);
     $router[] = new Route('category[/<id>-<category_name>]', 'Category:default', Route::SECURED);
     $router[] = new Route('login', 'Login:default', Route::SECURED . Route::SECURED);
     $router[] = new Route('register', 'Register:default', Route::SECURED);
     $router[] = new Route('<presenter>/<action>[/<id>]', 'Main:default', Route::SECURED);
     //$router[] = new Route('api/<presenter>/<action>[/<id>]', 'Api:default');
     return $router;
 }
Ejemplo n.º 3
0
 */
function _nx($single, $plural, $number, array $args)
{
    // trigger_error(__FUNCTION__ . '() is deprecated; use __(array(\$single, \$plural), array(\$number, $args[0], $args[1], ...) instead.', E_USER_DEPRECATED);
    return Nette\Environment::getService('translator')->translate(array($single, $plural), array_merge(array($number), $args));
}
// -----------------------------------------------------------------------------
// Extension methods
// -----------------------------------------------------------------------------
Nette\Application\UI\Form::extensionMethod('loadFromEntity', 'vBuilder\\Orm\\FormHelper::loadFromEntity');
Nette\Application\UI\Form::extensionMethod('fillInEntity', 'vBuilder\\Orm\\FormHelper::fillInEntity');
Nette\Forms\Container::extensionMethod('addBootstrapSelect', 'vBuilder\\Forms\\Controls\\BootstrapSelect::addToContainer');
// -----------------------------------------------------------------------------
// Some predefines Route classes
// -----------------------------------------------------------------------------
Route::addStyle('#month');
/// @todo this should accept all translations (because we don't know the language yet)
Route::setStyleProperty('#month', Route::FILTER_IN, function ($val) {
    if (preg_match('/^([a-z]+)-([1-9][0-9]{3})/i', $val, $m)) {
        $months = array_flip(array_map('Nette\\Utils\\Strings::webalize', vBuilder\Utils\DateTime::monthName()));
        if (isset($months[$m[1]])) {
            return $m[2] . '-' . str_pad($months[$m[1]], 2, "0", STR_PAD_LEFT);
        }
    }
    return NULL;
});
// This knows the language so it's ok
Route::setStyleProperty('#month', Route::FILTER_OUT, function ($val) {
    if (preg_match('/^([1-9][0-9]{3})-([0-9]{1,2})/i', $val, $m)) {
        $months = array_map('Nette\\Utils\\Strings::webalize', vBuilder\Utils\DateTime::monthName());
        return $months[(int) $m[2]] . '-' . $m[1];
Ejemplo n.º 4
0
 /**
  * @return \Nette\Application\IRouter
  */
 public function createRouter()
 {
     $router = new RouteList();
     $context = $this->context;
     Route::$styles['path'] = array(Route::PATTERN => '.*?');
     Route::setStyleProperty('presenter', Route::FILTER_TABLE, array('profil' => 'User:User', 'moje-akce' => 'User:Events', 'moje-mista' => 'User:Places', 'katalog' => 'Catalog', 'akce-pro-deti' => 'Calendar', 'clanky' => 'Articles', 'newsletter' => 'Newsletter', 'admin' => 'Admin:Default', 'ucet' => 'Account', 'o' => 'About', 'souteze' => 'Competitions', 'reklama' => 'Advertising', 'odkazy' => 'Links', 'partneri' => 'Partners', 'vyhledavani' => 'Search'));
     Route::setStyleProperty('action', Route::FILTER_TABLE, array('lokalita' => 'locality', 'mesto' => 'district', 'kraj' => 'shire', 'komentare' => 'comments', 'nas' => 'us'));
     Route::addStyle('timeframe');
     Route::setStyleProperty('timeframe', Route::FILTER_TABLE, array('vikend' => 'weekend', 'pristi-vikend' => 'next weekend', 'tyden' => 'week', 'pristi-tyden' => 'next week', 'tento-mesic' => 'month', 'pristi-mesic' => 'next month', 'dnes' => 'today', 'zitra' => 'tomorrow'));
     Route::addStyle('title');
     Route::setStyleProperty('title', Route::FILTER_OUT, function ($url) {
         return Strings::webalize($url);
     });
     Route::setStyleProperty('title', Route::FILTER_IN, function ($url) {
         return Strings::webalize($url);
     });
     $router[] = new Route('index.php', 'Service:default', Route::ONE_WAY);
     // @deprecated
     $router[] = new Route('akce-pro-deti.php', 'Calendar:default', Route::ONE_WAY);
     // @deprecated
     $router[] = new Route('kalendar.php', 'Calendar:default', Route::ONE_WAY);
     // @deprecated
     $router[] = new Route('infoservis[/<code>].php', 'Articles:default', Route::ONE_WAY);
     // @deprecated
     $router[] = new Route('odkazy.php', 'Links:default', Route::ONE_WAY);
     // @deprecated
     $router[] = new Route('partneri.php', 'Partners:default', Route::ONE_WAY);
     // @deprecated
     $router[] = new Route('inzerce.php', 'Advertising:default', Route::ONE_WAY);
     // @deprecated
     $router[] = new Route('souteze.php', 'Competitions:default', Route::ONE_WAY);
     // @deprecated
     $router[] = new Route('sdruzeni_pro_aktivni_rodinu.php', 'About:us', Route::ONE_WAY);
     // @deprecated
     $router[] = new Route('tipy/', 'Catalog:default', Route::ONE_WAY);
     // @deprecated
     $router[] = new Route('katalog_formular.php', 'Homepage:default', Route::ONE_WAY);
     // @deprecated
     $router[] = new Route('kalendar_formular.php', 'Homepage:default', Route::ONE_WAY);
     // @deprecated
     $router[] = new Route('katalog/kategorie/detska-predstaveni/', array('presenter' => "Calendar", 'action' => 'default', 'category' => 'detska-predstaveni'), Route::ONE_WAY);
     // @deprecated
     $router[] = new Route('<presenter clanky>/<code>/', 'Articles:detail');
     $router[] = new Route('<presenter souteze>/<code>/', 'Competitions:detail');
     $router[] = new Route('<presenter image>/<action [a-z]+>-<x [0-9]+>x<y [0-9]+>/<code>', 'Image:default');
     $router[] = new Route('<presenter katalog>/kategorie/<category>/', 'Catalog:default');
     $router[] = new Route('<presenter katalog>/aktivita/<category>/', 'Catalog:default');
     // @deprecated
     $router[] = new Route('<presenter katalog>/aktivita/<category>/kraj/<shire>', 'Catalog:default');
     // @deprecated
     $router[] = new Route('<presenter katalog>/lokalita/<locality>/', 'Catalog:default');
     $router[] = new Route('<presenter katalog>/mesto/<district>/', 'Catalog:default');
     $router[] = new Route('<presenter katalog>/kraj/<shire>/', 'Catalog:default');
     $router[] = new Route('<presenter katalog>[/detail]/<code>/', 'Catalog:detail');
     $router[] = new Route('<presenter akce-pro-deti>/kategorie/<category>/', 'Calendar:default');
     $router[] = new Route('<presenter akce-pro-deti>/lokalita/<locality>/', 'Calendar:default');
     $router[] = new Route('<presenter akce-pro-deti>/kraj/<shire>/', 'Calendar:default');
     //$router[] = new Route('<presenter akce-pro-deti>[/detail]/<id>/', 'Calendar:detail');
     $router[] = new Route('<presenter akce-pro-deti>[/detail]/<id>/', array('presenter' => "Calendar", 'action' => 'detail', 'id' => array(Route::FILTER_IN => function ($id) use($context) {
         if (is_numeric($id)) {
             return $id;
         } else {
             $code = substr($id, strpos($id, '-') + 1);
             $id = substr($id, 0, strpos($id, '-'));
             $pages = $context->createServiceEvents()->where('code', $code)->where('id', $id)->fetch();
             if (!$pages) {
                 throw new \Nette\Application\BadRequestException("Tato stránka neexistuje.", 404);
             }
             if ($pages->deleted == 1) {
                 throw new \Nette\Application\BadRequestException("Tato stránka byla odstraněna.", 410);
             }
             return $pages->id;
         }
     }, Route::FILTER_OUT => function ($id) use($context) {
         if (!is_numeric($id)) {
             return $id;
         } else {
             $pages = $context->createServiceEvents()->where('id', $id)->fetch();
             return $pages->id . '-' . $pages->code;
         }
     })));
     $router[] = new Route('<presenter akce-pro-deti>/kdy/<timeframe>/', 'Calendar:default');
     $router[] = new Route('<presenter>/<action>[/<id [0-9]+>/]', 'Homepage:default');
     $router[] = new Route('<presenter>/<action>[/<id>]', 'Homepage:default');
     return $router;
 }