Guest User

Untitled

a guest
Jul 8th, 2013
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.58 KB | None | 0 0
  1. <?php
  2. error_reporting(-1 ^ E_NOTICE);
  3. /* collect all printer names */
  4. $printers = array();
  5. if (($handle = fopen("printers.csv", "r")) !== FALSE)
  6. {
  7.     while (($data = fgetcsv($handle, 1000, ';','"')) !== FALSE)
  8.     {
  9.         $printer = trim(strtolower($data[1]));
  10.         $user = trim(strtolower($data[0]));
  11.  
  12.         /* Excluding some standard users */
  13.         if($user != 'EMP_INSTUSER' and $user != 'Administrator')
  14.         {
  15.             /* get only network printer */
  16.             if(substr($printer,0,2) == '\\\\' and !in_array($printer,$printers))
  17.             {
  18.                 $printers[] = $printer;
  19.             }
  20.         }
  21.     }
  22. }
  23. fclose($handle);
  24. sort($printers);
  25.  
  26.  
  27. /* collect each user for every printer */
  28. foreach($printers as $num => $p)
  29. {
  30.     $i = 0;
  31.     if(($handle = fopen("printers.csv", "r")) !== FALSE)
  32.     {
  33.         while (($data = fgetcsv($handle, 1000, ';','"')) !== FALSE)
  34.         {
  35.             $printer = trim(strtolower($data[1]));
  36.             $user = trim(strtolower($data[0]));
  37.  
  38.             if($printer == $p)
  39.             {
  40.                 /* set the col names to get the correct order */
  41.                 if(!isset($csv[$i]))
  42.                     foreach($printers as $pr)
  43.                         $csv[$i][$pr] = '';
  44.                
  45.                 /* insert user */
  46.                 $csv[$i][$printer] = $user;
  47.                 $i++;
  48.             }
  49.         }
  50.     }
  51. }
  52. ?>
  53.  
  54. <table>
  55.   <tr>
  56.   <th>Row</th>
  57.   <?foreach($printers as $printer) echo '<th>'.$printer.'</th>'?>
  58.   </tr>
  59. <?
  60. foreach($csv as $row => $values)
  61. {
  62.     echo '<tr>';
  63.     echo '<td>'.$row.'</td>';
  64.     foreach($values as $val) echo '<td>'.$val.'</td>';
  65.     echo '</tr>';
  66. }
  67. ?>
  68. </table>
  69.  
  70. <?
  71. $fp = fopen('./printers_list.csv', 'w');
  72. fputcsv($fp, $printers,';');
  73. foreach ($csv as $fields) {
  74.     fputcsv($fp, $fields,';');
  75. }
  76.  
  77. fclose($fp);
  78. ?>
Advertisement
Add Comment
Please, Sign In to add comment