/** * Returns all forms of type Prismic\SearchForm that are available for this repository's API. * The intended syntax of a call is: api->forms()->everything->query(query)->ref(ref)->submit(). * Learn more about those keywords in prismic.io's documentation on our developers' portal. * * @api * * @return \stdClass all forms */ public function forms() { $forms = $this->data->getForms(); $rforms = new \stdClass(); foreach ($forms as $key => $form) { $fields = array(); foreach ($form->fields as $name => $field) { $maybeDefault = isset($field->default) ? $field->default : null; $isMultiple = isset($field->multiple) ? $field->multiple : false; $fields[$name] = new FieldForm($field->type, $isMultiple, $maybeDefault); } $f = new Form(isset($form->name) ? $form->name : null, $form->method, isset($form->rel) ? $form->rel : null, $form->enctype, $form->action, $fields); $data = $f->defaultData(); $rforms->{$key} = new SearchForm($this, $f, $data); } return $rforms; }