* * 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 . */ /** * \file htdocs/takepos/phone.php * \ingroup takepos * \brief TakePOS Phone screen */ //if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER','1'); // Not disabled cause need to load personalized language //if (! defined('NOREQUIREDB')) define('NOREQUIREDB','1'); // Not disabled cause need to load personalized language //if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC','1'); //if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN','1'); if (!defined('NOTOKENRENEWAL')) { define('NOTOKENRENEWAL', '1'); } if (!defined('NOREQUIREMENU')) { define('NOREQUIREMENU', '1'); } if (!defined('NOREQUIREHTML')) { define('NOREQUIREHTML', '1'); } if (!defined('NOREQUIREAJAX')) { define('NOREQUIREAJAX', '1'); } if (!defined('INCLUDE_PHONEPAGE_FROM_PUBLIC_PAGE')) { require '../main.inc.php'; } require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php'; require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/hookmanager.class.php'; if (defined('INCLUDE_PHONEPAGE_FROM_PUBLIC_PAGE')) { // Decode place if it is an order from a customer phone $place = GETPOSTISSET("key") ? dol_decode(GETPOST('key')) : GETPOST('place', 'aZ09'); } else { $place = (GETPOST('place', 'aZ09') ? GETPOST('place', 'aZ09') : 0); // $place is id of table for Ba or Restaurant } $action = GETPOST('action', 'aZ09'); $setterminal = GETPOSTINT('setterminal'); $idproduct = GETPOSTINT('idproduct'); $mobilepage = GETPOST('mobilepage', 'alphanohtml'); // Set when page is loaded by a js .load() if ($setterminal > 0) { $_SESSION["takeposterminal"] = $setterminal; } $langs->loadLangs(array("bills", "orders", "commercial", "cashdesk", "receiptprinter")); if (!$user->hasRight('takepos', 'run') && !defined('INCLUDE_PHONEPAGE_FROM_PUBLIC_PAGE')) { accessforbidden('No permission to run the takepos'); } /* * View */ $title = 'TakePOS - Dolibarr '.DOL_VERSION; if (getDolGlobalString('MAIN_APPLICATION_TITLE')) { $title = 'TakePOS - ' . getDolGlobalString('MAIN_APPLICATION_TITLE'); } // llxHeader if (empty($mobilepage) && (empty($action) || ((getDolGlobalString('TAKEPOS_PHONE_BASIC_LAYOUT') == 1 && $conf->browser->layout == 'phone') || defined('INCLUDE_PHONEPAGE_FROM_PUBLIC_PAGE')))) { $head = ' '; $arrayofcss = array( '/takepos/css/phone.css', ); $arrayofjs = array('/takepos/js/jquery.colorbox-min.js'); $disablejs = 0; $disablehead = 0; top_htmlhead($head, $title, $disablejs, $disablehead, $arrayofjs, $arrayofcss); print ''."\n"; } else { top_htmlhead('', $title); print ''."\n"; } if ($action == "productinfo" && $user->hasRight('takepos', 'run')) { $prod = new Product($db); $prod->fetch($idproduct); print ''; print "
".$prod->label."
"; print ''; print "
".$prod->description; print "
".price($prod->price_ttc, 1, $langs, 1, -1, -1, $conf->currency).""; print '
'; } elseif ($action == "publicpreorder" && $user->hasRight('takepos', 'run')) { print ''; print "

"; print '
'; print '
'; } elseif ($action == "publicpayment" && $user->hasRight('takepos', 'run')) { $langs->loadLangs(array("orders")); print '

'.$langs->trans('Ordered').'

'; print ''; print '
'; } elseif ($action == "checkplease" && $user->hasRight('takepos', 'run')) { if (GETPOSTISSET("payment")) { print '

'.$langs->trans('Ordered').'

'; require_once DOL_DOCUMENT_ROOT.'/core/class/dolreceiptprinter.class.php'; require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; $printer = new dolReceiptPrinter($db); $printer->initPrinter(getDolGlobalString('TAKEPOS_PRINTER_TO_USE'.$_SESSION["takeposterminal"])); if ($printer->getPrintConnector()) { if (!is_null($printer->printer)) { $printer->printer->feed(); $printer->printer->feed(); $printer->printer->text($langs->trans('IM')); $printer->printer->feed(); $printer->printer->text($langs->trans('Place').": ".$place); $printer->printer->feed(); $printer->printer->text($langs->trans('Payment').": ".$langs->trans(GETPOST('payment', 'alpha'))); $printer->printer->feed(); $printer->printer->feed(); $printer->printer->feed(); $printer->printer->feed(); $printer->printer->feed(); } $printer->close(); } } else { print ''; print ''; print '
'; } } elseif ($action == "editline" && $user->hasRight('takepos', 'run')) { $placeid = GETPOSTINT('placeid'); $selectedline = GETPOSTINT('selectedline'); $invoice = new Facture($db); $invoice->fetch($placeid); foreach ($invoice->lines as $line) { if ($line->id == $selectedline) { $prod = new Product($db); $prod->fetch($line->fk_product); print "".$prod->label."
"; print ''; print "
".$prod->description; print "
".price($prod->price_ttc, 1, $langs, 1, -1, -1, $conf->currency).""; print '
'; print ''; print ''; print ''; } } } else { ?>
'.dol_trunc($langs->trans('Floors'), 5, 'right', 'UTF-8').''; print ''; print ''; print ''; print ''; } else { print ''; print ''; // Do not show the payment link when order done from public page (a customer must not be able to set its order to paid himself) //print ''; } ?>
'.$langs->trans('TerminalSelect').''; } } print ''; print ''; $db->close();