Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- error_reporting(-1 ^ E_NOTICE);
- /* collect all printer names */
- $printers = array();
- if (($handle = fopen("printers.csv", "r")) !== FALSE)
- {
- while (($data = fgetcsv($handle, 1000, ';','"')) !== FALSE)
- {
- $printer = trim(strtolower($data[1]));
- $user = trim(strtolower($data[0]));
- /* Excluding some standard users */
- if($user != 'EMP_INSTUSER' and $user != 'Administrator')
- {
- /* get only network printer */
- if(substr($printer,0,2) == '\\\\' and !in_array($printer,$printers))
- {
- $printers[] = $printer;
- }
- }
- }
- }
- fclose($handle);
- sort($printers);
- /* collect each user for every printer */
- foreach($printers as $num => $p)
- {
- $i = 0;
- if(($handle = fopen("printers.csv", "r")) !== FALSE)
- {
- while (($data = fgetcsv($handle, 1000, ';','"')) !== FALSE)
- {
- $printer = trim(strtolower($data[1]));
- $user = trim(strtolower($data[0]));
- if($printer == $p)
- {
- /* set the col names to get the correct order */
- if(!isset($csv[$i]))
- foreach($printers as $pr)
- $csv[$i][$pr] = '';
- /* insert user */
- $csv[$i][$printer] = $user;
- $i++;
- }
- }
- }
- }
- ?>
- <table>
- <tr>
- <th>Row</th>
- <?foreach($printers as $printer) echo '<th>'.$printer.'</th>'?>
- </tr>
- <?
- foreach($csv as $row => $values)
- {
- echo '<tr>';
- echo '<td>'.$row.'</td>';
- foreach($values as $val) echo '<td>'.$val.'</td>';
- echo '</tr>';
- }
- ?>
- </table>
- <?
- $fp = fopen('./printers_list.csv', 'w');
- fputcsv($fp, $printers,';');
- foreach ($csv as $fields) {
- fputcsv($fp, $fields,';');
- }
- fclose($fp);
- ?>
Advertisement
Add Comment
Please, Sign In to add comment