XOOPS 2.5.6  Final
 All Classes Namespaces Files Functions Variables Pages
registry.php
Go to the documentation of this file.
1 <?php
2 // Author: Trabis
3 // URL: http://www.xuups.com
4 // E-Mail: lusopoemas@gmail.com
5 
6 if (!defined("XOOPS_ROOT_PATH")) {
7  die("XOOPS root path not defined");
8 }
9 
11 {
12  var $_entries;
13  var $_locks;
14 
15  function ProtectorRegistry()
16  {
17  $this->_entries = array();
18  $this->_locks = array();
19  }
20 
21  static function &getInstance()
22  {
23  static $instance = false;
24  if (!$instance) {
25  $instance = new ProtectorRegistry();
26  }
27  return $instance;
28  }
29 
30  function setEntry($key, $item)
31  {
32  if ($this->isLocked($key) == true) {
33  trigger_error('Unable to set entry `' . $key . '`. Entry is locked.', E_USER_WARNING);
34  return false;
35  }
36 
37  $this->_entries[$key] = $item;
38  return true;
39  }
40 
41  function unsetEntry($key)
42  {
43  unset($this->_entries[$key]);
44  }
45 
46  function getEntry($key)
47  {
48  if (isset($this->_entries[$key]) == false) {
49  return null;
50  }
51 
52  return $this->_entries[$key];
53  }
54 
55  function isEntry($key)
56  {
57  return ($this->getEntry($key) !== null);
58  }
59 
60  function lockEntry($key)
61  {
62  $this->_locks[$key] = true;
63  return true;
64  }
65 
66  function unlockEntry($key)
67  {
68  unset($this->_locks[$key]);
69  }
70 
71  function isLocked($key)
72  {
73  return (isset($this->_locks[$key]) == true);
74  }
75 
76  function unsetAll()
77  {
78  $this->_entries = array();
79  $this->_locks = array();
80  }
81 }
82 ?>