Account Suspended
Account Suspended
This Account has been suspended.
Contact your hosting provider for more information.
 All Data Structures Functions Variables Pages
UserConfiguration.php
1 <?php
2  /*********************************************************************************
3  * Zurmo is a customer relationship management program developed by
4  * Zurmo, Inc. Copyright (C) 2017 Zurmo Inc.
5  *
6  * Zurmo is free software; you can redistribute it and/or modify it under
7  * the terms of the GNU Affero General Public License version 3 as published by the
8  * Free Software Foundation with the addition of the following permission added
9  * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
10  * IN WHICH THE COPYRIGHT IS OWNED BY ZURMO, ZURMO DISCLAIMS THE WARRANTY
11  * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
12  *
13  * Zurmo is distributed in the hope that it will be useful, but WITHOUT
14  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
15  * FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
16  * details.
17  *
18  * You should have received a copy of the GNU Affero General Public License along with
19  * this program; if not, see http://www.gnu.org/licenses or write to the Free
20  * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
21  * 02110-1301 USA.
22  *
23  * You can contact Zurmo, Inc. with a mailing address at 27 North Wacker Drive
24  * Suite 370 Chicago, IL 60606. or at email address contact@zurmo.com.
25  *
26  * The interactive user interfaces in original and modified versions
27  * of this program must display Appropriate Legal Notices, as required under
28  * Section 5 of the GNU Affero General Public License version 3.
29  *
30  * In accordance with Section 7(b) of the GNU Affero General Public License version 3,
31  * these Appropriate Legal Notices must retain the display of the Zurmo
32  * logo and Zurmo copyright notice. If the display of the logo is not reasonably
33  * feasible for technical reasons, the Appropriate Legal Notices must display the words
34  * "Copyright Zurmo Inc. 2017. All rights reserved".
35  ********************************************************************************/
36 
41  {
51  public static function find($userId, $moduleName, $key)
52  {
53  assert('is_string($moduleName)');
54  assert('is_string($key)');
55  assert('$userId != null && is_int($userId)');
56  assert('$moduleName != ""');
57  assert('$key != ""');
58  $bean = UserConfiguration::findBean($userId, $moduleName, $key);
59  if ($bean !== false)
60  {
61  return $bean->value;
62  }
63  return null;
64  }
65 
74  public static function get($userId, $moduleName, $key)
75  {
76  assert('is_string($moduleName)');
77  assert('is_string($key)');
78  assert('$userId != null && is_int($userId)');
79  assert('$moduleName != ""');
80  assert('$key != ""');
81  return UserConfiguration::getBean($userId, $moduleName, $key)->value;
82  }
83 
90  public static function getAll($userId)
91  {
92  assert('$userId != null && is_int($userId)');
93  $beans = ZurmoRedBean::find(UserConfiguration::getTableName(), "userId = $userId");
94  $entries = array();
95  foreach ($beans as $bean)
96  {
97  if (!isset($entries[$bean->moduleName]))
98  {
99  $entries[$bean->moduleName] = array();
100  }
101  $entries[$bean->moduleName][$bean->key] = $bean->value;
102  }
103  return $entries;
104  }
105 
112  public static function getByModuleName($userId, $moduleName)
113  {
114  assert('$userId != null && is_int($userId)');
115  assert('$moduleName != ""');
116  $beans = ZurmoRedBean::find(UserConfiguration::getTableName(), "userId = $userId and moduleName = '$moduleName'");
117  $moduleEntries = array();
118  foreach ($beans as $bean)
119  {
120  if (!isset($moduleEntries[$bean->moduleName]))
121  {
122  $moduleEntries[$bean->moduleName] = array();
123  }
124  $moduleEntries[$bean->moduleName][$bean->key] = $bean->value;
125  }
126  return $moduleEntries;
127  }
128 
137  public static function set($userId, $moduleName, $key, $value)
138  {
139  assert('$userId != null && is_int($userId)');
140  assert('is_string($moduleName)');
141  assert('is_string($key)');
142  assert('$moduleName != ""');
143  assert('$key != ""');
144  try
145  {
146  $bean = UserConfiguration::getBean($userId, $moduleName, $key);
147  }
148  catch (NotFoundException $e)
149  {
150  $bean = ZurmoRedBean::dispense(UserConfiguration::getTableName());
151  $bean->userId = $userId;
152  $bean->moduleName = $moduleName;
153  $bean->key = $key;
154  }
155  $bean->value = $value;
156  ZurmoRedBean::store($bean);
157  }
158 
166  public static function delete($userId, $moduleName, $key)
167  {
168  assert('$userId != null && is_int($userId)');
169  assert('is_string($moduleName)');
170  assert('is_string($key)');
171  assert('$moduleName != ""');
172  assert('$key != ""');
173  $bean = UserConfiguration::getBean($userId, $moduleName, $key);
174  if (isset($bean))
175  {
176  ZurmoRedBean::trash($bean);
177  unset($bean);
178  }
179  }
180 
187  protected static function getBean($userId, $moduleName, $key)
188  {
189  $bean = UserConfiguration::findBean($userId, $moduleName, $key);
190  if ($bean !== false)
191  {
192  return $bean;
193  }
194  throw new NotFoundException();
195  }
196 
197  protected static function findBean($userId, $moduleName, $key)
198  {
199  assert('$userId != null && is_int($userId)');
200  assert('is_string($moduleName)');
201  assert('is_string($key)');
202  assert('$moduleName != ""');
203  assert('$key != ""');
204  $bean = ZurmoRedBean::findOne(UserConfiguration::getTableName(),
205  'userId = ? and moduleName = ? and ' .
207  array($userId, $moduleName, $key));
208  assert('$bean === false || $bean instanceof RedBean_OODBBean');
209  return $bean;
210  }
211 
216  protected static function getTableName()
217  {
218  return 'userconfiguration';
219  }
220  }
221 ?>
static getAll($userId)
static getBean($userId, $moduleName, $key)
static find($userId, $moduleName, $key)
static set($userId, $moduleName, $key, $value)
static getByModuleName($userId, $moduleName)
Generated on Wed Sep 30 2020 07:10:35
Account Suspended
Account Suspended
This Account has been suspended.
Contact your hosting provider for more information.