diff --git a/htdocs/core/modules/printing/printgcp.modules.php b/htdocs/core/modules/printing/printgcp.modules.php index be479dd82f7..2091c1a89eb 100644 --- a/htdocs/core/modules/printing/printgcp.modules.php +++ b/htdocs/core/modules/printing/printgcp.modules.php @@ -166,7 +166,7 @@ class printing_printgcp extends PrintingDriver */ function print_file($file, $module, $subdir='') { - global $conf; + global $conf, $user, $db; if ($this->authtoken=='') { $this->GoogleLogin(); } @@ -174,8 +174,30 @@ class printing_printgcp extends PrintingDriver $fileprint=$conf->{$module}->dir_output; 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; + $result = $db->query($sql); + if ($result) + { + $obj = $this->db->fetch_object($result); + if ($obj) + { + $printer_id=$obj->printer_id; + } + else + { + if (! empty($conf->global->PRINTIPP_GCP_DEFAULT)) + { + $printer_id=$conf->global->PRINTIPP_GCP_DEFAULT; + } + else + { + return 'NoDefaultPrinterDefined'; + } + } + } - $this->sendPrintToPrinter($conf->global->PRINTING_GCP_DEFAULT, $file, $fileprint, 'application/pdf'); + $this->sendPrintToPrinter($printer_id, $file, $fileprint, 'application/pdf'); } /** diff --git a/htdocs/core/modules/printing/printipp.modules.php b/htdocs/core/modules/printing/printipp.modules.php index 2e4b4c7161a..c8a19bffa31 100644 --- a/htdocs/core/modules/printing/printipp.modules.php +++ b/htdocs/core/modules/printing/printipp.modules.php @@ -76,7 +76,7 @@ class printing_printipp extends PrintingDriver */ function print_file($file, $module, $subdir='') { - global $conf,$db; + global $conf, $user, $db; include_once DOL_DOCUMENT_ROOT.'/includes/printipp/CupsPrintIPP.php'; @@ -89,7 +89,7 @@ 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"'; + $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) { diff --git a/htdocs/printing/admin/printing.php b/htdocs/printing/admin/printing.php index 53b192c35e4..64823e63195 100644 --- a/htdocs/printing/admin/printing.php +++ b/htdocs/printing/admin/printing.php @@ -225,6 +225,42 @@ if ($mode == 'test' && $user->admin) dol_fiche_end(); } +if ($mode == 'userconf' && $user->admin) +{ + dol_fiche_head($head, $mode, $langs->trans("UserConf"), 0, 'technic'); + + print $langs->trans('PrintUserConfDesc'.$driver)."

\n"; + + print ''; + $var=true; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print "\n"; + $sql = 'SELECT p.printer_name, p.printer_location, p.printer_id, p.copy, p.module, p.driver, p.userid, u.login FROM '.MAIN_DB_PREFIX.'printing as p, '.MAIN_DB_PREFIX.'user as u WHERE p.userid=u.rowid'; + $resql = $db->query($sql); + while ($row=$db->fetch_array($resql)) { + $var=!$var; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print "\n"; + } + print '
'.$langs->trans("User").''.$langs->trans("PrintModule").''.$langs->trans("PrintDriver").''.$langs->trans("Printer").''.$langs->trans("PrinterLocation").''.$langs->trans("PrinterId").''.$langs->trans("NumberOfCopy").'
'.$row['login'].''.$row['module'].''.$row['driver'].''.$row['printer_name'].''.$row['printer_location'].''.$row['printer_id'].''.$row['copy'].'
'; + + dol_fiche_end(); + +} llxFooter(); diff --git a/htdocs/printing/lib/printing.lib.php b/htdocs/printing/lib/printing.lib.php index fd02c240b15..1d09daba0dc 100644 --- a/htdocs/printing/lib/printing.lib.php +++ b/htdocs/printing/lib/printing.lib.php @@ -50,6 +50,11 @@ function printingadmin_prepare_head() $head[$h][2] = 'test'; $h++; + $head[$h][0] = DOL_URL_ROOT."/printing/admin/printing.php?mode=userconf"; + $head[$h][1] = $langs->trans("UserConf"); + $head[$h][2] = 'userconf'; + $h++; + //$object=new stdClass(); // Show more tabs from modules