diff options
| author | George Halkiadakis <gchalkiadakis@sklavenitis.co.gr> | 2023-04-27 03:47:30 +0300 |
|---|---|---|
| committer | George Halkiadakis <gchalkiadakis@sklavenitis.co.gr> | 2023-04-27 03:47:30 +0300 |
| commit | 059e0d95d0c28bc5060e87e146eaf7411f51bf90 (patch) | |
| tree | 7c21ac432f16dde2329a0d5954d70711eceb48e6 /public/app/routes/backend.php | |
| parent | 26cd8ee99659ef1926c96a049c93645ffc9b169d (diff) | |
| download | gyraf1gov-059e0d95d0c28bc5060e87e146eaf7411f51bf90.tar.gz gyraf1gov-059e0d95d0c28bc5060e87e146eaf7411f51bf90.tar.bz2 gyraf1gov-059e0d95d0c28bc5060e87e146eaf7411f51bf90.zip | |
skeleton commit; based on an anom project
Diffstat (limited to 'public/app/routes/backend.php')
| -rw-r--r-- | public/app/routes/backend.php | 221 |
1 files changed, 221 insertions, 0 deletions
diff --git a/public/app/routes/backend.php b/public/app/routes/backend.php new file mode 100644 index 0000000..2bbd056 --- /dev/null +++ b/public/app/routes/backend.php @@ -0,0 +1,221 @@ +<?php + +use app\controllers\Auth; +use app\controllers\admin\Course_admin; +use app\models\admin\Privilege_model; +use app\extends\Cache_service; + + +/** admin pages + * ----------------------------------------------------------------------------- + * NOTE: + * All adminitration routes MUST INCLUDE an Auth::allowRoles() check + */ + +// admin panel +//////////////////////////////////////////////////////////////////////////////// + +Route::add('/admin', function () { // admin panel + Auth::allowRoles([1, 2, 3]); // allow few admin-panel roles + Render::view('admin/skeleton', [ + 'title' => 'Διαχείριση Classroom', + 'action' => 'panel', + ]); +}); +Route::add('/admin/panel', function () { // admin panel #2 + Auth::allowRoles([1, 2, 3]); + Render::view('admin/skeleton', [ + 'title' => 'Διαχείριση Classroom', + 'action' => 'panel', + ]); +}); + + +// admin categories (=courses) +//////////////////////////////////////////////////////////////////////////////// + + +Route::add('/admin/categories', function () { // manage categories page + Auth::allowRoles([1, 2, 3]); + Render::view('admin/skeleton', [ + 'title' => 'Διαχείριση Κεφαλαίων', + 'action' => 'categories', + ]); +}); + +Route::add('/admin/api/categories', function () { // ajax: get all courses; with breadcrumbs + Auth::allowRoles([1, 2, 3]); // allow few admin-panel roles + Course_admin::breadcrumbs(); +}); + +Route::add('/admin/api/categories/add', function () { // ajax: add new category (course) + Auth::allowRoles([1, 2, 3]); + Course_admin::add_course(); +}, 'post'); + +Route::add('/admin/api/categories/update', function () { // ajax: edit category (course) + Auth::allowRoles([1, 2, 3]); // allow few admin-panel roles + Course_admin::update_course(); +}, +'post'); + + +// admin privileges +//////////////////////////////////////////////////////////////////////////////// + + +Route::add('/admin/privileges', function () { // manage privileges page + Auth::allowRoles([1, 2, 3]); + Render::view('admin/skeleton', [ + 'title' => 'Διαχείριση Δικαιωμάτων Πρόσβασης', + 'action' => 'privileges', + ]); +}); + +// ajax: get all privileges (courses; with breadcrumbs) +// use proxy (cache results); send as json +Route::add('/admin/api/privileges', function () { + Auth::allowRoles([1, 2, 3]); // allow few admin-panel roles + Render::json( Cache_service::privileges_hierarchy() ); +}); + +// add privilege + +// update privilege + + + +// admin lessons +//////////////////////////////////////////////////////////////////////////////// + +Route::add('/admin/lessons', function () { // request admin-lessons page + Auth::allowRoles([1, 2, 3]); // allow few admin-panel roles + Render::view('admin/skeleton', [ + 'title' => 'Διαχείριση Μαθημάτων', + 'action' => 'lessons', + ]); +}); + +Route::add('/admin/edit_lesson', function () { // new lesson form + Auth::allowRoles([1, 2, 3]); // allow few admin-panel roles + Render::view('admin/skeleton', [ + 'title' => 'Νέο Μάθημα', + 'action' => 'edit_lesson', + ]); +}); + +Route::add('/admin/edit_lesson/([0-9]*)', function ($id) { // edit lesson form + Auth::allowRoles([1, 2, 3]); + Render::view('admin/skeleton', [ + 'title' => 'Επεξεργασία Μαθήματος', + 'action' => 'edit_lesson', + 'id' => intval($id) + ]); +}); + + +Route::add('/admin/api/lesson/([0-9]*)', function ($id) { // ajax: get lesson + Auth::allowRoles([1, 2, 3]); // allow few admin-panel roles + Course_admin::get_lesson($id); +}); + + +Route::add('/admin/api/lesson/add', function () { // ajax: add lesson + Auth::allowRoles([1, 2, 3]); // allow few admin-panel roles + Render::json(['success' => Course_admin::add_lesson()]); +}, 'post'); + + +Route::add('/admin/api/lesson/update', function () { // ajax: update lesson + Auth::allowRoles([1, 2, 3]); // allow few admin-panel roles + Render::json(['success' => Course_admin::update_lesson()]); +}, 'post'); + + +Route::add('/admin/api/lessons', function () { // ajax: get all lessons + Auth::allowRoles([1, 2, 3]); // allow few admin-panel roles + Course_admin::all_lessons(); +}); + + + +// admin files +//////////////////////////////////////////////////////////////////////////////// + +Route::add('/admin/files', function () { // admin-files panel + Auth::allowRoles([1, 2, 3]); + Render::view('admin/skeleton', [ + 'title' => 'Διαχείριση Μέσων (media)', + 'action' => 'files', + ]); +}); + + +Route::add('/admin/api/files', function () { // ajax: get lesson + Auth::allowRoles([1, 2, 3]); + Render::json(Course_admin::files()); +}); + +// ajax: file-upload +// --- +Route::add('/admin/api/file_upload', function () { + Auth::allowRoles([1, 2, 3]); // allow few admin-panel roles + Render::json(Course_admin::upload_file()); +}, 'post'); + + + + +// admin page +//////////////////////////////////////////////////////////////////////////////// + +Route::add('/admin/pages', function () { // request admin-lessons page + Auth::allowRoles([1, 2, 3]); // allow few admin-panel roles + Render::view('admin/skeleton', [ + 'title' => 'Διαχείριση Σελίδων', + 'action' => 'pages', + ]); +}); + + +Route::add('/admin/edit_page', function () { // new page form + Auth::allowRoles([1, 2, 3]); // allow few admin-panel roles + Render::view('admin/skeleton', [ + 'title' => 'Νέα Σελίδα', + 'action' => 'edit_page', + ]); +}); + +Route::add('/admin/edit_page/([0-9]*)', function ($id) { // edit page form + Auth::allowRoles([1, 2, 3]); + Render::view('admin/skeleton', [ + 'title' => 'Επεξεργασία Σελίδας', + 'action' => 'edit_page', + 'id' => intval($id) + ]); +}); + + +Route::add('/admin/api/page/([0-9]*)', function ($id) { // ajax: get page + Auth::allowRoles([1, 2, 3]); // allow few admin-panel roles + Course_admin::get_page($id); +}); + + +Route::add('/admin/api/page/add', function () { // ajax: add page + Auth::allowRoles([1, 2, 3]); // allow few admin-panel roles + Render::json(['success' => Course_admin::add_page()]); +}, 'post'); + + +Route::add('/admin/api/page/update', function () { // ajax: update page + Auth::allowRoles([1, 2, 3]); // allow few admin-panel roles + Render::json(['success' => Course_admin::update_page()]); +}, 'post'); + + +Route::add('/admin/api/pages', function () { // ajax: get all pages + Auth::allowRoles([1, 2, 3]); // allow few admin-panel roles + Course_admin::all_pages(); +}); + |
