+++ /dev/null
-<?php
-
-/***************************************************************************\
- * SPIP, Systeme de publication pour l'internet *
- * *
- * Copyright (c) 2001-2016 *
- * 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;
-
-/**
- * L'entree par l'action ne sert plus qu'a une retro compat eventuelle
- * le #FORMULAIRE_EDITER_LOGO utilise action_spip_image_ajouter_dist
- */
-function action_iconifier_dist()
-{
- include_spip('inc/actions');
- $securiser_action = charger_fonction('securiser_action', 'inc');
- $arg = $securiser_action();
- $iframe_redirect = _request('iframe_redirect');
-
- $arg = rawurldecode($arg);
-
- if (!preg_match(',^-?\d*(\D)(.*)$,',$arg, $r))
- spip_log("action iconifier: $arg pas compris");
- elseif ($r[1] == '+')
- action_spip_image_ajouter_dist($r[2], _request('sousaction2'), _request('source'));
- else action_spip_image_effacer_dist($r[2]);
-
- if(_request("iframe") == 'iframe') {
- $redirect = urldecode($iframe_redirect)."&iframe=iframe";
- redirige_par_entete(urldecode($redirect));
- }
-}
-
-// http://doc.spip.org/@action_spip_image_effacer_dist
-function action_spip_image_effacer_dist($arg) {
-
- if (!strstr($arg, ".."))
- spip_unlink(_DIR_LOGOS . $arg);
-}
-
-//
-// Ajouter un logo
-//
-
-// $source = $_FILES[0]
-// $dest = arton12.xxx
-// http://doc.spip.org/@action_spip_image_ajouter_dist
-function action_spip_image_ajouter_dist($arg,$sousaction2,$source,$return=false) {
- global $formats_logos;
-
- include_spip('inc/documents');
- if (!$sousaction2) {
- if (!$_FILES) $_FILES = $GLOBALS['HTTP_POST_FILES'];
- $source = (is_array($_FILES) ? array_pop($_FILES) : "");
- }
- $erreur = "";
- if (!$source)
- spip_log("spip_image_ajouter : source inconnue");
- else {
- $f =_DIR_LOGOS . $arg . '.tmp';
-
- if (!is_array($source))
- // fichier dans upload/
- $source = @copy(determine_upload() . $source, $f);
- else {
- // Intercepter une erreur a l'envoi
- if ($erreur = check_upload_error($source['error'],"",$return))
- $source ="";
- else
- // analyse le type de l'image (on ne fait pas confiance au nom de
- // fichier envoye par le browser : pour les Macs c'est plus sur)
-
- $source = deplacer_fichier_upload($source['tmp_name'], $f);
- }
- if (!$source)
- spip_log("pb de copie pour $f");
- }
- if ($source AND $f) {
- $size = @getimagesize($f);
- $type = !$size ? '': ($size[2] > 3 ? '' : $formats_logos[$size[2]-1]);
- if ($type) {
- $poids = filesize($f);
-
- if (_LOGO_MAX_SIZE > 0
- AND $poids > _LOGO_MAX_SIZE*1024) {
- spip_unlink ($f);
- $erreur = _T('info_logo_max_poids',
- array('maxi' => taille_en_octets(_LOGO_MAX_SIZE*1024),
- 'actuel' => taille_en_octets($poids)));
- }
-
- elseif (_LOGO_MAX_WIDTH * _LOGO_MAX_HEIGHT
- AND ($size[0] > _LOGO_MAX_WIDTH
- OR $size[1] > _LOGO_MAX_HEIGHT)) {
- spip_unlink ($f);
- $erreur = _T('info_logo_max_poids',
- array(
- 'maxi' =>
- _T('info_largeur_vignette',
- array('largeur_vignette' => _LOGO_MAX_WIDTH,
- 'hauteur_vignette' => _LOGO_MAX_HEIGHT)),
- 'actuel' =>
- _T('info_largeur_vignette',
- array('largeur_vignette' => $size[0],
- 'hauteur_vignette' => $size[1]))
- ));
- }
- else
- @rename ($f, _DIR_LOGOS . $arg . ".$type");
- }
- else {
- spip_unlink ($f);
- $erreur = _T('info_logo_format_interdit',
- array('formats' => join(', ', $formats_logos)));
- }
-
- }
- if ($erreur){
- if ($return)
- return $erreur;
- else
- check_upload_error(6,$erreur);
- }
-}
-?>