summaryrefslogtreecommitdiff
path: root/poc/poc02-compiling-cake/src/workdir/in/app/Controller
diff options
context:
space:
mode:
Diffstat (limited to 'poc/poc02-compiling-cake/src/workdir/in/app/Controller')
-rw-r--r--poc/poc02-compiling-cake/src/workdir/in/app/Controller/AppController.php35
-rw-r--r--poc/poc02-compiling-cake/src/workdir/in/app/Controller/Component/empty0
-rw-r--r--poc/poc02-compiling-cake/src/workdir/in/app/Controller/PagesController.php75
-rw-r--r--poc/poc02-compiling-cake/src/workdir/in/app/Controller/PostsController.php48
4 files changed, 158 insertions, 0 deletions
diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/Controller/AppController.php b/poc/poc02-compiling-cake/src/workdir/in/app/Controller/AppController.php
new file mode 100644
index 0000000..7aab7e9
--- /dev/null
+++ b/poc/poc02-compiling-cake/src/workdir/in/app/Controller/AppController.php
@@ -0,0 +1,35 @@
+<?php
+/**
+ * Application level Controller
+ *
+ * This file is application-wide controller file. You can put all
+ * application-wide controller-related methods here.
+ *
+ * PHP 5
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link http://cakephp.org CakePHP(tm) Project
+ * @package app.Controller
+ * @since CakePHP(tm) v 0.2.9
+ * @license MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+
+App::uses('Controller', 'Controller');
+
+/**
+ * Application Controller
+ *
+ * Add your application-wide methods in the class below, your controllers
+ * will inherit them.
+ *
+ * @package app.Controller
+ * @link http://book.cakephp.org/2.0/en/controllers.html#the-app-controller
+ */
+class AppController extends Controller {
+}
diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/Controller/Component/empty b/poc/poc02-compiling-cake/src/workdir/in/app/Controller/Component/empty
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/poc/poc02-compiling-cake/src/workdir/in/app/Controller/Component/empty
diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/Controller/PagesController.php b/poc/poc02-compiling-cake/src/workdir/in/app/Controller/PagesController.php
new file mode 100644
index 0000000..5a2e57d
--- /dev/null
+++ b/poc/poc02-compiling-cake/src/workdir/in/app/Controller/PagesController.php
@@ -0,0 +1,75 @@
+<?php
+/**
+ * Static content controller.
+ *
+ * This file will render views from views/pages/
+ *
+ * PHP 5
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link http://cakephp.org CakePHP(tm) Project
+ * @package app.Controller
+ * @since CakePHP(tm) v 0.2.9
+ * @license MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+
+App::uses('AppController', 'Controller');
+
+/**
+ * Static content controller
+ *
+ * Override this controller by placing a copy in controllers directory of an application
+ *
+ * @package app.Controller
+ * @link http://book.cakephp.org/2.0/en/controllers/pages-controller.html
+ */
+class PagesController extends AppController {
+
+/**
+ * Controller name
+ *
+ * @var string
+ */
+ public $name = 'Pages';
+
+/**
+ * This controller does not use a model
+ *
+ * @var array
+ */
+ public $uses = array();
+
+/**
+ * Displays a view
+ *
+ * @param mixed What page to display
+ * @return void
+ */
+ public function display() {
+ $path = func_get_args();
+
+ $count = count($path);
+ if (!$count) {
+ $this->redirect('/');
+ }
+ $page = $subpage = $title_for_layout = null;
+
+ if (!empty($path[0])) {
+ $page = $path[0];
+ }
+ if (!empty($path[1])) {
+ $subpage = $path[1];
+ }
+ if (!empty($path[$count - 1])) {
+ $title_for_layout = Inflector::humanize($path[$count - 1]);
+ }
+ $this->set(compact('page', 'subpage', 'title_for_layout'));
+ $this->render(implode('/', $path));
+ }
+}
diff --git a/poc/poc02-compiling-cake/src/workdir/in/app/Controller/PostsController.php b/poc/poc02-compiling-cake/src/workdir/in/app/Controller/PostsController.php
new file mode 100644
index 0000000..c6ff3d2
--- /dev/null
+++ b/poc/poc02-compiling-cake/src/workdir/in/app/Controller/PostsController.php
@@ -0,0 +1,48 @@
+<?php
+class PostsController extends AppController {
+ public $helpers = array('Html', 'Form');
+
+ public function index() {
+ $this->set('posts', $this->Post->find('all'));
+ }
+
+ public function view($id = null) {
+ $this->Post->id = $id;
+ $this->set('post', $this->Post->read());
+ }
+
+ public function add() {
+ if ($this->request->is('post')) {
+ if ($this->Post->save($this->request->data)) {
+ $this->Session->setFlash('Your post has been saved.');
+ $this->redirect(array('action' => 'index'));
+ } else {
+ $this->Session->setFlash('Unable to add your post.');
+ }
+ }
+ }
+
+ public function edit($id = null) {
+ $this->Post->id = $id;
+ if ($this->request->is('get')) {
+ $this->request->data = $this->Post->read();
+ } else {
+ if ($this->Post->save($this->request->data)) {
+ $this->Session->setFlash('Your post has been updated.');
+ $this->redirect(array('action' => 'index'));
+ } else {
+ $this->Session->setFlash('Unable to update your post.');
+ }
+ }
+ }
+
+ public function delete($id) {
+ if ($this->request->is('get')) {
+ throw new MethodNotAllowedException();
+ }
+ if ($this->Post->delete($id)) {
+ $this->Session->setFlash('The post with id: ' . $id . ' has been deleted.');
+ $this->redirect(array('action' => 'index'));
+ }
+ }
+}