Bonjour,
je rencontre quelques problèmes concernant le tutoriel (j2) et la mise en place de tinymce :
Warning (2): current() expects parameter 1 to be array, boolean given [APP/Controller/MediasController.php, line 77]
J'ai bien passé ma condition if($id) en if(is_numeric($id)) mais rien n'y fait.
D'autre part comment créer des miniatures (large, medium, small) en prenant en compte le format de l'image originale ? (actuellement le tout est passé en .jpg) ?
Enfin, aucune vérification n'est faite lors de l'upload de média au niveau du nom (risque d'écraser une image par une autre) , que peut ont mettre en place pour éviter ce genre de problème ?
Merci d'avance :) !
Première réponse concernant l'upload d'image en ajoutant une simple verification:
if(file_exists($dir.DS.$filename.$ext))
{
if(file_exists($dir.DS.$filename.'-1'.$ext))
{
$i=1;
while(file_exists($dir.DS.$filename.'-'.$i.$ext))
{
$i++;
}
$filename = $filename.'-'.$i;
}else{
$filename = $filename.'-1';
}
}
Par contre, je suis toujours coincé lorsque je veux éditer une image, j'obtiens :
Warning (2): current() expects parameter 1 to be array, boolean given [APP/Controller/MediasController.php, line 94]
correspondant à :
if(is_numeric($id))
{
$this->Media->id = $id;
$media = current($this->Media->read());
$d'src'] = Router::url('/img/'.$media'url'.$format]);
$d'alt'] = $media'name'];
$d'class'] = 'alignLeft';
}
else
{
$d = $this->request->query;
$d'src'] = urldecode($d'src']);
}
$this->set($d);