summaryrefslogtreecommitdiffstats
path: root/application/controllers
diff options
context:
space:
mode:
authorBjörn Geiger2011-08-05 12:41:07 +0200
committerBjörn Geiger2011-08-05 12:41:07 +0200
commitee2d413567a5126ce40026a3420dd5d172852cb2 (patch)
tree853a3252f2214c3a72505ddc0dbe14b920a7d6f0 /application/controllers
parentkleine korrektur (diff)
downloadpbs2-ee2d413567a5126ce40026a3420dd5d172852cb2.tar.gz
pbs2-ee2d413567a5126ce40026a3420dd5d172852cb2.tar.xz
pbs2-ee2d413567a5126ce40026a3420dd5d172852cb2.zip
MembershipAPI hinzugefügt
Diffstat (limited to 'application/controllers')
-rw-r--r--application/controllers/ResourceController.php57
1 files changed, 46 insertions, 11 deletions
diff --git a/application/controllers/ResourceController.php b/application/controllers/ResourceController.php
index 61908c6..cb993fe 100644
--- a/application/controllers/ResourceController.php
+++ b/application/controllers/ResourceController.php
@@ -22,7 +22,7 @@ class ResourceController extends Zend_Controller_Action
public function init()
{
$this->db = Zend_Db_Table::getDefaultAdapter();
-
+
$this->_helper->layout->disableLayout();
$this->_helper->viewRenderer->setNoRender();
@@ -915,12 +915,14 @@ class ResourceController extends Zend_Controller_Action
}
if($this->_request->getParam('personid')) {
- list($rightroles) = $this->rightrolesMapper->findBy(array('rightID' => '6', 'roleID' => $this->membership->getRoleID()));
- if($rightroles == null){
- header('HTTP/1.0 403 No Right to Show Details of other Person');
- die();
- }
$personid = $this->_request->getParam('personid');
+ if($personid != $this->membership->getPersonID()) {
+ list($rightroles) = $this->rightrolesMapper->findBy(array('rightID' => '6', 'roleID' => $this->membership->getRoleID()));
+ if($rightroles == null){
+ header('HTTP/1.0 403 No Right to Show Details of other Person');
+ die();
+ }
+ }
} else {
$personid = $this->membership->getPersonID();
}
@@ -971,12 +973,14 @@ class ResourceController extends Zend_Controller_Action
$groupMapper = new Application_Model_GroupMapper();
if($this->_request->getParam('groupid')) {
- list($rightroles2) = $this->rightrolesMapper->findBy(array('rightID' => '11', 'roleID' => $this->membership->getRoleID()));
- if($rightroles2 == null){
- header('HTTP/1.0 403 No Right to Show Details of other Group');
- die();
- }
$groupid = $this->_request->getParam('groupid');
+ if($groupid != $this->membership->getGroupID()) {
+ list($rightroles2) = $this->rightrolesMapper->findBy(array('rightID' => '11', 'roleID' => $this->membership->getRoleID()));
+ if($rightroles2 == null){
+ header('HTTP/1.0 403 No Right to Show Details of other Group');
+ die();
+ }
+ }
} else {
$groupid = $this->membership->getGroupID();
}
@@ -1000,6 +1004,37 @@ class ResourceController extends Zend_Controller_Action
echo $xml;
}
+ public function getmembershipAction() {
+ $apikey = $this->_request->getParam('apikey');
+ if($apikey == ""){
+ header('HTTP/1.0 400 No API-Key');
+ die();
+ }
+
+ $membershipMapper = new Application_Model_MembershipMapper();
+ $membershipid = $this->membership->getID();
+ $membership = new Application_Model_Membership();
+ $membershipMapper->find($membershipid, $membership);
+
+ $xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
+ $xml .= "<xml>\n";
+ $xml .= "\t<membership>\n";
+ $xml .= "\t\t<id>" . $membership->getID() . "</id>\n";
+ $xml .= "\t\t<apikey>" . $membership->getApikey() . "</apikey>\n";
+ $xml .= "\t\t<groupid>" . $membership->getGroupID() . "</groupid>\n";
+ $xml .= "\t\t<personid>" . $membership->getPersonID() . "</personid>\n";
+ $xml .= "\t\t<roleid>" . $membership->getRoleID() . "</roleid>\n";
+ $xml .= "\t\t<suspend>" . $membership->getSuspend() . "</suspend>\n";
+ $xml .= "\t</membership>\n";
+ $xml .= "</xml>";
+
+ header('Content-Type: text/xml');
+ header('Content-Disposition: inline; filename="group.xml"');
+ header('Pragma: no-cache');
+ header('Expires: 0');
+ echo $xml;
+ }
+
public function loginAction() {
$xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
$xml .= "<xml>\n";