dolibarr  17.0.4
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
27 require '../../main.inc.php'; // Load $user and permissions
28 require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php';
29 require_once DOL_DOCUMENT_ROOT.'/product/class/html.formproduct.class.php';
30 require_once DOL_DOCUMENT_ROOT.'/core/lib/pdf.lib.php';
31 require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
32 require_once DOL_DOCUMENT_ROOT."/core/lib/takepos.lib.php";
33 
34 // Security check
35 if (!$user->admin) {
37 }
38 
39 $langs->loadLangs(array("admin", "cashdesk", "printing"));
40 
41 $res = 0;
42 
43 
44 /*
45  * Actions
46  */
47 
48 if (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 
72 if (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 
87 llxHeader('', $langs->trans("CashDeskSetup"), '', '', 0, 0, $arrayofjs, $arrayofcss);
88 
89 $linkback = '<a href="'.DOL_URL_ROOT.'/admin/modules.php">'.$langs->trans("BackToModuleList").'</a>';
90 print load_fiche_titre($langs->trans("CashDeskSetup").' (TakePOS)', $linkback, 'title_setup');
92 print dol_get_fiche_head($head, 'bar', 'TakePOS', -1, 'cash-register');
93 
94 
95 // Mode
96 print '<form action="'.$_SERVER["PHP_SELF"].'" method="post">';
97 print '<input type="hidden" name="token" value="'.newToken().'">';
98 print '<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">
103 function 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 
111 print '<center>';
112 print $langs->trans("EnableBarOrRestaurantFeatures");
113 print ajax_constantonoff("TAKEPOS_BAR_RESTAURANT", array(), $conf->entity, 0, 0, 1, 0);
114 print '</center>';
115 
116 print '<br>';
117 
118 if (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 
209 if (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 
257 print "</form>\n";
258 
259 print '<br>';
260 
261 llxFooter();
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).
Definition: admin.lib.php:632
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 ...
if($cancel &&! $id) if($action=='add' &&! $cancel) if($action=='delete') if($id) $form
Actions.
Definition: card.php:143
print *****$script_file(".$version.") pid c cd cd cd description as p label as s rowid
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='')
Show tabs of a record.
setEventMessages($mesg, $mesgs, $style='mesgs', $messagekey='')
Set event messages in dol_events session object.
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.
dol_syslog($message, $level=LOG_INFO, $ident=0, $suffixinfilename='', $restricttologhandler='', $logcontext=null)
Write log message into outputs.
if(preg_match('/crypted:/i', $dolibarr_main_db_pass)||!empty($dolibarr_main_db_encrypted_pass)) $conf db type
Definition: repair.php:119
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.
Definition: takepos.lib.php:30