private function readPrinters()
 {
     $pipp = new \NethServer\Tool\PrintIPP();
     $printers = array();
     $ipp = new \CupsPrintIPP();
     $ipp->setLog('/dev/null', 'file');
     $ipp->setUserName('admin');
     $ipp->getPrinters();
     foreach ($ipp->available_printers as $uri) {
         $ipp->setPrinterURI($uri);
         $ipp->getPrinterAttributes();
         $printers[basename($uri)] = array("enabled" => $ipp->printer_attributes->printer_is_accepting_jobs->_value0, "state" => $ipp->printer_attributes->printer_state->_value0);
     }
     return $printers;
 }
Example #2
0
 /**
  *  Return list of available printers
  *
  *  @return array                list of printers
  */
 function getlist_available_printers()
 {
     global $conf, $db;
     include_once DOL_DOCUMENT_ROOT . '/includes/printipp/CupsPrintIPP.php';
     $ipp = new CupsPrintIPP();
     $ipp->setLog(DOL_DATA_ROOT . '/printipp.log', 'file', 3);
     // logging very verbose
     $ipp->setHost($this->host);
     $ipp->setPort($this->port);
     $ipp->setUserName($this->userid);
     if (!empty($this->user)) {
         $ipp->setAuthentication($this->user, $this->password);
     }
     $ipp->getPrinters();
     return $ipp->available_printers;
 }
Example #3
0
                if (is_object($value))
                    if ($key != 'printer_state_time') 
                        printf("%s: %s<br />",$key,$value->_value0);
                    else
                        printf("%s: %s<br />",$key,date('Y-m-d H:i:s',$value->_value0));
                    $idx_key = "_key". ($key + 1);
                }
    $idx_histo = '_indice'. ($idx + 1);
    }
echo "<br /><br /><br />\n";
*/
/* getting printers (vendor extention) (currently CUPS only)*/
echo "<br /><br /><br /> TEST 31<br />";
echo "OPERATION " . $j++ . "<br />";
echo "Available printers [CUPS EXTENTION]:<pre>";
echo $ipp->getPrinters() . "\n";
// there is an alias "cupsGetPrinters" for CUPS.
print_r($ipp->available_printers);
echo "</pre>";
echo "Printers's attributes<pre>\n";
print_r($ipp->printers_attributes);
echo "</pre>\n";
for ($i = 0; $i < count($ipp->available_printers); $i++) {
    $ipp->setPrinterURI($ipp->available_printers[$i]);
    echo "OPERATION " . $j++ . "<br />";
    $ipp->getPrinterAttributes();
    echo "Printer attributes for printer {$i}:<pre>\n";
    print_r($ipp->printer_attributes);
    echo "</pre>";
    if (isset($ipp->printer_attributes->printer_type->_value2) && $ipp->printer_attributes->printer_type->_value2 == 'print-black') {
        echo "The printer can print black<br />\n";