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 :) !

1 réponse


pix
Auteur

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);