diff --git a/ecrire/inc/lien.php b/ecrire/inc/lien.php index 43b24a18c09d433657eb9677d62e94e560d49c60..28a77a5487c03ca2433656933d2b3c429ea16bf6 100644 --- a/ecrire/inc/lien.php +++ b/ecrire/inc/lien.php @@ -340,6 +340,9 @@ define('_RACCOURCI_MODELE_DEBUT', '@^' . _RACCOURCI_MODELE .'@is'); // http://doc.spip.org/@traiter_modeles function traiter_modeles($texte, $doublons=false, $echap='', $connect='') { + // preserver la compatibilite : true = recherche des documents + if ($doublons===true) + $doublons = array('documents'=>array('doc','emb','img')); // detecter les modeles (rapide) if (preg_match_all('/<[a-z_-]{3,}\s*[0-9|]+/iS', $texte, $matches, PREG_SET_ORDER)) { @@ -400,8 +403,11 @@ function traiter_modeles($texte, $doublons=false, $echap='', $connect='') { } // hack pour tout l'espace prive - if (((!_DIR_RESTREINT) OR ($doublons)) AND ($id) AND (in_array($type,array('doc','emb','img')))) - $GLOBALS['doublons_documents_inclus'][] = $id; + if (((!_DIR_RESTREINT) OR ($doublons)) AND ($id)){ + foreach($doublons?$doublons:array('documents'=>array('doc','emb','img')) as $quoi=>$modeles) + if (in_array($type,$modeles)) + $GLOBALS["doublons_{$quoi}_inclus"][] = $id; + } } } diff --git a/ecrire/inc/modifier.php b/ecrire/inc/modifier.php index 3c2c66841d2bea04283c1014137ce35b64ed6e18..80c8ac1b336ccdd8cc5881264f0c37c297f6b34a 100644 --- a/ecrire/inc/modifier.php +++ b/ecrire/inc/modifier.php @@ -164,7 +164,10 @@ function modifier_contenu($type, $id, $options, $c=false, $serveur='') { // http://doc.spip.org/@marquer_doublons_documents function marquer_doublons_documents($champs,$id,$type,$id_table_objet,$table_objet,$spip_table_objet, $desc=array(), $serveur=''){ if (!isset($champs['texte']) AND !isset($champs['chapo'])) return; - if (!$desc) $desc = $trouver_table($table_objet, $serveur); + if (!$desc){ + $trouver_table = charger_fonction('trouver_table', 'base'); + $desc = $trouver_table($table_objet, $serveur); + } $load = ""; // charger le champ manquant en cas de modif partielle de l'objet