Skip to content
Extraits de code Groupes Projets
Valider 86ec6d3b rédigé par cerdic's avatar cerdic
Parcourir les fichiers

un charger_fonction manquant, et une generalisation autour de...

un charger_fonction manquant, et une generalisation autour de marquer_doublons_documents et traiter_modeles :
la fonction traiter_modeles permet de reperer d'autres types d'objets que les documents
avec la syntaxe
traiter_modeles($champs['chapo'].$champs['texte'],array('des_trucs'=>array('truc','machin')))
qui remplira la 
$GLOBALS['doublons_des_trucs_inclus'] pour tous les modeles <trucXX> ou <machinYY> presents dans le texte ou le chapo

aucun impact sur les appels existants avec le $doublons=true qui repere par defaut les documents
parent 41a35196
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -340,6 +340,9 @@ define('_RACCOURCI_MODELE_DEBUT', '@^' . _RACCOURCI_MODELE .'@is'); ...@@ -340,6 +340,9 @@ define('_RACCOURCI_MODELE_DEBUT', '@^' . _RACCOURCI_MODELE .'@is');
// http://doc.spip.org/@traiter_modeles // http://doc.spip.org/@traiter_modeles
function traiter_modeles($texte, $doublons=false, $echap='', $connect='') { 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) // detecter les modeles (rapide)
if (preg_match_all('/<[a-z_-]{3,}\s*[0-9|]+/iS', if (preg_match_all('/<[a-z_-]{3,}\s*[0-9|]+/iS',
$texte, $matches, PREG_SET_ORDER)) { $texte, $matches, PREG_SET_ORDER)) {
...@@ -400,8 +403,11 @@ function traiter_modeles($texte, $doublons=false, $echap='', $connect='') { ...@@ -400,8 +403,11 @@ function traiter_modeles($texte, $doublons=false, $echap='', $connect='') {
} }
// hack pour tout l'espace prive // hack pour tout l'espace prive
if (((!_DIR_RESTREINT) OR ($doublons)) AND ($id) AND (in_array($type,array('doc','emb','img')))) if (((!_DIR_RESTREINT) OR ($doublons)) AND ($id)){
$GLOBALS['doublons_documents_inclus'][] = $id; foreach($doublons?$doublons:array('documents'=>array('doc','emb','img')) as $quoi=>$modeles)
if (in_array($type,$modeles))
$GLOBALS["doublons_{$quoi}_inclus"][] = $id;
}
} }
} }
......
...@@ -164,7 +164,10 @@ function modifier_contenu($type, $id, $options, $c=false, $serveur='') { ...@@ -164,7 +164,10 @@ function modifier_contenu($type, $id, $options, $c=false, $serveur='') {
// http://doc.spip.org/@marquer_doublons_documents // 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=''){ 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 (!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 = ""; $load = "";
// charger le champ manquant en cas de modif partielle de l'objet // charger le champ manquant en cas de modif partielle de l'objet
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter