dolibarr 19.0.3
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
24if (!defined("NOLOGIN")) {
25 define("NOLOGIN", '1'); // If this page is public (can be called outside logged session)
26}
27if (!defined('NOIPCHECK')) {
28 define('NOIPCHECK', '1'); // Do not check IP defined into conf $dolibarr_main_restrict_ip
29}
30if (!defined('NOBROWSERNOTIF')) {
31 define('NOBROWSERNOTIF', '1');
32}
33
34// Load Dolibarr environment
35require '../../main.inc.php';
36
37require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
38
39if (!$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', ((getDolGlobalInt('TAKEPOS_ROOT_CATEGORY_ID') > 0) ? $conf->global->TAKEPOS_ROOT_CATEGORY_ID : 0), 1);
63$levelofrootcategory = 0;
64if (getDolGlobalInt('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();
76foreach ($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
86foreach ($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.
getDolGlobalInt($key, $default=0)
Return a Dolibarr global constant int value.
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:124
accessforbidden($message='', $printheader=1, $printfooter=1, $showonlymessage=0, $params=null)
Show a message to say access is forbidden and stop program.