summaryrefslogtreecommitdiff
path: root/public/app/routes/frontend.php
diff options
context:
space:
mode:
Diffstat (limited to 'public/app/routes/frontend.php')
-rw-r--r--public/app/routes/frontend.php176
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);
+ # });
*
* ------------------------------------------------------------------------------
- */
+*/