[ Index ]

Source Code Reference for V1.00

title

Body

[close]

/modules/projects/ -> viewgantt.php (source)

   1  <?php /* $Id: viewgantt.php 115 2008-03-21 17:20:33Z pedroix $ $URL: https://web2project.svn.sourceforge.net/svnroot/web2project/trunk/modules/projects/viewgantt.php $ */
   2  if (!defined('W2P_BASE_DIR')) {
   3      die('You should not access this file directly.');
   4  }
   5  
   6  global $AppUI, $company_id, $dept_ids, $department, $min_view, $m, $a, $user_id, $tab, $cal_sdf;
   7  $AppUI->loadCalendarJS();
   8  
   9  $min_view = defVal($min_view, false);
  10  $project_id = defVal(w2PgetParam($_GET, 'project_id', null), 0);
  11  $user_id = defVal(w2PgetParam($_GET, 'user_id', null), $AppUI->user_id);
  12  // sdate and edate passed as unix time stamps

  13  $sdate = w2PgetParam($_POST, 'project_start_date', 0);
  14  $edate = w2PgetParam($_POST, 'project_end_date', 0);
  15  $showInactive = w2PgetParam($_POST, 'showInactive', '0');
  16  $showLabels = w2PgetParam($_POST, 'showLabels', '0');
  17  $sortTasksByName = w2PgetParam($_POST, 'sortTasksByName', '0');
  18  $showAllGantt = w2PgetParam($_POST, 'showAllGantt', '0');
  19  $showTaskGantt = w2PgetParam($_POST, 'showTaskGantt', '0');
  20  $addPwOiD = w2PgetParam($_POST, 'add_pwoid', isset($addPwOiD) ? $addPwOiD : 0);
  21  
  22  //if set GantChart includes user labels as captions of every GantBar

  23  if ($showLabels != '0') {
  24      $showLabels = '1';
  25  }
  26  if ($showInactive != '0') {
  27      $showInactive = '1';
  28  }
  29  
  30  if ($showAllGantt != '0') {
  31      $showAllGantt = '1';
  32  }
  33  
  34  $projectStatus = w2PgetSysVal('ProjectStatus');
  35  
  36  if (isset($_POST['proFilter'])) {
  37      $AppUI->setState('ProjectIdxFilter', $_POST['proFilter']);
  38  }
  39  $proFilter = $AppUI->getState('ProjectIdxFilter') !== null ? $AppUI->getState('ProjectIdxFilter') : '-1';
  40  
  41  $projFilter = arrayMerge(array('-1' => 'All Projects'), $projectStatus);
  42  if ($AppUI->user_id == $user_id) {
  43      $projFilter = arrayMerge(array('-3' => 'My projects'), $projFilter);
  44  } else {
  45      $projFilter = arrayMerge(array('-3' => 'User\'s projects'), $projFilter);
  46  }
  47  
  48  natsort($projFilter);
  49  
  50  // months to scroll

  51  $scroll_date = 1;
  52  
  53  $display_option = w2PgetParam($_POST, 'display_option', 'this_month');
  54  
  55  // format dates

  56  $df = $AppUI->getPref('SHDATEFORMAT');
  57  
  58  if ($display_option == 'custom') {
  59      // custom dates

  60      $start_date = intval($sdate) ? new CDate($sdate) : new CDate();
  61      $end_date = intval($edate) ? new CDate($edate) : new CDate();
  62  } else {
  63      // month

  64      $start_date = new CDate();
  65      $start_date->day = 1;
  66      $end_date = new CDate($start_date);
  67      $end_date->addMonths($scroll_date);
  68  }
  69  
  70  // setup the title block

  71  if (!$min_view) {
  72      $titleBlock = new CTitleBlock('Gantt Chart', 'applet-48.png', $m, $m . '.' . $a);
  73      $titleBlock->addCrumb('?m=' . $m, 'projects list');
  74      $titleBlock->show();
  75  }
  76  
  77  ?>
  78  
  79  <script language="javascript">
  80  function setDate( frm_name, f_date ) {
  81      fld_date = eval( 'document.' + frm_name + '.' + f_date );
  82      fld_real_date = eval( 'document.' + frm_name + '.' + 'project_' + f_date );
  83      if (fld_date.value.length>0) {
  84        if ((parseDate(fld_date.value))==null) {
  85              alert('The Date/Time you typed does not match your prefered format, please retype.');
  86              fld_real_date.value = '';
  87              fld_date.style.backgroundColor = 'red';
  88          } else {
  89              fld_real_date.value = formatDate(parseDate(fld_date.value), 'yyyyMMdd');
  90              fld_date.value = formatDate(parseDate(fld_date.value), '<?php echo $cal_sdf ?>');
  91              fld_date.style.backgroundColor = '';
  92            }
  93      } else {
  94            fld_real_date.value = '';
  95      }
  96  }
  97  
  98  function scrollPrev() {
  99      f = document.editFrm;
 100  <?php
 101  $new_start = new CDate($start_date);
 102  $new_start->day = 1;
 103  $new_end = new CDate($end_date);
 104  $new_start->addMonths(-$scroll_date);
 105  $new_end->addMonths(-$scroll_date);
 106  
 107  echo "f.project_start_date.value='" . $new_start->format(FMT_TIMESTAMP_DATE) . "';";
 108  echo "f.project_end_date.value='" . $new_end->format(FMT_TIMESTAMP_DATE) . "';";
 109  ?>
 110      document.editFrm.display_option.value = 'custom';
 111      f.submit()
 112  }
 113  
 114  function scrollNext() {
 115      f = document.editFrm;
 116  <?php
 117  $new_start = new CDate($start_date);
 118  $new_start->day = 1;
 119  $new_end = new CDate($end_date);
 120  $new_start->addMonths($scroll_date);
 121  $new_end->addMonths($scroll_date);
 122  echo "f.project_start_date.value='" . $new_start->format(FMT_TIMESTAMP_DATE) . "';";
 123  echo "f.project_end_date.value='" . $new_end->format(FMT_TIMESTAMP_DATE) . "';";
 124  ?>
 125      document.editFrm.display_option.value = 'custom';
 126      f.submit()
 127  }
 128  
 129  function showThisMonth() {
 130      document.editFrm.display_option.value = 'this_month';
 131      document.editFrm.submit();
 132  }
 133  
 134  function showFullProject() {
 135      document.editFrm.display_option.value = 'all';
 136      document.editFrm.submit();
 137  }
 138  
 139  </script>
 140  <table class="tbl" width="100%" border="0" cellpadding="4" cellspacing="0">
 141  <tr>
 142          <td>
 143                  <table border="0" cellpadding="4" cellspacing="0" class="tbl">
 144                  <form name="editFrm" method="post" action="?<?php echo 'm=' . $m . '&a=' . $a . (isset($user_id) ? '&user_id=' . $user_id : '') . '&tab=' . $tab; ?>">
 145                  <input type="hidden" name="display_option" value="<?php echo $display_option; ?>" />
 146  
 147                  <tr>
 148                          <td align="left" valign="top" width="20">
 149                  <?php if ($display_option != "all") { ?>
 150                                  <a href="javascript:scrollPrev()">
 151                                          <img src="<?php echo w2PfindImage('prev.gif'); ?>" width="16" height="16" alt="<?php echo $AppUI->_('previous'); ?>" border="0">
 152                                  </a>
 153                  <?php } ?>
 154                          </td>
 155  
 156                          <td align="right" nowrap="nowrap"><?php echo $AppUI->_('From'); ?>:</td>
 157                          <td align="left" nowrap="nowrap">
 158                              <input type="hidden" name="project_start_date" id="project_start_date" value="<?php echo $start_date ? $start_date->format(FMT_TIMESTAMP_DATE) : ''; ?>" />
 159                              <input type="text" name="start_date" id="start_date" onchange="setDate('editFrm', 'start_date');" value="<?php echo $start_date ? $start_date->format($df) : ''; ?>" class="text" />
 160                              <a href="javascript: void(0);" onclick="return showCalendar('start_date', '<?php echo $df ?>', 'editFrm', null, true)">
 161                              <img src="<?php echo w2PfindImage('calendar.gif'); ?>" width="24" height="12" alt="" border="0" /></a>
 162                          </td>
 163  
 164                          <td align="right" nowrap="nowrap"><?php echo $AppUI->_('To'); ?>:</td>
 165                          <td align="left" nowrap="nowrap">
 166                              <input type="hidden" name="project_end_date" id="project_end_date" value="<?php echo $end_date ? $end_date->format(FMT_TIMESTAMP_DATE) : ''; ?>" />
 167                              <input type="text" name="end_date" id="end_date" onchange="setDate('editFrm', 'end_date');" value="<?php echo $end_date ? $end_date->format($df) : ''; ?>" class="text" />
 168                              <a href="javascript: void(0);" onclick="return showCalendar('end_date', '<?php echo $df ?>', 'editFrm', null, true)">
 169                              <img src="<?php echo w2PfindImage('calendar.gif'); ?>" width="24" height="12" alt="" border="0" /></a>
 170                          <td>
 171                                  <?php echo arraySelect($projFilter, 'proFilter', 'size="1" class="text"', $proFilter, true); ?>
 172                          </td>
 173                          <td>
 174                                  <input type="checkbox" name="showLabels" id="showLabels" value="1" <?php echo (($showLabels == 1) ? 'checked="checked"' : ""); ?> /><td><label for="showLabels"><?php echo $AppUI->_('Show captions'); ?></label></td>
 175                          </td>
 176                          <td>
 177                                  <input type="checkbox" value="1" name="showInactive" id="showInactive" <?php echo (($showInactive == 1) ? 'checked="checked"' : ""); ?> /><td><label for="showInactive"><?php echo $AppUI->_('Show Archived/Templates'); ?></label></td>
 178                          </td>
 179                          <td>
 180                                  <input type="checkbox" value="1" name="showAllGantt" id="showAllGantt" <?php echo (($showAllGantt == 1) ? 'checked="checked"' : ""); ?> /><td><label for="showAllGantt"><?php echo $AppUI->_('Show Tasks'); ?></label></td>
 181                          </td>
 182                                                  <td valign="top">
 183                                  <input type="checkbox" value="1" name="sortTasksByName" id="sortTasksByName" <?php echo (($sortTasksByName == 1) ? 'checked="checked"' : ""); ?> /><td><label for="sortTasksByName"><?php echo $AppUI->_('Sort Tasks By Name'); ?></label></td>
 184                          </td>
 185                          <td align="left">
 186                                  <input type="button" class="button" value="<?php echo $AppUI->_('submit'); ?>" onclick='document.editFrm.display_option.value="custom";submit();' />
 187                          </td>
 188  
 189                          <td align="right" valign="top" width="20">
 190                  <?php if ($display_option != 'all') { ?>
 191                          <a href="javascript:scrollNext()">
 192                                  <img src="<?php echo w2PfindImage('next.gif'); ?>" width="16" height="16" alt="<?php echo $AppUI->_('next'); ?>" border="0" />
 193                          </a>
 194                  <?php } ?>
 195                          </td>
 196                  </tr>
 197                  </form>
 198                  <tr>
 199                          <td align="center" valign="bottom" colspan="16">
 200                                  <?php echo "<a href='javascript:showThisMonth()'>" . $AppUI->_('show this month') . "</a> : <a href='javascript:showFullProject()'>" . $AppUI->_('show all') . "</a><br>"; ?>
 201                          </td>
 202                  </tr>
 203                  </table>
 204                  <table cellspacing="0" cellpadding="0" border="1" align="center" class="tbl">
 205                  <tr>
 206                          <td>
 207                  <?php
 208  $src = '?m=projects&a=gantt&suppressHeaders=1' . ($display_option == 'all' ? '' : '&start_date=' . $start_date->format('%Y-%m-%d') . '&end_date=' . $end_date->format('%Y-%m-%d')) . "&width=' + ((navigator.appName=='Netscape'?window.innerWidth:document.body.offsetWidth)*0.95) + '&showLabels=$showLabels&sortTasksByName=$sortTasksByName&proFilter=$proFilter&showInactive=$showInactive&company_id=$company_id&department=$department&dept_ids=$dept_ids&showAllGantt=$showAllGantt&user_id=$user_id&addPwOiD=$addPwOiD";
 209  echo "<script>document.write('<img src=\"$src\">')</script>";
 210  ?>
 211                          </td>
 212                  </tr>
 213                  </table>
 214          </td>
 215  </tr>
 216  </table>


Generated: Fri Jan 9 03:00:02 2009 Cross-referenced by PHPXref 0.7