Changeset 87092 in spip-zone


Ignore:
Timestamp:
Jan 12, 2015, 11:20:42 PM (5 years ago)
Author:
kent1@…
Message:

Bien vérifier le logo avant de le mettre en ligne

Version 3.5.9

Location:
_plugins_/inscription/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/inscription/trunk/formulaires/inscription_logo.html

    r87091 r87092  
    11<BOUCLE_auteur(AUTEURS){id_auteur}{tout}>
    2 <li class="editer_logo">
    3         <label for="logo"><:inscription3:label_logo_auteur:></label>
    4         <input type="file" name="logo" id="logo_auteur" />
     2<li class="editer editer_logo[ (#ENV**{erreurs}|table_valeur{logo}|oui)erreur]">
     3        <label for="logo"><:inscription3:label_logo_auteur:></label>[
     4        <span class='erreur_message'>(#ENV**{erreurs}|table_valeur{logo})</span>
     5        ]<input type="file" name="logo" id="logo_auteur" />
    56        [(#LOGO_AUTEUR|oui)
    67        <div class="choix">
  • _plugins_/inscription/trunk/inscription3_pipelines.php

    r87091 r87092  
    303303 * Insertion dans le pipeline formulaire_verifier (SPIP)
    304304 *
    305  * Vérifie des valeurs spécifiques dans le formulaire d'inscription
     305 * Vérifie des valeurs spécifiques dans le formulaire d'inscription et d'édition d'auteur (pour le logo)
    306306 *
    307307 * @pipeline formulaire_verifier
     
    335335                }
    336336        }
     337
    337338        if (in_array($flux['args']['form'],array('editer_auteur','inscription'))){
    338339                /**
     
    347348                if($erreurs['message_erreur'] == NULL)
    348349                        unset($erreurs['message_erreur']);
     350               
     351                /**
     352                 * Vérifier le logo
     353                 */
     354                if(isset($_FILES['logo']) && ($_FILES['logo']['error'] == 0)){
     355                        $f =_DIR_LOGOS . $arg . '.tmp';
     356                        include_spip('inc/documents');
     357                        if ($erreur = check_upload_error($source['error'],"",f))
     358                                $erreurs['logo'] = $erreur;
     359                        else
     360                                $source = deplacer_fichier_upload($_FILES['logo']['tmp_name'], $f);
     361                       
     362                        if ($source AND $f) {
     363                                global $formats_logos;
     364                                $size = @getimagesize($f);
     365                                $type = !$size ? '': ($size[2] > 3 ? '' : $formats_logos[$size[2]-1]);
     366                                if ($type) {
     367                                        $poids = filesize($f);
     368       
     369                                        if (_LOGO_MAX_SIZE > 0
     370                                        AND $poids > _LOGO_MAX_SIZE*1024) {
     371                                                spip_unlink ($f);
     372                                                $erreur = _T('info_logo_max_poids',
     373                                                                                        array('maxi' => taille_en_octets(_LOGO_MAX_SIZE*1024),
     374                                                                                        'actuel' => taille_en_octets($poids)));
     375                                        }
     376               
     377                                        elseif (_LOGO_MAX_WIDTH * _LOGO_MAX_HEIGHT
     378                                        AND ($size[0] > _LOGO_MAX_WIDTH
     379                                        OR $size[1] > _LOGO_MAX_HEIGHT)) {
     380                                                spip_unlink ($f);
     381                                                $erreur = _T('info_logo_max_poids',
     382                                                                                        array(
     383                                                                                        'maxi' =>
     384                                                                                                _T('info_largeur_vignette',
     385                                                                                                        array('largeur_vignette' => _LOGO_MAX_WIDTH,
     386                                                                                                        'hauteur_vignette' => _LOGO_MAX_HEIGHT)),
     387                                                                                        'actuel' =>
     388                                                                                                _T('info_largeur_vignette',
     389                                                                                                        array('largeur_vignette' => $size[0],
     390                                                                                                        'hauteur_vignette' => $size[1]))
     391                                                                                        ));
     392                                        }
     393                                        spip_unlink ($f);
     394                                }
     395                                else {
     396                                        spip_unlink ($f);
     397                                        $erreur = _T('info_logo_format_interdit',
     398                                                                                        array('formats' => join(', ', $formats_logos)));
     399                                }
     400                        }
     401
     402                        if ($erreur){
     403                                $erreurs['logo'] = $erreur;
     404                        }
     405                }
     406
    349407                /**
    350408                 * Vérification des champs obligatoires
     
    713771                                // ajouter le nouveau
    714772                                include_spip('action/iconifier');
    715                                 spip_log(type_du_logo('id_auteur').'on'.$user['id_auteur'],'test_logo.'._LOG_ERREUR);
    716773                                action_spip_image_ajouter_dist(
    717774                                        type_du_logo('id_auteur').'on'.$user['id_auteur'], false, false
  • _plugins_/inscription/trunk/paquet.xml

    r86289 r87092  
    22        prefix="inscription3"
    33        categorie="auteur"
    4         version="3.5.8"
     4        version="3.5.9"
    55        etat="test"
    66        compatibilite="[3.0.0;3.0.*]"
Note: See TracChangeset for help on using the changeset viewer.