diff options
Diffstat (limited to 'public/app/routes/frontend.php')
| -rw-r--r-- | public/app/routes/frontend.php | 176 |
1 files changed, 72 insertions, 104 deletions
diff --git a/public/app/routes/frontend.php b/public/app/routes/frontend.php index 14152c1..adfe936 100644 --- a/public/app/routes/frontend.php +++ b/public/app/routes/frontend.php @@ -13,6 +13,12 @@ use app\extends\Cache_service; Route::add('/', function() { Render::view('user/login'); }); + +// invitation +//////////////////////////////////////////////////////////////////////////////// + +// request invitation (for account activation) +// --- -- -- - - - Route::add('/invitation/([0-9]*)', function($id) { if ($id == "" || $id == "0") { Render::view('error/404'); } else { @@ -20,15 +26,16 @@ Route::add('/invitation/([0-9]*)', function($id) { } }); -// new petition -Route::add('/petition/([0-9a-z\-_]*)', function($tag) { - Office::request_petition($tag); -}); +// request activation (submit invitation; POST:form is sent) +// --- -- -- - - - +Route::add('/account/activate', function() { Auth::activate(); }, 'post'); -// existing petition -Route::add('/petition/([0-9a-z\-_]*)/([0-9a-f]*)', function($tag) { - Office::filter_request_petition($tag, $id); -}); +// DEPRICATED: user sends a registration form +// --- -- -- - - - +# Route::add('/account/register', function() { +# $response = Auth::register(); +# Render::json($response); +# },'post'); @@ -42,141 +49,102 @@ Route::notFound( function() { // 404 error page -// Common content -//////////////////////////////////////////////////////////////////////////////// - - -Route::add('/course/([0-9]*)', // request course by course-id - function($id) { Cms::course($id); } -); - -Route::add('/lesson/([0-9]*)', // request lesson by lesson-id - function($id) { Cms::lesson($id); } -); - -Route::add('/page/([0-9]*)', // request lesson by lesson-id - function($id) { Cms::page($id); } -); - -Route::add('/serve/file/([0-9a-zA-Z-_\.\/]*)', // serve file by path - function ($path) { Cms::serve_file($path); } // (also ?type= is sent) -); - - - - -// Account -//////////////////////////////////////////////////////////////////////////////// - -// [ok] login -// [ok] register -// [ok] activate -// [..] ask-reset -// [..] reset -// [..] profile -// [..] edit-profile -// [..] subscriptions -// [..] payments -// [..] pay -// [..] order - - - - -/** URL-format Proposals and common Route regex solutions +/** Examples of real-world route formats + * + * URL-format Proposals and common Route regex solutions * ----------------------------------------------------------------------------- * * Page (almost-static content): * /about/{url} -# Route::add('/about/([0-9a-zA-Z-_\/]*)', function($url) { Page::fromUrl($url); }); + # Route::add('/about/([0-9a-zA-Z-_\/]*)', function($url) { Page::fromUrl($url); }); * * Product: * /{level-1}/{level-2}/{level-3}/{friendly-url}-{id} -# Route::add('/([0-9a-zA-Z-_]*)/([0-9a-zA-Z-_]*)/([0-9a-zA-Z-_]*)/([0-9a-zA-Z-_]*)-([0-9]*)', -# function($category, $subcategory, $group, $label, $id) { -# Product::fromID([$$category, $subcategory, $group, $label], $id); -# } -# ); + # Route::add('/([0-9a-zA-Z-_]*)/([0-9a-zA-Z-_]*)/([0-9a-zA-Z-_]*)/([0-9a-zA-Z-_]*)-([0-9]*)', + # function($category, $subcategory, $group, $label, $id) { + # Product::fromID([$$category, $subcategory, $group, $label], $id); + # } + # ); * * Category * /{category}/[ {subcategory}[ /{group}]] -# Route::add('/([0-9a-zA-Z-_]*)', function($a) { Category::url([$a]); }; -# Route::add('/([0-9a-zA-Z-_]*)/([0-9a-zA-Z-_]*)', function($a, $b) { Category::url([$a, $b]); }); -# Route::add('/([0-9a-zA-Z-_]*)/([0-9a-zA-Z-_]*)/([0-9a-zA-Z-_]*)', function($a, $b, $c) { Category::url([$a, $b, $c]); }); + # Route::add('/([0-9a-zA-Z-_]*)', function($a) { Category::url([$a]); }; + # Route::add('/([0-9a-zA-Z-_]*)/([0-9a-zA-Z-_]*)', function($a, $b) { Category::url([$a, $b]); }); + # Route::add('/([0-9a-zA-Z-_]*)/([0-9a-zA-Z-_]*)/([0-9a-zA-Z-_]*)', function($a, $b, $c) { Category::url([$a, $b, $c]); }); * * othet routes used in some user-cases - -# Route::add('/lesson/([0-9a-f]*)/([0-9a-zA-Z-_]*)', -# function($ticket, $lesson) { Lesson::show([$lesson, $ticket]); } -# ); -# -# Route::add('/media/([0-9a-f]*)/([0-9a-zA-Z-_]*)/([0-9]*)/', -# function($ticket, $type, $id) { Media::serve([$type, $id, $ticket]); } -# ); + * + # Route::add('/lesson/([0-9a-f]*)/([0-9a-zA-Z-_]*)', + # function($ticket, $lesson) { Lesson::show([$lesson, $ticket]); } + # ); + # + # Route::add('/media/([0-9a-f]*)/([0-9a-zA-Z-_]*)/([0-9]*)/', + # function($ticket, $type, $id) { Media::serve([$type, $id, $ticket]); } + # ); * * 4-th level paths belong to products -# Route::add('/about/([0-9a-zA-Z-_]*)/([0-9a-zA-Z-_]*)/([0-9a-zA-Z-_]*)', -# function($a, $b, $c) { Page::show([$a, $b, $c]); } -# ); + # Route::add('/about/([0-9a-zA-Z-_]*)/([0-9a-zA-Z-_]*)/([0-9a-zA-Z-_]*)', + # function($a, $b, $c) { Page::show([$a, $b, $c]); } + # ); * * * OTHER EXAMPLES (use it for brainsrtorming) * ----------------------------------------------------------------------------- * * -# // Typical Use -# // --- -# Route::add('/art', function() { Art::blah(); }); -# Route::add('/art/db', function() { Art::fromDatabase(); }); -# Route::add('/art/([0-9]*)', function($id) { Art::getInfo($id); }); + # // Typical Use + # // --- + # Route::add('/art', function() { Art::blah(); }); + # Route::add('/art/db', function() { Art::fromDatabase(); }); + # Route::add('/art/([0-9]*)', function($id) { Art::getInfo($id); }); * * Get-Post route example -# Route::add('/contact-form', function() { -# echo '<form method="post"><input type="text" name="test" /><input type="submit" value="send" /></form>'; -# }, 'get'); - - Route::add('/contact-form', function() { - echo 'Hey! The form has been sent:<br/>'; print_r($_POST); - }, 'post'); + # Route::add('/contact-form', function() { + # echo '<form method="post"><input type="text" name="test" /><input type="submit" value="send" /></form>'; + # }, 'get'); + + Route::add('/contact-form', function() { + echo 'Hey! The form has been sent:<br/>'; print_r($_POST); + }, 'post'); * * Accept number as parameter -# Route::add('/foo/([0-9]*)/bar', function($var1) { -# // echo $var1.' is a number!'; - echo "{$var1} is a number!"; -# }); + # Route::add('/foo/([0-9]*)/bar', function($var1) { + # // echo $var1.' is a number!'; + echo "{$var1} is a number!"; + # }); * * About pages -# Route::add('/about/([0-9a-zA-Z-_]*)', function($page) { -# InfoPage::render('about/'.page); -# }); + # Route::add('/about/([0-9a-zA-Z-_]*)', function($page) { + # InfoPage::render('about/'.page); + # }); * * handle a request like: /foo/123/bar/3254-lefki-zaxari-marata-1kg * where first-numeric-part of last-uri-section (3254) is the product number -# Route::add('/foo/([0-9]*)/bar/([0-9]*)-([0-9a-zA-Z-_]*)', function($num, $id, $name) { -# echo $num .' is some nomber, id = '. $id .' and label = '. $name; -# }); + # Route::add('/foo/([0-9]*)/bar/([0-9]*)-([0-9a-zA-Z-_]*)', function($num, $id, $name) { + # echo $num .' is some nomber, id = '. $id .' and label = '. $name; + # }); * * handle a request like: /zaxares-glykantika/lefki-zaxari-year-2022-45678 * where last-numeric-part of last-uri-section (45678) is the product number -# Route::add('/([0-9a-zA-Z-_]*)/([0-9a-zA-Z-_]*)/([0-9a-zA-Z-_]*)/([0-9a-zA-Z-_]*)-([0-9]*)', -# function($category, $subcategory, $group, $label, $id) { -# Shop::product([$$category, $subcategory, $group, $label], $id); -# }); + # Route::add('/([0-9a-zA-Z-_]*)/([0-9a-zA-Z-_]*)/([0-9a-zA-Z-_]*)/([0-9a-zA-Z-_]*)-([0-9]*)', + # function($category, $subcategory, $group, $label, $id) { + # Shop::product([$$category, $subcategory, $group, $label], $id); + # }); * * last chance to resolve (some friendly url) -# Route::add('/([0-9a-zA-Z-_]*)', function($a) { Resolve::uri([$a]); }); -# Route::add('/([0-9a-zA-Z-_]*)/([0-9a-zA-Z-_]*)', function($a, $b) { Resolve::uri([$a, $b]); }); -# Route::add('/([0-9a-zA-Z-_]*)/([0-9a-zA-Z-_]*)/([0-9a-zA-Z-_]*)', function($a, $b, $c) { Resolve::uri([$a, $b, $c]); }); + # Route::add('/([0-9a-zA-Z-_]*)', function($a) { Resolve::uri([$a]); }); + # Route::add('/([0-9a-zA-Z-_]*)/([0-9a-zA-Z-_]*)', function($a, $b) { Resolve::uri([$a, $b]); }); + # Route::add('/([0-9a-zA-Z-_]*)/([0-9a-zA-Z-_]*)/([0-9a-zA-Z-_]*)', function($a, $b, $c) { Resolve::uri([$a, $b, $c]); }); * * * Product page * handle a request like: /pantopoleio/zaxares/lefki-zaxari/lefki-zaxari-year-2022-45678 * where last-numeric-part of last-uri-section (45678) is the product number -# Route::add('/([0-9a-zA-Z-_]*)/([0-9a-zA-Z-_]*)/([0-9a-zA-Z-_]*)/([0-9a-zA-Z-_]*)-([0-9]*)', -# function($category, $subcategory, $group, $label, $id) { -# Shop::product([$$category, $subcategory, $group, $label], $id); -# }); + # Route::add('/([0-9a-zA-Z-_]*)/([0-9a-zA-Z-_]*)/([0-9a-zA-Z-_]*)/([0-9a-zA-Z-_]*)-([0-9]*)', + # function($category, $subcategory, $group, $label, $id) { + # Shop::product([$$category, $subcategory, $group, $label], $id); + # }); * * ------------------------------------------------------------------------------ - */ +*/ |
