You are here

function modr8_db_rewrite_sql in modr8 7

Same name and namespace in other branches
  1. 5 modr8.module \modr8_db_rewrite_sql()
  2. 6 modr8.module \modr8_db_rewrite_sql()

Implements hook_db_rewrite_sql().

File

./modr8.module, line 263
Easy dedicated content moderation

Code

function modr8_db_rewrite_sql($query, $primary_table, $primary_field, $args) {
  $node_table = $primary_table;
  switch ($primary_field) {
    case 'nid':

      // this query deals with node objects
      $access = user_access('administer nodes') || user_access('moderate content');
      if (!$access && $query) {
        global $user;
        $return = array();
        if ($primary_table != 'n') {
          $return['join'] = "LEFT JOIN {node} modr_n ON {$primary_table}.nid = modr_n.nid";
          $node_table = 'modr_n';
        }
        if ($user->uid == 0) {
          $return['where'] = "({$node_table}.moderate != 1)";
        }
        else {
          $return['where'] = "({$node_table}.moderate != 1 OR {$node_table}.uid = " . (int) $user->uid . ")";
        }
        return $return;
      }
      break;
  }
}