/[drupal]/contributions/modules/na_arbitrator/forum_access.module
ViewVC logotype

Diff of /contributions/modules/na_arbitrator/forum_access.module

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.6, Sat Apr 8 23:51:34 2006 UTC revision 1.7, Sun Apr 9 06:08:32 2006 UTC
# Line 1  Line 1 
1  <?php  <?php
2  // $Id: forum_access.module,v 1.5 2006/04/08 23:49:57 merlinofchaos Exp $  // $Id: forum_access.module,v 1.6 2006/04/08 23:51:34 merlinofchaos Exp $
3    
4  /**  /**
5   * @file forum_access.module   * @file forum_access.module
# Line 182  function forum_access_forum_form($form_i Line 182  function forum_access_forum_form($form_i
182    }    }
183    // Find our moderator ACL:    // Find our moderator ACL:
184    
185    $acl_id = db_result(db_query("SELECT acl_id from {acl} WHERE module = 'forum_access' && name = %d", $form['tid']['#value']));    if ($form['tid']['#value']) {
186    if (!$acl_id) { // create one      $acl_id = db_result(db_query("SELECT acl_id from {acl} WHERE module = 'forum_access' && name = %d", $form['tid']['#value']));
187      $acl_id = acl_create_new_acl('forum_access', $form['tid']['#value']);      if (!$acl_id) { // create one
188      // update every existing node in this forum to use this acl.        $acl_id = acl_create_new_acl('forum_access', $form['tid']['#value']);
189      $result = db_query("SELECT nid FROM {term_node} WHERE tid = %d", $form['tid']['#value']);        // update every existing node in this forum to use this acl.
190      while ($node = db_fetch_object($result)) {        $result = db_query("SELECT nid FROM {term_node} WHERE tid = %d", $form['tid']['#value']);
191        // all privs to this ACL.        while ($node = db_fetch_object($result)) {
192        acl_node_add_acl($node->nid, $acl_id, 1, 1, 1);          // all privs to this ACL.
193            acl_node_add_acl($node->nid, $acl_id, 1, 1, 1);
194          }
195      }      }
196        $form['forum_access']['acl'] = acl_edit_form($acl_id, 'Moderators');
197        // Move some stuff down so our block goes in a nice place.
198    }    }
   $form['forum_access']['acl'] = acl_edit_form($acl_id, 'Moderators');  
   // Move some stuff down so our block goes in a nice place.  
199    $form['submit']['#weight'] = 10;    $form['submit']['#weight'] = 10;
200    $form['delete']['#weight'] = 10;    $form['delete']['#weight'] = 10;
201    
# Line 203  function forum_access_forum_form($form_i Line 205  function forum_access_forum_form($form_i
205  function forum_access_form_submit($form_id, $form_values) {  function forum_access_form_submit($form_id, $form_values) {
206    db_query("DELETE FROM {forum_access} WHERE tid = %d", $form_values['tid']);    db_query("DELETE FROM {forum_access} WHERE tid = %d", $form_values['tid']);
207    $access = $form_values['forum_access']; // shortcut    $access = $form_values['forum_access']; // shortcut
208    acl_save_form($access['acl']);    if (array_key_exists($access['acl'])) {
209        acl_save_form($access['acl']);
210      }
211    foreach($access['view'] as $rid => $checked) {    foreach($access['view'] as $rid => $checked) {
212      $grants[] = array(      $grants[] = array(
213        'realm' => 'forum_access',        'realm' => 'forum_access',

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.7

  ViewVC Help
Powered by ViewVC 1.1.2