Bonjour,

Continuant dans ma lancée de gestion d'un aéroclub sur Galette 0.7, j'ai ajouté la liste des avions de l'aéroclub.


J'ai voulu copier sur le plugin Auto pour avoir des images personnalisées pour chaque avion et je n'arrive pas à le faire tomber en marche.

Tout d'abord, dans la classe de base picture.class.php il y a un oubli dans la fonction delete() (ligne 316) :
$del = $zdb->db->delete(
PREFIX_DB . $this->tbl_prefix . $class::TABLE,
$zdb->db->quoteInto($class::PK . ' = ?', $this->db_id)
);

Il manque le "$this->tbl_prefix" ce qui fait qu'une classe héritée ne pourra pas se supprimer, il essayera de supprimer l'image d'un adhérent et non de la classe héritée.

Hors donc, j'ai créé une classe PiloteAvionPicture qui contient exactement ceci :

-- début piloteAvionPicture.class.php --
require_once WEB_ROOT . 'classes/picture.class.php';

class PiloteAvionPicture extends Picture {

protected $tbl_prefix = PILOTE_PREFIX;
const PK = PiloteAvion::PK;
//path is relative to Picture class, not to PilotePicture
protected $store_path = '../plugins/Pilote/avions_photos/';

/**
* Gets the default picture to show, anyways
*
* @see Logo::getDefaultPicture()
*
* @return void
*/
protected function getDefaultPicture() {
global $plugins;
$this->file_path = $plugins->getTemplatesPath('Pilote') . '/picts/avion.png';
$this->format = 'png';
$this->mime = 'image/png';
$this->has_picture = false;
}

}
-- fin piloteAvionPicture.class.php --

J'arrive bien à ajouter une ligne dans la bonne table associée quand je fais un upload via :
$res = $avion->picture->store($_FILES['photo']);
Mais j’obtiens un $res = -4, et le fichier n'est pas copié dans le répertoire qui existe.

Plus tard à l'affichage, en debug, je vois qu'il essaye d'afficher l'image depuis le bon endroit, et il considère qu'il existe (hasPicture() = true) mais comme l'image n'existe pas, il n'affiche rien.

Actuellement, en test, je suis sous WinXP + EasyPHP, à priori pas de problèmes de droits d'écriture.

Une idée ou une piste ?

Merci,

Mélissa

_______________________________________________
Galette-discussion mailing list
Galette-discussion@gna.org
https://mail.gna.org/listinfo/galette-discussion

Répondre à