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
|
<?php
class PagesController extends AppController
{
//Fonction qui permet de changer de layout si le paramètre admin est dans l'url
function beforeFilter()
{
if(isset($this->params['prefix']) && $this->params['prefix'] == 'admin')
{
$this->layout = 'admin';
}
}
/**
* ------------------------ Fonctions d'utilisateur ------------------------
**/
//Permet d'afficher la page d'accueil
function index(){}
//Permet d'afficher les pages sous la forme /pages/show/xxxxx
function voir($slug = null)
{
$page = $this->Page->find('first', array(
'conditions' => array(
'slug' => $slug,
'online' => 1
)));
//Petit test qui permet de savoir si une page existe ou pas. Si c'est pas le cas, on lève une exception
if(empty($page))
throw new NotFoundException('La page que vous essayez d\'atteindre n\'est pas disponible');
$d['page'] = $page;
$this->set($d);
}
/**
* ------------------------ Fonctions d'administration ------------------------
**/
//VA chercher toutes les pages contenues dans la BDD afin de pouvoir les afficher
function admin_index()
{
$page = $this->Page->find('all');
$d['page'] = $page;
$this->set($d);
}
//Pour éditer une page
function admin_edit($id)
{
if($this->request->is('put') || $this->request->is('post'))
{
if($this->Page->save($this->request->data))
{
$this->redirect(array('controller' => 'pages', 'action' => 'index'));
}
}
elseif($id)
{
$this->Page->id = $id;
$this->request->data = $this->Page->read();
}
}
//Pour supprimer une page
function admin_delete($id)
{
$this->Session->setFlash('La page a bien été supprimée', 'message_succes');
$this->Page->delete($id);
$this->redirect($this->referer());
}
} |
Partager