'Διαχείριση Classroom', 'action' => 'panel', ]); }); Route::add('/admin/panel', function () { Auth::allowRoles([1, 2, 3]); // allow few admin-panel roles Render::view('admin/skeleton', [ 'title' => 'Διαχείριση Classroom', 'action' => 'panel', ]); }); // admin lessons // --- Route::add('/admin/lessons', function () { Auth::allowRoles([1, 2, 3]); // allow few admin-panel roles Render::view('admin/skeleton', [ 'title' => 'Διαχείριση Μαθημάτων', 'action' => 'lessons', ]); }); // admin categories (=courses) ///////////////////////////////////////////////// // ----------------------------------------------------------------------------- // manage categories page // --- Route::add('/admin/categories', function () { Auth::allowRoles([1, 2, 3]); Render::view('admin/skeleton', [ 'title' => 'Διαχείριση Κεφαλαίων', 'action' => 'categories', ]); }); // ajax: get all categories (courses; with breadcrumbs) // --- Route::add('/admin/api/categories', function () { Auth::allowRoles([1, 2, 3]); // allow few admin-panel roles Course_admin::breadcrumbs(); }); // ajax: add new category (course) // --- Route::add('/admin/api/categories/add', function () { Auth::allowRoles([1, 2, 3]); // allow few admin-panel roles Course_admin::add_course(); }, 'post'); // ajax: edit category (course) // --- Route::add('/admin/api/categories/update', function () { Auth::allowRoles([1, 2, 3]); // allow few admin-panel roles Course_admin::update_course(); }, 'post' ); // admin privileges //////////////////////////////////////////////////////////// // ----------------------------------------------------------------------------- // manage privileges page // --- Route::add('/admin/privileges', function () { 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( proxy( [\app\models\admin\Privilege_model::class, 'privileges'], [], CACHE_ROOT_TTL )); }); // add privilege // update privilege // admin lesson //////////////////////////////////////////////////////////////// // ----------------------------------------------------------------------------- // new lesson // --- Route::add('/admin/edit_lesson', function () { Auth::allowRoles([1, 2, 3]); // allow few admin-panel roles Render::view('admin/skeleton', [ 'title' => 'Νέο Μάθημα', 'action' => 'edit_lesson', ]); }); // edit lesson (give lesson-id) // --- Route::add('/admin/edit_lesson/([0-9]*)', function ($id) { Auth::allowRoles([1, 2, 3]); // allow few admin-panel roles Render::view('admin/skeleton', [ 'title' => 'Επεξεργασία Μαθήματος', 'action' => 'edit_lesson', 'id' => intval($id) ]); }); // ajax: get lesson // --- Route::add('/admin/api/lesson/([0-9]*)', function ($id) { Auth::allowRoles([1, 2, 3]); // allow few admin-panel roles Course_admin::get_lesson($id); }); Route::add('/admin/api/lesson/add', function () { Auth::allowRoles([1, 2, 3]); // allow few admin-panel roles Course_admin::add_lesson(); }, 'post'); Route::add('/admin/api/lesson/update', function () { Auth::allowRoles([1, 2, 3]); // allow few admin-panel roles Course_admin::update_lesson(); }, 'post'); // admin files ///////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// Route::add('/admin/files', function () { Auth::allowRoles([1, 2, 3]); Render::view('admin/skeleton', [ 'title' => 'Διαχείριση Μέσων (media)', 'action' => 'files', ]); }); // ajax: get lesson // --- Route::add('/admin/api/files', function () { Auth::allowRoles([1, 2, 3]); // allow few admin-panel roles 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');