Dotclear

Vous n'êtes pas identifié(e).

Annonce

13 février 2024 Sortie de Dotclear 2.29

#1 2010-07-19 08:36:44

zeiram
Membre
Inscription : 2004-06-27
Site Web

coreMediaConstruct, fileHandlers et génération de vignettes

Bonjour les gens.

Je dois probablement être stupide, mais je n'arrive pas à me brancher sur le nouveau behaviour coreMediaConstruct afin de générer des vignettes supplémentaires lors de l'ajout d'un fichier dans le gestionnaire de médias. Pour ce faire, j'ai voulu ajouter un nouveau fileHandler comme suit :

<?php
$core->addBehavior('coreMediaConstruct', array('toto','coreMediaConstruct'));
class toto {
	public function coreMediaConstruct($media) {
		$media->addFileHandler('image/jpeg','create',array('toto','imageThumbCreate'));
	}
	public function imageThumbCreate($cur,$f,$force=true) {
		# do something useful
	}
}
?>

Mon problème est le suivant : dans la méthode imageThumbCreate, il m'est impossible de trouver le chemin d'accès complet (donc y compris les dossiers) au fichier. En effet, $cur est un pointeur sur la base de données et $f contient uniquement le nom du fichier. En regardant le code de la classe dcMedia, il semble que le chemin d'accès soit contenu dans $media->pwd, mais il s'agit d'une variable protected, donc inaccessible depuis ma classe toto (puisqu'elle n'étend pas dcMedia).

Quelqu'un se serait-il déjà frotté au problème et saurait comment faire ?

Note :
  - je ne souhaite pas implémenter un nouveau gestionnaire de médias spécifique à mon plugin, c'est pourquoi ma classe toto n'étend pas la classe dcMedia (sinon, cela signifie que je dois écraser $core->media par ma classe toto, ce qui me paraît hasardeux).


« Y a des jours où faut pas m'chercher !! Et y a des jours tous les jours ! »

Hors ligne

#2 2010-07-19 08:55:10

osku
Membre
Lieu : 28
Inscription : 2005-06-15

Re : coreMediaConstruct, fileHandlers et génération de vignettes

Vite fait, j'aurais envie d'exploiter la fonction getPwd() de la classe filemanager dont est héritée dcMedia.

Hors ligne

#3 2010-07-19 09:10:43

zeiram
Membre
Inscription : 2004-06-27
Site Web

Re : coreMediaConstruct, fileHandlers et génération de vignettes

Oh punaise... quel bêta je fais... merci osku !


« Y a des jours où faut pas m'chercher !! Et y a des jours tous les jours ! »

Hors ligne

#4 2010-07-19 09:14:16

osku
Membre
Lieu : 28
Inscription : 2005-06-15

Re : coreMediaConstruct, fileHandlers et génération de vignettes

zeiram a écrit :

Oh punaise... quel bêta je fais... merci osku !

Je t'en prie, je suis curieux de voir la future version de ton célèbre greffon.

Hors ligne

#5 2010-07-19 11:31:19

zeiram
Membre
Inscription : 2004-06-27
Site Web

Re : coreMediaConstruct, fileHandlers et génération de vignettes

Pas grand chose à en attendre : une création des vignettes à l'ajout du fichier dans le gestionnaire des médias (au lieu d'une génération lors de l'affichage public). Mais ce n'est pas encore gagné... (genre : pourquoi est-ce que le fileHandler définit pour les events update n'est pas appelé lorsqu'on change le fichier, le déplace ou encore force la regénération des miniatures ? )


« Y a des jours où faut pas m'chercher !! Et y a des jours tous les jours ! »

Hors ligne

Vous n'êtes pas identifié(e).

Pied de page des forums

Sites map