| 1 |
<?php |
<?php |
| 2 |
// $Id: stormtask.module,v 1.6.4.6 2008/07/23 14:27:03 robertogerola Exp $ |
// $Id: stormtask.module,v 1.6.4.7 2008/07/23 19:37:50 robertogerola Exp $ |
| 3 |
|
|
| 4 |
/** |
/** |
| 5 |
* @file |
* @file |
| 118 |
return storm_rewrite_sql($sql, $where); |
return storm_rewrite_sql($sql, $where); |
| 119 |
} |
} |
| 120 |
|
|
| 121 |
function stormtask_storm_rewrite_where_sql($query, $primary_table ='n', $account = NULL) { |
function stormtask_storm_rewrite_where_sql($query, $primary_table, $account) { |
| 122 |
static $conds = array(); |
static $conds = array(); |
| 123 |
|
|
|
if (!$account) { |
|
|
global $user; |
|
|
$account = $user; |
|
|
} |
|
|
|
|
| 124 |
if ($conds[$account->uid]) { |
if ($conds[$account->uid]) { |
| 125 |
return $conds[$account->uid]; |
return $conds[$account->uid]; |
| 126 |
} |
} |
| 135 |
|
|
| 136 |
$cond = ''; |
$cond = ''; |
| 137 |
if (user_access('Storm task: view own', $account)) { |
if (user_access('Storm task: view own', $account)) { |
| 138 |
$cond .= "${primary_table}.uid=". $account->uid; |
$cond .= " ${primary_table}.uid=". $account->uid; |
| 139 |
} |
} |
| 140 |
if (user_access('Storm task: view of user organization', $account)) { |
if (user_access('Storm task: view of user organization', $account)) { |
| 141 |
if ($cond) $cond .= ' OR '; |
if ($cond) $cond .= ' OR '; |
| 142 |
$cond .= 'sta1.organization_nid='. $account->stormorganization_nid; |
$cond .= ' sta1.organization_nid='. $account->stormorganization_nid; |
| 143 |
} |
} |
| 144 |
if ($cond) { |
if ($cond) { |
| 145 |
$cond = "WHEN 'stormtask' THEN (SELECT IF($cond,1,0) FROM {stormtask} sta1 WHERE sta1.vid=${primary_table}.vid) "; |
$cond = " WHEN 'stormtask' THEN (SELECT IF($cond,1,0) FROM {stormtask} sta1 WHERE sta1.vid=${primary_table}.vid) "; |
| 146 |
} |
} |
| 147 |
else { |
else { |
| 148 |
$cond = "WHEN 'stormtask' THEN 0 "; |
$cond = " WHEN 'stormtask' THEN 0 "; |
| 149 |
} |
} |
| 150 |
} |
} |
| 151 |
|
|
| 417 |
} |
} |
| 418 |
|
|
| 419 |
function _stormtask_beforesave(&$node) { |
function _stormtask_beforesave(&$node) { |
| 420 |
$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 |
|
| 421 |
WHERE type='stormorganization' AND n.nid=%d"; |
WHERE type='stormorganization' AND n.nid=%d"; |
| 422 |
$r = db_query($s, $node->organization_nid); |
$r = db_query($s, $node->organization_nid); |
| 423 |
$o = db_fetch_object($r); |
$o = db_fetch_object($r); |
| 424 |
$node->organization_title = $o->title; |
$node->organization_title = $o->title; |
| 425 |
|
|
| 426 |
$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 |
|
| 427 |
WHERE type='stormproject' AND n.nid=%d"; |
WHERE type='stormproject' AND n.nid=%d"; |
| 428 |
$r = db_query($s, $node->project_nid); |
$r = db_query($s, $node->project_nid); |
| 429 |
$p = db_fetch_object($r); |
$p = db_fetch_object($r); |