28require 
'../../main.inc.php'; 
 
   29require_once DOL_DOCUMENT_ROOT.
'/core/lib/admin.lib.php';
 
   30require_once DOL_DOCUMENT_ROOT.
'/product/class/html.formproduct.class.php';
 
   31require_once DOL_DOCUMENT_ROOT.
'/core/lib/pdf.lib.php';
 
   32require_once DOL_DOCUMENT_ROOT.
'/categories/class/categorie.class.php';
 
   33require_once DOL_DOCUMENT_ROOT.
"/core/lib/takepos.lib.php";
 
   34require_once DOL_DOCUMENT_ROOT.
'/stripe/class/stripe.class.php';
 
   38if (
GETPOST(
'CASHDESK_ID_THIRDPARTY'.$terminal.
'_id', 
'alpha')) {
 
   39  $_GET[
'CASHDESK_ID_THIRDPARTY'.$terminal] = 
GETPOST(
'CASHDESK_ID_THIRDPARTY'.$terminal.
'_id', 
'alpha');
 
   40  $_POST[
'CASHDESK_ID_THIRDPARTY'.$terminal] = 
GETPOST(
'CASHDESK_ID_THIRDPARTY'.$terminal.
'_id', 
'alpha');
 
   41  $_REQUEST[
'CASHDESK_ID_THIRDPARTY'.$terminal] = 
GETPOST(
'CASHDESK_ID_THIRDPARTY'.$terminal.
'_id', 
'alpha');
 
   49$langs->loadLangs(array(
"admin", 
"cashdesk", 
"printing", 
"receiptprinter"));
 
   53$sql = 
"SELECT code, libelle as label FROM ".MAIN_DB_PREFIX.
"c_paiement";
 
   54$sql .= 
" WHERE entity IN (".getEntity(
'c_paiement').
")";
 
   55$sql .= 
" AND active = 1";
 
   56$sql .= 
" ORDER BY libelle";
 
   57$resql = $db->query($sql);
 
   60  while ($obj = $db->fetch_object($resql)) {
 
   61    array_push($paiements, $obj);
 
   65$terminaltouse = $terminal;
 
   72if (
GETPOST(
'action', 
'alpha') == 
'set') {
 
   75  $res = 
dolibarr_set_const($db, 
"TAKEPOS_TERMINAL_NAME_".$terminaltouse, (!empty(
GETPOST(
'terminalname'.$terminaltouse, 
'restricthtml')) ? 
GETPOST(
'terminalname'.$terminaltouse, 
'restricthtml') : $langs->trans(
"TerminalName", $terminaltouse)), 
'chaine', 0, 
'', $conf->entity);
 
   79  if (GETPOSTISSET(
'projectid')) {
 
   82  if (GETPOSTISSET(
'CASHDESK_ID_BANKACCOUNT_CASH'.$terminaltouse)) {
 
   83    $res = 
dolibarr_set_const($db, 
"CASHDESK_ID_BANKACCOUNT_CASH".$terminaltouse, (
GETPOST(
'CASHDESK_ID_BANKACCOUNT_CASH'.$terminaltouse, 
'alpha') > 0 ? 
GETPOST(
'CASHDESK_ID_BANKACCOUNT_CASH'.$terminaltouse, 
'alpha') : 
''), 
'chaine', 0, 
'', $conf->entity);
 
   85  if (GETPOSTISSET(
'CASHDESK_ID_BANKACCOUNT_CHEQUE'.$terminaltouse)) {
 
   86    $res = 
dolibarr_set_const($db, 
"CASHDESK_ID_BANKACCOUNT_CHEQUE".$terminaltouse, (
GETPOST(
'CASHDESK_ID_BANKACCOUNT_CHEQUE'.$terminaltouse, 
'alpha') > 0 ? 
GETPOST(
'CASHDESK_ID_BANKACCOUNT_CHEQUE'.$terminaltouse, 
'alpha') : 
''), 
'chaine', 0, 
'', $conf->entity);
 
   88  if (GETPOSTISSET(
'CASHDESK_ID_BANKACCOUNT_CB'.$terminaltouse)) {
 
   89    $res = 
dolibarr_set_const($db, 
"CASHDESK_ID_BANKACCOUNT_CB".$terminaltouse, (
GETPOST(
'CASHDESK_ID_BANKACCOUNT_CB'.$terminaltouse, 
'alpha') > 0 ? 
GETPOST(
'CASHDESK_ID_BANKACCOUNT_CB'.$terminaltouse, 
'alpha') : 
''), 
'chaine', 0, 
'', $conf->entity);
 
   91  if (GETPOSTISSET(
'CASHDESK_ID_BANKACCOUNT_STRIPETERMINAL'.$terminaltouse)) {
 
   92    $res = 
dolibarr_set_const($db, 
"CASHDESK_ID_BANKACCOUNT_STRIPETERMINAL".$terminaltouse, 
GETPOST(
'CASHDESK_ID_BANKACCOUNT_STRIPETERMINAL'.$terminaltouse, 
'alpha'), 
'chaine', 0, 
'', $conf->entity);
 
   94  if (GETPOSTISSET(
'CASHDESK_ID_BANKACCOUNT_SUMUP'.$terminaltouse)) {
 
   95    $res = 
dolibarr_set_const($db, 
"CASHDESK_ID_BANKACCOUNT_SUMUP".$terminaltouse, (
GETPOST(
'CASHDESK_ID_BANKACCOUNT_SUMUP'.$terminaltouse, 
'alpha') > 0 ? 
GETPOST(
'CASHDESK_ID_BANKACCOUNT_SUMUP'.$terminaltouse, 
'alpha') : 
''), 
'chaine', 0, 
'', $conf->entity);
 
   97  foreach ($paiements as $modep) {
 
   98    if (in_array($modep->code, array(
'LIQ', 
'CB', 
'CHQ'))) {
 
  101    $name = 
"CASHDESK_ID_BANKACCOUNT_".$modep->code.$terminaltouse;
 
  102    if (GETPOSTISSET($name)) {
 
  106  if (GETPOSTISSET(
'CASHDESK_ID_WAREHOUSE'.$terminaltouse)) {
 
  107    $res = 
dolibarr_set_const($db, 
"CASHDESK_ID_WAREHOUSE".$terminaltouse, (
GETPOST(
'CASHDESK_ID_WAREHOUSE'.$terminaltouse, 
'alpha') > 0 ? 
GETPOST(
'CASHDESK_ID_WAREHOUSE'.$terminaltouse, 
'alpha') : 
''), 
'chaine', 0, 
'', $conf->entity);
 
  109  if (GETPOSTISSET(
'CASHDESK_NO_DECREASE_STOCK'.$terminaltouse)) {
 
  110    $res = 
dolibarr_set_const($db, 
"CASHDESK_NO_DECREASE_STOCK".$terminaltouse, 
GETPOST(
'CASHDESK_NO_DECREASE_STOCK'.$terminaltouse, 
'alpha'), 
'chaine', 0, 
'', $conf->entity);
 
  112  if (GETPOSTISSET(
'TAKEPOS_PRINTER_TO_USE'.$terminaltouse)) {
 
  113    $res = 
dolibarr_set_const($db, 
"TAKEPOS_PRINTER_TO_USE".$terminaltouse, 
GETPOST(
'TAKEPOS_PRINTER_TO_USE'.$terminaltouse, 
'alpha'), 
'chaine', 0, 
'', $conf->entity);
 
  115  if (GETPOSTISSET(
'TAKEPOS_ORDER_PRINTER1_TO_USE'.$terminaltouse)) {
 
  116    $res = 
dolibarr_set_const($db, 
"TAKEPOS_ORDER_PRINTER1_TO_USE".$terminaltouse, 
GETPOST(
'TAKEPOS_ORDER_PRINTER1_TO_USE'.$terminaltouse, 
'alpha'), 
'chaine', 0, 
'', $conf->entity);
 
  118  if (GETPOSTISSET(
'TAKEPOS_ORDER_PRINTER2_TO_USE'.$terminaltouse)) {
 
  119    $res = 
dolibarr_set_const($db, 
"TAKEPOS_ORDER_PRINTER2_TO_USE".$terminaltouse, 
GETPOST(
'TAKEPOS_ORDER_PRINTER2_TO_USE'.$terminaltouse, 
'alpha'), 
'chaine', 0, 
'', $conf->entity);
 
  121  if (GETPOSTISSET(
'TAKEPOS_ORDER_PRINTER3_TO_USE'.$terminaltouse)) {
 
  122    $res = 
dolibarr_set_const($db, 
"TAKEPOS_ORDER_PRINTER3_TO_USE".$terminaltouse, 
GETPOST(
'TAKEPOS_ORDER_PRINTER3_TO_USE'.$terminaltouse, 
'alpha'), 
'chaine', 0, 
'', $conf->entity);
 
  124  if (GETPOSTISSET(
'TAKEPOS_TEMPLATE_TO_USE_FOR_INVOICES'.$terminaltouse)) {
 
  125    $res = 
dolibarr_set_const($db, 
"TAKEPOS_TEMPLATE_TO_USE_FOR_INVOICES".$terminaltouse, 
GETPOST(
'TAKEPOS_TEMPLATE_TO_USE_FOR_INVOICES'.$terminaltouse, 
'alpha'), 
'chaine', 0, 
'', $conf->entity);
 
  127  if (GETPOSTISSET(
'TAKEPOS_TEMPLATE_TO_USE_FOR_ORDERS'.$terminaltouse)) {
 
  128    $res = 
dolibarr_set_const($db, 
"TAKEPOS_TEMPLATE_TO_USE_FOR_ORDERS".$terminaltouse, 
GETPOST(
'TAKEPOS_TEMPLATE_TO_USE_FOR_ORDERS'.$terminaltouse, 
'alpha'), 
'chaine', 0, 
'', $conf->entity);
 
  131  if (GETPOSTISSET(
'CASHDESK_READER_KEYCODE_FOR_ENTER'.$terminaltouse)) {
 
  132    $res = 
dolibarr_set_const($db, 
'CASHDESK_READER_KEYCODE_FOR_ENTER'.$terminaltouse, (
GETPOSTINT(
'CASHDESK_READER_KEYCODE_FOR_ENTER'.$terminaltouse) > 0 ? 
GETPOSTINT(
'CASHDESK_READER_KEYCODE_FOR_ENTER'.$terminaltouse) : 
''), 
'chaine', 0, 
'', $conf->entity);
 
  135  if (GETPOSTISSET(
'TAKEPOS_ADDON'.$terminaltouse)) {
 
  136    $res = 
dolibarr_set_const($db, 
"TAKEPOS_ADDON".$terminaltouse, 
GETPOST(
'TAKEPOS_ADDON'.$terminaltouse, 
'alpha'), 
'chaine', 0, 
'', $conf->entity);
 
  140  if (GETPOSTISSET(
'TAKEPOS_HEADER'.$terminaltouse)) {
 
  141    $res = 
dolibarr_set_const($db, 
'TAKEPOS_HEADER'.$terminaltouse, 
GETPOST(
'TAKEPOS_HEADER'.$terminaltouse, 
'restricthtml'), 
'chaine', 0, 
'', $conf->entity);
 
  143  if (GETPOSTISSET(
'TAKEPOS_FOOTER'.$terminaltouse)) {
 
  144    $res = 
dolibarr_set_const($db, 
'TAKEPOS_FOOTER'.$terminaltouse, 
GETPOST(
'TAKEPOS_FOOTER'.$terminaltouse, 
'restricthtml'), 
'chaine', 0, 
'', $conf->entity);
 
  167$form = 
new Form($db);
 
  170llxHeader(
'', $langs->trans(
"CashDeskSetup"), 
'', 
'', 0, 0, 
'', 
'', 
'', 
'mod-takepos page-admin_terminal');
 
  172$linkback = 
'<a href="'.DOL_URL_ROOT.
'/admin/modules.php">'.$langs->trans(
"BackToModuleList").
'</a>';
 
  173print 
load_fiche_titre($langs->trans(
"CashDeskSetup").
' (TakePOS)', $linkback, 
'title_setup');
 
  180print 
'<form action="'.$_SERVER[
"PHP_SELF"].
'?terminal='.(empty($terminal) ? 1 : $terminal).
'" method="post">';
 
  181print 
'<input type="hidden" name="token" value="'.newToken().
'">';
 
  182print 
'<input type="hidden" name="action" value="set">';
 
  184print 
'<div class="div-table-responsive">';
 
  185print 
'<table class="noborder centpercent">';
 
  186print 
'<tr class="liste_titre">';
 
  187print 
'<td>'.$langs->trans(
"Parameters").
'</td><td></td>';
 
  190print 
'<tr class="oddeven"><td class="fieldrequired">'.$langs->trans(
"TerminalNameDesc").
'</td>';
 
  192print 
'<input type="text" name="terminalname'.$terminal.
'" value="'.
getDolGlobalString(
"TAKEPOS_TERMINAL_NAME_".$terminal, $langs->trans(
"TerminalName", $terminal)).
'" >';
 
  195print 
'<tr class="oddeven"><td>'.$langs->trans(
"ForbidSalesToTheDefaultCustomer").
'</td>';
 
  197print ajax_constantonoff(
"TAKEPOS_FORBID_SALES_TO_DEFAULT_CUSTOMER", array(), $conf->entity, 0, 0, 1, 0);
 
  201  print 
'<tr class="oddeven"><td class="fieldrequired">'.$langs->trans(
"CashDeskThirdPartyForSell").
'</td>';
 
  203  print 
img_picto(
'', 
'company', 
'class="pictofixedwidth"');
 
  204  $filter = 
'((s.client:IN:1,2,3) AND (s.status:=:1))';
 
  205  print $form->select_company(
getDolGlobalInt(
'CASHDESK_ID_THIRDPARTY'.$terminaltouse), 
'socid', $filter, 1, 0, 0, array(), 0, 
'maxwidth500 widthcentpercentminusx');
 
  210if (isModEnabled(
"bank")) {
 
  211  print 
'<tr class="oddeven"><td>'.$langs->trans(
"CashDeskBankAccountForSell").
'</td>';
 
  213  print 
img_picto(
'', 
'bank_account', 
'class="pictofixedwidth"');
 
  214  print $form->select_comptes(
getDolGlobalInt(
'CASHDESK_ID_BANKACCOUNT_CASH'.$terminaltouse), 
'CASHDESK_ID_BANKACCOUNT_CASH'.$terminaltouse, 0, 
"courant=2", 1, 
'', 0, 
'maxwidth500 widthcentpercentminusxx', 1);
 
  215  print 
' <a href="'.DOL_URL_ROOT.
'/compta/bank/card.php?action=create&type=2&backtopage='.urlencode($_SERVER[
"PHP_SELF"].
'?terminal='.$terminal).
'"><span class="fa fa-plus-circle valignmiddle paddingleft" title="'.$langs->trans(
"NewBankAccount").
'"></span></a>';
 
  220  print 
'<tr class="oddeven"><td>'.$langs->trans(
"CashDeskBankAccountForCheque").
'</td>';
 
  222  print 
img_picto(
'', 
'bank_account', 
'class="pictofixedwidth"');
 
  223  print $form->select_comptes(
getDolGlobalInt(
'CASHDESK_ID_BANKACCOUNT_CHEQUE'.$terminaltouse), 
'CASHDESK_ID_BANKACCOUNT_CHEQUE'.$terminaltouse, 0, 
"courant=1", 1, 
'', 0, 
'maxwidth500 widthcentpercentminusxx', 1);
 
  224  print 
' <a href="'.DOL_URL_ROOT.
'/compta/bank/card.php?action=create&type=1&backtopage='.urlencode($_SERVER[
"PHP_SELF"].
'?terminal='.$terminal).
'"><span class="fa fa-plus-circle valignmiddle paddingleft" title="'.$langs->trans(
"NewBankAccount").
'"></span></a>';
 
  225  if (
getDolGlobalInt(
'CASHDESK_ID_BANKACCOUNT_CHEQUE'.$terminaltouse)) {
 
  229  print 
'<tr class="oddeven"><td>'.$langs->trans(
"CashDeskBankAccountForCB").
'</td>';
 
  231  print 
img_picto(
'', 
'bank_account', 
'class="pictofixedwidth"');
 
  232  print $form->select_comptes(
getDolGlobalInt(
'CASHDESK_ID_BANKACCOUNT_CB'.$terminaltouse), 
'CASHDESK_ID_BANKACCOUNT_CB'.$terminaltouse, 0, 
"courant=1", 1, 
'', 0, 
'maxwidth500 widthcentpercentminusxx', 1);
 
  233  print 
' <a href="'.DOL_URL_ROOT.
'/compta/bank/card.php?action=create&type=1&backtopage='.urlencode($_SERVER[
"PHP_SELF"].
'?terminal='.$terminal).
'"><span class="fa fa-plus-circle valignmiddle paddingleft" title="'.$langs->trans(
"NewBankAccount").
'"></span></a>';
 
  240    print 
'<tr class="oddeven"><td>'.$langs->trans(
"CashDeskBankAccountForStripeTerminal").
'</td>'; 
 
  242    $service = 
'StripeTest';
 
  245      $service = 
'StripeLive';
 
  248    global $stripearrayofkeysbyenv;
 
  249    $site_account = $stripearrayofkeysbyenv[$servicestatus][
'secret_key'];
 
  250    \Stripe\Stripe::setApiKey($site_account);
 
  252      $service = 
'StripeTest';
 
  253      $servicestatus = 
'0';
 
  254      dol_htmloutput_mesg($langs->trans(
'YouAreCurrentlyInSandboxMode', 
'Stripe'), 
'', 
'warning');
 
  256      $service = 
'StripeLive';
 
  257      $servicestatus = 
'1';
 
  259    $stripe = 
new Stripe($db);
 
  260    $stripeacc = $stripe->getStripeAccount($service);
 
  262      $readers = \Stripe\Terminal\Reader::all(
'', array(
"location" => 
getDolGlobalString(
'STRIPE_LOCATION'), 
"stripe_account" => $stripeacc));
 
  264      $readers = \Stripe\Terminal\Reader::all(
'', array(
"location" => 
getDolGlobalString(
'STRIPE_LOCATION')));
 
  268    $reader[
""] = $langs->trans(
"NoReader");
 
  269    foreach ($readers as $tmpreader) {
 
  270      $reader[$tmpreader->id] = $tmpreader->label.
' ('.$tmpreader->status.
')';
 
  272    print $form->selectarray(
'CASHDESK_ID_BANKACCOUNT_STRIPETERMINAL'.$terminaltouse, $reader, 
getDolGlobalString(
'CASHDESK_ID_BANKACCOUNT_STRIPETERMINAL'.$terminaltouse));
 
  277    print 
'<tr class="oddeven"><td>'.$langs->trans(
"CashDeskBankAccountForSumup").
'</td>';
 
  279    print 
img_picto(
'', 
'bank_account', 
'class="pictofixedwidth"');
 
  280    print $form->select_comptes(
getDolGlobalInt(
'CASHDESK_ID_BANKACCOUNT_SUMUP'.$terminaltouse), 
'CASHDESK_ID_BANKACCOUNT_SUMUP'.$terminaltouse, 0, 
"courant=1", 1, 
'', 0, 
'maxwidth500 widthcentpercentminusxx', 1);
 
  281    print 
' <a href="'.DOL_URL_ROOT.
'/compta/bank/card.php?action=create&type=1&backtopage='.urlencode($_SERVER[
"PHP_SELF"].
'?terminal='.$terminal).
'"><span class="fa fa-plus-circle valignmiddle paddingleft" title="'.$langs->trans(
"NewBankAccount").
'"></span></a>';
 
  288  foreach ($paiements as $modep) {
 
  289    if (in_array($modep->code, array(
'LIQ', 
'CB', 
'CHQ'))) {
 
  292    $name = 
"CASHDESK_ID_BANKACCOUNT_".$modep->code.$terminaltouse;
 
  293    print 
'<tr class="oddeven"><td>'.$langs->trans(
"CashDeskBankAccountFor").
' '.$langs->trans($modep->label).
'</td>';
 
  298    $cour = preg_match(
'/^LIQ.*/', $modep->code) ? 2 : 1;
 
  299    print 
img_picto(
'', 
'bank_account', 
'class="pictofixedwidth"');
 
  300    print $form->select_comptes(
getDolGlobalInt($name), $name, 0, 
"courant=".$cour, 1, 
'', 0, 
'maxwidth500 widthcentpercentminusxx', 1);
 
  301    print 
' <a href="'.DOL_URL_ROOT.
'/compta/bank/card.php?action=create&type=1&backtopage='.urlencode($_SERVER[
"PHP_SELF"].
'?terminal='.$terminal).
'"><span class="fa fa-plus-circle valignmiddle paddingleft" title="'.$langs->trans(
"NewBankAccount").
'"></span></a>';
 
  306if (isModEnabled(
'stock')) {
 
  307  print 
'<tr class="oddeven"><td>';
 
  308  print $form->textwithpicto($langs->trans(
"CashDeskDoNotDecreaseStock"), $langs->trans(
"CashDeskDoNotDecreaseStockHelp"));
 
  312  print ajax_constantonoff(
'CASHDESK_NO_DECREASE_STOCK'.$terminal, array(), $conf->entity, 0, 0, 1, 0);
 
  319  print 
'<tr class="oddeven"><td>';
 
  321    print 
'<span class="fieldrequired">';
 
  323  print $langs->trans(
"CashDeskIdWareHouse");
 
  328    print 
img_warning($langs->trans(
"DisableStockChange").
' - '.$langs->trans(
"NoWarehouseDefinedForTerminal"));
 
  331  print 
'<td class="minwidth300">';
 
  333    print 
img_picto(
'', 
'stock', 
'class="pictofixedwidth"');
 
  334    print $formproduct->selectWarehouses(
getDolGlobalString(
'CASHDESK_ID_WAREHOUSE'.$terminal), 
'CASHDESK_ID_WAREHOUSE'.$terminal, 
'', 1, $disabled, 0, 
'', 0, 0, array(), 
'maxwidth500 widthcentpercentminusxx');
 
  335    print 
' <a href="'.DOL_URL_ROOT.
'/product/stock/card.php?action=create&backtopage='.urlencode($_SERVER[
"PHP_SELF"].
'?&terminal='.$terminal).
'"><span class="fa fa-plus-circle valignmiddle"></span></a>';
 
  337    print 
'<span class="opacitymedium">'.$langs->trans(
"StockDecreaseForPointOfSaleDisabled").
'</span>';
 
  343    print 
'<tr class="oddeven"><td>'.$langs->trans(
'CashDeskForceDecreaseStockLabel').
'</td>';
 
  345    print 
'<span class="opacitymedium">'.$langs->trans(
'CashDeskForceDecreaseStockDesc').
'</span>';
 
  350if (isModEnabled(
'project')) {
 
  351  require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formprojet.class.php';
 
  353  print 
'<tr class="oddeven"><td>'.$langs->trans(
"CashDeskDefaultProject").
'</td><td>';
 
  354  print 
img_picto(
'', 
'project', 
'class="pictofixedwidth"');
 
  357  print $formproject->select_projects(-1, $projectid, 
'projectid', 0, 0, 1, 1, 0, 0, 0, 
'', 1, 1, 
'maxwidth500 widthcentpercentminusxx');
 
  361if (isModEnabled(
'receiptprinter')) {
 
  363  require_once DOL_DOCUMENT_ROOT.
'/core/class/dolreceiptprinter.class.php';
 
  366  $printer->listprinters();
 
  368  foreach ($printer->listprinters as $key => $value) {
 
  369    $printers[$value[
'rowid']] = $value[
'name'];
 
  371  print 
'<tr class="oddeven"><td>'.$langs->trans(
"MainPrinterToUse");
 
  372  print 
' <span class="opacitymedium">('.$langs->trans(
"MainPrinterToUseMore").
')</span>';
 
  375  print $form->selectarray(
'TAKEPOS_PRINTER_TO_USE'.$terminal, $printers, 
getDolGlobalInt(
'TAKEPOS_PRINTER_TO_USE'.$terminal), 1);
 
  378    print 
'<tr class="oddeven"><td>'.$langs->trans(
"OrderPrinterToUse").
' - '.$langs->trans(
"Printer").
' 1</td>';
 
  380    print $form->selectarray(
'TAKEPOS_ORDER_PRINTER1_TO_USE'.$terminal, $printers, 
getDolGlobalInt(
'TAKEPOS_ORDER_PRINTER1_TO_USE'.$terminal), 1);
 
  382    print 
'<tr class="oddeven"><td>'.$langs->trans(
"OrderPrinterToUse").
' - '.$langs->trans(
"Printer").
' 2</td>';
 
  384    print $form->selectarray(
'TAKEPOS_ORDER_PRINTER2_TO_USE'.$terminal, $printers, 
getDolGlobalInt(
'TAKEPOS_ORDER_PRINTER2_TO_USE'.$terminal), 1);
 
  386    print 
'<tr class="oddeven"><td>'.$langs->trans(
"OrderPrinterToUse").
' - '.$langs->trans(
"Printer").
' 3</td>';
 
  388    print $form->selectarray(
'TAKEPOS_ORDER_PRINTER3_TO_USE'.$terminal, $printers, 
getDolGlobalInt(
'TAKEPOS_ORDER_PRINTER3_TO_USE'.$terminal), 1);
 
  395  require_once DOL_DOCUMENT_ROOT.
'/core/class/dolreceiptprinter.class.php';
 
  397  $printer->listPrintersTemplates();
 
  398  $templates = array();
 
  399  foreach ($printer->listprinterstemplates as $key => $value) {
 
  400    $templates[$value[
'rowid']] = $value[
'name'];
 
  402  print 
'<tr class="oddeven"><td>'.$langs->trans(
"MainTemplateToUse");
 
  403  print 
' <span class="opacitymedium">('.$langs->trans(
"MainTemplateToUseMore").
')</span>';
 
  404  print 
' (<a href="'.DOL_URL_ROOT.
'/admin/receiptprinter.php?mode=template">'.$langs->trans(
"SetupReceiptTemplate").
'</a>)</td>';
 
  406  print $form->selectarray(
'TAKEPOS_TEMPLATE_TO_USE_FOR_INVOICES'.$terminal, $templates, 
getDolGlobalInt(
'TAKEPOS_TEMPLATE_TO_USE_FOR_INVOICES'.$terminal), 1);
 
  409    print 
'<tr class="oddeven"><td>'.$langs->trans(
"OrderTemplateToUse").
'</td>';
 
  411    print $form->selectarray(
'TAKEPOS_TEMPLATE_TO_USE_FOR_ORDERS'.$terminal, $templates, 
getDolGlobalInt(
'TAKEPOS_TEMPLATE_TO_USE_FOR_ORDERS'.$terminal), 1);
 
  416print 
'<tr class="oddeven"><td>'.$langs->trans(
'CashDeskReaderKeyCodeForEnter').
'</td>';
 
  418print 
'<input type="text" class="width50" name="CASHDESK_READER_KEYCODE_FOR_ENTER'.$terminaltouse.
'" value="'.
getDolGlobalString(
'CASHDESK_READER_KEYCODE_FOR_ENTER'.$terminaltouse).
'" />';
 
  423  print 
'<tr class="oddeven"><td>';
 
  424  print $langs->trans(
"BillsNumberingModule");
 
  425  print 
'<td colspan="2">';
 
  426  $array = array(0 => $langs->trans(
"Default"));
 
  427  $dirmodels = array_merge(array(
'/'), (array) $conf->modules_parts[
'models']);
 
  428  foreach ($dirmodels as $reldir) {
 
  431      $handle = opendir($dir);
 
  432      if (is_resource($handle)) {
 
  433        while (($file = readdir($handle)) !== 
false) {
 
  434          if (!is_dir($dir.$file) || (substr($file, 0, 1) != 
'.' && substr($file, 0, 3) != 
'CVS')) {
 
  436            $classname = preg_replace(
'/\.php$/', 
'', $file);
 
  438            if (!is_file($dir.$filebis)) {
 
  439              $filebis = $file.
"/".$file.
".modules.php";
 
  440              $classname = 
"mod_facture_".$file;
 
  443            preg_match(
'/\-(.*)_(.*)$/', $classname, $reg);
 
  444            if (!empty($reg[2]) && $reg[2] != strtoupper($mysoc->country_code)) {
 
  448            $classname = preg_replace(
'/\-.*$/', 
'', $classname);
 
  449            if (!class_exists($classname) && is_readable($dir.$filebis) && (preg_match(
'/mod_/', $filebis) || preg_match(
'/mod_/', $classname)) && substr($filebis, 
dol_strlen($filebis) - 3, 3) == 
'php') {
 
  451              require_once $dir.$filebis;
 
  453              $module = 
new $classname($db);
 
  456              if ($module->version == 
'development' && 
getDolGlobalInt(
'MAIN_FEATURES_LEVEL') < 2) {
 
  459              if ($module->version == 
'experimental' && 
getDolGlobalInt(
'MAIN_FEATURES_LEVEL') < 1) {
 
  463              if ($module->isEnabled()) {
 
  464                $array[preg_replace(
'/\-.*$/', 
'', preg_replace(
'/\.php$/', 
'', $file))] = preg_replace(
'/\-.*$/', 
'', preg_replace(
'/mod_facture_/', 
'', preg_replace(
'/\.php$/', 
'', $file)));
 
  473  print $form->selectarray(
'TAKEPOS_ADDON'.$terminaltouse, $array, 
getDolGlobalString(
'TAKEPOS_ADDON'.$terminaltouse, 
'0'), 0);
 
  474  print 
"</td></tr>\n";
 
  481print $form->buttonsSaveCancel(
"Save", 
'');
 
  487$substitutionarray[
'__(AnyTranslationKey)__'] = $langs->trans(
'Translation');
 
  488$htmltext = 
'<i>'.$langs->trans(
'AvailableVariables').
':<br>';
 
  489foreach ($substitutionarray as $key => $val) {
 
  490  $htmltext .= $key.
'<br>';
 
  497print 
'<div class="div-table-responsive-no-min">';
 
  498print 
'<table class="noborder centpercent">';
 
  499print 
'<tr class="liste_titre">';
 
  500print 
'<td>'.$langs->trans(
"Parameters").
'</td><td>'.$langs->trans(
'Value').
'</td>';
 
  504print 
'<tr class="oddeven">';
 
  506print $form->textwithpicto($langs->trans(
'Header'), $htmltext, 1, 
'help', 
'', 0, 2, 
'freetexttooltip').
'<br>';
 
  509$variablename = 
'TAKEPOS_HEADER'.$terminaltouse;
 
  511  print 
'<textarea name="'.$variablename.
'" class="flat" cols="120">'.
getDolGlobalString($variablename).
'</textarea>';
 
  513  include_once DOL_DOCUMENT_ROOT.
'/core/class/doleditor.class.php';
 
  515  print $doleditor->Create();
 
  520print 
'<tr class="oddeven">';
 
  522print $form->textwithpicto($langs->trans(
'Footer'), $htmltext, 1, 
'help', 
'', 0, 2, 
'freetexttooltip').
'<br>';
 
  525$variablename = 
'TAKEPOS_FOOTER'.$terminaltouse;
 
  527  print 
'<textarea name="'.$variablename.
'" class="flat" cols="120">'.
getDolGlobalString($variablename).
'</textarea>';
 
  529  include_once DOL_DOCUMENT_ROOT.
'/core/class/doleditor.class.php';
 
  531  print $doleditor->Create();
 
  538if ($atleastonefound == 0 && isModEnabled(
"bank")) {
 
  539  print 
info_admin($langs->trans(
"AtLeastOneDefaultBankAccountMandatory"), 0, 0, 
'error');
 
  542print $form->buttonsSaveCancel(
"Save", 
'');
 
dolibarr_set_const($db, $name, $value, $type='chaine', $visible=0, $note='', $entity=1)
Insert a parameter (key,value) into database (delete old key then insert it again).
 
if(!defined('NOREQUIRESOC')) if(!defined( 'NOREQUIRETRAN')) if(!defined('NOTOKENRENEWAL')) if(!defined( 'NOREQUIREMENU')) if(!defined('NOREQUIREHTML')) if(!defined( 'NOREQUIREAJAX')) llxHeader()
Empty header.
 
Class to manage a WYSIWYG editor.
 
Stripe class @TODO No reason to extends CommonObject.
 
Class to manage Receipt Printers.
 
load_fiche_titre($title, $morehtmlright='', $picto='generic', $pictoisfullpath=0, $id='', $morecssontable='', $morehtmlcenter='')
Load a title with picto.
 
img_warning($titlealt='default', $moreatt='', $morecss='pictowarning')
Show warning logo.
 
img_picto($titlealt, $picto, $moreatt='', $pictoisfullpath=0, $srconly=0, $notitle=0, $alt='', $morecss='', $marginleftonlyshort=2)
Show picto whatever it's its name (generic function)
 
GETPOSTINT($paramname, $method=0)
Return the value of a $_GET or $_POST supervariable, converted into integer.
 
dol_get_fiche_head($links=array(), $active='', $title='', $notab=0, $picto='', $pictoisfullpath=0, $morehtmlright='', $morecss='', $limittoshow=0, $moretabssuffix='', $dragdropfile=0)
Show tabs of a record.
 
dol_strlen($string, $stringencoding='UTF-8')
Make a strlen call.
 
getDolGlobalInt($key, $default=0)
Return a Dolibarr global constant int value.
 
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
 
setEventMessages($mesg, $mesgs, $style='mesgs', $messagekey='', $noduplicate=0)
Set event messages in dol_events session object.
 
dol_buildpath($path, $type=0, $returnemptyifnotfound=0)
Return path of url or filesystem.
 
dol_htmloutput_mesg($mesgstring='', $mesgarray=array(), $style='ok', $keepembedded=0)
Print formatted messages to output (Used to show messages on html output).
 
getDolGlobalString($key, $default='')
Return dolibarr global constant string value.
 
info_admin($text, $infoonimgalt=0, $nodiv=0, $admin='1', $morecss='hideonsmartphone', $textfordropdown='', $picto='')
Show information in HTML for admin users or standard users.
 
dol_syslog($message, $level=LOG_INFO, $ident=0, $suffixinfilename='', $restricttologhandler='', $logcontext=null)
Write log message into outputs.
 
pdf_getSubstitutionArray($outputlangs, $exclude=null, $object=null, $onlykey=0, $include=null)
Return array of possible substitutions for PDF content (without external module substitutions).
 
accessforbidden($message='', $printheader=1, $printfooter=1, $showonlymessage=0, $params=null)
Show a message to say access is forbidden and stop program.
 
takepos_admin_prepare_head()
Prepare array with list of tabs.