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

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

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

revision 1.5, Mon Jun 23 16:46:36 2008 UTC revision 1.6, Tue Jul 1 07:47:43 2008 UTC
# Line 1  Line 1 
1  <?php  <?php
2  // $Id: stormtask.module,v 1.4 2008/06/18 15:25:24 robertogerola Exp $  // $Id: stormtask.module,v 1.5 2008/06/23 16:46:36 robertogerola Exp $
3    
4  /**  /**
5   * @file   * @file
# Line 209  function stormtask_form(&$node) { Line 209  function stormtask_form(&$node) {
209      '#weight' => -50,      '#weight' => -50,
210    );    );
211    
212    $s = "SELECT n.nid, n.title FROM {stormorganization} sor INNER JOIN {node} n ON sor.nid=n.nid WHERE n.status=1 AND n.type='stormorganization' ORDER BY n.title";    $s = "SELECT n.nid, n.title FROM {node} AS n INNER JOIN {stormorganization} AS sor ON sor.vid=n.vid WHERE n.status=1 AND n.type='stormorganization' ORDER BY n.title";
213      $s = db_rewrite_sql($s);
214    $r = db_query(stormorganization_access_sql($s));    $r = db_query(stormorganization_access_sql($s));
215    $organizations = array();    $organizations = array();
216    while ($organization = db_fetch_object($r)) {    while ($organization = db_fetch_object($r)) {
# Line 225  function stormtask_form(&$node) { Line 226  function stormtask_form(&$node) {
226      '#attributes' => array('onchange' => "stormtask_organization_project_tasks(this, 'edit-project-nid', 'edit-parent-nid', true, '-')"),      '#attributes' => array('onchange' => "stormtask_organization_project_tasks(this, 'edit-project-nid', 'edit-parent-nid', true, '-')"),
227    );    );
228    
229    $s = "SELECT n.nid, n.title FROM {stormproject} spr INNER JOIN {node} n ON spr.nid=n.nid    $s = "SELECT n.nid, n.title FROM {node} AS n INNER JOIN {stormproject} AS spr ON spr.vid=n.vid
230    WHERE n.status=1 AND spr.organization_nid=%d AND n.type='stormproject' ORDER BY n.title";    WHERE n.status=1 AND spr.organization_nid=%d AND n.type='stormproject' ORDER BY n.title";
231      $s = db_rewrite_sql($s);
232    $r = db_query(stormproject_access_sql($s), $node->organization_nid);    $r = db_query(stormproject_access_sql($s), $node->organization_nid);
233    $projects = array();    $projects = array();
234    while ($project = db_fetch_object($r)) {    while ($project = db_fetch_object($r)) {
# Line 313  function stormtask_form(&$node) { Line 315  function stormtask_form(&$node) {
315  }  }
316    
317  function stormtask_insert($node) {  function stormtask_insert($node) {
318    $s = "SELECT n.title, p.organization_title    _stormtask_beforesave($node);
       FROM {node} n INNER JOIN {stormproject} p ON n.nid=p.nid  
       WHERE type='stormproject' AND n.nid=%d";  
   $r = db_query($s, $node->project_nid);  
   $p = db_fetch_object($r);  
   
319    db_query("INSERT INTO {stormtask}    db_query("INSERT INTO {stormtask}
320            (vid, nid, stepno, taskstatus,            (vid, nid, stepno, taskstatus,
321            organization_nid, organization_title,            organization_nid, organization_title,
# Line 328  function stormtask_insert($node) { Line 325  function stormtask_insert($node) {
325            %d, '%s',            %d, '%s',
326            %d, '%s', %d, %d)",            %d, '%s', %d, %d)",
327            $node->vid, $node->nid, $node->stepno, $node->taskstatus,            $node->vid, $node->nid, $node->stepno, $node->taskstatus,
328            $node->organization_nid, $p->organization_title, $node->project_nid, $p->title,            $node->organization_nid, $node->organization_title, $node->project_nid, $node->project_title,
329            $node->parent_nid, $node->weight);            $node->parent_nid, $node->weight);
330  }  }
331    
# Line 338  function stormtask_update($node) { Line 335  function stormtask_update($node) {
335      stormtask_insert($node);      stormtask_insert($node);
336    }    }
337    else {    else {
338      $s = "SELECT n.title, p.organization_title      _stormtask_beforesave($node);
       FROM {node} n INNER JOIN {stormproject} p ON n.nid=p.nid  
       WHERE n.type='stormproject' AND n.nid=%d";  
     $r = db_query($s, $node->project_nid);  
     $p = db_fetch_object($r);  
   
339      db_query("UPDATE {stormtask} SET      db_query("UPDATE {stormtask} SET
340        stepno='%s', taskstatus='%s',        stepno='%s', taskstatus='%s',
341        organization_nid=%d, organization_title='%s',        organization_nid=%d, organization_title='%s',
342        project_nid=%d, project_title='%s',        project_nid=%d, project_title='%s',
343        parent_nid=%d, weight=%d WHERE vid = %d",        parent_nid=%d, weight=%d WHERE vid = %d",
344        $node->stepno, $node->taskstatus,        $node->stepno, $node->taskstatus,
345        $node->organization_nid, $p->organization_title,        $node->organization_nid, $node->organization_title,
346        $node->project_nid, $p->title,        $node->project_nid, $node->project_title,
347        $node->parent_nid,        $node->parent_nid,
348        $node->weight, $node->vid);        $node->weight, $node->vid);
349      if (($node->title != $node->title_old) || ($node->stepno != $node->stepno_old)) {      if (($node->title != $node->title_old) || ($node->stepno != $node->stepno_old)) {
# Line 360  function stormtask_update($node) { Line 352  function stormtask_update($node) {
352    }    }
353  }  }
354    
355    function _stormtask_beforesave(&$node) {
356      $s = "SELECT n.title
357            FROM {node} n INNER JOIN {stormorganization} o ON n.nid=o.nid
358            WHERE type='stormorganization' AND n.nid=%d";
359      $r = db_query($s, $node->organization_nid);
360      $o = db_fetch_object($r);
361      $node->organization_title = $o->title;
362    
363      $s = "SELECT n.title, p.organization_title
364            FROM {node} n INNER JOIN {stormproject} p ON n.nid=p.nid
365            WHERE type='stormproject' AND n.nid=%d";
366      $r = db_query($s, $node->project_nid);
367      $p = db_fetch_object($r);
368      $node->project_title = $p->title;
369    }
370    
371  function stormtask_delete($node) {  function stormtask_delete($node) {
372    // Notice that we're matching all revision, by using the node's nid.    // Notice that we're matching all revision, by using the node's nid.
373    db_query('DELETE FROM {stormtask} WHERE nid = %d', $node->nid);    db_query('DELETE FROM {stormtask} WHERE nid = %d', $node->nid);
# Line 407  function _stormtask_get_tree($project_ni Line 415  function _stormtask_get_tree($project_ni
415    if (!isset($children[$project_nid])) {    if (!isset($children[$project_nid])) {
416      $children[$project_nid] = array();      $children[$project_nid] = array();
417    
418      $s = "SELECT n.nid, n.title, sta.stepno, sta.parent_nid FROM {stormtask} sta      $s = "SELECT n.nid, n.title, sta.stepno, sta.parent_nid FROM {node} AS n INNER JOIN {stormtask} AS sta
419      INNER JOIN {node} n ON n.nid=sta.nid WHERE n.status=1 AND n.type='stormtask' AND sta.project_nid=%d      ON n.vid=sta.vid WHERE n.status=1 AND n.type='stormtask' AND sta.project_nid=%d
420      ORDER BY sta.weight";      ORDER BY sta.weight";
421        $s = db_rewrite_sql($s);
422      $r = db_query(stormtask_access_sql($s, $where), $project_nid);      $r = db_query(stormtask_access_sql($s, $where), $project_nid);
423      while ($task = db_fetch_object($r)) {      while ($task = db_fetch_object($r)) {
424        $children[$project_nid][$task->parent_nid][] = $task->nid;        $children[$project_nid][$task->parent_nid][] = $task->nid;

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

  ViewVC Help
Powered by ViewVC 1.1.2