add cms, add todo
[ssproject1617.git] / testcms-final-anon / system / admin / controllers / pages.php
diff --git a/testcms-final-anon/system/admin/controllers/pages.php b/testcms-final-anon/system/admin/controllers/pages.php
new file mode 100644 (file)
index 0000000..15a65ca
--- /dev/null
@@ -0,0 +1,40 @@
+<?php defined('IN_CMS') or die('No direct access allowed.');\r
+\r
+class Pages_controller {\r
+\r
+       public function __construct() {\r
+               $this->admin_url = Config::get('application.admin_folder');\r
+       }\r
+\r
+       public function index() {\r
+               $pages = Pages::list_all();\r
+               Template::render('pages/index', array('pages' => $pages));\r
+       }\r
+       \r
+       public function add() {\r
+               if(Input::method() == 'POST') {\r
+                       if(Pages::add()) {\r
+                               return Response::redirect($this->admin_url . '/pages/edit/' . Db::insert_id());\r
+                       }\r
+               }\r
+               Template::render('pages/add');\r
+       }\r
+       \r
+       public function edit($id) {\r
+               // find page\r
+               if(($page = Pages::find(array('id' => $id))) === false) {\r
+                       return Response::redirect($this->admin_url . '/pages');\r
+               }\r
+\r
+               // process post request\r
+               if(Input::method() == 'POST') {\r
+                       if(Pages::update($id)) {\r
+                               // redirect path\r
+                               return Response::redirect($this->admin_url . '/pages/edit/' . $id);\r
+                       }\r
+               }\r
+\r
+               Template::render('pages/edit', array('page' => $page));\r
+       }\r
+       \r
+}\r