Changeset 7915 in spip-zone


Ignore:
Timestamp:
Dec 13, 2006, 4:50:47 PM (12 years ago)
Author:
cedric@…
Message:

eviter l'erreur mysql sur la verif des admin restreints en 1.9.1

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/_stable_/forms/forms_et_tables_1_9_1/inc/autoriser_compat.php

    r7914 r7915  
    2525        }
    2626}
    27 
     27function auth_rubrique_compat($id_auteur, $statut)
     28{
     29        if ($statut != '0minirezo') return $statut;
     30
     31        $result = spip_query("SELECT id_rubrique FROM spip_auteurs_rubriques WHERE id_auteur=$id_auteur AND id_rubrique!='0'");
     32
     33        if (!spip_num_rows($result)) {
     34                $GLOBALS['connect_toutes_rubriques'] = true;
     35                return 0;
     36        }
     37
     38        $rubriques = array();
     39        for (;;) {
     40                $r = array();
     41                while ($row = spip_fetch_array($result)) {
     42                        $id_rubrique = $row['id_rubrique'];
     43                        $r[]= $rubriques[$id_rubrique] = $id_rubrique;
     44                }
     45                if (!$r) return $rubriques;
     46                $r = join(',', $r);
     47
     48                $result = spip_query("SELECT id_rubrique FROM spip_rubriques WHERE id_parent IN ($r) AND id_rubrique NOT IN ($r)");
     49        }
     50}
    2851
    2952// API pour une fonction generique d'autorisation :
     
    4972                        "SELECT * FROM spip_auteurs WHERE id_auteur=".$qui));
    5073                } else {
    51                         if (!is_array($GLOBALS['auteur_session'])){
    52                                 $var_auth = charger_fonction('auth', 'inc');
    53                                 $var_auth = $var_auth();
    54                         }
    5574                        $qui = $GLOBALS['auteur_session'];
    5675                }
     
    6584                if (!isset($restreint[$qui['id_auteur']])) {
    6685                        include_spip('inc/auth'); # pour auth_rubrique
    67                         $restreint[$qui['id_auteur']] = auth_rubrique($qui['id_auteur'], $qui['statut']);
     86                        $restreint[$qui['id_auteur']] = auth_rubrique_compat($qui['id_auteur'], $qui['statut']);
    6887                }
    6988                $qui['restreint'] = $restreint[$qui['id_auteur']];
Note: See TracChangeset for help on using the changeset viewer.