Subversion Repositories computer_asset_manager_v1

Rev

Rev 48 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
48 rodolico 1
<?php
2
 
3
  /*
4
   * This is the callable library for the license module.
5
   * routines are assumed to be called from other modules, returning 
6
   * HTML data.
7
   * All routines will receive one array containing the parameters to
8
   * be used. Parameters may be
9
   * client_id - A client_id to be used for queries
10
   * device_id - A device_id to be used for queries
11
   * site_id   - A site_id to be used for queries
12
   * htmlDirectory - the HTML path to the module
13
   */
14
 
50 rodolico 15
   function licenseView ( $parameters ) {
48 rodolico 16
      // this is an array containing the columns we will display in the
17
      // query. The query will be generated as
18
      // select $key '$value', $key '$value
19
      $reportColumns = array( 
20
            'license_id' => 'ID',
21
            'license_product.name' => 'Product',
22
            'license.license' => 'License',
23
            'license.added_date' => 'Installed',
24
            'device_id' => 'Machine',
25
            );
26
      // first, let's remove any fields from $report_columns which are 
27
      // listed in the $parameters, and add them to the where clause
28
      $whereClause = array( 'license.removed_date is null' );
29
      foreach ( $parameters as $key => $value ) {
30
         if ( isset( $reportColumns[ $key ] ) ) {
31
            unset( $reportColumns[ $key ] );
32
            $whereClause[] = "$key = $value";
33
         }
34
      }
35
      $columnList = array();
36
      foreach ( $reportColumns as $key => $value ) {
37
         $columnList[] = "$key '$value'";
38
      }
39
      $query = 'select ' . implode( ',', $columnList );
40
      $query .= 'from
41
                  license join license_product using (license_product_id)
42
                  left outer join device using (device_id)
43
                  join client using ( client_id )';
44
      $query .= ' where ' . implode ( ' and ', $whereClause );
45
      return queryToTable( $query );
46
   }
47
 
48
?>
49