Ignore:
Timestamp:
Feb 4, 2011, 10:52:01 PM (9 years ago)
Author:
cedric@…
Message:

report de r44136
prevoir que l'on peut rattacher un document a un autre. C'est une pre-figuration de la reorganisation des documents.
Dans spip_documents_liens id_document designe toujours l'enfant (dependant de) et (id_objet,objet) le parent.
Donc ici un document annexe (sous-titrage, licence, ..) est designe par id_document, et (id_objet,objet='document') pointe vers le document maitre.
Des variantes du mode 'vignette' sont donc a prevoir, pour les documents annexes

File:
1 copied

Legend:

Unmodified
Added
Removed
  • _core_/plugins/medias/action/supprimer_tous_orphelins.php

    r44149 r44157  
    11<?php
     2
     3/***************************************************************************\
     4 *  SPIP, Systeme de publication pour l'internet                           *
     5 *                                                                         *
     6 *  Copyright (c) 2001-2011                                                *
     7 *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
     8 *                                                                         *
     9 *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
     10 *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
     11\***************************************************************************/
    212
    313if (!defined("_ECRIRE_INC_VERSION")) return;
     
    1020        $arg = $securiser_action();
    1121
    12         list($media,$distant,$statut,$sanstitre) = explode('/',$arg); //on récupère le contexte pour ne supprimer les orphelins que de ce dernier
     22        //on recupere le contexte pour ne supprimer les orphelins que de ce dernier
     23        list($media,$distant,$statut,$sanstitre) = explode('/',$arg);
    1324       
     25        //critere sur le media
    1426        if($media) {
    15                 $select = sql_get_select("extension","spip_types_documents as nnnn","media='$media'");
    16                 $where[] = "spip_documents.extension IN ($select)";     //critere sur le media
     27                $select = sql_get_select("extension","spip_types_documents as nnnn","media=".sql_quote($media));
     28                $where[] = "spip_documents.extension IN ($select)";
    1729        }
     30
     31        //critere sur le distant
    1832        if($distant)
    19                 $where[] = "distant=$distant"; //critere sur le distant
     33                $where[] = "distant=".sql_quote($distant);
     34
     35        //critere sur le statut
    2036        if($statut)
    21                 $where[] = "statut REGEXP '($statut)'"; //critere sur le statut
     37                $where[] = "statut REGEXP ".sql_quote("($statut)");
     38
     39        //critere sur le sanstitre
    2240        if($sanstitre)
    23                 $where[] = "titre=''"; //critere sur le sanstitre
    24                
    25                 $select = sql_get_select("DISTINCT id_document","spip_documents_liens as oooo");
    26                 $cond = "spip_documents.id_document NOT IN ($select)"; //on isole les orphelins
    27                 $where[] = $cond;
     41                $where[] = "titre=''";
     42
     43        //on isole les orphelins
     44        $select = sql_get_select("DISTINCT id_document","spip_documents_liens as oooo");
     45        $cond = "spip_documents.id_document NOT IN ($select)";
     46        $where[] = $cond;
    2847
    2948        $ids_doc_orphelins = sql_select( "id_document", "spip_documents", $where );
Note: See TracChangeset for help on using the changeset viewer.