#elearning du point de vue prof, c’est perdre du temps pour en gagner ensuite ? pas sur !... Trop de plateformes sont des nids de téléchargement de doc et pdf... comment faire changer les choses ?
@arno dernière mise à jour de Filtre image_responsive 2.2.1 fait planter mon site vers une 302
1) { $taille = $taille $dpr ; $taille_y = $taille_y $dpr ; } if ($taille == 0 AND $taille_y > 0) $taille = 10000 ; # {0,300} -> c’est 300 qui compte elseif ($taille > 0 AND $taille_y == 0) $taille_y = 10000 ; # {300,0} -> c’est 300 qui compte elseif ($taille == 0 AND $taille_y == 0) return ’’ ; $valeurs = _image_valeurs_trans($source, « reduire_net-{$taille}-{$taille_y}-{$dpr} », false) ; $image = $valeurs[’fichier’] ; $format = $valeurs[’format_source’] ; $destdir = dirname($valeurs[’fichier_dest’]) ; $destfile = basename($valeurs[’fichier_dest’],".".$valeurs["format_dest"]) ; $format_sortie = $valeurs[’format_dest’] ; // liste des formats qu’on sait lire $img = isset($GLOBALS[’meta’][’formats_graphiques’]) ? (strpos($GLOBALS[’meta’][’formats_graphiques’], $format) !==false) : false ; // si le doc n’est pas une image, refuser if (!$force AND !$img) return ; $destination = « $destdir/$destfile » ; // chercher un cache $vignette = ’’ ; if ($test_cache_only AND !$vignette) return ; // utiliser le cache ? if (!$test_cache_only) if ($force OR !$vignette OR (@filemtime($vignette) < @filemtime($image))) { $creation = true ; // calculer la taille if (($srcWidth=$valeurs[’largeur’]) && ($srcHeight=$valeurs[’hauteur’])){ if (!($destWidth=$valeurs[’largeur_dest’]) || !($destHeight=$valeurs[’hauteur_dest’])) list ($destWidth,$destHeight) = _image_ratio($valeurs[’largeur’], $valeurs[’hauteur’], $maxWidth, $maxHeight) ; } else { $destWidth = $maxWidth ; $destHeight = $maxHeight ; } // Si l’image est de la taille demandee (ou plus petite), simplement // la retourner if ($srcWidth AND $srcWidth <= $maxWidth AND $srcHeight <= $maxHeight) { $vignette = $destination.’.’.$format ; @copy($image, $vignette) ; } else { if (_IMG_GD_MAX_PIXELS && $srcWidth*$srcHeight>_IMG_GD_MAX_PIXELS){ spip_log("vignette gd1/gd2 impossible : ".$srcWidth*$srcHeight."pixels") ; return $image ; } $destFormat = $format_sortie ; if (!$destFormat) { spip_log("pas de format pour $image") ; return ; } $fonction_imagecreatefrom = $valeurs[’fonction_imagecreatefrom’] ; if (!function_exists($fonction_imagecreatefrom)) return ’’ ; $srcImage = @$fonction_imagecreatefrom($image) ; if (!$srcImage) { spip_log("echec gd1/gd2") ; return $image ; } // Initialisation de l’image destination if ($destFormat != « gif ») $destImage = ImageCreateTrueColor($destWidth, $destHeight) ; if (!$destImage) $destImage = ImageCreate($destWidth, $destHeight) ; // Recopie de l’image d’origine avec adaptation de la taille $ok = false ; if (function_exists(’ImageCopyResampled’)) { if ($format == « gif ») { // Si un GIF est transparent, // fabriquer un PNG transparent $transp = imagecolortransparent($srcImage) ; if ($transp > 0) $destFormat = « png » ; } if ($destFormat == « png ») { // Conserver la transparence if (function_exists("imageAntiAlias")) imageAntiAlias($destImage,true) ; @imagealphablending($destImage, false) ; @imagesavealpha($destImage,true) ; } $ok = @ImageCopyResampled($destImage, $srcImage, 0, 0, 0, 0, $destWidth, $destHeight, $srcWidth, $srcHeight) ; } if (!$ok) $ok = ImageCopyResized($destImage, $srcImage, 0, 0, 0, 0, $destWidth, $destHeight, $srcWidth, $srcHeight) ; //die (phpversion()) ; if($destFormat == « jpg » && function_exists(’imageconvolution’)) { $intSharpness = _findSharp($srcWidth, $destWidth) ; $arrMatrix = array( array(-1, -2, -1), array(-2, $intSharpness + 12, -2), array(-1, -2, -1) ) ; $div = array_sum(array_map(’array_sum’, $arrMatrix)) ; //die ("div : ".$div) ; // On s’arrange maintenant pour que le divisor soit 1 // parce qu’imageconvoluion en PHP 5.5.9 semble ne prendre en compte // que cette valeur $arrMatrix = array( array(-1/$div, -2/$div, -1/$div), array(-2/$div, ($intSharpness + 12)/$div, -2/$div), array(-1/$div, -2/$div, -1/$div) ) ; $divisor = array_sum(array_map(’array_sum’, $arrMatrix)) ; //die ("divisor : « .$divisor) ; imageconvolution($destImage, $arrMatrix, $divisor, 0) ; } // Sauvegarde de l’image destination $valeurs[’fichier_dest’] = $vignette = »$destination.$destFormat" ; $valeurs[’format_dest’] = $format = $destFormat ; if ($dpr > 1.5) $qualite = 40 ; else $qualite=_IMG_GD_QUALITE ; _image_gd_output($destImage,$valeurs, $qualite) ; if ($srcImage) ImageDestroy($srcImage) ; ImageDestroy($destImage) ; } } $size = @getimagesize($vignette) ; // Gaffe : en safe mode, pas d’acces a la vignette, // donc risque de balancer « width=’0’ », ce qui masque l’image sous MSIE if ($size[0] < 1) $size[0] = $destWidth ; if ($size[1] < 1) $size[1] = $destHeight ; $largeur = $size[0] ; $hauteur = $size[1] ; $date = @filemtime($vignette) ; // dans l’espace prive mettre un timestamp sur l’adresse // de l’image, de facon a tromper le cache du navigateur // quand on fait supprimer/reuploader un logo // (pas de filemtime si SAFE MODE) $date = test_espace_prive() ? (’ ?’.$date) : ’’ ; return _image_ecrire_tag( $valeurs, array(’src’=>"$vignette", ’width’=>$largeur, ’height’=>$hauteur) ) ; }
HTTP 302
J’aurais besoin de plus d’infos. Notamment des précisions sur le message d’erreur de PHP. L’erreur 302, c’est assez bizarre pour un script…
Si tu as fait une mise à jour depuis une version nettement plus ancienne du plugin, est-ce que tu as pensé à modifier le .htaccess avec le nouveau code ?
oui ligne 1 de image_responsive_options.php => < ? alors que avec => < ?php cela passe, merci @fil te laisses commiter tu es chez toi ;-)
Ah ben c’est carrément le bug idiot, ça! Merci :-))
C’est donc en ligne:
▻http://zone.spip.org/trac/spip-zone/changeset/84531
Débutants en #SPIP qu’est ce qui vous manque en documentation ? #documentation Lâchez vous, je prends des notes ;-)
Va devoir cravacher pour rattraper le retard dans l’écriture de la doc mais période d’examens de mes étudiants, pas facile de trouver 5 min, demain cela ira mieux ;-) #SPIP #documentation
Ah ben oui ca confirme lol => De: “RastaPopoulos (@rastapopoulos) - SeenThis” , MISSING_MAILBOX_TERMINATOR@.SYNTAX-ERROR., UNEXPECTED_DATA_AFTER_ADDRESS@.SYNTAX-ERROR.
Y font quoi à Lille ? Je sais pô mais ca envoie du steak grave ! MDR
#Lille #Spip #Coding-party
Décision à prendre sous les 8 jours ! Tu me tiens au courant très vite ?
moi qui comptais sur une entrée discrète :-p => tapez seen this dans google.be
Seenthis, c’est un truc privé, public, à acheter, à contribuer ??? cela m’intéresse très fort !... dit moi tout ;-)
Il faudrait plutôt poser des questions précises.
Bon faisons simple, on recherche une appli dans le genre pour des thérapeutes ... donc face ou twit c’est un peu large... et pas tout à fait à notre goût.
Par contre seenthis, que je découvre, semble correspondre à notre besoin ... Ils pourraient annoncer du style : un stage, une conférence, suivre l’un l’autre ... bref du Seenthis quoi ;-)
Ça a l’air de tourner avec un SPIP... et après ?
Alors, en gros :
– c’est un développement perso, je libère des choses, mais pas le truc intégralement ; dans le futur, je ne sais pas, mais dans l’immédiat, non ;
– utiliser le système pour une utilisation professionnelle, hé ben c’est comme les applis que tu cites, c’est parfaitement possible ; sachant tout de même que le principe de Seenthis, c’est que tout est public pour tout le monde ;
– pour ce qui est d’instances spécifiques, privées ou semi-privées, de Seenthis pour des groupes/entreprises... ou carrément des installations locales, c’est encore trop tôt (le produit est en développement), mais c’est une piste que je n’exclue pas. Mais il est vraiment trop tôt.
Toc toc toc je fais mon entrée sur seenthis, je découvre et me fait tout petit dans mon coin pour comprendre comment cela fonctionne.