/** * Setup the form. * * @param \Illuminate\Support\Fluent $model * @param \Orchestra\Contracts\Html\Form\Builder $form * * @return void */ protected function form(Fluent $model, FormBuilder $form) { $form->extend(function ($form) use($model) { $form->fieldset('Page Management', function ($fieldset) { $pages = Content::page()->publish()->lists('title', 'slug'); if ($pages instanceof Arrayable) { $pages = $pages->toArray(); } $pages = array_merge(['_posts_' => 'Display Posts'], $pages); $fieldset->control('select', 'default_format')->label('Default Format')->options(StoryFormat::getParsers()); $fieldset->control('select', 'default_page')->label('Default Page')->options($pages); $fieldset->control('text', 'Page Permalink', 'page_permalink'); $fieldset->control('text', 'Post Permalink', 'post_permalink'); }); }); }
/** * Define the middleware. * * @return void */ protected function setupMiddleware() { $this->editorFormat = StoryFormat::get(Input::get('format')); $this->middleware('orchestra.auth'); $this->middleware("orchestra.story.editor:{$this->editorFormat}"); }
/** * Accessor for parsed content. * * @return string */ public function getBodyAttribute() { $value = $this->getAttribute('content'); $format = $this->attributes['format']; return StoryFormat::driver($format)->parse($value); }