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'));
     });
 }
Example #2
0
 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');
 }
Example #3
0
        $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) {