Bonjour,
Voila , j'ai bien suivi les tutos "créez un site de A a Z", tout marche bien (après quelques corrections css et un peu de bidouille sur l'hébergeur cuccfree.org).
Cependant j'aimerais bien utiliser la dernière version de tinymce qui fait quand même vachement plus propre, mais avec leur nouveau système de plugins je ne comprends pas comment implanter un "custom image manager" autre que leur fichu script a 100€ "moxiemanager" ...
J'ai bien essayer de "récupérer" le minimum vital depuis la démo (tinymce.com) pour le faire tourner mais y'a pas moyen...
Donc si quequ'un avait la bonne technique pour remplacer moxiemanager par un custom manager (genre celui que l'on fait dans le tuto jour6) je suis preneur!!

Merci de votre aide, et encore bravo à grafikart.fr pour tout ces tutos bien réussis !!

PS: au cas ou ce soit pas clair : j'ai bien réussi a faire tourner tinymce4, le problème c'est le gestionnaire de médias ^^.

9 réponses


J'ai créé celui-là à base de jQuery et Php si ça te va ;)
FileManager4TinyMCE

+++

Salut

Super plugin mais j'ai [FineUploader] Error when attempting to parse xhr response text (SyntaxError: Unexpected token <) dans la console JS à l'upload... As tu une solution ?
Sinon, comment je peux faire pour mettre les urls dans les src des images ajoutées dans tinymce en absolu plutot qu'en relatif ?

merci à toi

Après avoir analysé les fichiers dialog.php et upload.php, il y a un problème avec l'encodage en JSON de la réponse de FineUploader.
a priori ce serait à cette ligne

$response=array('success' => true, 'file' => $name, 'size' => $_FILES'qqfile']'size'], 'max' => $MaxSizeUpload);

Mais je ne vois pas... Il me semble que ça viendrait du chemin du dossier mais je me trompe peut être.
Qu'en penses tu ?

C'est bon, j'ai trouvé une partie de la solution.
Ligne 20 dans upload.php, le fait de supprimer le fichier temporaire crée une erreur par la suite.
Il suffit de virer

unlink($temp);

et ça fonctionne très bien.

Le traitement JS utilise le fichier temporaire après l'envoi ? pourquoi ?

Oops désolé pour le retar je ne trouvais plus le post

Concernant l'erreur JSON je n'arrive pas à la reproduire de mon côté.
Test réalisé reponse JSON Ok

{"success":true,"file":"1367432524.png","size":957,"max":1000000}

Tu peux enlever size et max de l'array, il me semble, je les utilisais à des fins de test.

changer

$response=array('success' => true, 'file' => $name, 'size' => $_FILES'qqfile']'size'], 'max' => $MaxSizeUpload);

en

$response=array('success' => true, 'file' => $name);

Tu peux peut-être même virer file, j'ai l'impression en relisant que je ne m'en sers pas puisque je reload sur le callbak complete ;)

Merci pour le feedback je vais mettre à jour l'archive ;)
Surtout que le fichier temp est déplacé et non copier donc il supprime nada :D J'ai dû faire cette partie tôt dans le matin loool

Vire le fichier modrnizer je m'en sers pas décidemment, je l'ai balancé trop tôt lol

Pour changer le chemin des urls il te suffit de changer le var path des functions apply et apply_img

var path = '<? echo $upload_dir;?>';

Tu ajoutes une variable dans la config exemple

$upload_dir2 = 'http://www.monchemin.fr/upload/'

et tu changes tes var path en :

var path = '<? echo $upload_dir2;?>';

Exact c'est ce que j'ai fait in fine ;) Sinon chez moi l'erreur JSON vient lorsque je remets unlink($temp), tu dois surement réutiliser l'upload temporaire quelque part, non ?
Au passage, pour ceux qui auraient aussi besoin d'url absolues, ne pas oublier de mettre

convert_urls: false

lors de l'initialisation de tinymce, sinon ça ne fonctionne pas évidemment.

Non je l'ai enlevé du package ;)
Comme je te disais plus haut c'est une ligne qui trainait. Je déplace le fichier avec move_uploaded_file, il n'y a donc aucune raison d'effacer un fichier temp qui n'existe pas.
Ma première fonction test avait été de faire un imagecreatefrom, j'ai donc simplement laissé ce bout de code trainé. Désolé, pour cela, j'aurai du relire avant de mettre en prod.

En tout cas, si ton problème est réglé c'est déjà ça ;)

Parfait ! Merci à toi pour ce boulot.