| 1 | rodolico | 1 | <?php
 | 
        
           | 54 | rodolico | 2 |    include_once( '../../header.php' );
 | 
        
           |  |  | 3 |    include_once( './functions.php' );
 | 
        
           |  |  | 4 |   | 
        
           |  |  | 5 |    $result = '';
 | 
        
           | 55 | rodolico | 6 |    $debug = '';
 | 
        
           | 54 | rodolico | 7 |    if ( isset( $_REQUEST['uploaddocument'] ) ) {
 | 
        
           | 55 | rodolico | 8 |       // clean up the input first
 | 
        
           |  |  | 9 |       $client_id = cleanInput( $_REQUEST['client_id'] );
 | 
        
           |  |  | 10 |       $site_id = cleanInput( $_REQUEST['site_id'] );
 | 
        
           | 56 | rodolico | 11 |       $device_id = cleanInput( $_REQUEST['device_id'] );
 | 
        
           |  |  | 12 |       $name = cleanInput( $_REQUEST['name'], $_FILES['fileToUpload']['name'] );
 | 
        
           |  |  | 13 |       $description = cleanInput( $_REQUEST['description'] );
 | 
        
           | 55 | rodolico | 14 |       $mime_type_id = $_REQUEST['mime_type'];
 | 
        
           |  |  | 15 |       // mime_type_id can be passed in, calculated from the 'type' of $_FILES, or looked up by extension
 | 
        
           |  |  | 16 |       if ( $mime_type_id == 0 ) { // we need to calculate the mime type (auto mode)
 | 
        
           |  |  | 17 |          // see if $_FILES has the info
 | 
        
           |  |  | 18 |          $mime_type_id = check_mime_type( $_FILES['fileToUpload']['type'] );
 | 
        
           |  |  | 19 |          if ( $mime_type_id === null ) { // no, so see if we can figure it out from the file name
 | 
        
           |  |  | 20 |             $mime_type_id = check_mime_type( pathinfo($_FILES['fileToUpload']['name'], PATHINFO_EXTENSION) );
 | 
        
           |  |  | 21 |          }
 | 
        
           |  |  | 22 |       }
 | 
        
           |  |  | 23 |       $debug = "client_id   =[$client_id]<br />
 | 
        
           |  |  | 24 |                 site_id     =[$site_id]<br />
 | 
        
           |  |  | 25 |                 device_id   =[$device_id]<br />
 | 
        
           |  |  | 26 |                 name        =[$name]<br />
 | 
        
           |  |  | 27 |                 mime_type_id=[$mime_type_id]<br />
 | 
        
           |  |  | 28 |                 description =[$description]<br />";
 | 
        
           |  |  | 29 |       /*
 | 
        
           |  |  | 30 |        * this documentation will use the following example
 | 
        
           |  |  | 31 |        * A file, joe.csv, is uploaded and attached to the client
 | 
        
           |  |  | 32 |        * Walder IP Law. makeFileName discovers it to be file number
 | 
        
           |  |  | 33 |        * 123456 (based on an internal counter)
 | 
        
           |  |  | 34 |        * All comments below show what is returned
 | 
        
           |  |  | 35 |        */
 | 
        
           | 54 | rodolico | 36 |       $result = makeFileName( 
 | 
        
           |  |  | 37 |             $_FILES['fileToUpload']['name'], 
 | 
        
           |  |  | 38 |             $device_id, 
 | 
        
           |  |  | 39 |             $client_id, 
 | 
        
           |  |  | 40 |             $site_id 
 | 
        
           |  |  | 41 |             );
 | 
        
           | 55 | rodolico | 42 |       // at this point, we have 12/34/123456-c-Walder IP Law.csv
 | 
        
           | 54 | rodolico | 43 |       if ( $result['valid'] ) {
 | 
        
           |  |  | 44 |          $nameOnDisk = $result['filename'];
 | 
        
           | 55 | rodolico | 45 |          $saveTo = getAbsolutePath( $nameOnDisk );
 | 
        
           |  |  | 46 |          // $saveT now has document root, etc... prepended, so
 | 
        
           |  |  | 47 |          // /var/www/computer_asset_management/modules/documents/file_storage/12/34/123456-c-Walder IP Law.csv
 | 
        
           |  |  | 48 |          if ( makePath( $saveTo ) ) {
 | 
        
           |  |  | 49 |             $result = "Path Made - $saveTo";
 | 
        
           |  |  | 50 |             if ( ( move_uploaded_file( $_FILES["fileToUpload"]["tmp_name"], $saveTo ) ) ) {
 | 
        
           |  |  | 51 |                $result = addDocument(
 | 
        
           |  |  | 52 |                               $nameOnDisk,
 | 
        
           |  |  | 53 |                               $device_id, 
 | 
        
           |  |  | 54 |                               $client_id, 
 | 
        
           |  |  | 55 |                               $site_id,
 | 
        
           |  |  | 56 |                               isset( $_REQUEST['mime_type'] ) ? $_REQUEST['mime_type'] : $_FILES["fileToUpload"]['type'],
 | 
        
           |  |  | 57 |                               $name,
 | 
        
           |  |  | 58 |                               $description
 | 
        
           |  |  | 59 |                            );
 | 
        
           |  |  | 60 |                $result = $result === null ? "Could not add document<br />$nameOnDisk<br />to database" : 'Success';
 | 
        
           |  |  | 61 |             } else {
 | 
        
           |  |  | 62 |                $result = "Failed to upload to disk<br />$saveTo";
 | 
        
           |  |  | 63 |             } // if move_uploaded_file .. else
 | 
        
           | 54 | rodolico | 64 |          } else {
 | 
        
           | 55 | rodolico | 65 |             $result = "failed to make path<br />$saveTo";
 | 
        
           | 54 | rodolico | 66 |          }
 | 
        
           |  |  | 67 |       } else {
 | 
        
           |  |  | 68 |          $result = $result['message'];
 | 
        
           |  |  | 69 |       } // if nameOnDisk .. else
 | 
        
           |  |  | 70 |    } // if isset uploaddocument
 | 
        
           | 1 | rodolico | 71 | ?>
 | 
        
           |  |  | 72 | <?xml version="1.0" encoding="utf-8"?>
 | 
        
           |  |  | 73 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 | 
        
           |  |  | 74 | <html xmlns="http://www.w3.org/1999/xhtml">
 | 
        
           |  |  | 75 | <head>
 | 
        
           |  |  | 76 |   <title>Daily Data - Computer Asset Management Program</title>
 | 
        
           |  |  | 77 |   <link rel="stylesheet" type="text/css" href="../../camp.css">
 | 
        
           |  |  | 78 | </head>
 | 
        
           |  |  | 79 | <body>
 | 
        
           |  |  | 80 | <?php include_once('../../menu.php'); ?>
 | 
        
           |  |  | 81 | <div id="content">
 | 
        
           | 55 | rodolico | 82 |    <?php 
 | 
        
           |  |  | 83 |       if ( isset( $result ) ) print "<h3>$result</h3>";
 | 
        
           | 56 | rodolico | 84 |       //if ( isset( $debug ) ) print "<h3>$debug</h3>";
 | 
        
           | 55 | rodolico | 85 |     ?>
 | 
        
           | 54 | rodolico | 86 |    <p>Choose only <b>one</b> of device, site or client to add the document to</p>
 | 
        
           | 1 | rodolico | 87 |   <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
 | 
        
           |  |  | 88 |     <input type="hidden" name="MAX_FILE_SIZE" value="100000" />
 | 
        
           |  |  | 89 |     <table>
 | 
        
           |  |  | 90 |        <tr>
 | 
        
           |  |  | 91 |           <td>
 | 
        
           |  |  | 92 |              Attach To Device
 | 
        
           |  |  | 93 |           </td>
 | 
        
           |  |  | 94 |           <td>
 | 
        
           | 54 | rodolico | 95 |              <select name='device_id' >
 | 
        
           | 1 | rodolico | 96 |                 <option value='0'>------------</option>
 | 
        
           | 54 | rodolico | 97 |                 <?php print queryToSelect('select device_id, Device from view_current_client_systems order by Device' ); ?>
 | 
        
           | 1 | rodolico | 98 |              </select>
 | 
        
           |  |  | 99 |           </td>
 | 
        
           |  |  | 100 |        </tr>
 | 
        
           |  |  | 101 |        <tr>
 | 
        
           |  |  | 102 |           <td>
 | 
        
           |  |  | 103 |              Attach To Site
 | 
        
           |  |  | 104 |           </td>
 | 
        
           |  |  | 105 |           <td>
 | 
        
           | 54 | rodolico | 106 |              <select name='site_id' >
 | 
        
           | 1 | rodolico | 107 |                 <option value='0'>------------</option>
 | 
        
           | 54 | rodolico | 108 |                 <?php print queryToSelect('select site_id, name from view_current_client_site order by name' ); ?>
 | 
        
           | 1 | rodolico | 109 |              </select>
 | 
        
           |  |  | 110 |           </td>
 | 
        
           |  |  | 111 |        </tr>
 | 
        
           |  |  | 112 |        <tr>
 | 
        
           |  |  | 113 |           <td>
 | 
        
           |  |  | 114 |              Attach To Client
 | 
        
           |  |  | 115 |           </td>
 | 
        
           |  |  | 116 |           <td>
 | 
        
           | 54 | rodolico | 117 |              <select name='client_id' >
 | 
        
           | 1 | rodolico | 118 |                 <option value='0'>------------</option>
 | 
        
           | 54 | rodolico | 119 |                 <?php print queryToSelect('select client_id, name from view_current_client order by name' ); ?>
 | 
        
           | 1 | rodolico | 120 |              </select>
 | 
        
           |  |  | 121 |           </td>
 | 
        
           |  |  | 122 |        </tr>
 | 
        
           |  |  | 123 |        <tr>
 | 
        
           |  |  | 124 |           <td>
 | 
        
           |  |  | 125 |              Mime Type
 | 
        
           |  |  | 126 |           </td>
 | 
        
           |  |  | 127 |           <td>
 | 
        
           | 55 | rodolico | 128 |              <select name='mime_type_id' >
 | 
        
           | 54 | rodolico | 129 |                 <option value='0'>Autodetect</option>
 | 
        
           |  |  | 130 |                 <?php print queryToSelect("select document_mime_type_id, concat( extension, ' (', mime_type, ')') from document_mime_type order by extension" ); ?>
 | 
        
           | 1 | rodolico | 131 |              </select>
 | 
        
           |  |  | 132 |           </td>
 | 
        
           |  |  | 133 |        </tr>
 | 
        
           |  |  | 134 |        <tr>
 | 
        
           |  |  | 135 |           <td>
 | 
        
           |  |  | 136 |              Document Name
 | 
        
           |  |  | 137 |           </td>
 | 
        
           |  |  | 138 |           <td>
 | 
        
           |  |  | 139 |              <input type="text" name="name" size="30" maxlength="64" />
 | 
        
           |  |  | 140 |           </td>
 | 
        
           |  |  | 141 |        </tr>
 | 
        
           |  |  | 142 |        <tr>
 | 
        
           | 55 | rodolico | 143 |           <td valign='top'>
 | 
        
           | 1 | rodolico | 144 |              Description
 | 
        
           |  |  | 145 |           </td>
 | 
        
           |  |  | 146 |           <td>
 | 
        
           | 55 | rodolico | 147 |              <textarea name="description" cols='50' rows='5'></textarea>
 | 
        
           | 1 | rodolico | 148 |           </td>
 | 
        
           |  |  | 149 |        </tr>
 | 
        
           |  |  | 150 |        <tr>
 | 
        
           |  |  | 151 |           <td>
 | 
        
           |  |  | 152 |              Choose File
 | 
        
           |  |  | 153 |           </td>
 | 
        
           |  |  | 154 |           <td>
 | 
        
           | 54 | rodolico | 155 |              <input name="fileToUpload" type="file" />
 | 
        
           | 1 | rodolico | 156 |           </td>
 | 
        
           |  |  | 157 |        </tr>
 | 
        
           |  |  | 158 |        <tr>
 | 
        
           |  |  | 159 |           <td colspan='2' align="center">
 | 
        
           |  |  | 160 |              <input type="submit" name="uploaddocument" value="Upload" />
 | 
        
           |  |  | 161 |           </td>
 | 
        
           |  |  | 162 |        </tr>
 | 
        
           |  |  | 163 |     </table>
 | 
        
           |  |  | 164 |   </form>
 | 
        
           |  |  | 165 | </div>
 | 
        
           |  |  | 166 |   | 
        
           |  |  | 167 | </body>
 | 
        
           |  |  | 168 | </html>
 | 
        
           |  |  | 169 |   |