[Conception] MVC classe modèle
Bonjour, je programme en MVC, séparation model vu controlleur.
Voici ce que me donne un de mais code du controlleur. Je voudrais savoir si tout le code qu'il contient doit bien effectivement ce trouver dans le controlleur, car je trouve que sa fait beaucoup de code pour afficher et traiter un formulaire.
Merci d'avance pour vos réponses.
Code:
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 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124
|
class ItemController extends Controller_Action
{
private $error;
public function formAction()
{
global $niveau_membre;
$article = new item($niveau_membre);
if($_POST != NULL)
{
$article->setIdItem($_GET['id']);
$article->setTitle($_POST['titre']);
$article->setSummary($_POST['resume']);
$article->setStatus($_POST['etat']);
$article->setShortUrl($_POST['url_court']);
$article->setMetaKeywords($_POST['meta_mots_cle']);
$article->setMetaDescription($_POST['meta_description']);
$article->setWeight($_POST['position']);
$article->setIdCategory($_POST['idcategorie']);
$article->setLock($_POST['verrouiller']);
$article->setDisplayDatePublication($_POST['afficher_date_publication']);
if(isset($_GET['id']))
{
$article->update();
header('Location: '._URL_SITE);
}
else
{
$article->insert();
header('Location: '._URL_SITE);
}
}
$result = $article->makeItem($_GET['id']);
if($result)
{
$titrepage = _LANG_CONTENU_MODIARTICLEEETITRE;
$message = _LANG_CONTENU_MODIARTICLEEEMESSAGE;
}
else
{
$titrepage = _LANG_CONTENU_NOUVARTICLEEETITRE;
$message = _LANG_CONTENU_NOUVARTICLEEEMESSAGE;
}
if ($result AND $_POST==NULL)
{
$titre = $article->getTitle();
$resume = $article->getSummary();
$etat = $article->getStatus();
$url_court = $article->getShortUrl();
$meta_mots_cle = $article->getMetaKeywords();
$meta_description = $article->getMetaDescription();
$position = $article->getWeight();
$idcategorie = $article->getIdCategory();
$verrouiller = $article->getLock();
$afficher_date_publication = $article->getDisplayDatePublication();
}
else
{
(isset($_POST['titre'])) ? $titre = $_POST['titre'] : $titre="";
(isset($_POST['resume'])) ? $resume = $_POST['resume'] : $resume="";
(isset($_POST['etat'])) ? $etat = $_POST['etat'] : $etat=1;
(isset($_POST['url_court'])) ? $url_court = $_POST['url_court'] : $url_court="";
(isset($_POST['meta_mots_cle'])) ? $meta_mots_cle = $_POST['meta_mots_cle'] : $meta_mots_cle="";
(isset($_POST['meta_description'])) ? $meta_description = $_POST['meta_description'] : $meta_description="";
(isset($_POST['position'])) ? $position = $_POST['position'] : $position=1;
(isset($_POST['idcategorie'])) ? $idcategorie = $_POST['idcategorie'] : $idcategorie=0;
(isset($_POST['verrouiller'])) ? $verrouiller = $_POST['verrouiller'] : $verrouiller=0;
(isset($_POST['afficher_date_publication'])) ? $afficher_date_publication = $_POST['afficher_date_publication'] : $afficher_date_publication=1;
}
//arborescence(0, 0, $idcategorie);
if($etat==1){ $etat1="selected"; $etat0="";} else { $etat1=""; $etat0="selected";}
if($verrouiller==1){ $verrouiller1="selected"; $verrouiller0="";} else { $verrouiller1=""; $verrouiller0="selected";}
if($afficher_date_publication==1){ $afficher_date_publication1="selected"; $afficher_date_publication0="";} else { $afficher_date_publication1=""; $afficher_date_publication0="selected";}
$this->template->assign_vars(array(
'titrepage' => $titrepage,
'message' => $message,
'titre' => $titre,
'resume' => $resume,
'etat1' => $etat1,
'etat0' => $etat0,
'verrouiller1' => $verrouiller1,
'verrouiller0' => $verrouiller0,
'afficher_date_publication1' => $afficher_date_publication1,
'afficher_date_publication0' => $afficher_date_publication0,
'url_court' => $url_court,
'meta_mots_cle' => $meta_mots_cle,
'meta_description' => $meta_description,
'position' => $position,
'id' => $id
));
if($this->error != NULL)
{
$template->assign_block_vars('attention', array(
'titre' => $this->erreur
));
}
if($niveau_membre>=5)
{
$this->template->assign_block_vars('etat', array());
$this->template->assign_block_vars('afficher_date_publication', array());
}
if($niveau_membre>=9)
{
$this->template->assign_block_vars('url_court', array());
$this->template->assign_block_vars('verrouiller', array());
}
}
} |