Ignore:
Timestamp:
Oct 24, 2016, 10:25:56 PM (5 years ago)
Author:
teddy.spip@…
Message:
  • Retour du traitement des balises <encart> et <marge> dans le texte ;
  • Intégration de la liste des articles auxquels l'encart est lié dans sa fiche au lieu de la zone d'extra ;
  • On a maintenant une liaison plus classique des encarts, à la méthode de SPIP. On verra au retour des utilisateurs si on garde cette affichage ou pas.
  • Grosse mise à niveau, donc, up de y.
Location:
_plugins_/encarts/trunk/inc
Files:
1 edited
1 copied

Legend:

Unmodified
Added
Removed
  • _plugins_/encarts/trunk/inc/marquer_doublons_encart.php

    r44078 r100136  
    1111$GLOBALS['encarts_liste_champs'][] = 'texte';
    1212$GLOBALS['encarts_liste_champs'][] = 'chapo';
    13  
    1413
    15 function inc_marquer_doublons_encart_dist($champs,$id,$type,$id_table_objet,$table_objet,$spip_table_objet, $desc=array(), $serveur=''){
    16         $champs_selection=array();
    17                 foreach ($GLOBALS['encarts_liste_champs'] as $champs_choisis) {
    18                         if ( isset($champs[$champs_choisis]) )
    19                         array_push($champs_selection,$champs_choisis);
     14
     15function inc_marquer_doublons_encart_dist($champs, $id, $type, $id_table_objet, $table_objet, $spip_table_objet, $desc = array(), $serveur = '') {
     16        include_spip('inc/utils');
     17        include_spip('inc/lien');
     18        include_spip('base/abstract_sql');
     19        $champs_selection = array();
     20        $champs_a_traiter = '';
     21        foreach ($GLOBALS['encarts_liste_champs'] as $champs_choisis) {
     22                if (isset($champs[$champs_choisis])) {
     23                        array_push($champs_selection, $champs_choisis);
    2024                }
    21         if (count($champs_selection) == 0)
     25        }
     26        if (count($champs_selection) == 0) {
    2227                return;
    23         if (!$desc){
     28        }
     29        if (!$desc) {
    2430                $trouver_table = charger_fonction('trouver_table', 'base');
    2531                $desc = $trouver_table($table_objet, $serveur);
     
    2834        // charger le champ manquant en cas de modif partielle de l     'objet
    2935        // seulement si le champ existe dans la table demande
    30        
    31                 foreach ($champs_selection as $champs_a_parcourir) {
    32                         if (isset($desc['field'][$champs_a_parcourir])) {
     36
     37        foreach ($champs_selection as $champs_a_parcourir) {
     38                if (isset($desc['field'][$champs_a_parcourir])) {
    3339                        $load = $champs_a_parcourir;
    3440                        $champs_a_traiter .= $champs[$champs_a_parcourir];
    35                         }
    36                 }       
     41                }
     42        }
    3743
    38         if ($load){
     44        if ($load) {
    3945                $champs[$load] = "";
    40                 $row = sql_fetsel($load, $spip_table_objet, "$id_table_objet=".sql_quote($id));
    41                 if ($row AND isset($row[$load]))
     46                $row = sql_fetsel($load, $spip_table_objet, "$id_table_objet=" . sql_quote($id));
     47                if ($row AND isset($row[$load])) {
    4248                        $champs[$load] = $row[$load];
     49                }
    4350        }
    44         include_spip('inc/texte');
    45         include_spip('base/abstract_sql');
    4651        $GLOBALS['doublons_encarts_inclus'] = array();
    47         traiter_modeles($champs_a_traiter, array('encarts'=>array('encart'))); // detecter les doublons
    48         sql_updateq("spip_encarts_liens", array("vu" => 'non'), "id_objet=$id AND objet=".sql_quote($type));
    49         if (count($GLOBALS['doublons_encarts_inclus'])){
     52        traiter_modeles($champs_a_traiter, array('encarts' => array('encart'))); // detecter les doublons
     53        sql_updateq("spip_encarts_liens", array("vu" => 'non'), "id_objet=$id AND objet=" . sql_quote($type));
     54        if (count($GLOBALS['doublons_encarts_inclus'])) {
    5055                // on repasse par une requete sur spip_encarts pour verifier que les encarts existent bien !
    5156                $in_liste = sql_in('id_encart',
     
    5459                while ($row = sql_fetch($res)) {
    5560                        // Creer le lien s'il n'existe pas deja
    56                         sql_insertq("spip_encarts_liens", array('id_objet'=>$id, 'objet'=>$type, 'id_encart' => $row['id_encart'], 'vu' => 'oui'));
    57                         sql_updateq("spip_encarts_liens", array("vu" => 'oui'), "id_objet=$id AND objet=".sql_quote($type)." AND id_encart=" . $row['id_encart']);
     61                        sql_insertq("spip_encarts_liens", array(
     62                                'id_objet' => $id,
     63                                'objet' => $type,
     64                                'id_encart' => $row['id_encart'],
     65                                'vu' => 'oui'
     66                        ));
     67                        sql_updateq("spip_encarts_liens", array("vu" => 'oui'), "id_objet=$id AND objet=" . sql_quote($type) . " AND id_encart=" . $row['id_encart']);
    5868                }
    5969        }
    6070}
    6171
    62 ?>
Note: See TracChangeset for help on using the changeset viewer.