dolibarr 20.0.0
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, '', 'mod-takepos page-admin_bar');
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=""></td>';
127 print "</tr>\n";
128
129 print '<tr class="oddeven value"><td>';
130 print $langs->trans("OrderPrinters").' (<a href="'.DOL_URL_ROOT.'/takepos/admin/orderprinters.php?leftmenu=setup">'.$langs->trans("Setup").'</a>)';
131 print '</td>';
132 print '<td class="">';
133 print ajax_constantonoff("TAKEPOS_ORDER_PRINTERS", array(), $conf->entity, 0, 0, 1, 0);
134 print '</td></tr>';
135
136 if (getDolGlobalString('TAKEPOS_ORDER_PRINTERS')) {
137 print '<tr class="oddeven value"><td>';
138 print $langs->trans("OrderNotes");
139 print '</td>';
140 print '<td class="">';
141 print ajax_constantonoff("TAKEPOS_ORDER_NOTES", array(), $conf->entity, 0, 0, 1, 0);
142 print '</td></tr>';
143 }
144 /*else {
145 print '<tr class="oddeven value"><td>';
146 print $langs->trans("OrderPrinters");
147 print '</td>';
148 print '<td class="">';
149 print '<span class="opacitymedium">'.$langs->trans("NotAvailableWithBrowserPrinter").'</span>';
150 print '</td></tr>';
151
152 print '<tr class="oddeven value"><td>';
153 print $langs->trans("OrderNotes");
154 print '</td>';
155 print '<td class="">';
156 print '<span class="opacitymedium">'.$langs->trans("NotAvailableWithBrowserPrinter").'</span>';
157 print '</td></tr>';
158 }*/
159
160 print '<tr class="oddeven value"><td>';
161 print $langs->trans("ProductSupplements");
162 print '</td>';
163 print '<td class="">';
164 //print $form->selectyesno("TAKEPOS_SUPPLEMENTS", $conf->global->TAKEPOS_SUPPLEMENTS, 1);
165 print ajax_constantonoff("TAKEPOS_SUPPLEMENTS", array(), $conf->entity, 0, 0, 1, 0);
166 print '</td></tr>';
167
168 if (getDolGlobalInt('TAKEPOS_SUPPLEMENTS')) {
169 print '<tr class="oddeven"><td>';
170 print $langs->trans("SupplementCategory");
171 print '</td>';
172 print '<td class="">';
173 print img_picto('', 'category', 'class="pictofixedwidth"');
174 print $form->select_all_categories(Categorie::TYPE_PRODUCT, getDolGlobalString('TAKEPOS_SUPPLEMENTS_CATEGORY'), 'TAKEPOS_SUPPLEMENTS_CATEGORY', 64, 0, 0);
175 print ajax_combobox('TAKEPOS_SUPPLEMENTS_CATEGORY');
176 print "</td></tr>\n";
177 }
178
179 print '<tr class="oddeven value"><td>';
180 print 'QR - '.$langs->trans("CustomerMenu");
181 print '</td>';
182 print '<td class="">';
183 print ajax_constantonoff("TAKEPOS_QR_MENU", array(), $conf->entity, 0, 0, 1, 0);
184 print '</td></tr>';
185
186 print '<tr class="oddeven value"><td>';
187 print 'QR - '.$langs->trans("AutoOrder");
188 print '</td>';
189 print '<td class="">';
190 print ajax_constantonoff("TAKEPOS_AUTO_ORDER", array(), $conf->entity, 0, 0, 1, 0);
191 print '</td></tr>';
192
193 // Experimental minimal interface
194 print '<tr class="oddeven value"><td>';
195 print $langs->trans("BasicPhoneLayout");
196 print ' - <span class="warning">'.$langs->trans("Experimental").'</span>';
197 print '</td>';
198 print '<td class="">';
199 //print $form->selectyesno("TAKEPOS_PHONE_BASIC_LAYOUT", $conf->global->TAKEPOS_PHONE_BASIC_LAYOUT, 1);
200 print ajax_constantonoff("TAKEPOS_PHONE_BASIC_LAYOUT", array(), $conf->entity, 0, 0, 1, 0, 0, 0, '_warning');
201 print '</td></tr>';
202
203 print '</table>';
204 print '</div>';
205
206 print '<br>';
207
208 print $form->buttonsSaveCancel("Save", '');
209}
210
211if (getDolGlobalInt('TAKEPOS_BAR_RESTAURANT')) {
212 if (getDolGlobalInt('TAKEPOS_QR_MENU')) {
213 $urlwithouturlroot = preg_replace('/'.preg_quote(DOL_URL_ROOT, '/').'$/i', '', trim($dolibarr_main_url_root));
214 $urlwithroot = $urlwithouturlroot.DOL_URL_ROOT; // This is to use external domain name found into config file
215 print '<br>';
216 print '<div class="div-table-responsive-no-min">';
217 print '<table class="noborder centpercent">';
218 print '<tr class="liste_titre">';
219 print '<td>'.$langs->trans("URL").' - '.$langs->trans("CustomerMenu").'</td><td class="right">'.$langs->trans("QR").'</td>';
220 print "</tr>\n";
221 print '<tr class="oddeven value"><td>';
222 print '<a target="_blank" rel="noopener noreferrer" href="'.$urlwithroot.'/takepos/public/menu.php">'.$urlwithroot.'/takepos/public/menu.php</a>';
223 print '</td>';
224 print '<td class="right">';
225 print '<a target="_blank" rel="noopener noreferrer" href="printqr.php"><img src="'.DOL_URL_ROOT.'/takepos/genimg/qr.php" height="42" width="42"></a>';
226 print '</td></tr>';
227 print '</table>';
228 print '</div>';
229 }
230
231 if (getDolGlobalInt('TAKEPOS_AUTO_ORDER')) {
232 print '<br>';
233 print '<div class="div-table-responsive-no-min">';
234 print '<table class="noborder centpercent">';
235 print '<tr class="liste_titre">';
236 print '<td>'.$langs->trans("Table").'</td><td>'.$langs->trans("URL").' - '.$langs->trans("AutoOrder").'</td><td class="right">'.$langs->trans("QR").'</td>';
237 print "</tr>\n";
238
239 //global $dolibarr_main_url_root;
240 $urlwithouturlroot = preg_replace('/'.preg_quote(DOL_URL_ROOT, '/').'$/i', '', trim($dolibarr_main_url_root));
241 $urlwithroot = $urlwithouturlroot.DOL_URL_ROOT; // This is to use external domain name found into config file
242 $sql = "SELECT rowid, entity, label, leftpos, toppos, floor FROM ".MAIN_DB_PREFIX."takepos_floor_tables WHERE entity IN (".getEntity('takepos').")";
243 $resql = $db->query($sql);
244 $rows = array();
245 while ($row = $db->fetch_array($resql)) {
246 print '<tr class="oddeven value"><td>';
247 print $langs->trans("Table")." ".$row['label'];
248 print '</td>';
249 print '<td>';
250 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>';
251 print '</td>';
252 print '<td class="right">';
253 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>';
254 print '</td></tr>';
255 }
256
257 print '</table>';
258 print '</div>';
259 }
260}
261
262
263print "</form>\n";
264
265print '<br>';
266
267llxFooter();
268$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:55
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($title, $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 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_syslog($message, $level=LOG_INFO, $ident=0, $suffixinfilename='', $restricttologhandler='', $logcontext=null)
Write log message into outputs.
treeview li table
No Email.
if(preg_match('/crypted:/i', $dolibarr_main_db_pass)||!empty($dolibarr_main_db_encrypted_pass)) $conf db type
Definition repair.php:139
accessforbidden($message='', $printheader=1, $printfooter=1, $showonlymessage=0, $params=null)
Show a message to say access is forbidden and stop program.
publicphonebutton2 phonegreen basiclayout basiclayout TotalHT VATCode TotalVAT TotalLT1 TotalLT2 TotalTTC TotalHT clearboth nowraponall TAKEPOS_SHOW_SUBPRICE right right right takeposterminal SELECT e rowid
Definition invoice.php:1991
takepos_admin_prepare_head()
Prepare array with list of tabs.