diff --git a/inc/inc.TraitRestapi.php b/inc/inc.TraitRestapi.php index f3968f197..df7d89725 100644 --- a/inc/inc.TraitRestapi.php +++ b/inc/inc.TraitRestapi.php @@ -11,7 +11,6 @@ * @version Release: @package_version@ */ - trait SeedDMS_RestapiTrait { /* {{{ */ protected function __getAttributesData($obj) { /* {{{ */ $attributes = $obj->getAttributes(); @@ -138,6 +137,78 @@ trait SeedDMS_RestapiTrait { /* {{{ */ return $data; } /* }}} */ + protected function __getGroupData($u) { /* {{{ */ + $data = array( + 'type'=>'group', + 'id'=>(int)$u->getID(), + 'name'=>$u->getName(), + 'comment'=>$u->getComment(), + ); + return $data; + } /* }}} */ + + protected function __getUserData($u) { /* {{{ */ + $data = array( + 'type'=>'user', + 'id'=>(int)$u->getID(), + 'name'=>$u->getFullName(), + 'comment'=>$u->getComment(), + 'login'=>$u->getLogin(), + 'email'=>$u->getEmail(), + 'language' => $u->getLanguage(), + 'quota' => $u->getQuota(), + 'homefolder' => $u->getHomeFolder(), + 'theme' => $u->getTheme(), + 'role' => $this->__getRoleData($u->getRole()), //array('id'=>(int)$u->getRole()->getId(), 'name'=>$u->getRole()->getName()), + 'hidden'=>$u->isHidden() ? true : false, + 'disabled'=>$u->isDisabled() ? true : false, + 'isguest' => $u->isGuest() ? true : false, + 'isadmin' => $u->isAdmin() ? true : false, + ); + if($u->getHomeFolder()) + $data['homefolder'] = (int)$u->getHomeFolder(); + + $groups = $u->getGroups(); + if($groups) { + $tmp = []; + foreach($groups as $group) + $tmp[] = $this->__getGroupData($group); + $data['groups'] = $tmp; + } + return $data; + } /* }}} */ + + protected function __getRoleData($r) { /* {{{ */ + $data = array( + 'type'=>'role', + 'id'=>(int)$r->getID(), + 'name'=>$r->getName(), + 'role'=>$r->getRole() + ); + return $data; + } /* }}} */ + + protected function __getAttributeDefinitionData($attrdef) { /* {{{ */ + $data = [ + 'id' => (int)$attrdef->getId(), + 'name' => $attrdef->getName(), + 'type'=>(int)$attrdef->getType(), + 'objtype'=>(int)$attrdef->getObjType(), + 'min'=>(int)$attrdef->getMinValues(), + 'max'=>(int)$attrdef->getMaxValues(), + 'multiple'=>$attrdef->getMultipleValues()?true:false, + 'valueset'=>$attrdef->getValueSetAsArray(), + 'regex'=>$attrdef->getRegex() + ]; + return $data; + } /* }}} */ + + protected function __getCategoryData($category) { /* {{{ */ + $data = [ + 'id'=>(int)$category->getId(), + 'name'=>$category->getName() + ]; + return $data; + } /* }}} */ } /* }}} */ - diff --git a/restapi/index.php b/restapi/index.php index a45396f32..a4c19475c 100644 --- a/restapi/index.php +++ b/restapi/index.php @@ -56,80 +56,6 @@ final class SeedDMS_RestapiController { /* {{{ */ $this->renderer = $renderer; } - protected function __getGroupData($u) { /* {{{ */ - $data = array( - 'type'=>'group', - 'id'=>(int)$u->getID(), - 'name'=>$u->getName(), - 'comment'=>$u->getComment(), - ); - return $data; - } /* }}} */ - - protected function __getUserData($u) { /* {{{ */ - $data = array( - 'type'=>'user', - 'id'=>(int)$u->getID(), - 'name'=>$u->getFullName(), - 'comment'=>$u->getComment(), - 'login'=>$u->getLogin(), - 'email'=>$u->getEmail(), - 'language' => $u->getLanguage(), - 'quota' => $u->getQuota(), - 'homefolder' => $u->getHomeFolder(), - 'theme' => $u->getTheme(), - 'role' => $this->__getRoleData($u->getRole()), //array('id'=>(int)$u->getRole()->getId(), 'name'=>$u->getRole()->getName()), - 'hidden'=>$u->isHidden() ? true : false, - 'disabled'=>$u->isDisabled() ? true : false, - 'isguest' => $u->isGuest() ? true : false, - 'isadmin' => $u->isAdmin() ? true : false, - ); - if($u->getHomeFolder()) - $data['homefolder'] = (int)$u->getHomeFolder(); - - $groups = $u->getGroups(); - if($groups) { - $tmp = []; - foreach($groups as $group) - $tmp[] = $this->__getGroupData($group); - $data['groups'] = $tmp; - } - return $data; - } /* }}} */ - - protected function __getRoleData($r) { /* {{{ */ - $data = array( - 'type'=>'role', - 'id'=>(int)$r->getID(), - 'name'=>$r->getName(), - 'role'=>$r->getRole() - ); - return $data; - } /* }}} */ - - protected function __getAttributeDefinitionData($attrdef) { /* {{{ */ - $data = [ - 'id' => (int)$attrdef->getId(), - 'name' => $attrdef->getName(), - 'type'=>(int)$attrdef->getType(), - 'objtype'=>(int)$attrdef->getObjType(), - 'min'=>(int)$attrdef->getMinValues(), - 'max'=>(int)$attrdef->getMaxValues(), - 'multiple'=>$attrdef->getMultipleValues()?true:false, - 'valueset'=>$attrdef->getValueSetAsArray(), - 'regex'=>$attrdef->getRegex() - ]; - return $data; - } /* }}} */ - - protected function __getCategoryData($category) { /* {{{ */ - $data = [ - 'id'=>(int)$category->getId(), - 'name'=>$category->getName() - ]; - return $data; - } /* }}} */ - function doLogin($request, $response) { /* {{{ */ // global $session;