Your IP : 216.73.216.249


Current Path : /home/etiennec/www/oldsite/ecrire/configuration/
Upload File :
Current File : /home/etiennec/www/oldsite/ecrire/configuration/reducteur.php

<?php

/***************************************************************************\
 *  SPIP, Systeme de publication pour l'internet                           *
 *                                                                         *
 *  Copyright (c) 2001-2011                                                *
 *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
 *                                                                         *
 *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
 *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
\***************************************************************************/

if (!defined('_ECRIRE_INC_VERSION')) return;

include_spip('inc/presentation');
include_spip('inc/config');

function configuration_reducteur_dist()
{
	global $spip_lang_left, $spip_lang_right;
	$image_process = _request('image_process');

		// application du choix de vignette
	if ($image_process) {
			// mettre a jour les formats graphiques lisibles
		switch ($image_process) {
				case 'gd1':
				case 'gd2':
					$formats_graphiques = $GLOBALS['meta']['gd_formats_read'];
					break;
				case 'netpbm':
					$formats_graphiques = $GLOBALS['meta']['netpbm_formats'];
					break;
				case 'convert':
				case 'imagick':
					$formats_graphiques = 'gif,jpg,png';
					break;
				default: #debug
					$formats_graphiques = '';
					$image_process = 'non';
					break;
			}
		ecrire_meta('formats_graphiques', $formats_graphiques,'non');
		ecrire_meta('image_process', $image_process,'non');
	} else 	$formats_graphiques = $GLOBALS['meta']["formats_graphiques"];

	$nb_process = 0;
	$res = '';

	// Tester les formats
	if ( /* GD disponible ? */
	function_exists('ImageGif')
	OR function_exists('ImageJpeg')
	OR function_exists('ImagePng')
	) {
		$res .= afficher_choix_vignette($p = 'gd1');
		if (function_exists("ImageCreateTrueColor")) {
			$res .= afficher_choix_vignette($p = 'gd2');
		}
	}

	if (_PNMSCALE_COMMAND!='') {
		$res .= afficher_choix_vignette($p = 'netpbm');
	}

	if (function_exists('imagick_readimage')) {
		$res .=afficher_choix_vignette('imagick');
	}

	if (_CONVERT_COMMAND!='') {
		$res .= afficher_choix_vignette($p = 'convert');
	}

		
	$test_out = "";
	if ($GLOBALS['meta']['image_process']=='gd1' OR $GLOBALS['meta']['image_process']=='gd2') {
		effacer_meta('max_taille_vignettes');
		$test_out .= "<p>"._T('info_taille_maximale_images')."</p>";
		$time = time();
		$url = generer_url_action("tester_taille", "arg=3000&time=$time");
		$test_out .= "<iframe style='border:0;height:3em;overflow:hidden;' src='$url'></iframe>";
		$test_out .= "<br style='clear:both;' />";
	}
	else {
		effacer_meta('max_taille_vignettes');
	}

	return ajax_action_greffe("configurer-reducteur", '', 
	  debut_cadre_trait_couleur("image-24.gif", true, "", _T("info_image_process_titre"))
	. debut_cadre_relief("", true)
	.  "<p class='verdana2'>"
	. _T('info_image_process')
	. "</p>"
	. $res
	. "<div class='nettoyeur'></div>"
	. "<p class='verdana2'>"
	. _T('info_image_process2')
	. "</p>"
	. $test_out
	. fin_cadre_relief(true)
	. (!$formats_graphiques ? '' : format_choisi())
	. fin_cadre_trait_couleur(true)
	);
}

function format_choisi()
{
	global $spip_lang_left, $spip_lang_right;
	
	$creer_preview = $GLOBALS['meta']["creer_preview"];
	$taille_preview = $GLOBALS['meta']["taille_preview"];
	if ($taille_preview < 10) $taille_preview = 120;

	$res .= "<p class='verdana2'>";
	$res .= _T('info_ajout_image');
	$res .= "</p>\n";
	$res .= "<div class='verdana2'>";
	$res .= bouton_radio("creer_preview", "oui", _T('item_choix_generation_miniature'), $creer_preview == "oui", "changeVisible(this.checked, 'config-preview', 'block', 'none');");
	$res .= '</div>';

	if ($creer_preview == "oui") $style = "block;"; else $style = "none;";

	$res .= "<div id='config-preview' class='verdana2' style='display: $style margin-$spip_lang_left: 40px;'>"
	  . "<label for='taille_preview'>"
	  ._T('info_taille_maximale_vignette')
	  . "</label>"
	  . "<br /><input type='text' name='taille_preview' id='taille_preview' value='$taille_preview' size='5' />";
	$res .= " "._T('info_pixels');
	
	$res .= '<br /><br />';
	$res .= "</div>";
	$res .= bouton_radio("creer_preview", "non", _T('item_choix_non_generation_miniature'), $creer_preview != "oui", "changeVisible(this.checked, 'config-preview', 'none', 'block');");

	return 
	  debut_cadre_relief("", true, "", _T('info_generation_miniatures_images'))
	.  ajax_action_post('configurer', 'reducteur', 'config_fonctions', '', $res)
	. fin_cadre_relief(true);
}

// http://doc.spip.org/@afficher_choix_vignette
function afficher_choix_vignette($process) {

	//global $taille_preview;
	$taille_preview = 120;

	// Ici on va tester les capacites de GD independamment des tests realises
	// dans les images spip_image -- qui servent neanmoins pour la qualite
	/* if (function_exists('imageformats')) {
		
	} */


	$class = '';
	if ($process == $GLOBALS['meta']['image_process']) {
	  $class = " selected";
	} 
	return "\n<div class='vignette_reducteur$class'"
	. "><a href='"
	. generer_url_ecrire("config_fonctions", "image_process=$process")
	. "'><img src='"
	. generer_url_action("tester", "arg=$process&time=".time())
	. "' alt='$process' /></a><span>$process</span></div>\n";

}

?>