<?php /** * Page Manager * ------------ */ Route::accept(array($config->manager->slug . '/page', $config->manager->slug . '/page/(:num)'), function ($offset = 1) use($config, $speak) { $pages = false; $offset = (int) $offset; if ($files = Mecha::eat(Get::pages('DESC', "", 'txt,draft,archive'))->chunk($offset, $config->manager->per_page)->vomit()) { $pages = array(); foreach ($files as $file) { $pages[] = Get::pageHeader($file); } unset($files); } else { if ($offset !== 1) { Shield::abort(); } } Config::set(array('page_title' => $speak->pages . $config->title_separator . $config->manager->title, 'offset' => $offset, 'pages' => $pages, 'pagination' => Navigator::extract(Get::pages('DESC', "", 'txt,draft,archive'), $offset, $config->manager->per_page, $config->manager->slug . '/page'), 'cargo' => DECK . DS . 'workers' . DS . 'cargo.page.php')); Shield::lot('segment', 'page')->attach('manager', false); }); /** * Page Composer/Updater * --------------------- */ Route::accept(array($config->manager->slug . '/page/ignite', $config->manager->slug . '/page/repair/id:(:num)'), function ($id = false) use($config, $speak) { Config::set('cargo', DECK . DS . 'workers' . DS . 'repair.page.php'); if ($id && ($page = Get::page($id, array('content', 'excerpt', 'tags', 'comments')))) { $extension_o = $page->state === 'published' ? '.txt' : '.draft';