1<?php
2/* Copyright (C) 2005       Matthieu Valleton   <mv@seeschloss.org>
3 * Copyright (C) 2005       Eric Seigne         <eric.seigne@ryxeo.com>
4 * Copyright (C) 2006-2016  Laurent Destailleur <eldy@users.sourceforge.net>
5 * Copyright (C) 2007       Patrick Raguin      <patrick.raguin@gmail.com>
6 * Copyright (C) 2005-2012  Regis Houssin       <regis.houssin@inodbox.com>
7 * Copyright (C) 2015       Raphaël Doursenaud  <rdoursenaud@gpcsolutions.fr>
8 *
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation; either version 3 of the License, or
12 * (at your option) any later version.
13 *
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 * GNU General Public License for more details.
18 *
19 * You should have received a copy of the GNU General Public License
20 * along with this program. If not, see <https://www.gnu.org/licenses/>.
21 */
22
23/**
24 *      \file       htdocs/takepos/admin/orderprinters.php
25 *      \ingroup    takepos
26 *      \brief      Home page of category area
27 */
28
29require '../../main.inc.php'; // Load $user and permissions
30require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
31require_once DOL_DOCUMENT_ROOT.'/core/lib/treeview.lib.php';
32require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php';
33require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php';
34
35$langs->loadLangs(array("main"), "categories", "takepos", "printing");
36
37if (!$user->rights->categorie->lire) accessforbidden();
38
39$id = GETPOST('id', 'int');
40$type = (GETPOST('type', 'aZ09') ? GETPOST('type', 'aZ09') : Categorie::TYPE_PRODUCT);
41$catname = GETPOST('catname', 'alpha');
42$action = GETPOST('action', 'aZ09');
43$printer1 = GETPOST('printer1', 'alpha');
44$printer2 = GETPOST('printer2', 'alpha');
45$printer3 = GETPOST('printer3', 'alpha');
46
47if (is_numeric($type)) $type = Categorie::$MAP_ID_TO_CODE[$type]; // For backward compatibility
48
49/*
50 * Actions
51 */
52if ($action == "SavePrinter1") {
53	$printedcategories = ";";
54	if (is_array($printer1)) foreach ($printer1 as $cat) {
55		$printedcategories = $printedcategories.$cat.";";
56	}
57	dolibarr_set_const($db, "TAKEPOS_PRINTED_CATEGORIES_1", $printedcategories, 'chaine', 0, '', $conf->entity);
58}
59
60if ($action == "SavePrinter2") {
61	$printedcategories = ";";
62	if (is_array($printer2)) foreach ($printer2 as $cat) {
63		$printedcategories = $printedcategories.$cat.";";
64	}
65	dolibarr_set_const($db, "TAKEPOS_PRINTED_CATEGORIES_2", $printedcategories, 'chaine', 0, '', $conf->entity);
66}
67
68if ($action == "SavePrinter3") {
69	$printedcategories = ";";
70	if (is_array($printer3)) foreach ($printer3 as $cat) {
71		$printedcategories = $printedcategories.$cat.";";
72	}
73	dolibarr_set_const($db, "TAKEPOS_PRINTED_CATEGORIES_3", $printedcategories, 'chaine', 0, '', $conf->entity);
74}
75
76
77/*
78 * View
79 */
80
81$categstatic = new Categorie($db);
82$form = new Form($db);
83
84if ($type == Categorie::TYPE_PRODUCT) {
85	$title = $langs->trans("ProductsCategoriesArea");
86	$typetext = 'product';
87} elseif ($type == Categorie::TYPE_SUPPLIER) {
88	$title = $langs->trans("SuppliersCategoriesArea");
89	$typetext = 'supplier';
90} elseif ($type == Categorie::TYPE_CUSTOMER) {
91	$title = $langs->trans("CustomersCategoriesArea");
92	$typetext = 'customer';
93} elseif ($type == Categorie::TYPE_MEMBER) {
94	$title = $langs->trans("MembersCategoriesArea");
95	$typetext = 'member';
96} elseif ($type == Categorie::TYPE_CONTACT) {
97	$title = $langs->trans("ContactsCategoriesArea");
98	$typetext = 'contact';
99} elseif ($type == Categorie::TYPE_ACCOUNT) {
100	$title = $langs->trans("AccountsCategoriesArea");
101	$typetext = 'bank_account';
102} elseif ($type == Categorie::TYPE_PROJECT) {
103	$title = $langs->trans("ProjectsCategoriesArea");
104	$typetext = 'project';
105} elseif ($type == Categorie::TYPE_USER) {
106	$title = $langs->trans("UsersCategoriesArea");
107	$typetext = 'user';
108} else {
109	$title = $langs->trans("CategoriesArea");
110	$typetext = 'unknown';
111}
112
113$arrayofjs = array(
114	'/includes/jquery/plugins/jquerytreeview/jquery.treeview.js',
115	'/includes/jquery/plugins/jquerytreeview/lib/jquery.cookie.js',
116);
117$arrayofcss = array('/includes/jquery/plugins/jquerytreeview/jquery.treeview.css');
118
119llxHeader('', $title, '', '', 0, 0, $arrayofjs, $arrayofcss);
120
121
122print load_fiche_titre($langs->trans("OrderPrinters"));
123
124//print '<table border="0" width="100%" class="notopnoleftnoright">';
125//print '<tr><td valign="top" width="30%" class="notopnoleft">';
126print '<div class="fichecenter"><div class="fichethirdleft">';
127
128
129//print '</td><td valign="top" width="70%">';
130print '</div><div class="fichetwothirdright"><div class="ficheaddleft">';
131
132
133//print '</td></tr></table>';
134print '</div></div></div>';
135
136print '<div class="fichecenter"><br>';
137
138
139// Charge tableau des categories
140$cate_arbo = $categstatic->get_full_arbo($typetext);
141
142// Define fulltree array
143$fulltree = $cate_arbo;
144
145// Define data (format for treeview)
146$data = array();
147$data[] = array('rowid'=>0, 'fk_menu'=>-1, 'title'=>"racine", 'mainmenu'=>'', 'leftmenu'=>'', 'fk_mainmenu'=>'', 'fk_leftmenu'=>'');
148foreach ($fulltree as $key => $val)
149{
150	$categstatic->id = $val['id'];
151	$categstatic->ref = $val['label'];
152	$categstatic->color = $val['color'];
153	$categstatic->type = $type;
154	$li = $categstatic->getNomUrl(1, '', 60);
155	$desc = dol_htmlcleanlastbr($val['description']);
156
157	$data[] = array(
158	'rowid'=>$val['rowid'],
159	'fk_menu'=>$val['fk_menu'],
160	'fk_menu'=>$val['fk_parent'],
161	'label'=>$val['label']
162	);
163}
164
165//Printer1
166print '<table class="liste nohover" width="100%">';
167print '<tr class="liste_titre"><td>'.$langs->trans("Printer").' 1</td><td></td><td class="right">';
168print '</td></tr>';
169$nbofentries = (count($data) - 1);
170print '<form action="orderprinters.php">';
171if ($nbofentries > 0)
172{
173	print '<tr class="pair"><td colspan="3">';
174	print '<input type="hidden" name="action" value="SavePrinter1">';
175	foreach ($data as $row) {
176		if (strpos($conf->global->TAKEPOS_PRINTED_CATEGORIES_1, ';'.$row["rowid"].';') !== false) $checked = 'checked'; else $checked = '';
177		if ($row["fk_menu"] == 0) print '<input type="checkbox" name="printer1[]" value="'.$row["rowid"].'" '.$checked.'>'.$row["label"].'<br>';
178	}
179	print '</td></tr>';
180} else {
181	print '<tr class="pair">';
182	print '<td colspan="3"><table class="nobordernopadding"><tr class="nobordernopadding"><td>'.img_picto_common('', 'treemenu/branchbottom.gif').'</td>';
183	print '<td valign="middle">';
184	print $langs->trans("NoCategoryYet");
185	print '</td>';
186	print '<td>&nbsp;</td>';
187	print '</table></td>';
188	print '</tr>';
189}
190print "</table>";
191print '<input type="submit" class="button button-save" value="'.$langs->trans("Save").'"></form><br><br>';
192
193//Printer2
194print '<table class="liste nohover" width="100%">';
195print '<tr class="liste_titre"><td>'.$langs->trans("Printer").' 2</td><td></td><td class="right">';
196print '</td></tr>';
197$nbofentries = (count($data) - 1);
198print '<form action="orderprinters.php">';
199if ($nbofentries > 0)
200{
201	print '<tr class="pair"><td colspan="3">';
202	print '<input type="hidden" name="action" value="SavePrinter2">';
203	foreach ($data as $row) {
204		if (strpos($conf->global->TAKEPOS_PRINTED_CATEGORIES_2, ';'.$row["rowid"].';') !== false) $checked = 'checked'; else $checked = '';
205		if ($row["fk_menu"] == 0) print '<input type="checkbox" name="printer2[]" value="'.$row["rowid"].'" '.$checked.'>'.$row["label"].'<br>';
206	}
207	print '</td></tr>';
208} else {
209	print '<tr class="pair">';
210	print '<td colspan="3"><table class="nobordernopadding"><tr class="nobordernopadding"><td>'.img_picto_common('', 'treemenu/branchbottom.gif').'</td>';
211	print '<td valign="middle">';
212	print $langs->trans("NoCategoryYet");
213	print '</td>';
214	print '<td>&nbsp;</td>';
215	print '</table></td>';
216	print '</tr>';
217}
218print "</table>";
219print '<input type="submit" class="button button-save" value="'.$langs->trans("Save").'"></form>';
220
221//Printer3
222print '<table class="liste nohover" width="100%">';
223print '<tr class="liste_titre"><td>'.$langs->trans("Printer").' 3</td><td></td><td class="right">';
224print '</td></tr>';
225$nbofentries = (count($data) - 1);
226print '<form action="orderprinters.php">';
227if ($nbofentries > 0)
228{
229	print '<tr class="pair"><td colspan="3">';
230	print '<input type="hidden" name="action" value="SavePrinter3">';
231	foreach ($data as $row) {
232		if (strpos($conf->global->TAKEPOS_PRINTED_CATEGORIES_3, ';'.$row["rowid"].';') !== false) $checked = 'checked'; else $checked = '';
233		if ($row["fk_menu"] == 0) print '<input type="checkbox" name="printer3[]" value="'.$row["rowid"].'" '.$checked.'>'.$row["label"].'<br>';
234	}
235	print '</td></tr>';
236} else {
237	print '<tr class="pair">';
238	print '<td colspan="3"><table class="nobordernopadding"><tr class="nobordernopadding"><td>'.img_picto_common('', 'treemenu/branchbottom.gif').'</td>';
239	print '<td valign="middle">';
240	print $langs->trans("NoCategoryYet");
241	print '</td>';
242	print '<td>&nbsp;</td>';
243	print '</table></td>';
244	print '</tr>';
245}
246
247print "</table>";
248print '<input type="submit" class="button button-save" value="'.$langs->trans("Save").'"></form>';
249
250print '</div>';
251
252llxFooter();
253
254$db->close();
255