diff options
| author | Björn Geiger | 2011-03-28 14:38:51 +0200 |
|---|---|---|
| committer | Björn Geiger | 2011-03-28 14:38:51 +0200 |
| commit | 49ebfec064bb6d7a732466fa2071778665beb184 (patch) | |
| tree | 98895379ee4152b7312bc415cfc6e2f3dd305faf /application/models | |
| parent | Einführung einer Rightcategory (diff) | |
| download | pbs2-49ebfec064bb6d7a732466fa2071778665beb184.tar.gz pbs2-49ebfec064bb6d7a732466fa2071778665beb184.tar.xz pbs2-49ebfec064bb6d7a732466fa2071778665beb184.zip | |
Einführung von Vererbung von Rollen
Diffstat (limited to 'application/models')
| -rw-r--r-- | application/models/RightCategoryMapper.php | 6 | ||||
| -rw-r--r-- | application/models/Role.php | 60 | ||||
| -rw-r--r-- | application/models/RoleMapper.php | 6 |
3 files changed, 43 insertions, 29 deletions
diff --git a/application/models/RightCategoryMapper.php b/application/models/RightCategoryMapper.php index e0e324d..1a3d093 100644 --- a/application/models/RightCategoryMapper.php +++ b/application/models/RightCategoryMapper.php @@ -93,7 +93,11 @@ class Application_Model_RightCategoryMapper return $entries; } - + public function compare(Application_Model_RightCategory $v1,Application_Model_RightCategory $v2){ + $vv1 = $v1->toArray(); + $vv2 = $v2->toArray(); + return array_diff($vv1,$vv2); + } } diff --git a/application/models/Role.php b/application/models/Role.php index 28f0af1..49ed377 100644 --- a/application/models/Role.php +++ b/application/models/Role.php @@ -6,6 +6,7 @@ class Application_Model_Role protected $_groupID; protected $_title; protected $_description; + protected $_inheritance; public function __construct(array $options = null) { @@ -81,39 +82,48 @@ class Application_Model_Role $this->_description = $_description; return $this; } - /** - * Returns current data as associative array using ReflectionClass - * - * @return array Returns associative array containing model data + public function getInheritance() + { + return $this->_inheritance; + } + public function setInheritance($_inheritance) + { + $this->_inheritance = $_inheritance; + return $this; + } + /** + * Returns current data as associative array using ReflectionClass + * + * @return array Returns associative array containing model data * If "get"-method not available (our primary keys) the function getID() is called - */ - public function toArray() - { - $reflectionClass = new ReflectionClass($this); - $properties = $reflectionClass->getProperties(); - $result = array(); - foreach ($properties as $property) { - $key = $property->name; - if (substr($key, 0, 1) != '_' && $this->$key !== null) { - $method = 'get' . ucfirst($key); - if ($reflectionClass->hasMethod($method)) { - $result[$key] = $this->$method(); - } else { - $result[$key] = $this->$key; - } - } + */ + public function toArray() + { + $reflectionClass = new ReflectionClass($this); + $properties = $reflectionClass->getProperties(); + $result = array(); + foreach ($properties as $property) { + $key = $property->name; + if (substr($key, 0, 1) != '_' && $this->$key !== null) { + $method = 'get' . ucfirst($key); + if ($reflectionClass->hasMethod($method)) { + $result[$key] = $this->$method(); + } else { + $result[$key] = $this->$key; + } + } elseif(substr($key, 0, 1) == '_' && $this->$key !== null) { $key = substr($key, 1); - $method = 'get' . ucfirst($key); + $method = 'get' . ucfirst($key); if ($reflectionClass->hasMethod($method)) { $result[$key] = $this->$method(); }else{ $result[$key] = $this->getID(); } - + } - } - return $result; - } + } + return $result; + } } diff --git a/application/models/RoleMapper.php b/application/models/RoleMapper.php index 561a7d4..4001e3e 100644 --- a/application/models/RoleMapper.php +++ b/application/models/RoleMapper.php @@ -47,7 +47,7 @@ class Application_Model_RoleMapper public function save(Application_Model_Role $role) { - $data = array('roleID'=> $role->getID() ,'groupID'=> $role->getGroupID() ,'title'=> $role->getTitle() ,'description'=> $role->getDescription() ); + $data = array('roleID'=> $role->getID() ,'groupID'=> $role->getGroupID() ,'title'=> $role->getTitle() ,'description'=> $role->getDescription(), 'inheritance' => $role->getInheritance() ); if (null === ($id = $role->getID()) ) { unset($data['roleID']); @@ -75,7 +75,7 @@ class Application_Model_RoleMapper $row = $result->current(); $role = new Application_Model_Role(); - $role->setID($row->roleID)->setGroupID($row->groupID)->setTitle($row->title)->setDescription($row->description); + $role->setID($row->roleID)->setGroupID($row->groupID)->setTitle($row->title)->setDescription($row->description)->setInheritance($row->inheritance); return $role; } @@ -86,7 +86,7 @@ class Application_Model_RoleMapper foreach ($resultSet as $row) { $entry = new Application_Model_Role(); - $entry->setID($row->roleID)->setGroupID($row->groupID)->setTitle($row->title)->setDescription($row->description); + $entry->setID($row->roleID)->setGroupID($row->groupID)->setTitle($row->title)->setDescription($row->description)->setInheritance($row->inheritance); $entries[] = $entry; } |
