home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 April / CMCD0404.ISO / Software / Freeware / Programare / dotproject / modules / companies / vw_companies.php < prev    next >
Encoding:
PHP Script  |  2004-01-08  |  3.5 KB  |  98 lines

  1. <?php /* COMPANIES $Id: vw_companies.php,v 1.7 2004/01/08 03:54:04 ajdonnison Exp $ */
  2.  
  3. global $companiesType;
  4. global $search_string;
  5.  
  6. // retrieve any state parameters
  7. if (isset( $_GET['orderby'] )) {
  8.     $AppUI->setState( 'CompIdxOrderBy', $_GET['orderby'] );
  9. }
  10. $orderby = $AppUI->getState( 'CompIdxOrderBy' ) ? $AppUI->getState( 'CompIdxOrderBy' ) : 'company_name';
  11.  
  12. // load the company types
  13.  
  14. $types = dPgetSysVal( 'CompanyType' );
  15. // get any records denied from viewing
  16.  
  17. $obj = new CCompany();
  18. $deny = $obj->getDeniedRecords( $AppUI->user_id );
  19.  
  20. if ( $companiesType == -1 ){
  21.     //Plain view
  22.     foreach ($types as $company_key => $company_type){
  23.         $company_type = trim($company_type);
  24.         $flip_company_types[$company_type] = $company_key;
  25.     }
  26.     $company_type_filter = $flip_company_types[$v[1]];
  27. } else{
  28.     //Tabbed view
  29.     $company_type_filter = $companiesType;
  30. }
  31.  
  32. // retrieve list of records
  33. $sql = "SELECT company_id, company_name, company_type, company_description,"
  34.     . "count(distinct projects.project_id) as countp, count(distinct projects2.project_id) as inactive,"
  35.     . "user_first_name, user_last_name"
  36.  
  37.     . " FROM permissions, companies"
  38.  
  39.     . " LEFT JOIN projects ON companies.company_id = projects.project_company and projects.project_active <> 0"
  40.     . " LEFT JOIN users ON companies.company_owner = users.user_id"
  41.     . " LEFT JOIN projects AS projects2 ON companies.company_id = projects2.project_company AND projects2.project_active = 0"
  42.     . " WHERE permission_user = $AppUI->user_id"
  43.     . "    AND permission_value <> 0"
  44.     . " AND (
  45.         (permission_grant_on = 'all')
  46.         OR (permission_grant_on = 'companies' and permission_item = -1)
  47.         OR (permission_grant_on = 'companies' and permission_item = company_id)
  48.         )"
  49.     . (count($deny) > 0 ? ' AND company_id NOT IN (' . implode( ',', $deny ) . ')' : '')
  50.     . ($companiesType < count($types) ? " AND company_type = $company_type_filter" : "");
  51.  
  52. if($search_string != ""){
  53.     $sql .= " AND company_name LIKE '%$search_string%' ";
  54. }
  55.  
  56. $sql .= " GROUP BY company_id
  57.          ORDER BY $orderby";
  58.     
  59. $rows = db_loadList( $sql );
  60. ?>
  61. <table width="100%" border="0" cellpadding="2" cellspacing="1" class="tbl">
  62. <tr>
  63.     <td nowrap="nowrap" width="60" align="right"> <?php echo $AppUI->_('sort by');?>: </td>
  64.     <th nowrap="nowrap">
  65.         <a href="?m=companies&orderby=company_name" class="hdr"><?php echo $AppUI->_('Company Name');?></a>
  66.     </th>
  67.     <th nowrap="nowrap">
  68.         <a href="?m=companies&orderby=countp" class="hdr"><?php echo $AppUI->_('Active Projects');?></a>
  69.     </th>
  70.     <th nowrap="nowrap">
  71.         <a href="?m=companies&orderby=inactive" class="hdr"><?php echo $AppUI->_('Archived Projects');?></a>
  72.     </th>
  73.     <th nowrap="nowrap">
  74.         <a href="?m=companies&orderby=company_type" class="hdr"><?php echo $AppUI->_('Type');?></a>
  75.     </th>
  76. </tr>
  77. <?php
  78. $s = '';
  79. $CR = "\n"; // Why is this needed as a variable?
  80.  
  81. $none = true;
  82. foreach ($rows as $row) {
  83.     $none = false;
  84.     $s .= $CR . '<tr>';
  85.     $s .= $CR . '<td> </td>';
  86.     $s .= $CR . '<td><a href="./index.php?m=companies&a=view&company_id=' . $row["company_id"] . '" title="'.$row['company_description'].'">' . $row["company_name"] .'</a></td>';
  87.     $s .= $CR . '<td width="125" align="center" nowrap="nowrap">' . $row["countp"] . '</td>';
  88.     $s .= $CR . '<td width="125" align="center" nowrap="nowrap">' . @$row["inactive"] . '</td>';
  89.     $s .= $CR . '<td width="125" align="center" nowrap="nowrap">' . $AppUI->_($types[@$row["company_type"]]) . '</td>';
  90.     $s .= $CR . '</tr>';
  91. }
  92. echo "$s\n";
  93. if ($none) {
  94.     echo $CR . '<tr><td colspan="5">' . $AppUI->_( 'No companies available' ) . '</td></tr>';
  95. }
  96. ?>
  97. </table>
  98.