diff --git a/htdocs/core/modules/modPrinting.class.php b/htdocs/core/modules/modPrinting.class.php index f578c463d43..91839139f41 100644 --- a/htdocs/core/modules/modPrinting.class.php +++ b/htdocs/core/modules/modPrinting.class.php @@ -50,7 +50,8 @@ class modPrinting extends DolibarrModules $this->family = "other"; // Module label (no space allowed), used if translation string 'ModuleXXXName' not found (where XXX is value of numeric property 'numero' of module) $this->name = preg_replace('/^mod/i','',get_class($this)); - $this->description = "Enable Printing System."; + // Module description, used if translation string 'ModuleXXXDesc' not found (where XXX is value of numeric property 'numero' of module) + $this->description = "Enable Direct Printing System."; $this->version = 'dolibarr'; // 'development' or 'experimental' or 'dolibarr' or version $this->const_name = 'MAIN_MODULE_'.strtoupper($this->name); // Where to store the module in setup page (0=common,1=interface,2=others,3=very specific) diff --git a/htdocs/core/modules/printing/printgcp.modules.php b/htdocs/core/modules/printing/printgcp.modules.php index 2d4cb8a2c98..e5fbcdbd3bc 100644 --- a/htdocs/core/modules/printing/printgcp.modules.php +++ b/htdocs/core/modules/printing/printgcp.modules.php @@ -26,8 +26,7 @@ include_once DOL_DOCUMENT_ROOT.'/core/modules/printing/modules_printing.php'; /** - * \class mailing_example - * \brief Class to provide printing with Google Cloud Print + * Class to provide printing with Google Cloud Print */ class printing_printgcp extends PrintingDriver { @@ -175,7 +174,7 @@ class printing_printgcp extends PrintingDriver if ($subdir!='') $fileprint.='/'.$subdir; $fileprint.='/'.$file; // select printer uri for module order, propal,... - $sql = 'SELECT rowid, printer_id, copy FROM '.MAIN_DB_PREFIX.'printing WHERE module="'.$module.'" AND driver="printgcp" AND userid='.$user->id; + $sql = "SELECT rowid, printer_id, copy FROM ".MAIN_DB_PREFIX."printing WHERE module='".$module."' AND driver='printgcp' AND userid=".$user->id; $result = $db->query($sql); if ($result) { @@ -196,6 +195,7 @@ class printing_printgcp extends PrintingDriver } } } + else dol_print_error($db); $this->sendPrintToPrinter($printer_id, $file, $fileprint, 'application/pdf'); } @@ -204,7 +204,7 @@ class printing_printgcp extends PrintingDriver * Sends document to the printer * * @param string $printerid Printer id returned by Google Cloud Print - * @param string $printjobtitle Job Title + * @param string $printjobtitle Job Title * @param string $filepath File Path to be send to Google Cloud Print * @param string $contenttype File content type by example application/pdf, image/png * @return array status array diff --git a/htdocs/core/modules/printing/printipp.modules.php b/htdocs/core/modules/printing/printipp.modules.php index c8a19bffa31..3fbb66fb088 100644 --- a/htdocs/core/modules/printing/printipp.modules.php +++ b/htdocs/core/modules/printing/printipp.modules.php @@ -26,8 +26,7 @@ include_once DOL_DOCUMENT_ROOT.'/core/modules/printing/modules_printing.php'; /** - * \class mailing_example - * \brief Class to provide printing with PrintIPP + * Class to provide printing with PrintIPP */ class printing_printipp extends PrintingDriver { @@ -61,8 +60,8 @@ class printing_printipp extends PrintingDriver $this->password=$conf->global->PRINTIPP_PASSWORD; $this->conf[] = array('varname'=>'PRINTIPP_HOST', 'required'=>1, 'example'=>'localhost', 'type'=>'text'); $this->conf[] = array('varname'=>'PRINTIPP_PORT', 'required'=>1, 'example'=>'631', 'type'=>'text'); - $this->conf[] = array('varname'=>'PRINTIPP_USER', 'required'=>0, 'example'=>'', 'type'=>'text'); - $this->conf[] = array('varname'=>'PRINTIPP_PASSWORD', 'required'=>0, 'example'=>'', 'type'=>'password'); + $this->conf[] = array('varname'=>'PRINTIPP_USER', 'required'=>0, 'example'=>'', 'type'=>'text', 'moreattributes'=>'autocomplete="off"'); + $this->conf[] = array('varname'=>'PRINTIPP_PASSWORD', 'required'=>0, 'example'=>'', 'type'=>'password', 'moreattributes'=>'autocomplete="off"'); } /** @@ -79,7 +78,7 @@ class printing_printipp extends PrintingDriver global $conf, $user, $db; include_once DOL_DOCUMENT_ROOT.'/includes/printipp/CupsPrintIPP.php'; - + $ipp = new CupsPrintIPP(); $ipp->setLog(DOL_DATA_ROOT.'/dolibarr_printipp.log','file',3); // logging very verbose $ipp->setHost($this->host); @@ -89,28 +88,31 @@ class printing_printipp extends PrintingDriver if (! empty($this->user)) $ipp->setAuthentication($this->user,$this->password); // select printer uri for module order, propal,... - $sql = 'SELECT rowid,printer_id,copy FROM '.MAIN_DB_PREFIX.'printing WHERE module="'.$module.'" AND driver="printipp" AND userid='.$user->id; + $sql = "SELECT rowid,printer_id,copy FROM ".MAIN_DB_PREFIX."printing WHERE module = '".$module."' AND driver = 'printipp' AND userid = ".$user->id; $result = $db->query($sql); if ($result) { $obj = $this->db->fetch_object($result); if ($obj) { + dol_syslog("Found a default printer for user ".$user->id." = ".$obj->printer_id); $ipp->setPrinterURI($obj->printer_id); } else { if (! empty($conf->global->PRINTIPP_URI_DEFAULT)) { + dol_syslog("Will use default printer conf->global->PRINTIPP_URI_DEFAULT = ".$conf->global->PRINTIPP_URI_DEFAULT); $ipp->setPrinterURI($conf->global->PRINTIPP_URI_DEFAULT); } else - { + { return 'NoDefaultPrinterDefined'; } } } - + else dol_print_error($db); + // Set number of copy $ipp->setCopies($obj->copy); $fileprint=$conf->{$module}->dir_output; @@ -118,7 +120,7 @@ class printing_printipp extends PrintingDriver $fileprint.='/'.$file; $ipp->setData($fileprint); $ipp->printJob(); - + return ''; } @@ -170,8 +172,10 @@ class printing_printipp extends PrintingDriver $html.= img_picto($langs->trans("Default"),'on'); } else - $html.= ''.img_picto($langs->trans("Disabled"),'off').''; - $html.= ''; + { + $html.= ''.img_picto($langs->trans("Disabled"),'off').''; + } + $html.= ''; $html.= ''."\n"; } diff --git a/htdocs/langs/en_US/printing.lang b/htdocs/langs/en_US/printing.lang index 77c63884636..e90f8efed0b 100644 --- a/htdocs/langs/en_US/printing.lang +++ b/htdocs/langs/en_US/printing.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - printing -PrintingSetup=Setup of Printing System -PrintingDesc=This module adds a Print button to send documents directly to a printer with various module. +PrintingSetup=Setup of Direct Printing System +PrintingDesc=This module adds a Print button to send documents directly to a printer (without opening document into an application) with various module. ModuleDriverSetup=Setup Module Driver PrintingDriverDesc=Configuration variables for printing driver. ListDrivers=List of drivers @@ -8,3 +8,9 @@ PrintTestDesc=List of Printers. FileWasSentToPrinter=File %s was sent to printer NoActivePrintingModuleFound=No active module to print document PleaseSelectaDriverfromList=Please select a driver from list. +SetupDriver=Driver setup +TestDriver=Test +TargetedPrinter=Targeted printer +UserConf=Setup per user +Module112000Name=Direct Printing +Module112000Desc=Enable Direct Printing System diff --git a/htdocs/printing/admin/printing.php b/htdocs/printing/admin/printing.php index 63784e560f0..572b5f1a379 100644 --- a/htdocs/printing/admin/printing.php +++ b/htdocs/printing/admin/printing.php @@ -109,15 +109,15 @@ llxHeader('',$langs->trans("PrintingSetup")); $linkback=''.$langs->trans("BackToModuleList").''; print_fiche_titre($langs->trans("PrintingSetup"),$linkback,'setup'); -$head=printingadmin_prepare_head(); +$head=printingadmin_prepare_head($mode); if ($mode == 'setup' && $user->admin) { - print '