dolibarr  19.0.0-dev
menu.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (C) - 2020 Andreu Bisquerra Gaya <jove@bisquerra.com>
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; either version 3 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program. If not, see <https://www.gnu.org/licenses/>.
16  */
17 
24 if (!defined("NOLOGIN")) {
25  define("NOLOGIN", '1'); // If this page is public (can be called outside logged session)
26 }
27 if (!defined('NOIPCHECK')) {
28  define('NOIPCHECK', '1'); // Do not check IP defined into conf $dolibarr_main_restrict_ip
29 }
30 if (!defined('NOBROWSERNOTIF')) {
31  define('NOBROWSERNOTIF', '1');
32 }
33 
34 // Load Dolibarr environment
35 require '../../main.inc.php';
36 
37 require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
38 
39 if (!$conf->global->TAKEPOS_QR_MENU) {
40  accessforbidden(); // If Restaurant Menu is disabled never allow NO LOGIN access
41 }
42 ?>
43 <!DOCTYPE html>
44 <html>
45 <head>
46  <meta charset="UTF-8">
47  <title><?php echo $mysoc->name; ?></title>
48  <link rel='stylesheet' href='https://cdn.jsdelivr.net/npm/foundation-sites@6.6.3/dist/css/foundation.min.css'>
49 <link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Khand:400,300,500,600,700'><link rel="stylesheet" href="css/style.css">
50 <meta name="viewport" content="width=device-width, initial-scale=1">
51 </head>
52 <body>
53 <!-- partial:index.partial.html -->
54 <body>
55  <div class="grid-container">
56  <div class="grid-x grid-padding-x menu2">
57  <div class="cell small-12">
58  <h1><?php print $mysoc->name; ?> - <small><?php print $langs->trans('RestaurantMenu'); ?></small></h1>
59 
60 <?php
61 $categorie = new Categorie($db);
62 $categories = $categorie->get_full_arbo('product', (($conf->global->TAKEPOS_ROOT_CATEGORY_ID > 0) ? $conf->global->TAKEPOS_ROOT_CATEGORY_ID : 0), 1);
63 $levelofrootcategory = 0;
64 if ($conf->global->TAKEPOS_ROOT_CATEGORY_ID > 0) {
65  foreach ($categories as $key => $categorycursor) {
66  if ($categorycursor['id'] == $conf->global->TAKEPOS_ROOT_CATEGORY_ID) {
67  $levelofrootcategory = $categorycursor['level'];
68  break;
69  }
70  }
71 }
72 $levelofmaincategories = $levelofrootcategory + 1;
73 
74 $maincategories = array();
75 $subcategories = array();
76 foreach ($categories as $key => $categorycursor) {
77  if ($categorycursor['level'] == $levelofmaincategories) {
78  $maincategories[$key] = $categorycursor;
79  } else {
80  $subcategories[$key] = $categorycursor;
81  }
82 }
83 
84 $maincategories = dol_sort_array($maincategories, 'label');
85 
86 foreach ($maincategories as $cat) {
87  print '<div class="text-center">
88  <a id="'.$cat['id'].'"></a><h3>'.$cat['label'].'</h3>
89  </div>
90  <div class="grid-x grid-padding-x">';
91 
92  $object = new Categorie($db);
93  $result = $object->fetch($cat['id']);
94  $prods = $object->getObjectsInCateg("product", 0, 0, 0, $conf->global->TAKEPOS_SORTPRODUCTFIELD, 'ASC');
95  foreach ($prods as $pro) {
96  print '
97  <div class="cell small-6 medium-4">
98  <div class="item">
99  <h4>'.$pro->label.'</h4>
100  <span class="dots"></span>
101  <span class="price">'.price($pro->price_ttc, 1, $langs, 1, -1, -1, $conf->currency).'</span>
102  </div>
103  </div>';
104  }
105  print '</div>';
106 }
107 ?>
108  </div>
109  </div>
110  </div>
111  <footer class="footer">
112  <div class="container">
113  <p class="text-muted"><?php print $mysoc->name; ?></p>
114  </div>
115  </footer>
116  </body>
117 <!-- partial -->
118  <script src='https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js'></script>
119 <script src='https://cdn.jsdelivr.net/npm/foundation-sites@6.6.3/dist/js/foundation.min.js'></script><script src="js/script.js"></script>
120 
121 </body>
122 </html>
Class to manage categories.
price($amount, $form=0, $outlangs='', $trunc=1, $rounding=-1, $forcerounding=-1, $currency_code='')
Function to format a value into an amount for visual output Function used into PDF and HTML pages.
dol_sort_array(&$array, $index, $order='asc', $natsort=0, $case_sensitive=0, $keepindex=0)
Advanced sort array by second index function, which produces ascending (default) or descending output...
$conf db name
Only used if Module[ID]Name translation string is not found.
Definition: repair.php:123
accessforbidden($message='', $printheader=1, $printfooter=1, $showonlymessage=0, $params=null)
Show a message to say access is forbidden and stop program.