From e802d5204b96d645ec3d40b81b4a8bdc6e0ee675 Mon Sep 17 00:00:00 2001 From: n-peugnet Date: Mon, 4 Nov 2019 23:31:31 +0100 Subject: refactor: switch to psr-4 autoloading --- app/class/Routes.php | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 app/class/Routes.php (limited to 'app/class/Routes.php') diff --git a/app/class/Routes.php b/app/class/Routes.php new file mode 100644 index 0000000..a803bd6 --- /dev/null +++ b/app/class/Routes.php @@ -0,0 +1,82 @@ +setBasePath('/' . Config::basepath()); + } + $router->addMatchTypes(array('cid' => '[a-zA-Z0-9-_+,\'!%@&.$€=\(\|\)]+')); + $router->addRoutes([ + ['GET', '/', 'Controllerhome#desktop', 'home'], + ['POST', '/', 'Controllerhome#desktop', 'homequery'], + ['POST', '/columns', 'Controllerhome#columns', 'homecolumns'], + ['GET', '//renderall', 'Controllerhome#renderall', 'homerenderall'], + ['POST', '/bookmark', 'Controllerhome#bookmark', 'homebookmark'], + ['POST', '/upload', 'Controllerpage#upload', 'pageupload'], + ['POST', '/!co', 'Controllerconnect#log', 'log'], + ['GET', '/!co', 'Controllerconnect#connect', 'connect'], + ['POST', '/!search', 'Controllerhome#search', 'search'], + ['GET', '/!media', 'Controllermedia#desktop', 'media'], + ['POST', '/!media/upload', 'Controllermedia#upload', 'mediaupload'], + ['POST', '/!media/folderadd', 'Controllermedia#folderadd', 'mediafolderadd'], + ['POST', '/!media/folderdelete', 'Controllermedia#folderdelete', 'mediafolderdelete'], + ['POST', '/!media/edit', 'Controllermedia#edit', 'mediaedit'], + ['GET', '/!font', 'Controllerfont#desktop', 'font'], + ['GET', '/!font/render', 'Controllerfont#render', 'fontrender'], + ['POST', '/!font/add', 'Controllerfont#add', 'fontadd'], + ['POST', '/!admin', 'Controlleradmin#update', 'adminupdate'], + ['GET', '/!admin', 'Controlleradmin#desktop', 'admin'], + ['GET', '/!user', 'Controlleruser#desktop', 'user'], + ['POST', '/!user/add', 'Controlleruser#add', 'useradd'], + ['POST', '/!user/update', 'Controlleruser#update', 'userupdate'], + ['POST', '/!user/pref', 'Controlleruser#pref', 'userpref'], + ['GET', '/!info', 'Controllerinfo#desktop', 'info'], + ['GET', '/!timeline', 'Controllertimeline#desktop', 'timeline'], + ['POST', '/!timeline/add', 'Controllertimeline#add', 'timelineadd'], + ['POST', '/!timeline/clap', 'Controllertimeline#clap', 'timelineclap'], + ['GET', '/[cid:page]/', 'Controllerpage#read', 'pageread/'], + ['GET', '/[cid:page]', 'Controllerpage#read', 'pageread'], + ['GET', '/[cid:page]/add', 'Controllerpage#add', 'pageadd'], + ['GET', '/[cid:page]/edit', 'Controllerpage#edit', 'pageedit'], + ['GET', '/[cid:page]/render', 'Controllerpage#render', 'pagerender'], + ['GET', '/[cid:page]/log', 'Controllerpage#log', 'pagelog'], + ['GET', '/[cid:page]/download', 'Controllerpage#download', 'pagedownload'], + ['POST', '/[cid:page]/edit', 'Controllerpage#update', 'pageupdate'], + ['POST', '/[cid:page]/editby', 'Controllerpage#editby', 'pageeditby'], + ['POST', '/[cid:page]/removeeditby', 'Controllerpage#removeeditby', 'pageremoveeditby'], + ['GET', '/[cid:page]/delete', 'Controllerpage#confirmdelete', 'pageconfirmdelete'], + ['POST', '/[cid:page]/delete', 'Controllerpage#delete', 'pagedelete'], + ['GET', '/[cid:page]/[*]', 'Controllerpage#pagedirect', 'pageread/etoile'], + ]); + + $match = $router->match(); + if ($match) { + $callableParts = explode('#', $match['target']); + $controllerName = '\\Wcms\\' . $callableParts[0]; + $methodName = $callableParts[1]; + + $controller = new $controllerName($router); + + call_user_func_array(array($controller, $methodName), $match['params']); + } + //404 + else { + if(!empty(Config::route404())) { + $controller = new Controller($router); + $controller->routedirect('pageread/', ['page' => Config::route404()]); + } else { + header($_SERVER["SERVER_PROTOCOL"] . ' 404 Not Found'); + } + } + } +} \ No newline at end of file -- cgit v1.2.3