Moderazione dei post del forum

2 contenuti / 0 new
Ultimo contenuto
Moderazione dei post del forum

Ciao a tutti, questo e' il mio primo post in drupalitalia!
Ho cercato un po' sul sito qualche informazione riguardo al mio problema, ma non avendo trovato nulla, ecco qui la mia domanda:

Sto cercando di configurare un forum adoperando il modulo advanced_forum. Fin qui tutto bene.
Adesso vorrei inserire la capacita' di moderare il forum, con moderatori definiti con granularita' dell'utente singolo. Sono riuscito a fare questo per la moderazione di un topic (tramite forum_access o anche tramite TAC_lite), ma ho visto che la moderazione riguarda appunto il solo topic, mentre i commenti a quest'ultimo (che sono appunto i post di risposta del forum) non possono essere moderati se non concedendo i permessi di amministrazione dei commenti.

Concedere questo permesso, pero', abiliterebbe all'amministrazione dei commenti di tutto il sito.
C'e' un modo per limitare la moderazione dei commenti di un utente al solo forum di cui e' moderatore?

Grazie
ciao!

Forse riesco a rispondermi da solo... almeno in parte.
Premetto che sono all'inizio con drupal e che il php l'ho guardato ed usato marginalmente un annetto fa!

Ho dato uno sguardo al codice di forum_access ed ho visto che adopera il modulo ACL per tenere traccia dei permessi di moderazione con granularita' per utente. Il codice in questione e' abbastanza semplice:

<?php
 $acl_id
= db_result(db_query("SELECT acl_id from {acl} WHERE module = 'forum_access' AND name = '%d'", $tid));
$result = db_result(db_query("SELECT uid FROM {acl_user} WHERE acl_id = %d AND uid = %d", $acl_id, $account->uid));
?>

Dove $tid e' il tid del forum.

Se $result e' non nullo, allora il permesso di accesso al forum come moderatore e' concesso.

Il mio interesse e' estendere questa proprieta' anche ai commenti fatti ai topic. Purtroppo Drupal non permette di gestire l'accesso ai commenti cosi' come fa per l'accesso ai nodi. Sono quindi andato a vedere come questo viene realizzato nel modulo Comment. La funzione e' anche qui molto semplice:

<?php
 
function comment_access($op, $comment) {
  global
$user;
  if (
$op == 'edit') {
    return (
$user->uid && $user->uid == $comment->uid && comment_num_replies($comment->cid) == 0) || user_access('administer comments');
  }
}
?>

La mia idea sarebbe quindi quella di modificare questa funzione (brutalmente!) e di inserire il codice preso da forum_access, in modo da ottenere il permesso di 'edit' anche per gli utenti moderatori.
Il mio problema in questo caso sarebbe risalire al tid del forum partendo da un commento fatto ad un topic di tale forum: come fare? (qui salta fuori tutta la mia niubbagine).

Ad ogni modo, questo mio modo di procedere va bene? Mi fido di voci piu' esperte!!
Grazie,
Ciao!