Changeset 82915 in spip-zone


Ignore:
Timestamp:
Jun 9, 2014, 6:47:47 PM (7 years ago)
Author:
teddy.spip@…
Message:

On utilise la fonction native de SPIP pour retrouver le type du logo.
Préparation de la fonction avant un 'gros' remaniement pour savoir si un logo est orphelin ou pas.

Location:
_plugins_/medias_nettoyage/trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/medias_nettoyage/trunk/medias_nettoyage_fonctions.php

    r82885 r82915  
    379379 * - articles (art)
    380380 * - rubriques (rub)
    381  * - brèves (breve)
    382381 * - sites syndiqués (site)
    383  * - mot-clé (mot)
    384382 * - auteurs (aut)
    385383 *
    386  * @todo étendre à d'autres objets éditoriaux.
     384 * @uses lister_tables_principales()
     385 *       liste en spip 3 les tables principales reconnues par SPIP
     386 * @uses id_table_objet()
     387 *       retourne la clé primiare de l'objet
     388 * @uses type_du_logo()
     389 *       retourne le type de logo tel que `art` depuis le nom de la clé primaire de l'objet
    387390 *
    388391 * @param null|string $mode
     
    398401function medias_lister_logos_fichiers ($mode = null, $repertoire_img = _DIR_IMG)
    399402{
     403
     404    include_spip('inc/chercher_logo');
    400405
    401406    if (intval(spip_version()) == 2) {
     
    420425    $docs_fichiers_on   = array();
    421426    $docs_fichiers_off  = array();
     427    // Avec l'utilisation de type_du_logo(), ceci n'est plus obligatoire
     428    // mais à garder par sécurité.
    422429    $logos_objet        = array('art','rub','breve','site','mot','aut');
    423430    $fichiers           = array();
     
    426433    foreach ($tables_objets as $table) {
    427434        // On cherche son type d'objet et on l'ajoute aux logos
    428         // Il y a aussi dans ces objets la référence à 'article',
    429         // 'rubrique' et 'auteur'
    430         // On peut les laisser, ça ne mange pas de pain de prendre
    431         // en compte les "tordus" ;-)
    432         $logos_objet[] = objet_type($table);
     435        // Il y a aussi dans ces objets la référence à `article`,
     436        // `rubrique` et `auteur`
     437        // Grâce à la fonction `id_table_objet()`, on retrouve le nom de la clé primaire de l'objet.
     438        // `type_du_logo()` retourne le type de logo tel que `art` depuis le nom de la clé primaire de l'objet
     439        $logos_objet[] = type_du_logo(id_table_objet($table));
    433440    }
    434441    // On enlève les doublons
     
    463470        foreach ($fichiers as $fichier) {
    464471            // ... Donc on fait une regex plus poussée avec un preg_match
    465             if (preg_match("/(" . join("|", $logos_objet) .")on\d+.(" . join("|", $formats_logos) .")$/", $fichier)) {
     472            if (
     473                preg_match(
     474                    "/("
     475                    . join("|", $logos_objet)
     476                    .")on(\d+).("
     477                    . join("|", $formats_logos)
     478                    .")$/",
     479                    $fichier,
     480                    $resultat
     481                )
     482            ) {
    466483                $docs_fichiers_on[] = preg_replace("/\/\//", "/", $fichier);
    467484            }
    468             if (preg_match("/(" . join("|", $logos_objet) .")off\d+.(" . join("|", $formats_logos) .")$/", $fichier)) {
     485            if (
     486                preg_match(
     487                    "/("
     488                    . join("|", $logos_objet)
     489                    .")off(\d+).("
     490                    . join("|", $formats_logos)
     491                    .")$/",
     492                    $fichier
     493                )
     494            ) {
    469495                $docs_fichiers_off[] = preg_replace("/\/\//", "/", $fichier);
    470496            }
     
    507533
    508534/**
     535 * Vérifier si l'objet associé au logo passé en paramètre est toujours
     536 * enresgitré en base de données.
     537 *
     538 * @param  string $fichier
     539 *         nom du fichier de logo
     540 * @return bool
     541 *         - `true` : si l'objet est toujours en bdd ;
     542 *         - `false` : si l'objet n'est plus en bdd.
     543 */
     544function medias_verifier_logos_objet ($fichier = 'on')
     545{
     546    if ($fichier == null) {
     547        return;
     548    }
     549    $composer = charger_fonction('composer', 'public');
     550    $chercher_logo = charger_fonction('chercher_logo', 'inc');
     551}
     552
     553/**
    509554 * Fonction générique pour calculer la taille des fichiers passés en paramètre
    510555 *
     
    603648{
    604649    $test = array();
    605     $test = @unserialize($GLOBALS['meta']['medias_nettoyage']);
     650    $test = medias_lister_logos_fichiers();
    606651    return $test;
    607652}
  • _plugins_/medias_nettoyage/trunk/paquet.xml

    r82885 r82915  
    22        prefix="medias_nettoyage"
    33        categorie="outil"
    4         version="0.9.5"
     4        version="0.9.6"
    55        etat="stable"
    66        compatibilite="[2.1.0;3.0.*]"
  • _plugins_/medias_nettoyage/trunk/plugin.xml

    r82885 r82915  
    55        <icon>prive/themes/spip/images/medias_nettoyage-64.png</icon>
    66        <prefix>medias_nettoyage</prefix>
    7         <version>0.9.5</version>
     7        <version>0.9.6</version>
    88        <etat>stable</etat>
    99        <categorie>outil</categorie>
  • _plugins_/medias_nettoyage/trunk/prive/squelettes/contenu/medias_logos_img.html

    r82719 r82915  
    1010</div>
    1111
    12 <INCLURE{fond=prive/objets/liste/medias,liste=(#ENV{mode,''}|medias_lister_logos_fichiers),sinon=<:medias_nettoyage:aucun_logo:>,env,ajax} />
     12<INCLURE{fond=prive/objets/liste/medias,liste=(#ENV{mode,''}|medias_lister_logos_fichiers),logos=oui,sinon=<:medias_nettoyage:aucun_logo:>,env,ajax} />
    1313<div class="nettoyeur"></div>
Note: See TracChangeset for help on using the changeset viewer.