Changeset 56930 in spip-zone


Ignore:
Timestamp:
Jan 11, 2012, 10:15:50 PM (8 years ago)
Author:
marcimat@…
Message:

Améliorer la fonction de restriction des rubriques recursives lorsqu'on crée une nouvelle rubrique : chercher l'id_parent dans l'url pour savoir si on met ou non les champs dedans. (dagoba)

Location:
_plugins_/champs_extras/core/branches/v1
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/champs_extras/core/branches/v1/inc/cextras_autoriser.php

    r44742 r56930  
    149149function _restreindre_extras_objet_sur_cible($objet, $id_objet, $opt, $ids, $_id_cible) {
    150150
    151     $id_cible = $opt['contexte'][$_id_cible];
     151    $id_cible = intval($opt['contexte'][$_id_cible]);
    152152
    153153    if (!$id_cible) {
     
    200200 * @return bool : autorise ou non .
    201201 */
     202 /*
    202203function inc_restreindre_extras_objet_sur_rubrique_dist($objet, $id_objet, $opt, $ids, $recursif) {
    203204
     
    218219                 
    219220    return false;
    220 }
    221 
     221}*/
     222
     223function inc_restreindre_extras_objet_sur_rubrique_dist($objet, $id_objet, $opt, $ids, $recursif) {
     224        list($id_rubrique, $ok) = _restreindre_extras_objet_sur_cible($objet, $id_objet, $opt, $ids, 'id_rubrique');
     225        if ($ok) {
     226                return true;
     227        }
     228
     229        if (!$recursif) {
     230                return false;
     231        }
     232
     233
     234        // tester si un parent proche existe lorsqu'on ne connait pas la rubrique.
     235        if (!$id_rubrique AND $id_rubrique = _request('id_parent')) {
     236                if (in_array($id_rubrique, $ids)) {
     237                        return true;
     238                }
     239        }
     240
     241        // on teste si l'objet est dans une sous rubrique de celles mentionnee...
     242        if ($id_rubrique) {
     243                $id_parent = $id_rubrique;
     244                while ($id_parent = sql_getfetsel("id_parent", "spip_rubriques", "id_rubrique=" . sql_quote($id_parent))) {
     245                        if (in_array($id_parent, $ids)) {
     246                                return true;
     247                        }
     248                }
     249        }
     250                 
     251    return false;
     252}
    222253
    223254
  • _plugins_/champs_extras/core/branches/v1/plugin.xml

    r52513 r56930  
    44        <auteur>Matthieu Marcillaud, Fil</auteur>
    55        <licence>GNU/GPL</licence>
    6         <version>1.10.0</version>
     6        <version>1.10.1</version>
    77        <icon>images/cextras-64.png</icon>
    88        <description>
Note: See TracChangeset for help on using the changeset viewer.