Ejemplo n.º 1
0
 /**
  * Overrides the default validate method.
  *
  * @param bool $validate_request
  *   Determine if we need to validate the sent request values. In case of
  *   delete we don't need to validate the sent request values.
  */
 public function validate($validate_request = TRUE)
 {
     $this->getObject();
     $this->object->group_type = 'node';
     if (empty($this->object->gid)) {
         $this->object->gid = 0;
     } else {
         // Set up the space.
         spaces_set_space(vsite_get_vsite($this->object->gid));
     }
     $this->object->gid = (int) $this->object->gid;
     $this->setRequest((array) $this->object);
     if ($validate_request) {
         parent::validate();
     }
     $function = $this->object->gid ? 'og_user_access' : 'user_access';
     $params = $this->object->gid ? array('node', $this->object->gid, 'administer users', $this->getAccount()) : array('administer users', $this->getAccount());
     if (!call_user_func_array($function, $params)) {
         throw new \RestfulForbiddenException('You are not allowed to manage roles.');
     }
 }
Ejemplo n.º 2
0
 /**
  * Override the list method in order to return a specific delta from the
  * space override.
  */
 public function getSpace()
 {
     $list = parent::index();
     $request = $this->getRequest();
     if (!empty($request['type']) && !empty($list[0]['value'][$request['type']])) {
         // We need a sub value from the space.
         $sub_value = $list[0]['value'][$request['type']];
         if (!empty($request['delta']) && !empty($sub_value[$request['delta']])) {
             // We need a specif delta from the sub value.
             return $sub_value[$request['delta']];
         }
         return $sub_value;
     }
     return $list;
 }