Changeset 94578 in spip-zone for _plugins_/lim
- Timestamp:
- Jan 13, 2016, 4:46:40 PM (5 years ago)
- Location:
- _plugins_/lim/trunk
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
_plugins_/lim/trunk/formulaires/inc-choisir-rubriques.html
r93319 r94578 19 19 span.entete { font-weight: bold; } 20 20 span.center { text-align: center; } 21 span.tab.rubrique {display:inline-block; width:3 90px; font-weight:bold; }22 .sousrub span.tab.rubrique { margin-left:10px; width:3 80px; font-weight:normal; }23 .sousrub .sousrub span.tab.rubrique { margin-left:20px; width:3 70px;}24 .sousrub .sousrub .sousrub span.tab.rubrique { margin-left:30px; width:3 60px;}25 span.check {display:inline-block; width:[(#VAL{ 55}|div{#GET{nbre_col}})%]; text-align: center;}21 span.tab.rubrique {display:inline-block; width:320px; font-weight:bold; } 22 .sousrub span.tab.rubrique { margin-left:10px; width:310px; font-weight:normal; } 23 .sousrub .sousrub span.tab.rubrique { margin-left:20px; width:300px;} 24 .sousrub .sousrub .sousrub span.tab.rubrique { margin-left:30px; width:320px;} 25 span.check {display:inline-block; width:[(#VAL{62}|div{#GET{nbre_col}})%]; text-align: center;} 26 26 27 27 #SET{left,#ENV{ltr}|choixsiegal{left,left,right}} -
_plugins_/lim/trunk/inc/lim_api.php
r93320 r94578 53 53 54 54 /** 55 * si LIM est activé pour un objet et si une seule rubrique est activée, ne pas afficher le sélecteur de rubrique 56 * surcharge de inc/chercher_rubrique.php 57 * @return string 58 * Code HTML du sélecteur 59 */ 60 function inc_chercher_rubrique($id_rubrique, $type, $restreint, $idem = 0, $do = 'aff') { 61 include_spip('inc/chercher_rubrique'); 62 if (sql_countsel('spip_rubriques') < 1) { 63 return ''; 64 } 65 /* surcharge */ 66 $nbre_rubriques_total = sql_countsel('spip_rubriques'); 67 $nbre_rubriques_desactives = count(lire_config("lim_rubriques/$type")); 68 69 if ($nbre_rubriques_total - $nbre_rubriques_desactives == 1) { 70 return ''; 71 } 72 // note : du coup, plus de input name='id_parent' ! Un traitement via le pipeline "editer_contenu_objet" s'occupe de palier à ce problème. 73 /* fin surcharge */ 74 75 76 // Mode sans Ajax : 77 // - soit parce que le cookie ajax n'est pas la 78 // - soit parce qu'il y a peu de rubriques 79 if (_SPIP_AJAX < 1 80 or $type == 'breve' 81 or sql_countsel('spip_rubriques') < _SPIP_SELECT_RUBRIQUES 82 ) { 83 return selecteur_rubrique_html($id_rubrique, $type, $restreint, $idem); 84 } else { 85 return selecteur_rubrique_ajax($id_rubrique, $type, $restreint, $idem, $do); 86 } 87 88 } 89 90 /** 55 91 * Vérifier si il existe déjà des objets dans la rubrique 56 92 * on renvoi un tableau avec le type et la table_objet … … 63 99 if (sql_countsel($table, "id_rubrique=$id_rubrique") > 0) return true; 64 100 return false; 101 } 102 103 /** 104 * récupérer le tableau des rubriques dans lesquelles il est possible d'editer un objet 105 * 106 * @param string $type 107 * @return array 108 */ 109 110 function lim_publierdansrubriques($type) { 111 $tab_rubrique_objet = lire_config("lim_rubriques/$type"); 112 $res = sql_allfetsel('id_rubrique', 'spip_rubriques'); 113 foreach ($res as $key => $value) { 114 $tab_rubriques[] = $value['id_rubrique']; 115 } 116 $rubriques_choisies = array_diff($tab_rubriques,$tab_rubrique_objet); 117 return $rubriques_choisies; 65 118 } 66 119 … … 86 139 } 87 140 141 /** 142 * renvoyer le nombre de rubrique auxquelles est 143 */ 144 function lim_nombre_rubrique($objet) { 145 $value = objet_type(table_objet($key)); 146 } 147 88 148 ?> -
_plugins_/lim/trunk/lang/lim_fr.php
r91928 r94578 16 16 'cfg_titre_afficher_logos' => 'Désactiver les logos par contenu', 17 17 'cfg_titre_restriction_par_rubrique' => 'Restreindre les contenus par rubrique', 18 'cfg_select_objets' => 'sélectionner les objets', 18 19 19 20 // L -
_plugins_/lim/trunk/lim_administrations.php
r88639 r94578 42 42 effacer_meta('lim_logos'); 43 43 effacer_meta('lim_rubriques'); 44 effacer_meta('lim_objets'); 44 45 effacer_meta($nom_meta_base_version); 45 46 } -
_plugins_/lim/trunk/lim_pipelines.php
r93319 r94578 12 12 if (!defined('_ECRIRE_INC_VERSION')) return; 13 13 14 include_spip('inc/lim_api'); 14 15 15 16 /** 16 * supprime ou non le bloc en fonction de la demande17 * gestion forums public et pétitions : supprime ou non le bloc en fonction de la demande 17 18 * 18 19 * @param array $flux … … 40 41 41 42 /** 42 * vérifier si on à le droit de publier l'objet dans cette rubrique 43 * en fonction des paramètres spécifiés dans la page exec=configurer_lim_rubriques 43 * gestion des contenus par rubrique : rediriger la creation d'un objet vers la bonne rubrique si celle-ci est pris en compte par LIM 44 * ce traitement est rendu nécessaire par 45 * -> l'action de la fonction inc/lim_api.php -> inc_chercher_rubrique qui supprime l'affichage du sélecteur de rubrique si une seule rubrique 46 * -> le cas 2 (voir ci-dessous) 47 * 48 * cas 1 : le rédacteur créer une nouvelle instance de l'objet depuis la bonne rubrique : on a l'id_parent depuis le flux 49 * cas 2 : le rédacteur créer une instance depuis la barre d'outils rapides, ou via la page exec=objets. On n'a pas l'id_parent. 50 * Il faut le calculer pour enregistrer l'instance dans une rubrique gérée par LIM 51 * a/ via LIM l'objet ne peut être associé qu'à une seule rubrique. On renvoi l'id de cette rubrique 52 * b/ via LIM l'objet peut être associé à plusieurs rubriques : pas de traitement. Le sélecteur de rubrique est affiché. 53 * 54 * @param array $flux 55 * @return array $flux 56 * le flux data complété par un input hidden 'id_parent' avec la bonne valeur 57 **/ 58 function lim_formulaire_charger($flux){ 59 $form = $flux['args']['form']; 60 $type = substr($form, 7); // 'editer_objet' devient 'objet' 61 $nom_table = table_objet_sql($type); 62 $tableau_tables_lim = explode(',', lire_config('lim_objets')); 63 64 if (in_array($nom_table, $tableau_tables_lim)) { 65 //echo bel_env($flux); 66 67 $tab_rubriques_choisies = lim_publierdansrubriques($type); 68 if (count($tab_rubriques_choisies) == 1) { 69 $id_parent = $flux['data']['id_parent']; 70 if (empty($id_parent)) { 71 $id_parent = implode($tab_rubriques_choisies); 72 } 73 $flux['data']['_hidden'] .= "<input type='hidden' name='id_parent' value='$id_parent'>"; 74 } 75 } 76 return $flux; 77 } 78 79 /** 80 * gestion des contenus par rubrique : vérifier si on à le droit de publier l'objet dans cette rubrique 81 * en fonction des rubriques décochées dans la page exec=configurer_lim_rubriques 44 82 * 45 83 * @param array $flux … … 49 87 function lim_formulaire_verifier($flux){ 50 88 $form = $flux['args']['form']; 51 $nom_objet = substr($form, 7); // 'editer_objet' devient 'objet' 52 $nom_table = table_objet_sql($nom_objet); 53 $tableau_tables_lim = explode(',', lire_config('lim_objets')); 89 $type = substr($form, 7); // 'editer_objet' devient 'objet' 90 // $nom_table = table_objet_sql($type); 91 // $tableau_tables_lim = explode(',', lire_config('lim_objets')); 92 $id = 54 93 55 if (in_array($nom_table, $tableau_tables_lim)) {56 $id_objet = $flux['args']['args'][0];57 $ cle_table = id_table_objet($nom_objet);58 $quelles_rubriques = lire_config("lim_rubriques/$nom_objet");59 $id_rub = sql_getfetsel('id_rubrique', $nom_table, "$cle_table=".intval($id_objet));94 $faire = 'creer'.$type.'dans'; 95 if (!autoriser($faire, 'rubrique', _request('id_parent'))) { 96 $flux['data']['id_parent'] .= _T('info_creerdansrubrique_non_autorise'); 97 } 98 60 99 61 if (is_array($quelles_rubriques) AND in_array($id_rub,$quelles_rubriques)) { 62 // echo 'lalala<br>'; 63 // echo $nom_table.'<br>'; 64 // echo bel_env($quelles_rubriques); 100 // if (in_array($nom_table, $tableau_tables_lim)) { 101 102 // $id_rubrique = $flux['args']['args'][1]; 103 // $id_rubrique = _request('id_parent'); 104 // $tab_rubriques_choisies = lim_publierdansrubriques($type); 65 105 66 // echo $id_rub; 67 // exit(); 68 $flux['data']['id_parent'] = "Vous ne pouvez pas publier un $nom_objet à l'intérieur de cette rubrique"; 69 } 70 71 //echo bel_env($flux); 72 // echo $id_objet.'<br>'; 73 // echo $nom_objet.'<br>'; 74 // echo $nom_table.'<br>'; 75 // echo $cle_table.'<br>'; 76 // echo bel_env($quelles_rubriques); 77 // echo $id_rub; 106 // if (!in_array($id_rubrique, $tab_rubriques_choisies)) { 107 // $flux['data']['id_parent'] .= "Vous ne pouvez pas publier un $type à l'intérieur de cette rubrique"; 108 // } 109 // } 110 return $flux; 111 } 78 112 79 // is_null($quelles_rubriques) ? $lim_rub = true : $lim_rub = !in_array($id,$quelles_rubriques); 80 // exit(); 81 } 82 return $flux; 83 84 } 113 114 // function lim_editer_contenu_objet($flux){ 115 // $type = $flux['args']['type']; 116 // $nom_table = table_objet_sql($type); 117 // $tableau_tables_lim = explode(',', lire_config("lim_objets")); 118 119 // if (in_array($nom_table, $tableau_tables_lim)) { 120 // $id_parent = $flux['args']['contexte']['id_parent']; 121 // if (empty($id_parent)) { 122 // $tab_rubriques_choisies = lim_publierdansrubriques($type); 123 // if (count($tab_rubriques_choisies) == 1) { 124 // $id_parent = implode($tab_rubriques_choisies); 125 // } 126 // // le cas où plusieurs rubriques possibles : c'est le sélecteur qui gère. 127 // else return $flux; 128 // } 129 // $id_parent_hidden= "<input type='hidden' name='id_parent' value='$id_parent'>"; 130 // $flux['data'] = preg_replace('%(<input name="exec(.*?)/>)%is', '$1'."\n".$id_parent_hidden, $flux['data']); 131 // } 132 // return $flux; 133 // } 85 134 ?> -
_plugins_/lim/trunk/paquet.xml
r93320 r94578 2 2 prefix="lim" 3 3 categorie="maintenance" 4 version="1.1. 1"4 version="1.1.3" 5 5 etat="stable" 6 6 compatibilite="[3.0.0;3.1.*]" … … 24 24 <pipeline nom="autoriser" inclure="lim_autorisations.php" /> 25 25 <pipeline nom="afficher_config_objet" inclure="lim_pipelines.php" /> 26 <pipeline nom="formulaire_charger" inclure="lim_pipelines.php" /> 27 <pipeline nom="formulaire_verifier" inclure="lim_pipelines.php" /> 26 28 27 29 <onglet nom="configurer_lim" titre="lim:onglet_lim" parent="configurer_lim" icone="images/lim-24.png" />
Note: See TracChangeset
for help on using the changeset viewer.