dolibarr 18.0.6
bar.php
Go to the documentation of this file.
1<?php
2/* Copyright (C) 2008-2011 Laurent Destailleur <eldy@users.sourceforge.net>
3 * Copyright (C) 2011-2017 Juanjo Menent <jmenent@2byte.es>
4 * Copyright (C) 2022 Alexandre Spangaro <aspangaro@open-dsi.fr>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 3 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <https://www.gnu.org/licenses/>.
18 */
19
26// Load Dolibarr environment
27require '../../main.inc.php'; // Load $user and permissions
28require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php';
29require_once DOL_DOCUMENT_ROOT.'/product/class/html.formproduct.class.php';
30require_once DOL_DOCUMENT_ROOT.'/core/lib/pdf.lib.php';
31require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
32require_once DOL_DOCUMENT_ROOT."/core/lib/takepos.lib.php";
33
34// Security check
35if (!$user->admin) {
37}
38
39$langs->loadLangs(array("admin", "cashdesk", "printing"));
40
41$res = 0;
42
43
44/*
45 * Actions
46 */
47
48if (GETPOST('action', 'alpha') == 'set') {
49 $db->begin();
50
51 dol_syslog("admin/bar");
52
53 $suplement_category = GETPOST('TAKEPOS_SUPPLEMENTS_CATEGORY', 'alpha');
54 if ($suplement_category < 0) {
55 $suplement_category = 0;
56 }
57
58 $res = dolibarr_set_const($db, "TAKEPOS_SUPPLEMENTS_CATEGORY", $suplement_category, 'chaine', 0, '', $conf->entity);
59 if ($res <= 0) {
60 $error++;
61 }
62
63 if (!$error) {
64 $db->commit();
65 setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
66 } else {
67 $db->rollback();
68 setEventMessages($langs->trans("Error"), null, 'errors');
69 }
70}
71
72if (getDolGlobalInt('TAKEPOS_ORDER_NOTES') == 1) {
73 $extrafields = new ExtraFields($db);
74 $extrafields->addExtraField('order_notes', 'Order notes', 'varchar', 0, 255, 'facturedet', 0, 0, '', '', 0, '', 0, 1);
75}
76
77/*
78 * View
79 */
80
81$form = new Form($db);
82$formproduct = new FormProduct($db);
83
84$arrayofjs = array();
85$arrayofcss = array("/takepos/css/colorbox.css");
86
87llxHeader('', $langs->trans("CashDeskSetup"), '', '', 0, 0, $arrayofjs, $arrayofcss);
88
89$linkback = '<a href="'.DOL_URL_ROOT.'/admin/modules.php">'.$langs->trans("BackToModuleList").'</a>';
90print load_fiche_titre($langs->trans("CashDeskSetup").' (TakePOS)', $linkback, 'title_setup');
92print dol_get_fiche_head($head, 'bar', 'TakePOS', -1, 'cash-register');
93
94
95// Mode
96print '<form action="'.$_SERVER["PHP_SELF"].'" method="post">';
97print '<input type="hidden" name="token" value="'.newToken().'">';
98print '<input type="hidden" name="action" value="set">';
99
100?>
101<script type="text/javascript" src="<?php echo DOL_URL_ROOT ?>/takepos/js/jquery.colorbox-min.js"></script> <!-- TODO It seems we don't need this -->
102<script type="text/javascript">
103function Floors() {
104 console.log("Open box to select floor");
105 $.colorbox({href:"<?php echo DOL_URL_ROOT ?>/takepos/floors.php?mode=edit&place=0", width:"90%", height:"90%", transition:"none", iframe:"true", title:"<?php echo $langs->trans("Floors"); ?>"});
106}
107</script>
108
109<?php
110
111print '<center>';
112print $langs->trans("EnableBarOrRestaurantFeatures");
113print ajax_constantonoff("TAKEPOS_BAR_RESTAURANT", array(), $conf->entity, 0, 0, 1, 0);
114print '</center>';
115
116print '<br>';
117
118if (getDolGlobalInt('TAKEPOS_BAR_RESTAURANT')) {
119 print '<br>';
120 print '<a href="" onclick="Floors(); return false;"><span class="fa fa-glass-cheers"></span> '.$langs->trans("DefineTablePlan").'</a><br>';
121 print '<br><br>';
122
123 print '<div class="div-table-responsive-no-min">';
124 print '<table class="noborder centpercent">';
125 print '<tr class="liste_titre">';
126 print '<td>'.$langs->trans("Parameters").'</td><td class="center">'.$langs->trans("Value").'</td>';
127 print "</tr>\n";
128
129 if ($conf->global->TAKEPOS_PRINT_METHOD != "browser") { // Why this ?
130 print '<tr class="oddeven value"><td>';
131 print $langs->trans("OrderPrinters").' (<a href="'.DOL_URL_ROOT.'/takepos/admin/orderprinters.php?leftmenu=setup">'.$langs->trans("Setup").'</a>)';
132 print '</td>';
133 print '<td class="center">';
134 print ajax_constantonoff("TAKEPOS_ORDER_PRINTERS", array(), $conf->entity, 0, 0, 1, 0);
135 //print $form->selectyesno("TAKEPOS_ORDER_PRINTERS", $conf->global->TAKEPOS_ORDER_PRINTERS, 1);
136 print '</td></tr>';
137
138 print '<tr class="oddeven value"><td>';
139 print $langs->trans("OrderNotes");
140 print '</td>';
141 print '<td class="center">';
142 print ajax_constantonoff("TAKEPOS_ORDER_NOTES", array(), $conf->entity, 0, 0, 1, 0);
143 //print $form->selectyesno("TAKEPOS_ORDER_NOTES", $conf->global->TAKEPOS_ORDER_NOTES, 1);
144 print '</td></tr>';
145 } else {
146 print '<tr class="oddeven value"><td>';
147 print $langs->trans("OrderPrinters");
148 print '</td>';
149 print '<td class="center">';
150 print '<span class="opacitymedium">'.$langs->trans("NotAvailableWithBrowserPrinter").'</span>';
151 print '</td></tr>';
152
153 print '<tr class="oddeven value"><td>';
154 print $langs->trans("OrderNotes");
155 print '</td>';
156 print '<td class="center">';
157 print '<span class="opacitymedium">'.$langs->trans("NotAvailableWithBrowserPrinter").'</span>';
158 print '</td></tr>';
159 }
160
161 print '<tr class="oddeven value"><td>';
162 print $langs->trans("BasicPhoneLayout");
163 print '</td>';
164 print '<td class="center">';
165 //print $form->selectyesno("TAKEPOS_PHONE_BASIC_LAYOUT", $conf->global->TAKEPOS_PHONE_BASIC_LAYOUT, 1);
166 print ajax_constantonoff("TAKEPOS_PHONE_BASIC_LAYOUT", array(), $conf->entity, 0, 0, 1, 0);
167 print '</td></tr>';
168
169 print '<tr class="oddeven value"><td>';
170 print $langs->trans("ProductSupplements");
171 print '</td>';
172 print '<td class="center">';
173 //print $form->selectyesno("TAKEPOS_SUPPLEMENTS", $conf->global->TAKEPOS_SUPPLEMENTS, 1);
174 print ajax_constantonoff("TAKEPOS_SUPPLEMENTS", array(), $conf->entity, 0, 0, 1, 0);
175 print '</td></tr>';
176
177 if (getDolGlobalInt('TAKEPOS_SUPPLEMENTS')) {
178 print '<tr class="oddeven"><td>';
179 print $langs->trans("SupplementCategory");
180 print '</td>';
181 print '<td class="center">';
182 print $form->select_all_categories(Categorie::TYPE_PRODUCT, getDolGlobalString('TAKEPOS_SUPPLEMENTS_CATEGORY'), 'TAKEPOS_SUPPLEMENTS_CATEGORY', 64, 0, 0);
183 print ajax_combobox('TAKEPOS_SUPPLEMENTS_CATEGORY');
184 print "</td></tr>\n";
185 }
186
187 print '<tr class="oddeven value"><td>';
188 print 'QR - '.$langs->trans("CustomerMenu");
189 print '</td>';
190 print '<td class="center">';
191 print ajax_constantonoff("TAKEPOS_QR_MENU", array(), $conf->entity, 0, 0, 1, 0);
192 print '</td></tr>';
193
194 print '<tr class="oddeven value"><td>';
195 print 'QR - '.$langs->trans("AutoOrder");
196 print '</td>';
197 print '<td class="center">';
198 print ajax_constantonoff("TAKEPOS_AUTO_ORDER", array(), $conf->entity, 0, 0, 1, 0);
199 print '</td></tr>';
200
201 print '</table>';
202 print '</div>';
203
204 print '<br>';
205
206 print $form->buttonsSaveCancel("Save", '');
207}
208
209if (getDolGlobalInt('TAKEPOS_BAR_RESTAURANT')) {
210 if (getDolGlobalInt('TAKEPOS_QR_MENU')) {
211 $urlwithouturlroot = preg_replace('/'.preg_quote(DOL_URL_ROOT, '/').'$/i', '', trim($dolibarr_main_url_root));
212 $urlwithroot = $urlwithouturlroot.DOL_URL_ROOT; // This is to use external domain name found into config file
213 print '<br>';
214 print '<table class="noborder centpercent">';
215 print '<tr class="liste_titre">';
216 print '<td>'.$langs->trans("URL").' - '.$langs->trans("CustomerMenu").'</td><td class="right">'.$langs->trans("QR").'</td>';
217 print "</tr>\n";
218 print '<tr class="oddeven value"><td>';
219 print '<a target="_blank" rel="noopener noreferrer" href="'.$urlwithroot.'/takepos/public/menu.php">'.$urlwithroot.'/takepos/public/menu.php</a>';
220 print '</td>';
221 print '<td class="right">';
222 print '<a target="_blank" rel="noopener noreferrer" href="printqr.php"><img src="'.DOL_URL_ROOT.'/takepos/genimg/qr.php" height="42" width="42"></a>';
223 print '</td></tr>';
224 print '</table>';
225 }
226
227 if (getDolGlobalInt('TAKEPOS_AUTO_ORDER')) {
228 print '<br>';
229 print '<table class="noborder centpercent">';
230 print '<tr class="liste_titre">';
231 print '<td>'.$langs->trans("Table").'</td><td>'.$langs->trans("URL").' - '.$langs->trans("AutoOrder").'</td><td class="right">'.$langs->trans("QR").'</td>';
232 print "</tr>\n";
233
234 //global $dolibarr_main_url_root;
235 $urlwithouturlroot = preg_replace('/'.preg_quote(DOL_URL_ROOT, '/').'$/i', '', trim($dolibarr_main_url_root));
236 $urlwithroot = $urlwithouturlroot.DOL_URL_ROOT; // This is to use external domain name found into config file
237 $sql = "SELECT rowid, entity, label, leftpos, toppos, floor FROM ".MAIN_DB_PREFIX."takepos_floor_tables";
238 $resql = $db->query($sql);
239 $rows = array();
240 while ($row = $db->fetch_array($resql)) {
241 print '<tr class="oddeven value"><td>';
242 print $langs->trans("Table")." ".$row['label'];
243 print '</td>';
244 print '<td>';
245 print '<a target="_blank" rel="noopener noreferrer" href="'.$urlwithroot."/takepos/public/auto_order.php?key=".dol_encode($row['rowid']).'">'.$urlwithroot."/takepos/public/auto_order.php?key=".dol_encode($row['rowid']).'</a>';
246 print '</td>';
247 print '<td class="right">';
248 print '<a target="_blank" rel="noopener noreferrer" href="printqr.php?id='.$row['rowid'].'"><img src="'.DOL_URL_ROOT.'/takepos/genimg/qr.php?key='.dol_encode($row['rowid']).'" height="42" width="42"></a>';
249 print '</td></tr>';
250 }
251
252 print '</table>';
253 }
254}
255
256
257print "</form>\n";
258
259print '<br>';
260
261llxFooter();
262$db->close();
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.
Definition wrapper.php:56
Class to manage standard extra fields.
Class to manage generation of HTML components Only common components must be here.
Class with static methods for building HTML components related to products Only components common to ...
load_fiche_titre($titre, $morehtmlright='', $picto='generic', $pictoisfullpath=0, $id='', $morecssontable='', $morehtmlcenter='')
Load a title with picto.
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.
getDolGlobalInt($key, $default=0)
Return 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_syslog($message, $level=LOG_INFO, $ident=0, $suffixinfilename='', $restricttologhandler='', $logcontext=null)
Write log message into outputs.
publicphonebutton2 phonegreen basiclayout basiclayout TotalHT VATCode TotalVAT TotalLT1 TotalLT2 TotalTTC TotalHT clearboth nowraponall right right takeposterminal SELECT e rowid
Definition invoice.php:1632
if(preg_match('/crypted:/i', $dolibarr_main_db_pass)||!empty($dolibarr_main_db_encrypted_pass)) $conf db type
Definition repair.php:120
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.