Fork me on GitHub






hak pour inbetween
Aspirant
Inscrit: 30/09/2005 11:22
Messages: 40
Bonjour,

Le hak que je vais vous presenter n'est certe pas parfait, mais il permet un filtrage des images et un redimensionnement a la publication lorsque celle ci sont trop grandes.

Le problème qu'il peut se poser, c'est que si l'utilisateur edite le code html a la main, il peut passer par dessus. Donc, c'est viable si vous desactivez la vision et l'edition possible du code html directement (ce que je vous conseille pour les utilisateurs standarts pour beaucoup de raison)

Rajouter dans le fichier modules/inbetween/editor/themes/advandced/jscripts/image.js

function redimImage(){
var 
formObj=document.forms[0];
var 
width=formObj.width.value;
var 
height=formObj.height.value;
var 
newHeight;
var 
newWidth;
var 
Ratio;
  if (
width>400||height>400)//Indiquer la hauteur maximum et la largeur maximum a laquelle vous desirez limiter
    
{
    
alert("Votre image est trop grande, elle va etre redimensionné pour ne pas abimer la présentation du site");
    if (
height-width>0)
      {
      
newHeight=500;
      
Ratio=newHeight/height;
      
newWidth=width*Ratio;
      }
    else
      {
      
newWidth=500;
      
Ratio=newWidth/width;
      
newHeifht=width*Ratio;
      }
    }
formObj.width.value=newWidth;
formObj.height.value=newHeight;
}


Rajouter a la ligne 10 dans la fonction insertImage la fonction redimImage(), comme ceci.

function insertImage() {
    
redimImage();//inserer la ici


  
var src document.forms[0].src.value;
    var 
alt document.forms[0].alt.value;
    var 
border document.forms[0].border.value;
    var 
vspace document.forms[0].vspace.value;
    var 
hspace document.forms[0].hspace.value;
    var 
width document.forms[0].width.value;
    var 
height document.forms[0].height.value;
    var 
align document.forms[0].align.options[document.forms[0].align.selectedIndex].value;





Passons maintenant au plug in image avancé qui se trouve dans
modules/inbetween/editor/plugins/advimage/jscripts/function.js

On va appliquer le meme principe en renommant la fonction (en faite j'ai po été faire des tests pour savoir si il y'a chevauchement ou pas des fonctions donc je prends mes précautions)

A la fin, vous insérez

function resizeImage(){
var 
formObj=document.forms[0];
var 
width=formObj.width.value;
var 
height=formObj.height.value;
var 
newHeight;
var 
newWidth;
var 
Ratio;
  if (
width>400||height>400)
    {
    
alert("Votre image est trop grande, elle va etre redimensionné pour ne pas abimer le site");
    if (
height-width>0)
      {
      
newHeight=500;
      
Ratio=newHeight/height;
      
newWidth=width*Ratio;
      }
    else
      {
      
newWidth=500;
      
Ratio=newWidth/width;
      
newHeifht=width*Ratio;
      }
    }
formObj.width.value=newWidth;
formObj.height.value=newHeight;
}


et ensuite, a la ligne 267 pour la fonction insertAction, vous rajoutez comme ceci :

var inst tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
    var 
elm inst.getFocusElement();
    var 
formObj document.forms[0];
    var 
src formObj.src.value;
    var 
onmouseoversrc formObj.onmouseoversrc.value;
    var 
onmouseoutsrc formObj.onmouseoutsrc.value;
    
  
resizeImage();//fonction a rajouter


Voila, je le repete, ce hak est pas parfait et il y'a surement moyen de faire mieux, si vous pensez pouvoir le faire, n'hesitez pas a poster a la suite votre solution.

Et eviter de laisser le mode edition html pour vos utilisateurs car ça leur permettrait d'utiliser du javascript dans leu publication (avec ça, ils peuvent serieusement embeter les utilisateurs)

Derniere chose, ce hak agit sur tous les modules (donc si vous avez des criteres différents pour chaques modules, il vaut mieux chercher une autre solution... (un parser php peut etre))

Félicitation a l'equipe d'invbetween pour ce tres bon editeur

Posté le : 15/04/2006 09:23
Partager Twitter Partagez cette article sur GG+
Re: hak pour inbetween
Supporter Xoops
Inscrit: 09/01/2005 13:37
De Breizh
Messages: 16972
Bonjour,

As tu proposer ce hack par mp à franckblack, pour qu'il réfléchisse à une future intégration de son module ?

A +

Posté le : 16/04/2006 00:15

La connaissance s'accroît quand on la partage ...
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

28 Personne(s) en ligne (22 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 28 | Plus ...