Annonce

Écrire une réponse

Veuillez écrire votre message et l'envoyer

Cliquez dans la zone sombre de l'image pour envoyer votre message.

Retour

Résumé de la discussion (messages les plus récents en premier)

Zaphod
2009-02-18 16:57:37

OK, moi je n'ai que des virtuelles, donc je ne vais pas essayer de trop trifouiller ça... vu que je ne maitrise pas les modifs, je vais m'en tenir au comportement de base ;)

flop25
2009-02-18 16:32:24

Zaphod a écrit:

Avant de tester la modif, une petite question : cet héritage ne se fait bien que sur les nouvelles catégories ?

non sur toutes les sous catégories

mais moi n'ayant que des catégories réelles je ne sais pas si ça marche pas les virtuelles

sinon ça m'arrangerait que d'autres te répondes parce que je suis très pris

Zaphod
2009-02-18 00:55:13

Je remonte ce topic...

Je ne suis pas bien sur de l'endroit où rajouter ce code...
J'ai essayé plusieurs endroits, mais jamais mes nouvelles catégories virtuelles n'héritent des droits.

Zaphod
2009-02-08 12:03:31

Avant de tester la modif, une petite question : cet héritage ne se fait bien que sur les nouvelles catégories ?

Si dans une catégorie, j'ai une sous-catégorie avec des droits plus restrictif, ça ne va jamais venir modifier ça ?

flop25
2007-07-26 19:33:03

ben comme j'ai résolu le problème ^^

d'ailleurs se serait cool qu'un dev corrige ça (bug 352)

Nicco
2007-07-26 18:56:12

dis on est a fond sur les droits hérités ici


;o)

flop25
2007-07-26 10:48:34

Je suis désolé mais c'est la vérité ! J'ai vu les sujets et ce qu'on faisait dans l'année était plus difficile que ça ! (rien qu'à voir la physique-chimie) Attention moi je parle des S (comme supérieur ^^), les autres j'en sais rien

Victor
2007-07-26 10:45:51

flop25 a écrit:

franchement : l'année dernière oui il était donné (cpe ..)
Mais cette année, il était à la fois dur, facile, et original !

Un grand merci pour ta remarque de la part des bacheliers 2006 :p

rub
2007-07-26 10:33:38

flop25 a écrit:

franchement : l'année dernière oui il était donné (cpe ..)

8-)

flop25
2007-07-26 10:27:34

franchement : l'année dernière oui il était donné (cpe ..)
Mais cette année, il était à la fois dur, facile, et original !

rub
2007-07-26 10:24:10

flop25 a écrit:

hé attend : mention bien à plus de 15 de moyenne tu t'adresses pas à n'importe qui ! héhé :D

Ouais, mais aujourd'hui le bac est donné comparé à celui qu'on a passé à l'époque? mdr!
Je plaisante...

flop25
2007-07-26 10:16:13

hé attend : mention bien à plus de 15 de moyenne tu t'adresses pas à n'importe qui ! héhé :D

VDigital
2007-07-26 10:12:01

Bien... (Ça aide d'avoir le Bac.)

8-)

flop25
2007-07-26 10:05:02

Houahou ! ça marche !!! j'ai testé en local !!

j'ai donc mis :

/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
  $query = '
SELECT id
  FROM '.CATEGORIES_TABLE.'
  WHERE id IN ('.implode(',', get_subcat_ids(array($page['cat']))).')
  AND status = \'private\'
;';
  $private_uppercats = array_from_query($query, 'id');

  // We must not reinsert already existing lines in group_access table
  $granteds = array();
  foreach ($private_uppercats as $cat_id)
  {
    $granteds[$cat_id] = array();
  }
 
  $query = '
SELECT group_id, cat_id
  FROM '.GROUP_ACCESS_TABLE.'
  WHERE cat_id IN ('.implode(',', $private_uppercats).')
    AND group_id IN ('.implode(',', $_POST['grant_groups']).')
;';
  $result = pwg_query($query);
  while ($row = mysql_fetch_array($result))
  {
    array_push($granteds[$row['cat_id']], $row['group_id']);
  }

  $inserts = array();
 
  foreach ($private_uppercats as $cat_id)
  {
    $group_ids = array_diff($_POST['grant_groups'], $granteds[$cat_id]);
    foreach ($group_ids as $group_id)
    {
      array_push($inserts, array('group_id' => $group_id,
                                 'cat_id' => $cat_id));
    }
  }

  mass_inserts(GROUP_ACCESS_TABLE, array('group_id','cat_id'), $inserts);

/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////


après le code précédent ! génial !! Je rajoute une note dans le bug 352

flop25
2007-07-25 14:15:41

je reviens dessus !

Dans admin/cat_perm.php

il y a ceci :

else if (isset($_POST['grant_groups_submit'])
         and isset($_POST['grant_groups'])
         and count($_POST['grant_groups']) > 0)
{
  $query = '
SELECT id
  FROM '.CATEGORIES_TABLE.'
  WHERE id IN ('.implode(',', get_uppercat_ids(array($page['cat']))).')
  AND status = \'private\'
;';
  $private_uppercats = array_from_query($query, 'id');

  // We must not reinsert already existing lines in group_access table
  $granteds = array();
  foreach ($private_uppercats as $cat_id)
  {
    $granteds[$cat_id] = array();
  }
 
  $query = '
SELECT group_id, cat_id
  FROM '.GROUP_ACCESS_TABLE.'
  WHERE cat_id IN ('.implode(',', $private_uppercats).')
    AND group_id IN ('.implode(',', $_POST['grant_groups']).')
;';
  $result = pwg_query($query);
  while ($row = mysql_fetch_array($result))
  {
    array_push($granteds[$row['cat_id']], $row['group_id']);
  }

  $inserts = array();
 
  foreach ($private_uppercats as $cat_id)
  {
    $group_ids = array_diff($_POST['grant_groups'], $granteds[$cat_id]);
    foreach ($group_ids as $group_id)
    {
      array_push($inserts, array('group_id' => $group_id,
                                 'cat_id' => $cat_id));
    }
  }

  mass_inserts(GROUP_ACCESS_TABLE, array('group_id','cat_id'), $inserts);
}

elle est censée ajouter des droits par groupe : c'est cela ?

Donc on pourrait faire la même chose mais en remplaçant "get_uppercat_ids" par "get_subcat_ids" : comme ça les droits se transmettent "vers le bas" J'ai juste ? [çà m'a l'air trop simple]

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact