partia duużych zmian
[watermeloncms.git] / wtrmln / modules / models / model_menuedit.php
blob3eb7dcfad9a2bdbf2929e7eb9ac46848c0196c30
1 <?php
2 /********************************************************************
4 Watermelon CMS
6 Copyright 2009 Radosław Pietruszewski
8 This program is free software; you can redistribute it and/or
9 modify it under the terms of the GNU General Public License
10 version 2 as published by the Free Software Foundation.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software
19 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
21 ********************************************************************/
23 class Model_MenuEdit extends Model
26 * public DBresult GetMenus()
28 * pobiera listę menu
31 public function GetMenus()
33 return $this->db->query("SELECT * FROM `__menu` ORDER BY `position`, `id`");
37 * public DBresult GetMenuData(uint $id)
39 * pobiera dane menu o id = $id
42 public function GetMenuData($id)
44 $id = intval($id);
46 return $this->db->query("SELECT * FROM `__menu` WHERE `id` = '%1'", $id);
50 * public void addMenu(string $name, string $condition, string $text)
52 * dodaje na koniec (ostatnia pozycja) menu o nazwie $name, z treścią
53 * $text pod warunkiem $condition
56 public function addMenu($name, $condition, $text)
58 $name = mysql_real_escape_string($name);
59 $condition = mysql_real_escape_string($condition);
60 $text = mysql_real_escape_string($text);
62 $position = Config::getConf('max_menu') + 5;
63 Config::setConf('max_menu', $position);
65 $this->db->query("INSERT INTO `__menu` (`position`, `capt`, `content`, `condition`) VALUES ('%1', '%2', '%3', '%4')", $position, $name, $text, $condition);
69 * public void Edit(string $name, string $condition, string $text, uint $menuID)
71 * Zmienia w menu o ID = $menuID nazwę na $name,
72 * treść na $text i warunek $condition
75 public function Edit($name, $condition, $text, $menuID)
77 $name = mysql_real_escape_string($name);
78 $condition = mysql_real_escape_string($condition);
79 $text = mysql_real_escape_string($text);
80 $menuID = intval($menuID);
82 $this->db->query("UPDATE `__menu` SET `capt` = '%1', `content` = '%3', `condition` = '%2' WHERE `id` = '%4'", $name, $condition, $text, $menuID);
86 * public void DeleteMenu(uint $id)
88 * usuwa menu o id = $id
91 public function DeleteMenu($id)
93 $id = intval($id);
95 $this->db->query("DELETE FROM `__menu` WHERE `id` = '%1'", $id);
97 // uaktualniamy najwyższą pozycję w bazie danych
99 $lastPos = $this->db->query("SELECT `position` FROM `__menu` ORDER BY `position` DESC LIMIT 1", $id);
100 $lastPos = $lastPos->to_obj()->position;
102 Config::setConf('max_menu', $lastPos);
106 * public void SetMenuPosition(uint $id, uint $position)
108 * zmienia pozycję menu o id = $id na $position
111 public function SetMenuPosition($id, $pos)
113 $id = intval($id);
114 $pos = intval($pos);
116 $this->db->query("UPDATE `__menu` SET `position` = '%2' WHERE `id` = '%1'", $id, $pos);
118 // uaktualniamy najwyższą pozycję w bazie danych
120 $lastPos = $this->db->query("SELECT `position` FROM `__menu` ORDER BY `position` DESC LIMIT 1", $id);
121 $lastPos = $lastPos->to_obj()->position;
123 Config::setConf('max_menu', $lastPos);
127 * public string[] GetPAMenus()
129 * Pobiera listę (w postaci tablicy) menu w PA.
132 public function GetPAMenus()
134 $menus = Config::getConf('PA_menu');
136 return unserialize($menus);
140 * public void UpdatePAMenus(string[] $menus)
142 * uaktualnia listę (tablicę) menu w PA.
144 * string[] $menus - lista menu panelu admina do uaktualnienia
147 public function UpdatePAMenus(array $menus)
149 Config::setConf('PA_menu', serialize($menus));