/[drupal]/contributions/modules/storm/stormticket/stormticket.module
ViewVC logotype

Diff of /contributions/modules/storm/stormticket/stormticket.module

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

revision 1.5.4.7, Wed Jul 23 19:37:50 2008 UTC revision 1.5.4.8, Fri Aug 1 08:15:11 2008 UTC
# Line 1  Line 1 
1  <?php  <?php
2  // $Id: stormticket.module,v 1.5.4.6 2008/07/23 14:27:03 robertogerola Exp $  // $Id: stormticket.module,v 1.5.4.7 2008/07/23 19:37:50 robertogerola Exp $
3    
4  /**  /**
5   * @file   * @file
# Line 119  function stormticket_access_sql($sql, $w Line 119  function stormticket_access_sql($sql, $w
119    return storm_rewrite_sql($sql, $where);    return storm_rewrite_sql($sql, $where);
120  }  }
121    
122  function stormticket_storm_rewrite_where_sql($query, $primary_table = 'n', $account = NULL) {  function stormticket_storm_rewrite_where_sql($query, $primary_table, $account) {
123    static $conds = array();    static $conds = array();
124    
   if (!$account) {  
     global $user;  
     $account = $user;  
   }  
   
125    if ($conds[$account->uid]) {    if ($conds[$account->uid]) {
126      return $conds[$account->uid];      return $conds[$account->uid];
127    }    }
# Line 141  function stormticket_storm_rewrite_where Line 136  function stormticket_storm_rewrite_where
136    
137      $cond = '';      $cond = '';
138      if (user_access('Storm ticket: view own', $account)) {      if (user_access('Storm ticket: view own', $account)) {
139        $cond .= "${primary_table}.uid=". $account->uid;        $cond .= " ${primary_table}.uid=". $account->uid;
140      }      }
141      if (user_access('Storm ticket: view of user organization', $account)) {      if (user_access('Storm ticket: view of user organization', $account)) {
142        if ($cond) $cond .= ' OR ';        if ($cond) $cond .= ' OR ';
143        $cond .= 'sti1.organization_nid='. $account->stormorganization_nid;        $cond .= ' sti1.organization_nid='. $account->stormorganization_nid;
144      }      }
145      if ($cond) {      if ($cond) {
146        $cond = "WHEN 'stormticket' THEN (SELECT IF($cond,1,0) FROM {stormticket} sti1 WHERE sti1.vid=${primary_table}.vid) ";        $cond = " WHEN 'stormticket' THEN (SELECT IF($cond,1,0) FROM {stormticket} sti1 WHERE sti1.vid=${primary_table}.vid) ";
147      }      }
148      else {      else {
149        $cond = "WHEN 'stormticket' THEN 0 ";        $cond = " WHEN 'stormticket' THEN 0 ";
150      }      }
151    }    }
152    
# Line 410  function stormticket_update($node) { Line 405  function stormticket_update($node) {
405  }  }
406    
407  function _stormticket_beforesave(&$node) {  function _stormticket_beforesave(&$node) {
408    $s = "SELECT n.title    $s = "SELECT n.title FROM {node} n INNER JOIN {stormorganization} o ON n.nid=o.nid
         FROM {node} n INNER JOIN {stormorganization} o ON n.nid=o.nid  
409          WHERE type='stormorganization' AND n.nid=%d";          WHERE type='stormorganization' AND n.nid=%d";
410    $r = db_query($s, $node->organization_nid);    $r = db_query($s, $node->organization_nid);
411    $o = db_fetch_object($r);    $o = db_fetch_object($r);
412    $node->organization_title = $o->title;    $node->organization_title = $o->title;
413    
414    $s = "SELECT n.title, p.organization_title    $s = "SELECT n.title, p.organization_title FROM {node} n INNER JOIN {stormproject} p ON n.nid=p.nid
         FROM {node} n INNER JOIN {stormproject} p ON n.nid=p.nid  
415          WHERE type='stormproject' AND n.nid=%d";          WHERE type='stormproject' AND n.nid=%d";
416    $r = db_query($s, $node->project_nid);    $r = db_query($s, $node->project_nid);
417    $p = db_fetch_object($r);    $p = db_fetch_object($r);
# Line 471  function stormticket_listblock($output=F Line 464  function stormticket_listblock($output=F
464    $rstatus_list = array_flip($status_list);    $rstatus_list = array_flip($status_list);
465    $ticketstatus = $rstatus_list['open'];    $ticketstatus = $rstatus_list['open'];
466    
467    $s  = "SELECT n.nid, n.title, n.uid, n.changed, sti.project_title, sti.project_nid, sti.task_title, sti.task_nid, sti.ticketcategory, sti.ticketstatus FROM    $s  = "SELECT n.nid, n.title, n.uid, n.changed, sti.project_title, sti.project_nid, sti.task_title,
468    {node} AS n INNER JOIN {stormticket} AS sti ON n.vid=sti.vid WHERE n.status=1 AND n.type='stormticket'";    sti.task_nid, sti.ticketcategory, sti.ticketstatus FROM {node} AS n INNER JOIN {stormticket} AS sti
469      ON n.vid=sti.vid WHERE n.status=1 AND n.type='stormticket'";
470    $v = str_replace(',', "','", $ticketstatus);    $v = str_replace(',', "','", $ticketstatus);
471    $where[] = "sti.ticketstatus IN ('". $v ."')";    $where[] = "sti.ticketstatus IN ('". $v ."')";
472    $s = stormticket_access_sql($s, $where);    $s = stormticket_access_sql($s, $where);

Legend:
Removed from v.1.5.4.7  
changed lines
  Added in v.1.5.4.8

  ViewVC Help
Powered by ViewVC 1.1.2