dolibarr 19.0.3
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="">'.$langs->trans("Value").'</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("BasicPhoneLayout");
162 print ' ('.$langs->trans("Experimental").')';
163 print '</td>';
164 print '<td class="">';
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="">';
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="">';
182 print img_picto('', 'category', 'class="pictofixedwidth"');
183 print $form->select_all_categories(Categorie::TYPE_PRODUCT, getDolGlobalString('TAKEPOS_SUPPLEMENTS_CATEGORY'), 'TAKEPOS_SUPPLEMENTS_CATEGORY', 64, 0, 0);
184 print ajax_combobox('TAKEPOS_SUPPLEMENTS_CATEGORY');
185 print "</td></tr>\n";
186 }
187
188 print '<tr class="oddeven value"><td>';
189 print 'QR - '.$langs->trans("CustomerMenu");
190 print '</td>';
191 print '<td class="">';
192 print ajax_constantonoff("TAKEPOS_QR_MENU", array(), $conf->entity, 0, 0, 1, 0);
193 print '</td></tr>';
194
195 print '<tr class="oddeven value"><td>';
196 print 'QR - '.$langs->trans("AutoOrder");
197 print '</td>';
198 print '<td class="">';
199 print ajax_constantonoff("TAKEPOS_AUTO_ORDER", array(), $conf->entity, 0, 0, 1, 0);
200 print '</td></tr>';
201
202 print '</table>';
203 print '</div>';
204
205 print '<br>';
206
207 print $form->buttonsSaveCancel("Save", '');
208}
209
210if (getDolGlobalInt('TAKEPOS_BAR_RESTAURANT')) {
211 if (getDolGlobalInt('TAKEPOS_QR_MENU')) {
212 $urlwithouturlroot = preg_replace('/'.preg_quote(DOL_URL_ROOT, '/').'$/i', '', trim($dolibarr_main_url_root));
213 $urlwithroot = $urlwithouturlroot.DOL_URL_ROOT; // This is to use external domain name found into config file
214 print '<br>';
215 print '<table class="noborder centpercent">';
216 print '<tr class="liste_titre">';
217 print '<td>'.$langs->trans("URL").' - '.$langs->trans("CustomerMenu").'</td><td class="right">'.$langs->trans("QR").'</td>';
218 print "</tr>\n";
219 print '<tr class="oddeven value"><td>';
220 print '<a target="_blank" rel="noopener noreferrer" href="'.$urlwithroot.'/takepos/public/menu.php">'.$urlwithroot.'/takepos/public/menu.php</a>';
221 print '</td>';
222 print '<td class="right">';
223 print '<a target="_blank" rel="noopener noreferrer" href="printqr.php"><img src="'.DOL_URL_ROOT.'/takepos/genimg/qr.php" height="42" width="42"></a>';
224 print '</td></tr>';
225 print '</table>';
226 }
227
228 if (getDolGlobalInt('TAKEPOS_AUTO_ORDER')) {
229 print '<br>';
230 print '<table class="noborder centpercent">';
231 print '<tr class="liste_titre">';
232 print '<td>'.$langs->trans("Table").'</td><td>'.$langs->trans("URL").' - '.$langs->trans("AutoOrder").'</td><td class="right">'.$langs->trans("QR").'</td>';
233 print "</tr>\n";
234
235 //global $dolibarr_main_url_root;
236 $urlwithouturlroot = preg_replace('/'.preg_quote(DOL_URL_ROOT, '/').'$/i', '', trim($dolibarr_main_url_root));
237 $urlwithroot = $urlwithouturlroot.DOL_URL_ROOT; // This is to use external domain name found into config file
238 $sql = "SELECT rowid, entity, label, leftpos, toppos, floor FROM ".MAIN_DB_PREFIX."takepos_floor_tables WHERE entity IN (".getEntity('takepos').")";
239 $resql = $db->query($sql);
240 $rows = array();
241 while ($row = $db->fetch_array($resql)) {
242 print '<tr class="oddeven value"><td>';
243 print $langs->trans("Table")." ".$row['label'];
244 print '</td>';
245 print '<td>';
246 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>';
247 print '</td>';
248 print '<td class="right">';
249 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>';
250 print '</td></tr>';
251 }
252
253 print '</table>';
254 }
255}
256
257
258print "</form>\n";
259
260print '<br>';
261
262llxFooter();
263$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($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 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.
publicphonebutton2 phonegreen basiclayout basiclayout TotalHT VATCode TotalVAT TotalLT1 TotalLT2 TotalTTC TotalHT clearboth nowraponall right right takeposterminal SELECT e rowid
Definition invoice.php:1926
if(preg_match('/crypted:/i', $dolibarr_main_db_pass)||!empty($dolibarr_main_db_encrypted_pass)) $conf db type
Definition repair.php:121
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.