From e62dfb1a310aff5efa285e8bde018314e6f70b50 Mon Sep 17 00:00:00 2001 From: Ludovic Pouzenc Date: Thu, 2 Aug 2012 12:12:19 +0000 Subject: Application Blog fonctionnelle avec repertoire du framework separé et mod-rewrite utilisé (donc le index.php à la racine ne sert pas, c'est le app/webroot/index.php qui sert) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///var/svn/2012-php-weave/trunk@9 d972a294-176a-4cf9-8ea1-fcd5b0c30f5c --- .../workdir/in/app/Controller/AppController.php | 35 ++++++++++ .../src/workdir/in/app/Controller/Component/empty | 0 .../workdir/in/app/Controller/PagesController.php | 75 ++++++++++++++++++++++ .../workdir/in/app/Controller/PostsController.php | 48 ++++++++++++++ 4 files changed, 158 insertions(+) create mode 100644 poc/poc02-compiling-cake/src/workdir/in/app/Controller/AppController.php create mode 100644 poc/poc02-compiling-cake/src/workdir/in/app/Controller/Component/empty create mode 100644 poc/poc02-compiling-cake/src/workdir/in/app/Controller/PagesController.php create mode 100644 poc/poc02-compiling-cake/src/workdir/in/app/Controller/PostsController.php (limited to 'poc/poc02-compiling-cake/src/workdir/in/app/Controller') 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 @@ +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 @@ +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')); + } + } +} -- cgit v1.2.3