Beispiel #1
0
 /**
  *
  * Process HTTP POST request on users
  *
  *      users/{userid}/rights         
  *      users/{userid}/rights/{collection}      
  *      users/{userid}/rights/{collection}/{featureid}   
  *
  * @param array $segments
  * @param array $data
  */
 private function POST_users($segments, $data)
 {
     /*
      * Check route pattern
      */
     if (!isset($segments[2]) || $segments[2] !== 'rights' || !isset($data['rights'])) {
         RestoLogUtil::httpError(404);
     }
     /*
      * Get user
      */
     $user = new RestoUser($this->context->dbDriver->get(RestoDatabaseDriver::USER_PROFILE, array('userid' => $segments[1])), $this->context);
     /*
      * Store/update rights
      */
     $user->setRights($data['rights'], isset($segments[3]) ? $segments[3] : null, isset($segments[4]) ? $segments[4] : null);
     return $this->getRights($user, isset($segments[3]) ? $segments[3] : null, isset($segments[4]) ? $segments[4] : null);
 }