<?php Route::collection(array('before' => 'auth,install_exists'), function () { /* List Metadata */ Route::get('admin/extend/metadata', function () { $vars['token'] = Csrf::token(); $vars['dashboard_page_options'] = array('panel' => 'Welcome', 'posts' => 'Posts', 'pages' => 'Pages'); $vars['meta'] = Config::get('meta'); $vars['pages'] = Page::dropdown(); $vars['themes'] = Themes::all(); return View::create('extend/metadata/edit', $vars)->partial('header', 'partials/header')->partial('footer', 'partials/footer'); }); /* Update Metadata */ Route::post('admin/extend/metadata', function () { $input = Input::get(array('sitename', 'description', 'home_page', 'posts_page', 'posts_per_page', 'auto_published_comments', 'theme', 'comment_notifications', 'comment_moderation_keys', 'show_all_posts', 'dashboard_page')); foreach ($input as $key => $value) { $input[$key] = eq($value); } $validator = new Validator($input); $validator->check('sitename')->is_max(3, __('metadata.sitename_missing')); $validator->check('description')->is_max(3, __('metadata.sitedescription_missing')); $validator->check('posts_per_page')->is_regex('#^[0-9]+$#', __('metadata.missing_posts_per_page', 'Please enter a number for posts per page')); if ($errors = $validator->errors()) { Input::flash(); Notify::error($errors); return Response::redirect('admin/extend/metadata'); }
} // encode title $input['title'] = e($input['title'], ENT_COMPAT); $input['show_in_menu'] = is_null($input['show_in_menu']) ? 0 : 1; Page::update($id, $input); Extend::process('page', $id); Notify::success(__('pages.updated')); return Response::redirect('admin/pages/edit/' . $id); }); /* Add Page */ Route::get('admin/pages/add', function () { $vars['messages'] = Notify::read(); $vars['token'] = Csrf::token(); $vars['pages'] = Page::dropdown(array('exclude' => array(), 'show_empty_option' => true)); $vars['statuses'] = array('published' => __('global.published'), 'draft' => __('global.draft'), 'archived' => __('global.archived')); // extended fields $vars['fields'] = Extend::fields('page'); return View::create('pages/add', $vars)->partial('header', 'partials/header')->partial('footer', 'partials/footer')->partial('editor', 'partials/editor'); }); Route::post('admin/pages/add', function () { $input = Input::get(array('parent', 'name', 'title', 'slug', 'content', 'status', 'redirect', 'show_in_menu')); // if there is no slug try and create one from the title if (empty($input['slug'])) { $input['slug'] = $input['title']; } // convert to ascii $input['slug'] = slug($input['slug']); // encode title $input['title'] = e($input['title'], ENT_COMPAT);