public function control_panel__add_routes() { $app = \Slim\Slim::getInstance(); $app->get('/globes', function () use($app) { authenticateForRole('admin'); doStatamicVersionCheck($app); Statamic_View::set_templates(array('globes-overview'), __DIR__ . '/templates'); $data = $this->tasks->getThemeSettings(); $app->render(null, array('route' => 'globes', 'app' => $app) + $data); })->name('globes'); // Update global vars $app->post('/globes/update', function () use($app) { authenticateForRole('admin'); doStatamicVersionCheck($app); $data = $this->tasks->getThemeSettings(); $vars = Request::fetch('pageglobals'); foreach ($vars as $name => $var) { foreach ($data['globals'] as $key => $item) { if ($item['name'] === $name) { $data['globals'][$key]['value'] = $var; } } } File::put($this->tasks->getThemeSettingsPath(), YAML::dump($data, 1)); $app->flash('success', Localization::fetch('update_success')); $app->redirect($app->urlFor('globes')); }); }
public function control_panel__add_routes() { $app = \Slim\Slim::getInstance(); $app->get('/raven', function () use($app) { authenticateForRole('admin'); doStatamicVersionCheck($app); $template_list = array("raven-overview"); Statamic_View::set_templates(array_reverse($template_list), __DIR__ . '/templates'); $data = $this->tasks->getOverviewData(); if (count($data['formsets']) === 1) { $app->redirect($app->urlFor('raven') . '/' . key($data['formsets'])); } $app->render(null, array('route' => 'raven', 'app' => $app) + $data); })->name('raven'); $app->get('/raven/:formset', function ($formset) use($app) { authenticateForRole('admin'); doStatamicVersionCheck($app); $template_list = array("raven-detail"); Statamic_View::set_templates(array_reverse($template_list), __DIR__ . '/templates'); $app->render(null, array('route' => 'raven', 'app' => $app) + $this->tasks->getFormsetData($formset)); }); $app->get('/raven/:formset/spam', function ($formset) use($app) { authenticateForRole('admin'); doStatamicVersionCheck($app); $template_list = array("raven-spam"); Statamic_View::set_templates(array_reverse($template_list), __DIR__ . '/templates'); $app->render(null, array('route' => 'raven', 'app' => $app) + $this->tasks->getFormsetSpamData($formset)); }); $app->get('/raven/:formset/export', function ($formset) use($app) { authenticateForRole('admin'); doStatamicVersionCheck($app); $res = $app->response(); $res['Content-Type'] = 'text/csv'; $res['Content-Disposition'] = 'attachment;filename=' . $formset . '-export.csv'; $this->tasks->exportCSV($formset); }); $app->post('/raven/:formset/batch', function ($formset) use($app) { authenticateForRole('admin'); doStatamicVersionCheck($app); $files = (array) Request::fetch('files'); $action = Request::fetch('action'); $count = count($files); foreach ($files as $file) { switch ($action) { case "delete": File::delete($file); break; case "spam": $this->tasks->markAsSpam($file); break; case "ham": $this->tasks->markAsHam($file); break; } } $app->flash('success', Localization::fetch('batch_' . $action)); $app->redirect($app->urlFor('raven') . '/' . $formset); }); $app->map('/raven/:formset/delete', function ($formset) use($app) { authenticateForRole('admin'); doStatamicVersionCheck($app); $files = (array) Request::fetch('files'); $count = count($files); foreach ($files as $file) { File::delete($file); } if ($count > 1) { $app->flash('success', Localization::fetch('files_deleted')); } else { $app->flash('success', Localization::fetch('file_deleted')); } $app->redirect($app->urlFor('raven') . '/' . $formset); })->via('GET', 'POST'); }
$app->flash('success', Localization::fetch('entry_saved')); } if (Request::post('continue')) { $path = rtrim(Path::trimSlashes(str_replace(Config::getContentRoot(), '', Path::tidy($file))), '.' . Config::getContentType()); $app->redirect($admin_app->urlFor('publish') . '?path=' . $path); } else { $app->redirect(Request::post('return')); } }); // GET: DELETE ENTRY $admin_app->map('/delete/entry', function () use($admin_app) { authenticateForRole('admin'); doStatamicVersionCheck($admin_app); $content_root = Config::getContentRoot(); $content_type = Config::getContentType(); $entries = (array) Request::fetch('entries'); $count = count($entries); foreach ($entries as $path) { $file = $content_root . "/" . $path . "." . $content_type; /* |-------------------------------------------------------------------------- | Delete Hook |-------------------------------------------------------------------------- | | Runs the delete hook, passing the file path | */ Hook::run('control_panel', 'delete', null, $file); File::delete($file); } if ($count > 1) {