Valider b4ea52c2 rédigé par marcimat's avatar marcimat
Parcourir les fichiers

On ajoute des CSS, du JS pour traiter les champs imput de type file ayant la classe .bigup

parent d74bde45
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+40 −0
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -11,6 +11,46 @@

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

/**
 * Charger des scripts jquery
 *
 * @pipeline jquery_plugins
 * @param array $scripts Liste à charger
 * @return array Liste complétée
**/
function bigup_jquery_plugins($scripts) {
	if (test_espace_prive() or lire_config('bigup/charger_public', false)) {
		$scripts[] = 'lib/flow/flow.js';
		$scripts[] = 'javascript/bigup.js';
	}
	return $scripts;
}

/**
 * Charger des styles CSS
 *
 * @pipeline insert_head_css
 * @param string $flux Code html des styles CSS à charger
 * @return string Code html complété
**/
function bigup_insert_head_css($flux) {
	if (test_espace_prive() or lire_config('bigup/charger_public', false)) {
		 $flux .= '<link rel="stylesheet" href="'.find_in_path('css/bigup.css').'" type="text/css" media="screen" />';
	}
	return $flux;
}

/**
 * Charger des styles CSS dans l'espace privé
 *
 * @pipeline insert_head_css
 * @param string $flux Code html des styles CSS à charger
 * @return string Code html complété
**/
function bigup_header_prive($flux) {
	$flux .= '<link rel="stylesheet" href="'.find_in_path('css/bigup.css').'" type="text/css" media="screen" />';
	return $flux;
}

/**
 * Si des fichiers d'upload sont déclarés, gérer la mécanique de déclaration et stockage

css/bigup.css

0 → 100644
+45 −0
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff

.dropfile {
	border: 2px dashed #f1f1f1;
	border-radius: 5px;
	line-height: 34px;
	padding: 15px;
	background:rgba(255,255,255,.95);
}
.dropfileor {
	font-weight:bold;
}

.dropfile .btn {
	-moz-user-select: none;
	border: 1px solid transparent;
	border-radius: 4px;
	cursor: pointer;
	display: inline-block;
	font-size: 14px;
	font-weight: normal;
	line-height: 1.42857;
	margin-bottom: 0;
	padding: 6px 12px;
	text-align: center;
	vertical-align: middle;
	white-space: nowrap;
}
.dropfile .btn:hover,
.dropfile .btn:focus {
	color: #333;
	text-decoration: none;
}

.dropfile .btn-default {
	background-color: #fff;
	border-color: #ccc;
	color: #333;
}
.dropfile .btn-default:hover,
.dropfile .btn-default:focus,
.dropfile .btn-default:active {
	background-color: #ebebeb;
	border-color: #adadad;
	color: #333;
}

javascript/bigup.js

0 → 100644
+49 −0
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
(function($){
$(document).ready(function(){
	// trouver les input qui envoient des fichiers
	$bigup = $(".formulaire_spip form input[type=file].bigup");
	$bigup.each(function() {
		// trouver les paramètres ciblant le formulaire
		var name = $(this).attr('name');
		var token = $(this).data('token');
		var $form = $(this).parents('form');
		var target = $form.attr('action');
		var formulaire_action = $form.find('input[name=formulaire_action]').val();
		var formulaire_action_args = $form.find('input[name=formulaire_action_args]').val();

		// La librairie d'upload
		var flow = new Flow({
			target: target, 
			query: {
				token: token,
				formulaire_action: formulaire_action,
				formulaire_action_args: formulaire_action_args
			}
		});

		// Si l'upload html5 n'est pas supporté,
		// on laisse la gestion au formulaire… comme au bon vieux temps
		if (!flow.support) {
			return false;
		}

		$(this).hide();
		var $zone = $form.find(".dropfile_" + name).show();

		flow.assignBrowse($zone.find('.btn.televerser'));
		flow.assignDrop($zone);

		flow.on('fileAdded', function(file, event){
			console.log(file, event);
		});
		flow.on('fileSuccess', function(file, message){
			console.log(file, message);
		});
		flow.on('fileError', function(file, message){
			console.log(file, message);
		});

		return true;
	});
});
})(jQuery);
+10 −1
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -13,6 +13,15 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
	'cfg_exemple_explication' => 'Explication de cet exemple',
	'cfg_titre_parametrages' => 'Paramétrages',

	// D
	'deposer_vos_fichiers_ici' => 'Déposer vos fichiers ici',
	'deposer_votre_fichier_ici' => 'Déposer votre fichier ici',

	// O
	'ou' => 'ou', 

	// T
	'televerser' => 'Téléverser',
	'titre_page_configurer_bigup' => 'Configurer Big Upload',

);
+5 −1
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -19,6 +19,10 @@
	<licence>GNU/GPL</licence>

	<pipeline nom="autoriser"  inclure="bigup_autorisations.php" />
	<pipeline nom="header_prive" inclure="bigup_pipelines.php" />
	<pipeline nom="insert_head_css" inclure="bigup_pipelines.php" />
	<pipeline nom="jquery_plugins" inclure="bigup_pipelines.php" />
	<pipeline nom="formulaire_charger" inclure="bigup_pipelines.php" />
	<pipeline nom="formulaire_declarer_fichiers" action="" />

</paquet>