[ Index ]

Source Code Reference for V1.00

title

Body

[close]

/modules/links/ -> index_table.php (source)

   1  <?php /* $Id: index_table.php 139 2008-04-05 14:21:51Z pedroix $ $URL: https://web2project.svn.sourceforge.net/svnroot/web2project/trunk/modules/links/index_table.php $ */
   2  if (!defined('W2P_BASE_DIR')) {
   3      die('You should not access this file directly.');
   4  }
   5  global $AppUI, $deny1, $canRead, $canEdit;
   6  
   7  // modified later by Pablo Roca (proca) in 18 August 2003 - added page support

   8  // Files modules: index page re-usable sub-table

   9  $m = 'links';
  10  
  11  // ****************************************************************************

  12  // Page numbering variables

  13  // Pablo Roca (pabloroca@Xmvps.org) (Remove the X)

  14  // 19 August 2003

  15  //

  16  // $tab             - file category

  17  // $page            - actual page to show

  18  // $xpg_pagesize    - max rows per page

  19  // $xpg_min         - initial record in the SELECT LIMIT

  20  // $xpg_totalrecs   - total rows selected

  21  // $xpg_sqlrecs     - total rows from SELECT LIMIT

  22  // $xpg_total_pages - total pages

  23  // $xpg_next_page   - next pagenumber

  24  // $xpg_prev_page   - previous pagenumber

  25  // $xpg_break       - stop showing page numbered list?

  26  // $xpg_sqlcount    - SELECT for the COUNT total

  27  // $xpg_sqlquery    - SELECT for the SELECT LIMIT

  28  // $xpg_result      - pointer to results from SELECT LIMIT

  29  function shownavbar_links($xpg_totalrecs, $xpg_pagesize, $xpg_total_pages, $page) {
  30  
  31      global $AppUI, $m;
  32      $xpg_break = false;
  33      $xpg_prev_page = $xpg_next_page = 0;
  34  
  35      $s = '<table width="100%" cellspacing="0" cellpadding="0" border="0"><tr>';
  36  
  37      if ($xpg_totalrecs > $xpg_pagesize) {
  38          $xpg_prev_page = $page - 1;
  39          $xpg_next_page = $page + 1;
  40          // left buttoms

  41          if ($xpg_prev_page > 0) {
  42              $s .= '<td align="left" width="15%"><a href="./index.php?m=' . $m . 'links&amp;page=1"><img src="' . w2PfindImage('navfirst.gif') . '" border="0" Alt="First Page"></a>&nbsp;&nbsp;';
  43              $s .= '<a href="./index.php?m=' . $m . '&amp;page=' . $xpg_prev_page . '"><img src="' . w2PfindImage('navleft.gif') . '" border="0" Alt="Previous page (' . $xpg_prev_page . ')"></a></td>';
  44          } else {
  45              $s .= '<td width="15%">&nbsp;</td>';
  46          }
  47  
  48          // central text (files, total pages, ...)

  49          $s .= '<td align="center" width="70%">' . $xpg_totalrecs . ' ' . $AppUI->_('Link(s)') . ' (' . $xpg_total_pages . ' ' . $AppUI->_('Page(s)') . ')</td>';
  50  
  51          // right buttoms

  52          if ($xpg_next_page <= $xpg_total_pages) {
  53              $s .= '<td align="right" width="15%"><a href="./index.php?m=' . $m . '&amp;page=' . $xpg_next_page . '"><img src="' . w2PfindImage('navright.gif') . '" border="0" Alt="Next Page (' . $xpg_next_page . ')"></a>&nbsp;&nbsp;';
  54              $s .= '<a href="./index.php?m=' . $m . '&amp;page=' . $xpg_total_pages . '"><img src="' . w2PfindImage('navlast.gif') . '" border="0" Alt="Last Page"></a></td>';
  55          } else {
  56              $s .= '<td width="15%">&nbsp;</td></tr>';
  57          }
  58          // Page numbered list, up to 30 pages

  59          $s .= '<tr><td colspan="3" align="center"> [ ';
  60  
  61          for ($n = $page > 16 ? $page - 16 : 1; $n <= $xpg_total_pages; $n++) {
  62              if ($n == $page) {
  63                  $s .= '<b>' . $n . '</b></a>';
  64              } else {
  65                  $s .= '<a href="./index.php?m=' . $m . '&amp;page=' . $n . '">' . $n . '</a>';
  66              }
  67              if ($n >= 30 + $page - 15) {
  68                  $xpg_break = true;
  69                  break;
  70              } elseif ($n < $xpg_total_pages) {
  71                  $s .= ' | ';
  72              }
  73          }
  74  
  75          if (!isset($xpg_break)) { // are we supposed to break ?
  76              if ($n == $page) {
  77                  $s .= '<' . $n . '</a>';
  78              } else {
  79                  $s .= '<a href="./index.php?m=' . $m . '&amp;page=' . $xpg_total_pages . '">';
  80                  $s .= $n . '</a>';
  81              }
  82          }
  83          $s .= ' ] </td></tr>';
  84      } else { // or we dont have any files..
  85          $s .= '<td align="center">';
  86          if ($xpg_next_page > $xpg_total_pages) {
  87              $s .= $xpg_sqlrecs . ' ' . $m . ' ';
  88          }
  89          $s .= '</td></tr>';
  90      }
  91      $s .= '</table>';
  92      echo $s;
  93  }
  94  
  95  $tab = $AppUI->getState('LinkIdxTab') !== null ? $AppUI->getState('LinkIdxTab') : 0;
  96  $page = w2PgetParam($_GET, 'page', 1);
  97  $search = w2PgetParam($_REQUEST, 'search', '');
  98  
  99  global $project_id, $task_id, $showProject;
 100  if (!isset($project_id)) {
 101      $project_id = w2PgetParam($_REQUEST, 'project_id', 0);
 102  }
 103  if (!isset($showProject)) {
 104      $showProject = true;
 105  }
 106  
 107  $xpg_pagesize = 30;
 108  $xpg_min = $xpg_pagesize * ($page - 1); // This is where we start our record set from

 109  
 110  // load the following classes to retrieved denied records

 111  include_once ($AppUI->getModuleClass('projects'));
 112  include_once ($AppUI->getModuleClass('tasks'));
 113  
 114  $project = new CProject();
 115  $task = new CTask();
 116  
 117  $df = $AppUI->getPref('SHDATEFORMAT');
 118  $tf = $AppUI->getPref('TIMEFORMAT');
 119  
 120  $link_types = w2PgetSysVal('LinkType');
 121  if ($tab <= 0) {
 122      $catsql = '';
 123  } else {
 124      $catsql = 'link_category = ' . --$tab;
 125  }
 126  
 127  // SETUP FOR LINK LIST

 128  $q = new DBQuery();
 129  $q->addQuery('links.*');
 130  $q->addQuery('contact_first_name, contact_last_name');
 131  $q->addQuery('project_name, project_color_identifier, project_status');
 132  $q->addQuery('task_name, task_id');
 133  
 134  $q->addTable('links');
 135  
 136  $q->leftJoin('users', 'u', 'user_id = link_owner');
 137  $q->leftJoin('contacts', 'c', 'user_contact = contact_id');
 138  
 139  if (!empty($search)) {
 140      $q->addWhere('(link_name LIKE \'%' . $search . '%\' OR link_description LIKE \'%' . $search . '%\')');
 141  }
 142  if ($project_id) { // Project
 143      $q->addWhere('link_project = ' . (int)$project_id);
 144  }
 145  if ($task_id) { // Task
 146      $q->addWhere('link_task = ' . (int)$task_id);
 147  }
 148  if ($catsql) { // Category
 149      $q->addWhere($catsql);
 150  }
 151  // Permissions

 152  $project->setAllowedSQL($AppUI->user_id, $q, 'link_project');
 153  $task->setAllowedSQL($AppUI->user_id, $q, 'link_task and task_project = link_project');
 154  $q->addOrder('project_name, link_name');
 155  
 156  //LIMIT ' . $xpg_min . ', ' . $xpg_pagesize ;

 157  if ($canRead) {
 158      $links = $q->loadList();
 159  } else {
 160      $AppUI->redirect('m=public&a=access_denied');
 161  }
 162  // counts total recs from selection

 163  $xpg_totalrecs = count($links);
 164  
 165  // How many pages are we dealing with here ??

 166  $xpg_total_pages = ($xpg_totalrecs > $xpg_pagesize) ? ceil($xpg_totalrecs / $xpg_pagesize) : 0;
 167  
 168  shownavbar_links($xpg_totalrecs, $xpg_pagesize, $xpg_total_pages, $page);
 169  
 170  ?>
 171  <table width="100%" border="0" cellpadding="2" cellspacing="1" class="tbl">
 172  <tr>
 173      <th nowrap="nowrap">&nbsp;</th>
 174      <th nowrap="nowrap"><?php echo $AppUI->_('Link Name'); ?></th>
 175      <th nowrap="nowrap"><?php echo $AppUI->_('Description'); ?></th>
 176      <th nowrap="nowrap"><?php echo $AppUI->_('Category'); ?></th>
 177      <th nowrap="nowrap"><?php echo $AppUI->_('Task Name'); ?></th>
 178      <th nowrap="nowrap"><?php echo $AppUI->_('Owner'); ?></th>
 179      <th nowrap="nowrap"><?php echo $AppUI->_('Date'); ?></th>
 180  </tr>
 181  <?php
 182  $fp = -1;
 183  
 184  $id = 0;
 185  for ($i = ($page - 1) * $xpg_pagesize; $i < $page * $xpg_pagesize && $i < $xpg_totalrecs; $i++) {
 186      $row = $links[$i];
 187      $link_date = new CDate($row['link_date']);
 188  
 189      if ($fp != $row['link_project']) {
 190          if (!$row['project_name']) {
 191              $row['project_name'] = $AppUI->_('All Projects');
 192              $row['project_color_identifier'] = 'f4efe3';
 193          }
 194          if ($showProject) {
 195              $s = '<tr>';
 196              $s .= '<td colspan="10" style="background-color:#' . $row['project_color_identifier'] . '" style="border: outset 2px #eeeeee">';
 197              $s .= '<font color="' . bestColor($row['project_color_identifier']) . '">';
 198              if ($row['project_id'] > 0)
 199                  $s .= '<a href="?m=projects&a=view&project_id=' . $row['link_project'] . '">' . $row['project_name'] . '</a>';
 200              else
 201                  $s .= $row['project_name'];
 202              $s .= '</font>';
 203              $s .= '</td></tr>';
 204              echo $s;
 205          }
 206      }
 207      $fp = $row['link_project'];
 208  ?>
 209  <tr>
 210      <td nowrap="nowrap" width="20">
 211      <?php if ($canEdit) {
 212          echo '<a href="./index.php?m=' . $m . '&a=addedit&link_id=' . $row['link_id'] . '">' . w2PshowImage('icons/stock_edit-16.png', '16', '16') . '</a>';
 213      }
 214  ?>
 215      </td>
 216      <td nowrap="8%">
 217          <?php echo '<a href="' . $row['link_url'] . '" target="_blank">' . $row['link_name'] . '</a>'; ?>
 218      </td>
 219      <td width="20%"><?php echo $row['link_description']; ?></td>
 220          <td width="10%" nowrap="nowrap" align="center"><?php echo $link_types[$row['link_category']]; ?></td> 
 221      <td width="5%" align="left"><a href="./index.php?m=tasks&a=view&task_id=<?php echo $row['task_id']; ?>"><?php echo $row['task_name']; ?></a></td>
 222      <td width="15%" nowrap="nowrap"><?php echo $row['contact_first_name'] . ' ' . $row['contact_last_name']; ?></td>
 223      <td width="15%" nowrap="nowrap" align="center"><?php echo $link_date->format($df . ' ' . $tf); ?></td>
 224  </tr>
 225  <?php } ?>
 226  </table>
 227  <?php
 228  shownavbar_links($xpg_totalrecs, $xpg_pagesize, $xpg_total_pages, $page);
 229  ?>


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