1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<?php
 
class PostsController extends AppController {
 
  public function index() {
   
    $posts = $this->Post->find('all');
   
    $this->set(compact('posts'));
   
  }
 
 
  public function view($id) {
   
    $post = $this->Post->find('first', array(
      'conditions' => array('Post.id' => $id),
      'contain' => array('Comment', 'Tag')
    ));
   
    $this->set(compact('post'));
   
  }
 
 
  public function add() {
   
    if (!empty($this->data)) {
     
      if ($this->Post->save($this->data)) {
        $this->Session->setFlash('Post has been saved!');
        $this->redirect(array('action' => 'view', $this->Post->id));
      } else {
        $this->Session->setFlash('Failed to save post!');
      }
     
    }
   
    $tags = $this->Post->Tag->find('list');
   
    $this->set(compact('tags'));
   
  }
 
 
  public function edit($id) {
   
    if (!empty($this->data)) {
     
      if ($this->Post->save($this->data)) {
        $this->Session->setFlash('Post has been saved!');
        $this->redirect(array('action' => 'view', $this->Post->id));
      } else {
        $this->Session->setFlash('Failed to save post!');
      }
     
    } else {
     
      $this->data = $this->Post->find('first', array(
        'conditions' => array('Post.id' => $id),
        'contain' => array('Tag')
      ));
     
    }
   
    $tags = $this->Post->Tag->find('list');
   
    $this->set(compact('tags'));
   
  }
 
 
  public function delete($id) {
   
    if ($this->Post->delete($id)) {
      $this->Session->setFlash('Post has been deleted!');
    } else {
      $this->Session->setFlash('Failed to delete post!');
    }
   
    $this->redirect(array('action' => 'index'));
   
  }
 
}
 
?>