summaryrefslogtreecommitdiffstats
path: root/application/controllers/ResourceController.php
diff options
context:
space:
mode:
authorBjörn Geiger2011-08-04 16:33:40 +0200
committerBjörn Geiger2011-08-04 16:33:40 +0200
commitcd8c60b7e27589af52ddde3b609ea7c5dd67bdc4 (patch)
tree43b74284fdc4516ed56649980b604078330b1292 /application/controllers/ResourceController.php
parentminor (diff)
downloadpbs2-cd8c60b7e27589af52ddde3b609ea7c5dd67bdc4.tar.gz
pbs2-cd8c60b7e27589af52ddde3b609ea7c5dd67bdc4.tar.xz
pbs2-cd8c60b7e27589af52ddde3b609ea7c5dd67bdc4.zip
Group und Person API
Diffstat (limited to 'application/controllers/ResourceController.php')
-rw-r--r--application/controllers/ResourceController.php96
1 files changed, 95 insertions, 1 deletions
diff --git a/application/controllers/ResourceController.php b/application/controllers/ResourceController.php
index 0943d2a..a6ed440 100644
--- a/application/controllers/ResourceController.php
+++ b/application/controllers/ResourceController.php
@@ -904,6 +904,99 @@ class ResourceController extends Zend_Controller_Action
echo $xml;
}
+ public function getpersonAction() {
+ $apikey = $this->_request->getParam('apikey');
+ if($apikey == ""){
+ header('HTTP/1.0 400 No API-Key');
+ die();
+ }
+
+ if(isset($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');
+ } else {
+ $personid = $this->membership->getPersonID();
+ }
+
+ $personMapper = new Application_Model_PersonMapper();
+ $person = new Application_Model_Person();
+ $personMapper->find($personid,$person);
+
+ $xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
+ $xml .= "<xml>\n";
+ $xml .= "\t<person>\n";
+ $xml .= "\t\t<id>" . $person->getID() . "</id>\n";
+ $xml .= "\t\t<city>" . $person->getCity() . "</city>\n";
+ $xml .= "\t\t<email>" . $person->getEmail() . "</email>\n";
+ $xml .= "\t\t<firstname>" . $person->getFirstname() . "</firstname>\n";
+ $xml .= "\t\t<housenumber>" . $person->getHousenumber() . "</housenumber>\n";
+ $xml .= "\t\t<login>" . $person->getLogin() . "</login>\n";
+ $xml .= "\t\t<logindate>" . $person->getLogindate() . "</logindate>\n";
+ $xml .= "\t\t<name>" . $person->getName() . "</name>\n";
+ $xml .= "\t\t<postalcode>" . $person->getPostalcode() . "</postalcode>\n";
+ $xml .= "\t\t<registerdate>" . $person->getRegisterdate() . "</registerdate>\n";
+ $xml .= "\t\t<street>" . $person->getStreet() . "</street>\n";
+ $xml .= "\t\t<suspend>" . $person->getSuspend() . "</suspend>\n";
+ $xml .= "\t\t<title>" . $person->getTitle() . "</title>\n";
+ $xml .= "\t</person>\n";
+ $xml .= "</xml>";
+
+ header('Content-Type: text/xml');
+ header('Content-Disposition: inline; filename="person.xml"');
+ header('Pragma: no-cache');
+ header('Expires: 0');
+ echo $xml;
+ }
+
+ public function getgroupAction() {
+ list($rightroles1) = $this->rightrolesMapper->findBy(array('rightID' => '79', 'roleID' => $this->membership->getRoleID()));
+ if($rightroles1 == null){
+ header('HTTP/1.0 403 No Right to Show Groups');
+ die();
+ }
+
+ $apikey = $this->_request->getParam('apikey');
+ if($apikey == ""){
+ header('HTTP/1.0 400 No API-Key');
+ die();
+ }
+
+ $groupMapper = new Application_Model_GroupMapper();
+
+ if(isset($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');
+ } else {
+ $groupid = $this->membership->getGroupID();
+ }
+
+ $group = new Application_Model_Group();
+ $groupMapper->find($groupid, $group);
+
+ $xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
+ $xml .= "<xml>\n";
+ $xml .= "\t<group>\n";
+ $xml .= "\t\t<id>" . $group->getID() . "</id>\n";
+ $xml .= "\t\t<description>" . $group->getDescription() . "</description>\n";
+ $xml .= "\t\t<title>" . $group->getTitle() . "</title>\n";
+ $xml .= "\t</group>\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";
@@ -929,6 +1022,7 @@ class ResourceController extends Zend_Controller_Action
if($person->getSuspend()) {
$xml .= "\t\t<success>false</success>\n";
+ $xml .= "\t\t<personid>" . $person->getID() . "</personid>";
$xml .= "\t\t<error>person suspended</error>\n";
} else {
$xml .= "\t\t<success>true</success>\n";
@@ -959,7 +1053,7 @@ class ResourceController extends Zend_Controller_Action
$xml .= "</xml>";
header('Content-Type: text/xml');
- header('Content-Disposition: inline; filename="pool.xml"');
+ header('Content-Disposition: inline; filename="login.xml"');
header('Pragma: no-cache');
header('Expires: 0');
echo $xml;