Bonjour à tous,
J'ai cette erreur qui apparaît sans cesse dans mes logs, sur ma fonction en charge de mes modules.
J'ai cherché sur différents forums, mais je n'arrive pas à comprendre ce qu'il se passe !
Je tiens à préciser que je me suis basé sur les tutos des MVC de grafikart comme base.
Pour le moment, c'est la seule erreur récalcitrante que je n'arrive pas à supprimer !
Si une âme charitable avait une idée, je suis preneur ! (l'erreur se trouve à la ligne 52 dans le code collé ci-dessous)
Fabien
<?php
/**
* Description of modulesConfigsController
* Permer de faire la gestion des modules dans la console d'admin
* @author
*/
class ModulesController extends Controller {
function admin_index() {
// on charge le modele
$this->loadModel('Module');
// on récupère la liste de tous les modules
$d'modules'] = $this->Module->find(
);
// on envoi tout à la vue
$this->set($d);
}
/**
* Permet d'éditer un post
*/
function admin_edit($id = NULL) {
// on charge le model
$this->loadModel('Module');
// on charge tous les modules dont on va avoir besoin sur la page et on stock tout dans l'objet request->modules
// on va récupérer tous les modules qui nous concernent
//debug($this->request);
$addMod = $this->Module->find(array(
'fields' => 'id,module,contents',
'conditions' => array(
'id' => $id
)
));
//debug($addMod);
$addMod = objectToArray($addMod);
// debug($addMod);
//debug($addMod[0]->contents);
$mod = $this->Module->find(array(
'fields' => 'id,module,contents,position',
'conditions' => array(
'contents' => isset($addMod[0]'contents']) ? $addMod[0]'contents'] : false
)
));
debug($mod);
$loadedModule = isset($addMod[0]'module']) ? $addMod[0]'module'] : false;
$this->loadModuleModel($loadedModule);
//debug(get_class($this));
$this->request->modules = $mod;
// on va lancer notre requete
$req = $this->$loadedModule->find(array( // <u><strong>/!\ c'est ici que php m'indique l'erreur /!\</strong></u>
'conditions' => array(
'id' => isset($addMod[0]'contents']) ? $addMod[0]'contents'] : false
)
));
//debug($req, 1);
#################
// ca va me permettre de générer un stdClass() pour que le contenu de ma table soit au bon niveau
$this->request->extensionData = $req[0]; //
#################
//debug($this->request->extensionData);
//debug($mod[0]->contents);
// si on a pas d'id de défini on va enregistrer un article factice en bdd
if ($id === NULL) {
$module = $this->Module->findFirst(array(
'conditions' => array(
'id' => -1
)
));
if (!empty($module)) {
$id = $module->id;
} else {
$this->Module->save(array(
'online' => -1
));
$id = $this->Module->id;
}
}
$d'id'] = $id;
if ($this->request->data) {
// avant d'anvoyer les données en base on va vérifier si elles ont correctement été saisies
if ($this->Module->validates($this->request->data)) {
// avant de faire le save on peut inscrire des données par défaut
$this->request->data->lang = '1';
$this->request->data->publish_start = date("0000-00-00 00:00:00");
$this->request->data->publish_end = date("0000-00-00 00:00:00");
// des données ont été envoyées et on va pouvoir les stocker au niveau de notre model
// debug($this->request->data);
$this->Module->save($this->request->data);
// On envoi notre message d'erreur
$this->Session->setFlash("Le module " . $this->Module->title . " a bien été modifié !");
// on va indiquer la clé qu'on a récupéré pour pouvoir faire la redirection
$id = $this->Module->id;
//debug($this->Post);
// si les données ont bien été envoyées on fait un redirect ==> sert pour les boutons d'action de sauvegarde
$this->redirect('admin/modules/index');
} else {
// Si on constate une erreur on envoi le setflash
$this->Session->setFlash("Merci de corriger les différentes erreur !", 'error');
}
} else {
// si on a un id on lance notre requete findFirst
// on requete la bdd
$this->request->data = $this->Module->findFirst(array(
'conditions' => array(
'id' => $id
)
));
}
$this->set($d);
//debug($this->request);
}
function admin_delete() {
}
}
La voici
/**
* Permet de convertir un objet en array
*/
function objectToArray($d) {
if (is_object($d)) {
// Gets the properties of the given object
// with get_object_vars function
$d = get_object_vars($d);
}
if (is_array($d)) {
/*
* Return array converted to object
* Using __FUNCTION__ (Magic constant)
* for recursive call
*/
return array_map( __FUNCTION__ , $d);
} else {
// Return array
return $d;
}
}
J'ai trouvé sur le net, elle n'est pas de moi