wip
This commit is contained in:
parent
2f3e6958f9
commit
d362d889f6
404
htdocs/admin/receiptprinter.php
Normal file
404
htdocs/admin/receiptprinter.php
Normal file
@ -0,0 +1,404 @@
|
|||||||
|
<?php
|
||||||
|
/* Copyright (C) 2013 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
|
* Copyright (C) 2015 Frederic France <frederic.france@free.fr>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \file htdocs/admin/receiptprinter.php
|
||||||
|
* \ingroup printing
|
||||||
|
* \brief Page to setup receipt printer
|
||||||
|
*/
|
||||||
|
|
||||||
|
require '../main.inc.php';
|
||||||
|
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/receiptprinter.lib.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/class/dolreceiptprinter.class.php';
|
||||||
|
|
||||||
|
$langs->load("admin");
|
||||||
|
$langs->load("receiptprinter");
|
||||||
|
|
||||||
|
if (! $user->admin) accessforbidden();
|
||||||
|
|
||||||
|
$action = GETPOST('action','alpha');
|
||||||
|
$mode = GETPOST('mode','alpha');
|
||||||
|
$value = GETPOST('value','alpha');
|
||||||
|
$varname = GETPOST('varname', 'alpha');
|
||||||
|
$printername = GETPOST('printername', 'alpha');
|
||||||
|
$printerid = GETPOST('printerid', 'int');
|
||||||
|
$parameter = GETPOST('parameter', 'alpha');
|
||||||
|
|
||||||
|
$printer = new dolReceiptPrinter($db);
|
||||||
|
|
||||||
|
if (!$mode) $mode='config';
|
||||||
|
|
||||||
|
if (!function_exists('gzdecode')) {
|
||||||
|
function gzdecode($data)
|
||||||
|
{
|
||||||
|
return gzinflate(substr($data,10,-8));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Action
|
||||||
|
*/
|
||||||
|
|
||||||
|
if ($action == 'addprinter' && $user->admin)
|
||||||
|
{
|
||||||
|
$error=0;
|
||||||
|
$db->begin();
|
||||||
|
if (empty($printername)) {
|
||||||
|
$error++;
|
||||||
|
setEventMessages($langs->trans("PrinterNameEmpty"), null, 'errors');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (empty($parameter)) {
|
||||||
|
setEventMessages($langs->trans("PrinterParameterEmpty"), null, 'warnings');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (! $error)
|
||||||
|
{
|
||||||
|
$result= $printer->AddPrinter($printername, GETPOST('printertypeid', 'int'), $parameter);
|
||||||
|
if ($result > 0) $error++;
|
||||||
|
|
||||||
|
if (! $error)
|
||||||
|
{
|
||||||
|
$db->commit();
|
||||||
|
setEventMessages($langs->trans("PrinterAdded",$printername), null);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$db->rollback();
|
||||||
|
dol_print_error($db);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$action = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($action == 'deleteprinter' && $user->admin)
|
||||||
|
{
|
||||||
|
$error=0;
|
||||||
|
$db->begin();
|
||||||
|
if (empty($printerid)) {
|
||||||
|
$error++;
|
||||||
|
setEventMessages($langs->trans("PrinterIdEmpty"), null, 'errors');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (! $error)
|
||||||
|
{
|
||||||
|
$result= $printer->DeletePrinter($printerid);
|
||||||
|
if ($result > 0) $error++;
|
||||||
|
|
||||||
|
if (! $error)
|
||||||
|
{
|
||||||
|
$db->commit();
|
||||||
|
setEventMessages($langs->trans("PrinterDeleted",$printername), null);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$db->rollback();
|
||||||
|
dol_print_error($db);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$action = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($action == 'updateprinter' && $user->admin)
|
||||||
|
{
|
||||||
|
$error=0;
|
||||||
|
$db->begin();
|
||||||
|
if (empty($printerid)) {
|
||||||
|
$error++;
|
||||||
|
setEventMessages($langs->trans("PrinterIdEmpty"), null, 'errors');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (! $error)
|
||||||
|
{
|
||||||
|
$result= $printer->UpdatePrinter($printername, GETPOST('printertypeid', 'int'), $parameter, $printerid);
|
||||||
|
if ($result > 0) $error++;
|
||||||
|
|
||||||
|
if (! $error)
|
||||||
|
{
|
||||||
|
$db->commit();
|
||||||
|
setEventMessages($langs->trans("PrinterUpdated",$printername), null);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$db->rollback();
|
||||||
|
dol_print_error($db);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$action = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($action == 'testprinter' && $user->admin)
|
||||||
|
{
|
||||||
|
$error=0;
|
||||||
|
if (empty($printerid)) {
|
||||||
|
$error++;
|
||||||
|
setEventMessages($langs->trans("PrinterIdEmpty"), null, 'errors');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (! $error)
|
||||||
|
{
|
||||||
|
// test
|
||||||
|
$ret = $printer->SendTestToPrinter($printerid);
|
||||||
|
if ($ret == 0)
|
||||||
|
{
|
||||||
|
setEventMessages($langs->trans("TestSentToPrinter", $printername), null);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
setEventMessages($printer->error, $printer->errors, 'errors');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$action = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* View
|
||||||
|
*/
|
||||||
|
|
||||||
|
$form = new Form($db);
|
||||||
|
|
||||||
|
llxHeader('',$langs->trans("ReceiptPrinterSetup"));
|
||||||
|
|
||||||
|
$linkback='<a href="'.DOL_URL_ROOT.'/admin/modules.php">'.$langs->trans("BackToModuleList").'</a>';
|
||||||
|
print load_fiche_titre($langs->trans("ReceiptPrinterSetup"),$linkback,'title_setup');
|
||||||
|
|
||||||
|
$head = receiptprinteradmin_prepare_head($mode);
|
||||||
|
|
||||||
|
if ($mode == 'config' && $user->admin)
|
||||||
|
{
|
||||||
|
print '<form method="post" action="'.$_SERVER["PHP_SELF"].'?mode=config" autocomplete="off">';
|
||||||
|
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||||
|
if ($action!='editprinter') {
|
||||||
|
print '<input type="hidden" name="action" value="addprinter">';
|
||||||
|
} else {
|
||||||
|
print '<input type="hidden" name="action" value="updateprinter">';
|
||||||
|
}
|
||||||
|
|
||||||
|
dol_fiche_head($head, $mode, $langs->trans("ModuleSetup"), 0, 'technic');
|
||||||
|
|
||||||
|
print $langs->trans("ReceiptPrinterDesc")."<br><br>\n";
|
||||||
|
|
||||||
|
print '<table class="noborder" width="100%">'."\n";
|
||||||
|
$var=true;
|
||||||
|
print '<tr class="liste_titre">';
|
||||||
|
print '<th>'.$langs->trans("Name").'</th>';
|
||||||
|
print '<th>'.$langs->trans("Type").'</th>';
|
||||||
|
print '<th>'.$langs->trans("Parameters").'</th>';
|
||||||
|
print '<th></th>';
|
||||||
|
print '<th></th>';
|
||||||
|
print '<th></th>';
|
||||||
|
print "</tr>\n";
|
||||||
|
$ret = $printer->listprinters();
|
||||||
|
if ($ret > 0) {
|
||||||
|
setEventMessages($printer->error, $printer->errors, 'errors');
|
||||||
|
} else {
|
||||||
|
for ($line=0; $line < count($printer->listprinters); $line++) {
|
||||||
|
$var = !$var;
|
||||||
|
print '<tr '.$bc[$var].'>';
|
||||||
|
if ($action=='editprinter' && $printer->listprinters[$line]['rowid']==$printerid) {
|
||||||
|
print '<input type="hidden" name="printerid" value="'.$printer->listprinters[$line]['rowid'].'">';
|
||||||
|
print '<td><input size="50" type="text" name="printername" value="'.$printer->listprinters[$line]['name'].'"></td>';
|
||||||
|
$ret = $printer->selectTypePrinter($printer->listprinters[$line]['fk_type']);
|
||||||
|
print '<td>'.$printer->resprint.'</td>';
|
||||||
|
print '<td><input size="60" type="text" name="parameter" value="'.$printer->listprinters[$line]['parameter'].'"></td>';
|
||||||
|
print '<td></td>';
|
||||||
|
print '<td></td>';
|
||||||
|
print '<td></td>';
|
||||||
|
print '</tr>';
|
||||||
|
} else {
|
||||||
|
print '<td>'.$printer->listprinters[$line]['name'].'</td>';
|
||||||
|
switch ($printer->listprinters[$line]['fk_type']) {
|
||||||
|
case 1:
|
||||||
|
$connector = 'CONNECTOR_DUMMY';
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
$connector = 'CONNECTOR_FILE_PRINT';
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
$connector = 'CONNECTOR_NETWORK_PRINT';
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
$connector = 'CONNECTOR_WINDOWS_PRINT';
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
$connector = 'CONNECTOR_UNKNOWN';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
print '<td>'.$langs->trans($connector).'</td>';
|
||||||
|
print '<td>'.$printer->listprinters[$line]['parameter'].'</td>';
|
||||||
|
// edit icon
|
||||||
|
print '<td><a href="'.$_SERVER['PHP_SELF'].'?action=editprinter&printerid='.$printer->listprinters[$line]['rowid'].'">';
|
||||||
|
print img_picto($langs->trans("Edit"),'edit');
|
||||||
|
print '</a></td>';
|
||||||
|
// delete icon
|
||||||
|
print '<td><a href="'.$_SERVER['PHP_SELF'].'?action=deleteprinter&printerid='.$printer->listprinters[$line]['rowid'].'&printername='.$printer->listprinters[$line]['name'].'">';
|
||||||
|
print img_picto($langs->trans("Delete"),'delete');
|
||||||
|
print '</a></td>';
|
||||||
|
// test icon
|
||||||
|
print '<td><a href="'.$_SERVER['PHP_SELF'].'?action=testprinter&printerid='.$printer->listprinters[$line]['rowid'].'&printername='.$printer->listprinters[$line]['name'].'">';
|
||||||
|
print img_picto($langs->trans("TestPrinter"),'printer');
|
||||||
|
print '</a></td>';
|
||||||
|
print '</tr>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($action!='editprinter') {
|
||||||
|
print '<tr class="liste_titre">';
|
||||||
|
print '<th>'.$langs->trans("Name").'</th>';
|
||||||
|
print '<th>'.$langs->trans("Type").'</th>';
|
||||||
|
print '<th>'.$langs->trans("Parameters").'</th>';
|
||||||
|
print '<th></th>';
|
||||||
|
print '<th></th>';
|
||||||
|
print '<th></th>';
|
||||||
|
print "</tr>\n";
|
||||||
|
print '<tr>';
|
||||||
|
print '<td><input size="50" type="text" name="printername"></td>';
|
||||||
|
$ret = $printer->selectTypePrinter();
|
||||||
|
print '<td>'.$printer->resprint.'</td>';
|
||||||
|
print '<td><input size="60" type="text" name="parameter"></td>';
|
||||||
|
print '<td></td>';
|
||||||
|
print '<td></td>';
|
||||||
|
print '<td></td>';
|
||||||
|
print '</tr>';
|
||||||
|
}
|
||||||
|
print '</table>';
|
||||||
|
|
||||||
|
dol_fiche_end();
|
||||||
|
if ($action!='editprinter') {
|
||||||
|
print '<div class="center"><input type="submit" class="button" value="'.dol_escape_htmltag($langs->trans("Add")).'"></div>';
|
||||||
|
} else {
|
||||||
|
print '<div class="center"><input type="submit" class="button" value="'.dol_escape_htmltag($langs->trans("Save")).'"></div>';
|
||||||
|
}
|
||||||
|
print '</form>';
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($mode == 'template' && $user->admin)
|
||||||
|
{
|
||||||
|
$tags = array(
|
||||||
|
'dol_align_left',
|
||||||
|
'dol_align_center',
|
||||||
|
'dol_align_right',
|
||||||
|
'dol_use_font_a',
|
||||||
|
'dol_use_font_b',
|
||||||
|
'dol_use_font_c',
|
||||||
|
'dol_bold',
|
||||||
|
'/dol_bold',
|
||||||
|
'dol_double_height',
|
||||||
|
'/dol_double_height',
|
||||||
|
'dol_double_width',
|
||||||
|
'/dol_double_width',
|
||||||
|
'dol_underline',
|
||||||
|
'/dol_underline',
|
||||||
|
'dol_underline_2dots',
|
||||||
|
'/dol_underline',
|
||||||
|
'dol_emphasized',
|
||||||
|
'/dol_emphasized',
|
||||||
|
'dol_switch_colors',
|
||||||
|
'/dol_switch_colors',
|
||||||
|
'dol_print_barcode',
|
||||||
|
'dol_print_barcode_customer_id',
|
||||||
|
'dol_set_print_width_57',
|
||||||
|
'dol_cut_paper_full',
|
||||||
|
'dol_cut_paper_partial',
|
||||||
|
'dol_open_drawer',
|
||||||
|
'dol_activate_buzzer',
|
||||||
|
'dol_print_qrcode',
|
||||||
|
'dol_print_date',
|
||||||
|
'dol_print_date_time',
|
||||||
|
'dol_print_year',
|
||||||
|
'dol_print_month_letters',
|
||||||
|
'dol_print_month',
|
||||||
|
'dol_print_day',
|
||||||
|
'dol_print_day_letters',
|
||||||
|
'dol_print_table',
|
||||||
|
'dol_print_cutlery',
|
||||||
|
'dol_print_payment',
|
||||||
|
'dol_print_logo',
|
||||||
|
'dol_print_logo_old',
|
||||||
|
'dol_print_order_lines',
|
||||||
|
'dol_print_order_tax',
|
||||||
|
'dol_print_order_local_tax',
|
||||||
|
'dol_print_order_total',
|
||||||
|
'dol_print_order_number',
|
||||||
|
'dol_print_order_number_unique',
|
||||||
|
'dol_print_customer_first_name',
|
||||||
|
'dol_print_customer_last_name',
|
||||||
|
'dol_print_customer_mail',
|
||||||
|
'dol_print_customer_telephone',
|
||||||
|
'dol_print_customer_mobile',
|
||||||
|
'dol_print_customer_skype',
|
||||||
|
'dol_print_customer_tax_number',
|
||||||
|
'dol_print_customer_account_balance',
|
||||||
|
'dol_print_vendor_last_name',
|
||||||
|
'dol_print_vendor_first_name',
|
||||||
|
'dol_print_vendor_mail',
|
||||||
|
'dol_print_customer_points',
|
||||||
|
'dol_print_order_points',
|
||||||
|
'dol_print_if_customer',
|
||||||
|
'dol_print_if_vendor',
|
||||||
|
'dol_print_if_happy_hour',
|
||||||
|
'dol_print_if_num_order_unique',
|
||||||
|
'dol_print_if_customer_points',
|
||||||
|
'dol_print_if_order_points',
|
||||||
|
'dol_print_if_customer_tax_number',
|
||||||
|
'dol_print_if_customer_account_balance_positive',
|
||||||
|
);
|
||||||
|
|
||||||
|
print '<form method="post" action="'.$_SERVER["PHP_SELF"].'?mode=config" autocomplete="off">';
|
||||||
|
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||||
|
print '<input type="hidden" name="action" value="addtemplate">';
|
||||||
|
|
||||||
|
dol_fiche_head($head, $mode, $langs->trans("ModuleSetup"), 0, 'technic');
|
||||||
|
|
||||||
|
print $langs->trans("ReceiptPrinterTemplateDesc")."<br><br>\n";
|
||||||
|
print '<table class="noborder" width="100%">'."\n";
|
||||||
|
$var=true;
|
||||||
|
print '<tr class="liste_titre">';
|
||||||
|
print '<th>'.$langs->trans("Template").'</th>';
|
||||||
|
print '<th></th>';
|
||||||
|
print "</tr>\n";
|
||||||
|
print '</table>';
|
||||||
|
print '</form>';
|
||||||
|
print '<table class="noborder" width="100%">'."\n";
|
||||||
|
$var=true;
|
||||||
|
print '<tr class="liste_titre">';
|
||||||
|
print '<th>'.$langs->trans("Tag").'</th>';
|
||||||
|
print '<th>'.$langs->trans("Description").'</th>';
|
||||||
|
print "</tr>\n";
|
||||||
|
for ($tag=0; $tag < count($tags); $tag++) {
|
||||||
|
$var = !$var;
|
||||||
|
print '<tr '.$bc[$var].'>';
|
||||||
|
print '<td><'.$tags[$tag].'></td><td>'.$langs->trans(strtoupper($tags[$tag])).'</td>';
|
||||||
|
print '</tr>';
|
||||||
|
}
|
||||||
|
print '</table>';
|
||||||
|
dol_fiche_end();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
llxFooter();
|
||||||
|
|
||||||
|
$db->close();
|
||||||
|
|
||||||
@ -58,6 +58,7 @@ if (GETPOST('action','alpha') == 'set')
|
|||||||
$res = dolibarr_set_const($db,"CASHDESK_ID_WAREHOUSE",(GETPOST('CASHDESK_ID_WAREHOUSE','alpha') > 0 ? GETPOST('CASHDESK_ID_WAREHOUSE','alpha') : ''),'chaine',0,'',$conf->entity);
|
$res = dolibarr_set_const($db,"CASHDESK_ID_WAREHOUSE",(GETPOST('CASHDESK_ID_WAREHOUSE','alpha') > 0 ? GETPOST('CASHDESK_ID_WAREHOUSE','alpha') : ''),'chaine',0,'',$conf->entity);
|
||||||
$res = dolibarr_set_const($db,"CASHDESK_NO_DECREASE_STOCK",GETPOST('CASHDESK_NO_DECREASE_STOCK','alpha'),'chaine',0,'',$conf->entity);
|
$res = dolibarr_set_const($db,"CASHDESK_NO_DECREASE_STOCK",GETPOST('CASHDESK_NO_DECREASE_STOCK','alpha'),'chaine',0,'',$conf->entity);
|
||||||
$res = dolibarr_set_const($db,"CASHDESK_SERVICES", GETPOST('CASHDESK_SERVICES','alpha'),'chaine',0,'',$conf->entity);
|
$res = dolibarr_set_const($db,"CASHDESK_SERVICES", GETPOST('CASHDESK_SERVICES','alpha'),'chaine',0,'',$conf->entity);
|
||||||
|
$res = dolibarr_set_const($db,"CASHDESK_DOLIBAR_RECEIPT_PRINTER", GETPOST('CASHDESK_DOLIBAR_RECEIPT_PRINTER','alpha'),'chaine',0,'',$conf->entity);
|
||||||
|
|
||||||
dol_syslog("admin/cashdesk: level ".GETPOST('level','alpha'));
|
dol_syslog("admin/cashdesk: level ".GETPOST('level','alpha'));
|
||||||
|
|
||||||
@ -169,6 +170,17 @@ if (! empty($conf->service->enabled))
|
|||||||
print "</td></tr>\n";
|
print "</td></tr>\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Use Dolibarr Receipt Printer
|
||||||
|
if (! empty($conf->receiptprinter->enabled))
|
||||||
|
{
|
||||||
|
$var=! $var;
|
||||||
|
print '<tr '.$bc[$var].'><td>';
|
||||||
|
print $langs->trans("DolibarrReceiptPrinter");
|
||||||
|
print '<td colspan="2">';
|
||||||
|
print $form->selectyesno("CASHDESK_DOLIBAR_RECEIPT_PRINTER",$conf->global->CASHDESK_DOLIBAR_RECEIPT_PRINTER,1);
|
||||||
|
print "</td></tr>\n";
|
||||||
|
}
|
||||||
|
|
||||||
print '</table>';
|
print '</table>';
|
||||||
print '<br>';
|
print '<br>';
|
||||||
|
|
||||||
|
|||||||
@ -19,78 +19,92 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* \file htdocs/core/class/dolreceiptprinter.class.php
|
* \file htdocs/core/class/dolreceiptprinter.class.php
|
||||||
* \brief Print receipt ticket on various printer
|
* \brief Print receipt ticket on various ESC/POS printer
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* codes for ticket template
|
* Tags for ticket template
|
||||||
*
|
*
|
||||||
* <align_left> Left align text
|
* <dol_align_left> Left align text
|
||||||
* <align_center> Center text
|
* <dol_align_center> Center text
|
||||||
* <align_right> Right align text
|
* <dol_align_right> Right align text
|
||||||
* <use_font_a> Use font A of printer
|
* <dol_use_font_a> Use font A of printer
|
||||||
* <use_font_b> Use font B of printer
|
* <dol_use_font_b> Use font B of printer
|
||||||
* <use_font_c> Use font C of printer
|
* <dol_use_font_c> Use font C of printer
|
||||||
* <bold> </bold> Text Bold
|
* <dol_bold> </dol_bold> Text Bold
|
||||||
* <double_height> </double_height> Text double height
|
* <dol_double_height> </dol_double_height> Text double height
|
||||||
* <double_width> </double_width> Text double width
|
* <dol_double_width> </dol_double_width> Text double width
|
||||||
* <underline> </underline> Underline text
|
* <dol_underline> </dol_underline> Underline text
|
||||||
* <underline_2dots> </underline> Underline with double line
|
* <dol_underline_2dots> </dol_underline_2dots> Underline with double line
|
||||||
* <emphasized> </emphasized> Emphasized text
|
* <dol_emphasized> </dol_emphasized> Emphasized text
|
||||||
* <switch_colors> </switch_colors> Print in white on black
|
* <dol_switch_colors> </dol_switch_colors> Print in white on black
|
||||||
* <print_barcode> Print barcode
|
* <dol_print_barcode> Print barcode
|
||||||
* <print_barcode_customer_id> Print barcode customer id
|
* <dol_print_barcode_customer_id> Print barcode customer id
|
||||||
* <set_print_width_57> Ticket print width of 57mm
|
* <dol_set_print_width_57> Ticket print width of 57mm
|
||||||
* <cut_paper_full> Cut ticket completely
|
* <dol_cut_paper_full> Cut ticket completely
|
||||||
* <cut_paper_partial> Cut ticket partially
|
* <dol_cut_paper_partial> Cut ticket partially
|
||||||
* <open_drawer> Open cash drawer
|
* <dol_open_drawer> Open cash drawer
|
||||||
* <activate_buzzer> Activate buzzer
|
* <dol_activate_buzzer> Activate buzzer
|
||||||
*
|
*
|
||||||
* Code which can be placed everywhere
|
* Code which can be placed everywhere
|
||||||
* <print_qrcode> Print QR Code
|
* <dol_print_qrcode> Print QR Code
|
||||||
* <print_date> Print date (format : AAAA-MM-DD)
|
* <dol_print_date> Print date AAAA-MM-DD
|
||||||
* <print_date_time> Print date and time (format AAAA-MM-DD HH:MM:SS)
|
* <dol_print_date_time> Print date and time AAAA-MM-DD HH:MM:SS
|
||||||
* <print_year> Print Year
|
* <dol_print_year> Print Year
|
||||||
* <print_month_letters> Print month in letters (example : november)
|
* <dol_print_month_letters> Print month in letters (example : november)
|
||||||
* <print_month> Print month number
|
* <dol_print_month> Print month number
|
||||||
* <print_day> Print day number
|
* <dol_print_day> Print day number
|
||||||
* <print_table> Print table number
|
* <dol_print_day_letters> Print day number
|
||||||
* <print_cutlery> Print cutlery number
|
* <dol_print_table> Print table number (for restaurant, bar...)
|
||||||
* <print_payment> Print payment method
|
* <dol_print_cutlery> Print number of cutlery (for restaurant)
|
||||||
* <print_logo> Print logo stored on printer. Example : <print_logo>32|32
|
* <dol_print_payment> Print payment method
|
||||||
* <print_logo_deprecated> Print logo stored on printer. Must be followed by logo code. For old printers.
|
* <dol_print_logo> Print logo stored on printer. Example : <print_logo>32|32
|
||||||
* <print_num_order> Print order number
|
* <dol_print_logo_old> Print logo stored on printer. Must be followed by logo code. For old printers.
|
||||||
* <print_num_order_unique> Print order number after validation
|
* <dol_print_order_lines> Print order lines
|
||||||
* <print_customer_first_name> Print customer firstname
|
* <dol_print_order_tax> Print order total tax
|
||||||
* <print_customer_last_name> Print customer name
|
* <dol_print_order_local_tax> Print order local tax
|
||||||
* <print_customer_mail> Print customer mail
|
* <dol_print_order_total> Print order total
|
||||||
* <print_customer_telephone> Print customer phone
|
* <dol_print_order_number> Print order number
|
||||||
* <print_customer_mobile> Print customer mobile
|
* <dol_print_order_number_unique> Print order number after validation
|
||||||
* <print_customer_skype> Print customer skype
|
* <dol_print_customer_first_name> Print customer firstname
|
||||||
* <print_customer_tax_number> Print customer VAT number
|
* <dol_print_customer_last_name> Print customer name
|
||||||
* <print_customer_account_balance> Print customer account balance
|
* <dol_print_customer_mail> Print customer mail
|
||||||
* <print_vendor_last_name> Print vendor name
|
* <dol_print_customer_telephone> Print customer phone
|
||||||
* <print_vendor_first_name> Print vendor firstname
|
* <dol_print_customer_mobile> Print customer mobile
|
||||||
* <print_customer_points> Print customer points
|
* <dol_print_customer_skype> Print customer skype
|
||||||
* <print_order_points> Print number of points for this order
|
* <dol_print_customer_tax_number> Print customer VAT number
|
||||||
|
* <dol_print_customer_account_balance> Print customer account balance
|
||||||
|
* <dol_print_vendor_last_name> Print vendor name
|
||||||
|
* <dol_print_vendor_first_name> Print vendor firstname
|
||||||
|
* <dol_print_vendor_mail> Print vendor mail
|
||||||
|
* <dol_print_customer_points> Print customer points
|
||||||
|
* <dol_print_order_points> Print number of points for this order
|
||||||
*
|
*
|
||||||
* Conditional code at line start (if…then Print)
|
* Conditional code at line start (if…then Print)
|
||||||
* <print_if_customer> Print the line IF a customer is affected to the order
|
* <dol_print_if_customer> Print the line IF a customer is affected to the order
|
||||||
* <print_if_vendor> Print the line IF a vendor is affected to the order
|
* <dol_print_if_vendor> Print the line IF a vendor is affected to the order
|
||||||
* <print_if_happy_hour> Print the line IF Happy Hour
|
* <dol_print_if_happy_hour> Print the line IF Happy Hour
|
||||||
* <print_if_num_order_unique> Print the line IF order is validated
|
* <dol_print_if_num_order_unique> Print the line IF order is validated
|
||||||
* <print_if_customer_points> Print the line IF customer points > 0
|
* <dol_print_if_customer_points> Print the line IF customer points > 0
|
||||||
* <print_if_order_points> Print the line IF points of the order > 0
|
* <dol_print_if_order_points> Print the line IF points of the order > 0
|
||||||
* <print_if_customer_tax_number> Print the line IF customer has vat number
|
* <dol_print_if_customer_tax_number> Print the line IF customer has vat number
|
||||||
* <print_if_customer_account_balance_positive> Print the line IF customer balance > 0
|
* <dol_print_if_customer_account_balance_positive> Print the line IF customer balance > 0
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
require_once DOL_DOCUMENT_ROOT .'/includes/escpos/Escpos.php';
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class to manage Receipt Printers
|
* Class to manage Receipt Printers
|
||||||
*/
|
*/
|
||||||
class dolReceiptPrinter
|
class dolReceiptPrinter extends Escpos
|
||||||
{
|
{
|
||||||
|
const CONNECTOR_DUMMY = 1;
|
||||||
|
const CONNECTOR_FILE_PRINT = 2;
|
||||||
|
const CONNECTOR_NETWORK_PRINT = 3;
|
||||||
|
const CONNECTOR_WINDOWS_PRINT = 4;
|
||||||
|
//const CONNECTOR_JAVA = 6;
|
||||||
var $db;
|
var $db;
|
||||||
var $error;
|
var $error;
|
||||||
var $errors;
|
var $errors;
|
||||||
@ -107,5 +121,191 @@ class dolReceiptPrinter
|
|||||||
$this->db=$db;
|
$this->db=$db;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructor
|
||||||
|
*
|
||||||
|
* @return int 0 if OK; >0 if KO
|
||||||
|
*/
|
||||||
|
function listPrinters()
|
||||||
|
{
|
||||||
|
global $conf;
|
||||||
|
$error = 0;
|
||||||
|
$line = 0;
|
||||||
|
$sql = 'SELECT rowid, name, fk_type, parameter';
|
||||||
|
$sql.= ' FROM '.MAIN_DB_PREFIX.'printer_receipt';
|
||||||
|
$sql.= ' WHERE entity = '.$conf->entity;
|
||||||
|
$resql = $this->db->query($sql);
|
||||||
|
if ($resql) {
|
||||||
|
$num = $this->db->num_rows($resql);
|
||||||
|
while ($line < $num) {
|
||||||
|
$obj[] = $this->db->fetch_array($resql);
|
||||||
|
$line++;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$error++;
|
||||||
|
$this->errors[] = $this->db->lasterror;
|
||||||
|
}
|
||||||
|
$this->listprinters = $obj;
|
||||||
|
return $error;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Form to Select type printer
|
||||||
|
*
|
||||||
|
* @param string $selected Id printer type pre-selected
|
||||||
|
* @param string $htmlname select html name
|
||||||
|
* @return int 0 if OK; >0 if KO
|
||||||
|
*/
|
||||||
|
function selectTypePrinter($selected='', $htmlname='printertypeid')
|
||||||
|
{
|
||||||
|
global $langs;
|
||||||
|
$error = 0;
|
||||||
|
$html = '<select class="flat" name="'.$htmlname.'">';
|
||||||
|
$html.= '<option value="1" '.($selected==1?'selected="selected"':'').'>'.$langs->trans('CONNECTOR_DUMMY').'</option>';
|
||||||
|
$html.= '<option value="2" '.($selected==2?'selected="selected"':'').'>'.$langs->trans('CONNECTOR_FILE_PRINT').'</option>';
|
||||||
|
$html.= '<option value="3" '.($selected==3?'selected="selected"':'').'>'.$langs->trans('CONNECTOR_NETWORK_PRINT').'</option>';
|
||||||
|
$html.= '<option value="4" '.($selected==4?'selected="selected"':'').'>'.$langs->trans('CONNECTOR_WINDOWS_PRINT').'</option>';
|
||||||
|
//$html.= '<option value="5" '.($selected==5?'selected="selected"':'').'>'.$langs->trans('CONNECTOR_JAVA').'</option>';
|
||||||
|
$html.= '</select>';
|
||||||
|
|
||||||
|
$this->resprint = $html;
|
||||||
|
return $error;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function to Add a printer in db
|
||||||
|
*
|
||||||
|
* @param string $name Printer name
|
||||||
|
* @param int $type Printer type
|
||||||
|
* @param string $parameter Printer parameter
|
||||||
|
* @return int 0 if OK; >0 if KO
|
||||||
|
*/
|
||||||
|
function AddPrinter($name, $type, $parameter)
|
||||||
|
{
|
||||||
|
global $conf;
|
||||||
|
$error = 0;
|
||||||
|
$sql = 'INSERT INTO '.MAIN_DB_PREFIX.'printer_receipt';
|
||||||
|
$sql.= ' (name, fk_type, parameter, entity)';
|
||||||
|
$sql.= ' VALUES ("'.$name.'", '.$type.', "'.$parameter.'", '.$conf->entity.')';
|
||||||
|
$resql = $this->db->query($sql);
|
||||||
|
if (! $resql) {
|
||||||
|
$error++;
|
||||||
|
$this->errors[] = $this->db->lasterror;
|
||||||
|
}
|
||||||
|
return $error;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function to Update a printer in db
|
||||||
|
*
|
||||||
|
* @param string $name Printer name
|
||||||
|
* @param int $type Printer type
|
||||||
|
* @param string $parameter Printer parameter
|
||||||
|
* @param int $printerid Printer id
|
||||||
|
* @return int 0 if OK; >0 if KO
|
||||||
|
*/
|
||||||
|
function UpdatePrinter($name, $type, $parameter, $printerid)
|
||||||
|
{
|
||||||
|
global $conf;
|
||||||
|
$error = 0;
|
||||||
|
$sql = 'UPDATE '.MAIN_DB_PREFIX.'printer_receipt';
|
||||||
|
$sql.= ' SET name="'.$name.'"';
|
||||||
|
$sql.= ', fk_type='.$type;
|
||||||
|
$sql.= ', parameter="'.$parameter.'"';
|
||||||
|
$sql.= ' WHERE rowid='.$printerid;
|
||||||
|
$resql = $this->db->query($sql);
|
||||||
|
if (! $resql) {
|
||||||
|
$error++;
|
||||||
|
$this->errors[] = $this->db->lasterror;
|
||||||
|
}
|
||||||
|
return $error;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function to Delete a printer from db
|
||||||
|
*
|
||||||
|
* @param int $printerid Printer id
|
||||||
|
* @return int 0 if OK; >0 if KO
|
||||||
|
*/
|
||||||
|
function DeletePrinter($printerid)
|
||||||
|
{
|
||||||
|
global $conf;
|
||||||
|
$error = 0;
|
||||||
|
$sql = 'DELETE FROM '.MAIN_DB_PREFIX.'printer_receipt';
|
||||||
|
$sql.= ' WHERE rowid='.$printerid;
|
||||||
|
$resql = $this->db->query($sql);
|
||||||
|
if (! $resql) {
|
||||||
|
$error++;
|
||||||
|
$this->errors[] = $this->db->lasterror;
|
||||||
|
}
|
||||||
|
return $error;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function to Send Test äge to Printer
|
||||||
|
*
|
||||||
|
* @param int $printerid Printer id
|
||||||
|
* @return int 0 if OK; >0 if KO
|
||||||
|
*/
|
||||||
|
function SendTestToPrinter($printerid)
|
||||||
|
{
|
||||||
|
global $conf;
|
||||||
|
$error = 0;
|
||||||
|
$sql = 'SELECT rowid, name, fk_type, parameter';
|
||||||
|
$sql.= ' FROM '.MAIN_DB_PREFIX.'printer_receipt';
|
||||||
|
$sql.= ' WHERE rowid = '.$printerid;
|
||||||
|
$sql.= ' AND entity = '.$conf->entity;
|
||||||
|
$resql = $this->db->query($sql);
|
||||||
|
if ($resql) {
|
||||||
|
$obj = $this->db->fetch_array($resql);
|
||||||
|
} else {
|
||||||
|
$error++;
|
||||||
|
$this->errors[] = $this->db->lasterror;
|
||||||
|
}
|
||||||
|
//print '<pre>'.print_r($obj, true).'</pre>';
|
||||||
|
if (! $error) {
|
||||||
|
$parameter = $obj['parameter'];
|
||||||
|
try {
|
||||||
|
switch ($obj['fk_type']) {
|
||||||
|
case 1:
|
||||||
|
require_once DOL_DOCUMENT_ROOT .'/includes/escpos/src/DummyPrintConnector.php';
|
||||||
|
$connector = new DummyPrintConnector();
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
$connector = new FilePrintConnector($parameter);
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
$parameters = explode(':', $parameter);
|
||||||
|
$connector = new NetworkPrintConnector($parameters[0], $parameters[1]);
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
$connector = new WindowsPrintConnector($parameter);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
$connector = 'CONNECTOR_UNKNOWN';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
$testprinter = new Escpos($connector);
|
||||||
|
$img = new EscposImage(DOL_DOCUMENT_ROOT .'/theme/common/dolibarr_logo_bw.png');
|
||||||
|
$testprinter -> graphics($img);
|
||||||
|
$testprinter -> text("Hello World!\n");
|
||||||
|
$testStr = "Testing 123";
|
||||||
|
$testprinter -> qrCode($testStr);
|
||||||
|
$testprinter -> text("Most simple example\n");
|
||||||
|
$testprinter -> feed();
|
||||||
|
$testprinter -> cut();
|
||||||
|
//print '<pre>'.print_r($connector, true).'</pre>';
|
||||||
|
$testprinter -> close();
|
||||||
|
|
||||||
|
//print '<pre>'.print_r($connector, true).'</pre>';
|
||||||
|
//print '<pre>'.print_r($testprinter, true).'</pre>';
|
||||||
|
} catch (Exception $e) {
|
||||||
|
$this->errors[] = $e->getMessage();
|
||||||
|
$error++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $error;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
72
htdocs/core/lib/receiptprinter.lib.php
Normal file
72
htdocs/core/lib/receiptprinter.lib.php
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
<?php
|
||||||
|
/* Copyright (C) 2015 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
|
* Copyright (C) 2015 Frederic France <frederic.france@free.fr>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \file htdocs/core/lib/receiptprinter.lib.php
|
||||||
|
* \ingroup printing
|
||||||
|
* \brief Library for receipt printer functions
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Define head array for tabs of receipt printer setup pages
|
||||||
|
*
|
||||||
|
* @param string $mode Mode
|
||||||
|
* @return Array of head
|
||||||
|
*/
|
||||||
|
function receiptprinteradmin_prepare_head($mode)
|
||||||
|
{
|
||||||
|
global $langs, $conf;
|
||||||
|
|
||||||
|
$h = 0;
|
||||||
|
$head = array();
|
||||||
|
|
||||||
|
$head[$h][0] = DOL_URL_ROOT."/admin/receiptprinter.php?mode=config";
|
||||||
|
$head[$h][1] = $langs->trans("ListPrinters");
|
||||||
|
$head[$h][2] = 'config';
|
||||||
|
$h++;
|
||||||
|
|
||||||
|
$head[$h][0] = DOL_URL_ROOT."/admin/receiptprinter.php?mode=template";
|
||||||
|
$head[$h][1] = $langs->trans("SetupReceiptTemplate");
|
||||||
|
$head[$h][2] = 'template';
|
||||||
|
$h++;
|
||||||
|
|
||||||
|
if ($mode == 'test')
|
||||||
|
{
|
||||||
|
$head[$h][0] = DOL_URL_ROOT."/admin/receiptprinter.php?mode=test";
|
||||||
|
$head[$h][1] = $langs->trans("TargetedPrinter");
|
||||||
|
$head[$h][2] = 'test';
|
||||||
|
$h++;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//$object=new stdClass();
|
||||||
|
|
||||||
|
// Show more tabs from modules
|
||||||
|
// Entries must be declared in modules descriptor with line
|
||||||
|
// $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab
|
||||||
|
// $this->tabs = array('entity:-tabname); to remove a tab
|
||||||
|
//complete_head_from_modules($conf,$langs,$object,$head,$h,'printingadmin');
|
||||||
|
|
||||||
|
//complete_head_from_modules($conf,$langs,$object,$head,$h,'printing','remove');
|
||||||
|
|
||||||
|
return $head;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -50,7 +50,7 @@ class modReceiptPrinter extends DolibarrModules
|
|||||||
// Module label (no space allowed), used if translation string 'ModuleXXXName' not found (where XXX is value of numeric property 'numero' of module)
|
// 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->name = preg_replace('/^mod/i','',get_class($this));
|
||||||
// Module description, used if translation string 'ModuleXXXDesc' not found (where XXX is value of numeric property 'numero' of module)
|
// Module description, used if translation string 'ModuleXXXDesc' not found (where XXX is value of numeric property 'numero' of module)
|
||||||
$this->description = "Receipt Printer.";
|
$this->description = "ReceiptPrinterDesc";
|
||||||
$this->version = 'dolibarr'; // 'development' or 'experimental' or 'dolibarr' or version
|
$this->version = 'dolibarr'; // 'development' or 'experimental' or 'dolibarr' or version
|
||||||
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
|
$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)
|
// Where to store the module in setup page (0=common,1=interface,2=others,3=very specific)
|
||||||
@ -70,7 +70,7 @@ class modReceiptPrinter extends DolibarrModules
|
|||||||
$this->depends = array();
|
$this->depends = array();
|
||||||
$this->requiredby = array();
|
$this->requiredby = array();
|
||||||
$this->phpmin = array(5,1); // Minimum version of PHP required by module
|
$this->phpmin = array(5,1); // Minimum version of PHP required by module
|
||||||
$this->need_dolibarr_version = array(3,7,-2); // Minimum version of Dolibarr required by module
|
$this->need_dolibarr_version = array(3,9,-2); // Minimum version of Dolibarr required by module
|
||||||
$this->conflictwith = array();
|
$this->conflictwith = array();
|
||||||
$this->langfiles = array("receiptprinter");
|
$this->langfiles = array("receiptprinter");
|
||||||
|
|
||||||
|
|||||||
@ -38,3 +38,4 @@ ShowStock=Show warehouse
|
|||||||
DeleteArticle=Click to remove this article
|
DeleteArticle=Click to remove this article
|
||||||
FilterRefOrLabelOrBC=Search (Ref/Label)
|
FilterRefOrLabelOrBC=Search (Ref/Label)
|
||||||
UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that use POS need to have permission to edit stock.
|
UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that use POS need to have permission to edit stock.
|
||||||
|
DolibarrReceiptPrinter=Dolibarr Receipt Printer
|
||||||
|
|||||||
80
htdocs/langs/en_US/receiptprinter.lang
Normal file
80
htdocs/langs/en_US/receiptprinter.lang
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
# Dolibarr language file - Source file is en_US - receiptprinter
|
||||||
|
PrinterAdded=Printer %s added
|
||||||
|
PrinterUpdated=Printer %s updated
|
||||||
|
PrinterDeleted=Printer %s deleted
|
||||||
|
TestSentToPrinter=Test Sent To Printer %s
|
||||||
|
CONNECTOR_DUMMY=Dummy Printer
|
||||||
|
CONNECTOR_NETWORK_PRINT=Network Printer
|
||||||
|
CONNECTOR_FILE_PRINT=Local Printer
|
||||||
|
CONNECTOR_WINDOWS_PRINT=Local Windows Printer
|
||||||
|
CONNECTOR_DUMMY_HELP=Fake Printer for test, does nothing
|
||||||
|
CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x:9100
|
||||||
|
CONNECTOR_FILE_PRINT_HELP=/dev/usb/lp0, /dev/usb/lp1
|
||||||
|
CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb://FooUser:secret@computername/workgroup/Receipt Printer
|
||||||
|
DOL_ALIGN_LEFT=Left align text
|
||||||
|
DOL_ALIGN_CENTER=Center text
|
||||||
|
DOL_ALIGN_RIGHT=Right align text
|
||||||
|
DOL_USE_FONT_A=Use font A of printer
|
||||||
|
DOL_USE_FONT_B=Use font B of printer
|
||||||
|
DOL_USE_FONT_C=Use font C of printer
|
||||||
|
DOL_BOLD=Text Bold
|
||||||
|
/DOL_BOLD=End of Text Bold
|
||||||
|
DOL_DOUBLE_HEIGHT=Text double height
|
||||||
|
/DOL_DOUBLE_HEIGHT=End of Text double height
|
||||||
|
DOL_DOUBLE_WIDTH=Text double width
|
||||||
|
/DOL_DOUBLE_WIDTH=End of Text double width
|
||||||
|
DOL_UNDERLINE=Underline text
|
||||||
|
/DOL_UNDERLINE=End of Underline text
|
||||||
|
DOL_UNDERLINE_2DOTS=Underline with double line
|
||||||
|
/DOL_UNDERLINE_2DOTS=End of Underline with double line
|
||||||
|
DOL_EMPHASIZED=Emphasized text
|
||||||
|
/DOL_EMPHASIZED=End of Emphasized text
|
||||||
|
DOL_SWITCH_COLORS=Print in white on black
|
||||||
|
/DOL_SWITCH_COLORS=End of Print in white on black
|
||||||
|
DOL_PRINT_BARCODE=Print barcode
|
||||||
|
DOL_PRINT_BARCODE_CUSTOMER_ID=Print barcode customer id
|
||||||
|
DOL_SET_PRINT_WIDTH_57=Ticket print width of 57mm
|
||||||
|
DOL_CUT_PAPER_FULL=Cut ticket completely
|
||||||
|
DOL_CUT_PAPER_PARTIAL=Cut ticket partially
|
||||||
|
DOL_OPEN_DRAWER=Open cash drawer
|
||||||
|
DOL_ACTIVATE_BUZZER=Activate buzzer
|
||||||
|
DOL_PRINT_QRCODE=Print QR Code
|
||||||
|
DOL_PRINT_DATE=Print date AAAA-MM-DD
|
||||||
|
DOL_PRINT_DATE_TIME=Print date and time AAAA-MM-DD HH:MM:SS
|
||||||
|
DOL_PRINT_YEAR=Print Year
|
||||||
|
DOL_PRINT_MONTH_LETTERS=Print month in letters (example : november)
|
||||||
|
DOL_PRINT_MONTH=Print month number
|
||||||
|
DOL_PRINT_DAY=Print day number
|
||||||
|
DOL_PRINT_DAY_LETTERS=Print day number
|
||||||
|
DOL_PRINT_TABLE=Print table number (for restaurant, bar...)
|
||||||
|
DOL_PRINT_CUTLERY=Print number of cutlery (for restaurant)
|
||||||
|
DOL_PRINT_PAYMENT=Print payment method
|
||||||
|
DOL_PRINT_LOGO=Print logo stored on printer. Example : 32|32
|
||||||
|
DOL_PRINT_LOGO_OLD=Print logo stored on printer. Must be followed by logo code. For old printers.
|
||||||
|
DOL_PRINT_ORDER_LINES=Print order lines
|
||||||
|
DOL_PRINT_ORDER_TAX=Print order total tax
|
||||||
|
DOL_PRINT_ORDER_LOCAL_TAX=Print order local tax
|
||||||
|
DOL_PRINT_ORDER_TOTAL=Print order total
|
||||||
|
DOL_PRINT_ORDER_NUMBER=Print order number
|
||||||
|
DOL_PRINT_ORDER_NUMBER_UNIQUE=Print order number after validation
|
||||||
|
DOL_PRINT_CUSTOMER_FIRST_NAME=Print customer firstname
|
||||||
|
DOL_PRINT_CUSTOMER_LAST_NAME=Print customer name
|
||||||
|
DOL_PRINT_CUSTOMER_MAIL=Print customer mail
|
||||||
|
DOL_PRINT_CUSTOMER_TELEPHONE=Print customer phone
|
||||||
|
DOL_PRINT_CUSTOMER_MOBILE=Print customer mobile
|
||||||
|
DOL_PRINT_CUSTOMER_SKYPE=Print customer skype
|
||||||
|
DOL_PRINT_CUSTOMER_TAX_NUMBER=Print customer VAT number
|
||||||
|
DOL_PRINT_CUSTOMER_ACCOUNT_BALANCE=Print customer account balance
|
||||||
|
DOL_PRINT_VENDOR_LAST_NAME=Print vendor name
|
||||||
|
DOL_PRINT_VENDOR_FIRST_NAME=Print vendor firstname
|
||||||
|
DOL_PRINT_VENDOR_MAIL=Print vendor mail
|
||||||
|
DOL_PRINT_CUSTOMER_POINTS=Print customer points
|
||||||
|
DOL_PRINT_ORDER_POINTS=Print number of points for this order
|
||||||
|
DOL_PRINT_IF_CUSTOMER=Print the line IF a customer is affected to the order
|
||||||
|
DOL_PRINT_IF_VENDOR=Print the line IF a vendor is affected to the order
|
||||||
|
DOL_PRINT_IF_HAPPY_HOUR=Print the line IF Happy Hour
|
||||||
|
DOL_PRINT_IF_NUM_ORDER_UNIQUE=Print the line IF order is validated
|
||||||
|
DOL_PRINT_IF_CUSTOMER_POINTS=Print the line IF customer points > 0
|
||||||
|
DOL_PRINT_IF_ORDER_POINTS=Print the line IF points of the order > 0
|
||||||
|
DOL_PRINT_IF_CUSTOMER_TAX_NUMBER=Print the line IF customer has vat number
|
||||||
|
DOL_PRINT_IF_CUSTOMER_ACCOUNT_BALANCE_POSITIVE=Print the line IF customer balance > 0
|
||||||
BIN
htdocs/theme/common/dolibarr_logo_bw.png
Normal file
BIN
htdocs/theme/common/dolibarr_logo_bw.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 791 B |
Loading…
Reference in New Issue
Block a user