Bonjour,
J’aurais besoin de votre aide si possible
Je n’arrive pas à comprendre pourquoi mon image n’est pas enregistrée dans mon form.
J’explique depuis le début: j’ai créé un format de cours qui sert à afficher les images des activités (et pas des sections comme le plugin gridimage).
Maintenant, je n’arrive pas à afficher mon image correctement, et je suspecte qu’elle n’est pas du tout enregistrée dans aucun dossier. Lors de l’upload de l’image je n’ai aucun message d’erreur, j’ai débogué ligne par ligne mais les informations semblent correctes.
Effectivement j’ai bien un fichier qui se génère dans le folder temp que j’ai choisi, qui après se déplace dans le folder filedir des datas.
Les souci c’est que quand je cherche l’image celle-ci semble être inexistante.
Donc:
Ou l’image n’est pas enregistré où je souhaite qu’elle soit, et j’appelle une url qui n’existe pas (http://mywebsite/pluginfile.php/1412/course/format/379/activitygridimage/34_agi_3391322-madden-nfl-19.jpg)
Ou l’image n’existe pas
Dans mon editimage.php :
$courseformat->create_mod_image($tempfile, $storedfilerecord, $modimage); // fonction pour créer l'image
La fonction create_mod_image effectue correctement sont try catch et à la fin elle appelle la setup_displayed_image :
public function setup_displayed_image($modimage, $contextid, $settings) {
[....]
// ICI LA FIN DE LA FONCTION
if ($convertsuccess == true) {
// Now safe to delete old file if it exists.
if ($oldfile = $fs->get_file($contextid, 'course', 'format', $modimage->modid, $gridimagepath,
($modimage->displayedimageindex - 1) . '_' . $modimage->image)) {
$oldfile->delete();
}
$DB->set_field('format_activitygrid_icon', 'displayedimageindex', $modimage->displayedimageindex,
array('modid' => $modimage->modid));
} else {
print_error('cannotconvertuploadedimagetodisplayedimage', 'format_activitygrid',
$CFG->wwwroot . "/course/view.php?id=" . $this->courseid);
}
} else {
$DB->set_field('format_activitygrid_icon', 'image', null, array('modid' => $modimage->modid));
}
return $modimage; // So that the caller can know the new value of displayedimageindex.
}
Les datas je reçois :
D:\wamp\www\mywebsite\course\format\myformatgrid\lib.php:1061:
object(stdClass)[312]
public 'id' => string '9' (length=1)
public 'image' => string 'agi_3391322-madden-nfl-19.jpg' (length=29)
public 'displayedimageindex' => int 34
public 'modid' => string '379' (length=3)
public 'courseid' => string '6' (length=1)
public 'newimage' => string 'agi_3391322-madden-nfl-19.jpg' (length=29)
Et ces lignes-ci devraient servir pour l’affichage de l’url :
$imgurl = moodle_url::make_pluginfile_url(
$contextid,
'course',
'format',
$mod->id,
$gridimagepath,
$modimage->displayedimageindex . '_' . $modimage->image
);
Merci pour votre aide !