summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormichael pereira2011-04-18 16:33:17 +0200
committermichael pereira2011-04-18 16:33:17 +0200
commitbada6bd9bade4a5cb3b87fed44a2de9a2a599010 (patch)
tree3af1a31a11bdc12528f1cd19e7358f0de385ee7e
parentAPI-Key bei Membership & BootOS über API fertig (diff)
parentFilterLibrary - Escapen von Argumenten (diff)
downloadpbs2-bada6bd9bade4a5cb3b87fed44a2de9a2a599010.tar.gz
pbs2-bada6bd9bade4a5cb3b87fed44a2de9a2a599010.tar.xz
pbs2-bada6bd9bade4a5cb3b87fed44a2de9a2a599010.zip
Merge branch 'master' of openslx.org:lsfks/master-teamprojekt/pbs2
-rw-r--r--RightRolesBeauty.html519
-rw-r--r--application/modules/user/controllers/PersonController.php11
-rw-r--r--application/modules/user/controllers/RoleController.php66
-rw-r--r--application/modules/user/views/scripts/auth/delete.phtml5
-rw-r--r--application/modules/user/views/scripts/role/index.phtml138
-rw-r--r--application/modules/user/views/scripts/role/show.phtml13
-rw-r--r--dbContent.pngbin0 -> 192702 bytes
-rw-r--r--library/Pbs/Filter.php32
-rw-r--r--library/Pbs/NewMember.php15
-rw-r--r--pbs.sql4
-rw-r--r--public/media/css/fbgui.css3
11 files changed, 152 insertions, 654 deletions
diff --git a/RightRolesBeauty.html b/RightRolesBeauty.html
deleted file mode 100644
index 944b462..0000000
--- a/RightRolesBeauty.html
+++ /dev/null
@@ -1,519 +0,0 @@
-<!--
-mysql-query:
- SELECT rc.title, r.title, shortcut
- FROM pbs_right r, pbs_rightcategory rc
- WHERE r.`rightcategoryID` = rc.`rightcategoryID`
--->
-<style type="text/css">
-td, th{font-family:verdana, arial, courier;}
-tr.odd{background-color:#CCC;}
-tr.even{background-color:#FFF;}
-</style>
-<table class="data" id="table_results">
-<thead><tr>
- <th colspan="3"></th>
-</tr>
-<tr>
- <th>
-<a>title</a>
-</th><th>
-<a>title</a>
-</th><th>
-<a>shortcut</a>
-</th></tr>
-</thead>
- <tbody>
- <tr class="odd">
-<td class="">Person</td>
-<td class="">Edit own profiledetails</td>
-<td class="">peod</td>
-</tr>
-
- <tr class="even">
-<td class="">Person</td>
-<td class="">Show own profiledetails</td>
-<td class="">psod</td>
-</tr>
-
- <tr class="odd">
-<td class="">Person</td>
-<td class="">Delete own account</td>
-<td class="">pdo</td>
-</tr>
-
- <tr class="even">
-<td class="">Person</td>
-<td class="">Delete account of other</td>
-<td class="">pd</td>
-</tr>
-
- <tr class="odd">
-<td class="">Person</td>
-<td class="">Show other profiledetails</td>
-<td class="">psood</td>
-</tr>
-
- <tr class="even">
-<td class="">Person</td>
-<td class="">Edit account from other</td>
-<td class="">peoa</td>
-</tr>
-
- <tr class="odd">
-<td class="">Person</td>
-<td class="">Suspend account</td>
-<td class="">psa</td>
-</tr>
-
- <tr class="even">
-<td class="">Group</td>
-<td class="">Show overview of group</td>
-<td class="">gso</td>
-</tr>
-
- <tr class="odd">
-<td class="">Group</td>
-<td class="">Show details of own group</td>
-<td class="">gsdo</td>
-</tr>
-
- <tr class="even">
-<td class="">Group</td>
-<td class="">Show details of other group</td>
-<td class="">gsdog</td>
-</tr>
-
- <tr class="odd">
-<td class="">Group</td>
-<td class="">Show members of group</td>
-<td class="">gsmg</td>
-</tr>
-
- <tr class="even">
-<td class="">Group</td>
-<td class="">Create group</td>
-<td class="">gc</td>
-</tr>
-
- <tr class="odd">
-<td class="">Group</td>
-<td class="">Delete group</td>
-<td class="">gd</td>
-</tr>
-
- <tr class="even">
-<td class="">Group</td>
-<td class="">Delete group with all child groups</td>
-<td class="">gdlwc</td>
-</tr>
-
- <tr class="odd">
-<td class="">Group</td>
-<td class="">Request membership</td>
-<td class="">grm</td>
-</tr>
-
- <tr class="even">
-<td class="">Group</td>
-<td class="">Accect membership request</td>
-<td class="">gam</td>
-</tr>
-
- <tr class="odd">
-<td class="">Group</td>
-<td class="">Decline membership request</td>
-<td class="">gdm</td>
-</tr>
-
- <tr class="even">
-<td class="">Group</td>
-<td class="">Delete membership in own group</td>
-<td class="">gdmo</td>
-</tr>
-
- <tr class="odd">
-<td class="">Group</td>
-<td class="">Delete membership in other group</td>
-<td class="">gdmog</td>
-</tr>
-
- <tr class="even">
-<td class="">Group</td>
-<td class="">Suspend membership</td>
-<td class="">gsm</td>
-</tr>
-
- <tr class="odd">
-<td class="">Role</td>
-<td class="">Add role</td>
-<td class="">ra</td>
-</tr>
-
- <tr class="even">
-<td class="">Role</td>
-<td class="">Display details of role</td>
-<td class="">rdd</td>
-</tr>
-
- <tr class="odd">
-<td class="">Role</td>
-<td class="">Delete role</td>
-<td class="">rd</td>
-</tr>
-
- <tr class="even">
-<td class="">Role</td>
-<td class="">Change role of membership</td>
-<td class="">rcr</td>
-</tr>
-
- <tr class="odd">
-<td class="">Role</td>
-<td class="">Add right to role</td>
-<td class="">rar</td>
-</tr>
-
- <tr class="even">
-<td class="">Role</td>
-<td class="">Remove right of role</td>
-<td class="">rrr</td>
-</tr>
-
- <tr class="odd">
-<td class="">Role</td>
-<td class="">Inherit role</td>
-<td class="">rir</td>
-</tr>
-
- <tr class="even">
-<td class="">BootMedia</td>
-<td class="">Show admin interface of BootMedia</td>
-<td class="">bai</td>
-</tr>
-
- <tr class="odd">
-<td class="">BootMedia</td>
-<td class="">Show user interface of BootMedia</td>
-<td class="">bui</td>
-</tr>
-
- <tr class="even">
-<td class="">BootMedia</td>
-<td class="">Create new BootMedia</td>
-<td class="">bc</td>
-</tr>
-
- <tr class="odd">
-<td class="">BootMedia</td>
-<td class="">Edit BootMedia</td>
-<td class="">be</td>
-</tr>
-
- <tr class="even">
-<td class="">BootMedia</td>
-<td class="">Delete BootMedia</td>
-<td class="">bd</td>
-</tr>
-
- <tr class="odd">
-<td class="">BootMedia</td>
-<td class="">Download BootMedia</td>
-<td class="">bdld</td>
-</tr>
-
- <tr class="even">
-<td class="">BootMedia</td>
-<td class="">Edit metadata (Description, Title) of a BootMedia</td>
-<td class="">bem</td>
-</tr>
-
- <tr class="odd">
-<td class="">Preboot</td>
-<td class="">Show overview of preboots</td>
-<td class="">pro</td>
-</tr>
-
- <tr class="even">
-<td class="">Preboot</td>
-<td class="">Create preboot</td>
-<td class="">prc</td>
-</tr>
-
- <tr class="odd">
-<td class="">Preboot</td>
-<td class="">Edit preboot</td>
-<td class="">pre</td>
-</tr>
-
- <tr class="even">
-<td class="">Preboot</td>
-<td class="">Delete preboot</td>
-<td class="">prd</td>
-</tr>
-
- <tr class="odd">
-<td class="">Preboot</td>
-<td class="">Update preboot</td>
-<td class="">pru</td>
-</tr>
-
- <tr class="even">
-<td class="">Preboot</td>
-<td class="">Edit metadata (Description, Title) of a preboot</td>
-<td class="">prem</td>
-</tr>
-
- <tr class="odd">
-<td class="">Config</td>
-<td class="">Show admin overview of config</td>
-<td class="">csai</td>
-</tr>
-
- <tr class="even">
-<td class="">Config</td>
-<td class="">Show user overview of config</td>
-<td class="">csui</td>
-</tr>
-
- <tr class="odd">
-<td class="">Config</td>
-<td class="">Create config</td>
-<td class="">cc</td>
-</tr>
-
- <tr class="even">
-<td class="">Config</td>
-<td class="">Edit config</td>
-<td class="">ce</td>
-</tr>
-
- <tr class="odd">
-<td class="">Config</td>
-<td class="">Delete config</td>
-<td class="">cd</td>
-</tr>
-
- <tr class="even">
-<td class="">Config</td>
-<td class="">Update config</td>
-<td class="">cu</td>
-</tr>
-
- <tr class="odd">
-<td class="">Config</td>
-<td class="">Edit metadata (Description, Title) of config</td>
-<td class="">cem</td>
-</tr>
-
- <tr class="even">
-<td class="">BootOs</td>
-<td class="">Create BootOs</td>
-<td class="">boc</td>
-</tr>
-
- <tr class="odd">
-<td class="">BootOs</td>
-<td class="">Show admin interface of BootOs</td>
-<td class="">boai</td>
-</tr>
-
- <tr class="even">
-<td class="">BootOs</td>
-<td class="">Show user interface of BootOs</td>
-<td class="">boui</td>
-</tr>
-
- <tr class="odd">
-<td class="">BootOs</td>
-<td class="">Edit BootOs</td>
-<td class="">boe</td>
-</tr>
-
- <tr class="even">
-<td class="">BootOs</td>
-<td class="">Delete BootOs</td>
-<td class="">bod</td>
-</tr>
-
- <tr class="odd">
-<td class="">BootOs</td>
-<td class="">Update BootOs</td>
-<td class="">bou</td>
-</tr>
-
- <tr class="even">
-<td class="">BootOs</td>
-<td class="">Edit metadata (Description, Title) of config</td>
-<td class="">boem</td>
-</tr>
-
- <tr class="odd">
-<td class="">BootMenu</td>
-<td class="">Show admin interface of BootMenu</td>
-<td class="">booai</td>
-</tr>
-
- <tr class="even">
-<td class="">BootMenu</td>
-<td class="">Show user interface of BootMenu</td>
-<td class="">booui</td>
-</tr>
-
- <tr class="odd">
-<td class="">BootMenu</td>
-<td class="">Create BootMenu</td>
-<td class="">booc</td>
-</tr>
-
- <tr class="even">
-<td class="">BootMenu</td>
-<td class="">Delete BootMenu</td>
-<td class="">bood</td>
-</tr>
-
- <tr class="odd">
-<td class="">BootMenu</td>
-<td class="">Edit BootMenu</td>
-<td class="">booe</td>
-</tr>
-
- <tr class="even">
-<td class="">BootMenu</td>
-<td class="">Delete entry of BootMenu</td>
-<td class="">boode</td>
-</tr>
-
- <tr class="odd">
-<td class="">BootMenu</td>
-<td class="">Add entry to a BootMenu</td>
-<td class="">booae</td>
-</tr>
-
- <tr class="even">
-<td class="">BootMenu</td>
-<td class="">Edit an entry of a BootMenu</td>
-<td class="">booee</td>
-</tr>
-
- <tr class="odd">
-<td class="">BootMenu</td>
-<td class="">Edit metadata (Description, Title) of an entry of </td>
-<td class="">booeem</td>
-</tr>
-
- <tr class="even">
-<td class="">Client</td>
-<td class="">Show overview of Clients</td>
-<td class="">clo</td>
-</tr>
-
- <tr class="odd">
-<td class="">Client</td>
-<td class="">Add new Clients</td>
-<td class="">cla</td>
-</tr>
-
- <tr class="even">
-<td class="">Client</td>
-<td class="">Edit Clients</td>
-<td class="">cle</td>
-</tr>
-
- <tr class="odd">
-<td class="">Client</td>
-<td class="">Delete Clients</td>
-<td class="">cld</td>
-</tr>
-
- <tr class="even">
-<td class="">Pool</td>
-<td class="">Show overview of Pool</td>
-<td class="">poo</td>
-</tr>
-
- <tr class="odd">
-<td class="">Pool</td>
-<td class="">Create new Pool</td>
-<td class="">poc</td>
-</tr>
-
- <tr class="even">
-<td class="">Pool</td>
-<td class="">Edit Pool</td>
-<td class="">poe</td>
-</tr>
-
- <tr class="odd">
-<td class="">Pool</td>
-<td class="">Delete Pool</td>
-<td class="">pod</td>
-</tr>
-
- <tr class="even">
-<td class="">Pool</td>
-<td class="">Unlink client to pool</td>
-<td class="">pouc</td>
-</tr>
-
- <tr class="odd">
-<td class="">Pool</td>
-<td class="">Link client to pool</td>
-<td class="">polc</td>
-</tr>
-
- <tr class="even">
-<td class="">Pool</td>
-<td class="">Show unlinked Clients</td>
-<td class="">posuc</td>
-</tr>
-
- <tr class="odd">
-<td class="">Filter</td>
-<td class="">Show overview of Pool</td>
-<td class="">fo</td>
-</tr>
-
- <tr class="even">
-<td class="">Filter</td>
-<td class="">Create new Filter</td>
-<td class="">fa</td>
-</tr>
-
- <tr class="odd">
-<td class="">Filter</td>
-<td class="">Edit Filter</td>
-<td class="">fe</td>
-</tr>
-
- <tr class="even">
-<td class="">Filter</td>
-<td class="">Edit Filterpriority</td>
-<td class="">fefp</td>
-</tr>
-
- <tr class="odd">
-<td class="">Filter</td>
-<td class="">Delete Filter</td>
-<td class="">fd</td>
-</tr>
-
- <tr class="even">
-<td class="">Filter</td>
-<td class="">Add additional Filterentry to a Filter</td>
-<td class="">ffa</td>
-</tr>
-
- <tr class="odd">
-<td class="">Filter</td>
-<td class="">Edit Filterentry of a Filter</td>
-<td class="">ffe</td>
-</tr>
-
- <tr class="even">
-<td class="">Filter</td>
-<td class="">Delete Filterentry of a Filter</td>
-<td class="">ffd</td>
-</tr>
-
-</tbody>
-</table>
diff --git a/application/modules/user/controllers/PersonController.php b/application/modules/user/controllers/PersonController.php
index 4ec8297..e21a896 100644
--- a/application/modules/user/controllers/PersonController.php
+++ b/application/modules/user/controllers/PersonController.php
@@ -71,12 +71,12 @@ class user_PersonController extends Zend_Controller_Action
if(!Pbs_Acl::checkRight('pso')) {
$this->_redirect('/user');
}
- $this->view->showRight = Pbs_Acl::checkRight('psod');
- $this->view->editRight = Pbs_Acl::checkRight('peoa');
- $this->view->deleteRight = Pbs_Acl::checkRight('pd');
+ $this->view->showRight = true;//Pbs_Acl::checkRight('psod');
+ $this->view->editRight = Pbs_Acl::checkRight('peod');
+ $this->view->deleteRight = Pbs_Acl::checkRight('pdo');
$this->view->showOtherRight = Pbs_Acl::checkRight('psood');
$this->view->editOtherRight = Pbs_Acl::checkRight('peoa');
- $this->view->deleteOtherRight = Pbs_Acl::checkRight('pdo');
+ $this->view->deleteOtherRight = Pbs_Acl::checkRight('pd');
$this->view->suspendRight = Pbs_Acl::checkRight('psa');
$this->view->userIDsNamespace = $this->userIDsNamespace;
@@ -425,6 +425,9 @@ class user_PersonController extends Zend_Controller_Action
public function deleterequestAction()
{
+ if(!Pbs_Acl::checkRight('gdm')) {
+ $this->_redirect('/user');
+ }
$grouprequestID = $this->_request->getParam('grouprequestID');
$grouprequest = $this->groupRequestMapper->find($grouprequestID);
try {
diff --git a/application/modules/user/controllers/RoleController.php b/application/modules/user/controllers/RoleController.php
index bee6ecf..94d519b 100644
--- a/application/modules/user/controllers/RoleController.php
+++ b/application/modules/user/controllers/RoleController.php
@@ -3,6 +3,8 @@
class User_RoleController extends Zend_Controller_Action
{
protected $userIDsNamespace = null;
+ protected $membership;
+ protected $membershipMapper;
public function init()
{
@@ -15,9 +17,17 @@ class User_RoleController extends Zend_Controller_Action
$this->roleMapper = new Application_Model_RoleMapper();
$this->rightMapper = new Application_Model_RightMapper();
$this->rightRolesMapper = new Application_Model_RightRolesMapper();
+ $this->membershipMapper = new Application_Model_MembershipMapper();
+
+ $userIDsNamespace = Zend_Session::namespaceGet('userIDs');
+ $this->membership = new Application_Model_Membership();
+ $this->membershipMapper->find($userIDsNamespace['membershipID'],$this->membership);
} else {
$this->_helper->redirector('login', 'auth');
}
+ if($this->membership->getGroupID() == ''){
+ $this->_helper->redirector('selectmembership', 'person');
+ }
}
public function indexAction()
@@ -25,9 +35,33 @@ class User_RoleController extends Zend_Controller_Action
if(!Pbs_Acl::checkRight('ro')) {
$this->_redirect('/user');
}
- if(isset($this->userIDsNamespace['groupID'])) {
- $this->view->roleList = $this->roleMapper->findBy(array('groupID' => $this->userIDsNamespace['groupID']),true);
-
+ $this->view->membership = $this->membership;
+ $groupID = $this->membership->getGroupID();
+ $this->view->roleList = $this->roleMapper->findBy(array('groupID' => $groupID),true);
+
+ $roles = array();
+ $groupGroupsMapper = new Application_Model_GroupGroupsMapper();
+ $parents = $groupGroupsMapper->getParentGroups($groupID);
+ $groupMapper = new Application_Model_GroupMapper();
+ $roleMapper = new Application_Model_RoleMapper();
+ $crawled = array();
+ foreach($parents as $p){
+ foreach($p as $a){
+ if(!in_array($a,$crawled)){
+ $crawled[] = $a;
+ $group = $groupMapper->find($a);
+ if($groupID != $a)
+ $r = $roleMapper->findBy(array('groupID' => $a,'inheritance'=>"1"));
+ else
+ $r = $roleMapper->findBy(array('groupID' => $a));
+ foreach($r as $d){
+ $roles[$group->getTitle()][] = $d;
+ }
+ }
+ }
+ }
+ $this->view->roleList = $roles;
+
// Search
$search = $this->_request->getParam('search');
$mySearch = new Pbs_Search();
@@ -54,10 +88,7 @@ class User_RoleController extends Zend_Controller_Action
$this->view->deleteRight = Pbs_Acl::checkRight('rd');
$this->view->detailsRight = Pbs_Acl::checkRight('rdd');
$this->view->userIDsNamespace = $this->userIDsNamespace;
- } else {
- $this->_helper->redirector('selectmembership', 'person');
- return;
- }
+
}
public function searchAction(){
@@ -72,7 +103,7 @@ class User_RoleController extends Zend_Controller_Action
if(!Pbs_Acl::checkRight('ra')) {
$this->_redirect('/user');
}
- if(isset($this->userIDsNamespace['groupID'])) {
+
$roleID = $this->userIDsNamespace['roleID'];
$rights = $this->rightMapper->fetchAll();
if(count($rights) > 0) {
@@ -119,10 +150,6 @@ class User_RoleController extends Zend_Controller_Action
}
}
$this->view->addForm = $addForm;
- } else {
- $this->_helper->redirector('selectmembership', 'person');
- return;
- }
}
public function editAction()
@@ -190,11 +217,12 @@ class User_RoleController extends Zend_Controller_Action
$roleID = $this->userIDsNamespace['roleID'];
}
}
+ $this->view->membership = $this->membership;
if($roleID) {
$roleMapper = new Application_Model_RoleMapper();
$role = $roleMapper->find($roleID);
$roleGroupID = $role->getGroupID();
- if($this->userIDsNamespace['groupID'] == $roleGroupID) {
+ if($this->userIDsNamespace['groupID'] == $roleGroupID || $role->getInheritance() == 1) {
$rightroles = $this->rightRolesMapper->findBy(array('roleID' => $roleID),true);
if(count($rightroles) > 0) {
foreach($rightroles as $rightrole) {
@@ -435,15 +463,3 @@ class User_RoleController extends Zend_Controller_Action
}
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/application/modules/user/views/scripts/auth/delete.phtml b/application/modules/user/views/scripts/auth/delete.phtml
index 83afc80..75d9ef6 100644
--- a/application/modules/user/views/scripts/auth/delete.phtml
+++ b/application/modules/user/views/scripts/auth/delete.phtml
@@ -1,6 +1,7 @@
<h1>Delete Account</h1>
-Do you really want to delete account?
+Do you really want to delete account?<br/>
+This will delete all of your data on the server.
<?php
$this->deleteconfirmform->setAction($this->url());
echo $this->deleteconfirmform;
-?> \ No newline at end of file
+?>
diff --git a/application/modules/user/views/scripts/role/index.phtml b/application/modules/user/views/scripts/role/index.phtml
index edf03eb..580238f 100644
--- a/application/modules/user/views/scripts/role/index.phtml
+++ b/application/modules/user/views/scripts/role/index.phtml
@@ -1,6 +1,4 @@
-<?php
-if($this->userIDsNamespace['groupID']) {
- ?>
+
<h1>Roles</h1>
<?php
echo $this->searchform;
@@ -9,82 +7,74 @@ if($this->userIDsNamespace['groupID']) {
'class' => 'addbutton'));
?>
<div class='searchvars'>
-<div class='head'>Available searchfilter:</div>
-<div class='code'>title</div>
-<div class='code'>description</div>
+ <div class='head'>Available searchfilter:</div>
+ <div class='code'>title</div>
+ <div class='code'>description</div>
</div>
-<div class='listelement'><?php
-if(count($this->roleList)==0)
-echo "There are no roles" ?> <?php foreach($this->roleList as $k => $role): ?>
-<?php
-$class='';
-if($role['roleID'] == $this->userIDsNamespace['roleID'])
-$class= 'highlight checked';
-?>
- <div class='element<?php echo " $class";?>'>
- <?php if($role['roleID'] != $this->userIDsNamespace['roleID']) { ?>
- <div class='number'>
- <div class='smallnumber'>Role</div>
- <?php echo $role['roleID']; ?>
- </div>
+<div class='listelement'>
+<?php if(count($this->roleList)==0)
+ echo "There are no roles" ?>
+<?php foreach($this->roleList as $i => $grouproleList): ?>
+ <?php foreach($grouproleList as $k => $role): ?>
<?php
- }
- ?>
- <div class='content'>
- <div class='actions'><?php if($this->detailsRight) {?>
- <a href="<?php echo $this->url(
- array(
- 'module' => 'user',
- 'controller' => 'role',
- 'action' => 'show',
- 'roleID' => $role['roleID']
- ),
- 'default',
- true) ?>"> <img src='/media/img/show.png' alt='Show Group' /></a> <?php
- }
- if($this->editRight) { ?>
- <a href="<?php echo $this->url(
- array(
- 'module' => 'user',
- 'controller' => 'role',
- 'action' => 'edit',
- 'roleID' => $role['roleID']
- ),
- 'default',
- true) ?>"> <img src='/media/img/edit.png' alt='Edit Group' /></a> <?php
- }
-if($this->deleteRight) { ?>
- <a href="<?php echo $this->url(
- array(
- 'module' => 'user',
- 'controller' => 'role',
- 'action' => 'delete',
- 'roleID' => $role['roleID']
- ),
- 'default',
- true) ?>"> <img src='/media/img/delete.png' alt='Delete Group' /></a>
-
-<?php } ?>
-</div>
-<div class='title'><?php echo $role['title'] ?></div>
- <?php if($role['description']) {
- ?>
-<div class='subtitle'><?php echo $role['description']; ?></div>
- <?php
- } else {
- ?>
-<div class='subtitle'>&nbsp;</div>
- <?php
- }
+ $class='';
+ if($role->getID() == $this->membership->getRoleID())
+ $class= 'highlight checked';
+ ?>
+ <div class='element<?php echo " $class";?>'>
+ <?php if($role->getID() != $this->userIDsNamespace['roleID']) { ?>
+ <div class='number'>
+ <div class='smallnumber'>Role</div>
+ <?php echo $role->getID(); ?>
+ </div>
+ <?php
+ }
+ ?>
+ <div class='content'>
+ <div class='actions'><?php if($this->detailsRight) {?>
+ <a href="<?php echo $this->url(
+ array(
+ 'module' => 'user',
+ 'controller' => 'role',
+ 'action' => 'show',
+ 'roleID' => $role->getID()
+ ),
+ 'default',
+ true) ?>"> <img src='/media/img/show.png' alt='Show Group' /></a> <?php
+ }
+ if($this->editRight && $this->membership->getGroupID() == $role->getGroupID()) { ?>
+ <a href="<?php echo $this->url(
+ array(
+ 'module' => 'user',
+ 'controller' => 'role',
+ 'action' => 'edit',
+ 'roleID' => $role->getID()
+ ),
+ 'default',
+ true) ?>"> <img src='/media/img/edit.png' alt='Edit Group' /></a> <?php
+ }
+ if($this->deleteRight && $this->membership->getGroupID() == $role->getGroupID()) { ?>
+ <a href="<?php echo $this->url(
+ array(
+ 'module' => 'user',
+ 'controller' => 'role',
+ 'action' => 'delete',
+ 'roleID' => $role->getID()
+ ),
+ 'default',
+ true) ?>"> <img src='/media/img/delete.png' alt='Delete Group' /></a>
-?></div>
-<div class='clear'></div>
+ <?php } ?>
+ </div>
+ <div class='title'><?php echo "[".$i."] ";?><?php echo $role->getTitle();?></div>
+ <div class='subtitle'><?php echo $role->getDescription(); ?>&nbsp;</div></div>
+ <div class='clear'></div>
+ </div>
+ <?php endforeach ?>
+<?php endforeach ?>
</div>
-<?php endforeach ?></div>
-<?php echo $this->pagination;
-}
-?>
+<?php echo $this->pagination; ?>
<br />
<br />
diff --git a/application/modules/user/views/scripts/role/show.phtml b/application/modules/user/views/scripts/role/show.phtml
index 43ae781..0e440f2 100644
--- a/application/modules/user/views/scripts/role/show.phtml
+++ b/application/modules/user/views/scripts/role/show.phtml
@@ -9,10 +9,12 @@ if($this->roleID) {
<h1>Role Details</h1>
<?php
}
- if($this->deleteRight) echo $this->formButton('deleterole', 'Delete', array(
+ if($this->deleteRight && $this->role->getGroupID() == $this->membership->getGroupID())
+ echo $this->formButton('deleterole', 'Delete', array(
'onclick' => 'self.location="/user/role/delete/roleID/' . $this->role->getID() .'"',
'class' => 'rightbutton'));
- if($this->editRight) echo $this->formButton('editrole', 'Edit', array(
+ if($this->editRight && $this->role->getGroupID() == $this->membership->getGroupID())
+ echo $this->formButton('editrole', 'Edit', array(
'onclick' => 'self.location="/user/role/edit/roleID/' . $this->role->getID() .'"',
'class' => 'rightbutton'));
?>
@@ -38,7 +40,7 @@ if($this->roleID) {
<h2>Rights:</h2>
<?php
if($this->rightsAvailable === true) {
- if($this->addRightToRoleRight) {
+ if($this->addRightToRoleRight && $this->role->getGroupID() == $this->membership->getGroupID()) {
echo $this->formButton('linkright', 'Add Rights', array(
'onclick' => 'self.location="/user/role/linkright/roleID/' . $this->role->getID() .'"',
'class' => 'addbutton'))?>
@@ -48,7 +50,8 @@ if($this->rightsAvailable === true) {
if(count($this->rightsList)==0) {
echo "There are no Rights to display.";
} else {
- if($this->removeRightOfRoleRight) echo $this->formButton('deleteallrights', 'Delete All Rights', array(
+ if($this->removeRightOfRoleRight && $this->role->getGroupID() == $this->membership->getGroupID())
+ echo $this->formButton('deleteallrights', 'Delete All Rights', array(
'onclick' => 'self.location="/user/role/unlinkright/rightrolesID/' . $this->roleID . '-all"',
'class' => 'rightbutton'));?>
<br />
@@ -63,7 +66,7 @@ if(count($this->rightsList)==0) {
foreach($rights as $right):
?>
<div class='element'>
-<div class='content'><?php if($this->removeRightOfRoleRight) {
+<div class='content'><?php if($this->removeRightOfRoleRight && $this->role->getGroupID() == $this->membership->getGroupID()) {
?>
<div class='actions'><a
href="<?php echo $this->url(
diff --git a/dbContent.png b/dbContent.png
new file mode 100644
index 0000000..86c297a
--- /dev/null
+++ b/dbContent.png
Binary files differ
diff --git a/library/Pbs/Filter.php b/library/Pbs/Filter.php
index 5231e59..cb6233a 100644
--- a/library/Pbs/Filter.php
+++ b/library/Pbs/Filter.php
@@ -75,8 +75,8 @@ class Pbs_Filter{
$ipAdress = str_replace(".","",$this->fillIP($ipAdress));
$stmt = $db->query("SELECT * FROM pbs_filterentries fe, pbs_filter f WHERE
fe.filtertypeID = ".$filtertypID." AND
- REPLACE(fe.filtervalue,'.','') <= '".$ipAdress."' AND
- '".$ipAdress."' <= REPLACE(fe.filtervalue2,'.','') AND
+ REPLACE(fe.filtervalue,'.','') <= '".mysql_real_escape_string($ipAdress)."' AND
+ '".mysql_real_escape_string($ipAdress)."' <= REPLACE(fe.filtervalue2,'.','') AND
fe.filterID = f.filterID AND
f.groupID = '".$groupID."'");
@@ -102,8 +102,8 @@ class Pbs_Filter{
$macAdress = $this->fillMac($macAdress);
$stmt = $db->query("SELECT * FROM pbs_filterentries fe, pbs_filter f WHERE
fe.filtertypeID = ".$filtertypID." AND
- fe.filtervalue <= '".$macAdress."' AND
- '".$macAdress."' <= fe.filtervalue2 AND
+ fe.filtervalue <= '".mysql_real_escape_string($macAdress)."' AND
+ '".mysql_real_escape_string($macAdress)."' <= fe.filtervalue2 AND
fe.filterID = f.filterID AND
f.groupID = '".$groupID."'");
@@ -132,7 +132,7 @@ class Pbs_Filter{
try{
$stmt = $db->query("SELECT * FROM pbs_filterentries fe, pbs_filter f WHERE
fe.filtertypeID = ".$filtertypID." AND
- fe.filtervalue = ".$poolID." AND
+ fe.filtervalue = ".mysql_real_escape_string($poolID)." AND
fe.filterID = f.filterID AND
f.groupID = '".$groupID."'");
$result = $stmt->fetchAll();
@@ -157,7 +157,7 @@ class Pbs_Filter{
try{
$stmt = $db->query("SELECT * FROM pbs_filterentries fe, pbs_filter f WHERE
fe.filtertypeID = ".$filtertypID." AND
- fe.filtervalue = ".$clientID." AND
+ fe.filtervalue = ".mysql_real_escape_string($clientID)." AND
fe.filterID = f.filterID AND
f.groupID = '".$groupID."'");
@@ -180,7 +180,7 @@ class Pbs_Filter{
try{
$stmt = $db->query("SELECT * FROM pbs_filterentries fe, pbs_filter f WHERE
fe.filtertypeID = ".$filtertypID." AND
- fe.filtervalue = ".$bootisoID." AND
+ fe.filtervalue = ".mysql_real_escape_string($bootisoID)." AND
fe.filterID = f.filterID AND
f.groupID = '".$groupID."'");
$result = $stmt->fetchAll();
@@ -204,7 +204,7 @@ class Pbs_Filter{
try{
$stmt = $db->query("SELECT * FROM pbs_filterentries fe, pbs_filter f WHERE
fe.filtertypeID = ".$filtertypID." AND
- fe.filtervalue = ".$membershipID." AND
+ fe.filtervalue = ".mysql_real_escape_string($membershipID)." AND
fe.filterID = f.filterID AND
f.groupID = '".$groupID."'");
$result = $stmt->fetchAll();
@@ -231,7 +231,7 @@ class Pbs_Filter{
try{
$stmt = $db->query("SELECT * FROM pbs_filterentries fe, pbs_filter f WHERE
fe.filtertypeID = ".$filtertypID." AND
- fe.filtervalue = ".$membergroupID." AND
+ fe.filtervalue = ".mysql_real_escape_string($membergroupID)." AND
fe.filterID = f.filterID AND
f.groupID = '".$groupID."'");
$result = $stmt->fetchAll();
@@ -259,8 +259,8 @@ class Pbs_Filter{
$stmt = $db->query('SELECT * FROM pbs_filterentries fe, pbs_filter f WHERE
fe.filtertypeID = '.$filtertypID.' AND
- REPLACE(fe.filtervalue,":","") <= '.$nowShort.' AND
- REPLACE(fe.filtervalue2,":","") >= '.$nowShort." AND
+ REPLACE(fe.filtervalue,":","") <= '.mysql_real_escape_string($nowShort).' AND
+ REPLACE(fe.filtervalue2,":","") >= '.mysql_real_escape_string($nowShort)." AND
fe.filterID = f.filterID AND
f.groupID = '".$groupID."'");
$result = $stmt->fetchAll();
@@ -286,7 +286,7 @@ class Pbs_Filter{
try{
$stmt = $db->query("SELECT * FROM pbs_filterentries fe, pbs_filter f WHERE
fe.filtertypeID = ".$filtertypID." AND
- fe.filtervalue = ".$hardwarehash." AND
+ fe.filtervalue = ".mysql_real_escape_string($hardwarehash)." AND
fe.filterID = f.filterID AND
f.groupID = '".$groupID."'");
$result = $stmt->fetchAll();
@@ -309,8 +309,8 @@ class Pbs_Filter{
try{
$stmt = $db->query("SELECT * FROM pbs_filterentries fe, pbs_filter f WHERE
fe.filtertypeID = ".$filtertypID." AND
- fe.filtervalue <= ".$weekday." AND
- ".$weekday." <= fe.filtervalue2 AND
+ fe.filtervalue <= ".mysql_real_escape_string($weekday)." AND
+ ".mysql_real_escape_string($weekday)." <= fe.filtervalue2 AND
fe.filterID = f.filterID AND
f.groupID = '".$groupID."'");
$result = $stmt->fetchAll();
@@ -332,8 +332,8 @@ class Pbs_Filter{
try{
$stmt = $db->query("SELECT * FROM pbs_filterentries fe, pbs_filter f WHERE
fe.filtertypeID = ".$filtertypID." AND
- REPLACE(fe.filtervalue,'.','') <= ".$date." AND
- ".$date." <= REPLACE(fe.filtervalue2,'.','') <= AND
+ REPLACE(fe.filtervalue,'.','') <= ".mysql_real_escape_string($date)." AND
+ ".mysql_real_escape_string($date)." <= REPLACE(fe.filtervalue2,'.','') <= AND
fe.filterID = f.filterID AND
f.groupID = '".$groupID."'");
$result = $stmt->fetchAll();
diff --git a/library/Pbs/NewMember.php b/library/Pbs/NewMember.php
index 62069c2..9800d04 100644
--- a/library/Pbs/NewMember.php
+++ b/library/Pbs/NewMember.php
@@ -28,13 +28,14 @@ class Pbs_NewMember{
$userBootmenu->setID($userBootmenuID);
# print_a('userbootmenu',$userBootmenu);
-
- $bootmenuentries = $bootmenuentriesMapper->findBy(array('bootmenuID'=>$defaultBootmenu->getID()));
- foreach($bootmenuentries as $bme){
- $bme->setID(null);
- $bme->setBootmenuID($userBootmenuID);
- $bootmenuentriesMapper->save($bme);
- #print_a('bootmenuentry',$bme);
+ if($defaultBootmenu != ''){
+ $bootmenuentries = $bootmenuentriesMapper->findBy(array('bootmenuID'=>$defaultBootmenu->getID()));
+ foreach($bootmenuentries as $bme){
+ $bme->setID(null);
+ $bme->setBootmenuID($userBootmenuID);
+ $bootmenuentriesMapper->save($bme);
+ #print_a('bootmenuentry',$bme);
+ }
}
// Second we create a filter
diff --git a/pbs.sql b/pbs.sql
index b2371d9..f8da71f 100644
--- a/pbs.sql
+++ b/pbs.sql
@@ -373,7 +373,7 @@ INSERT INTO `pbs`.`pbs_right` (`rightID`, `rightcategoryID`, `shortcut`, `title`
-- Eigene Personendetails ändern
(NULL, '1', 'peod', 'Edit own profiledetails', NULL),
-- Eigene Personendetails anzeigen
-(NULL, '1', 'psod', 'Show own profiledetails', NULL),
+(NULL, '1', 'psod', 'XXX - Show own profiledetails', NULL),
-- Eigene Identität vom System löschen
(NULL, '1', 'pdo', 'Delete own account', NULL),
-- Person löschen
@@ -402,7 +402,7 @@ INSERT INTO `pbs`.`pbs_right` (`rightID`, `rightcategoryID`, `shortcut`, `title`
-- Gruppe mit allen Untergruppen löschen
(NULL, '2', 'gdlwc', 'Delete group with all child groups', NULL),
-- Gruppenanfragen stellen
-(NULL, '2', 'grm', 'XX - Request membership', NULL),
+(NULL, '2', 'grm', 'XXX - Request membership', NULL),
-- Gruppenanfragen akzeptieren
(NULL, '2', 'gam', 'Accept membership request', NULL),
-- Gruppenanfragen ablehnen
diff --git a/public/media/css/fbgui.css b/public/media/css/fbgui.css
index f7e55cb..8fdbc12 100644
--- a/public/media/css/fbgui.css
+++ b/public/media/css/fbgui.css
@@ -90,3 +90,6 @@ div.menu>img {
margin-bottom:5px;
margin-top:20px;
}
+.selectswitch{
+ cursor:default !important;
+}