%PDF- %PDF-
Direktori : /www/varak.net/paste.varak.net-5.6/app/controllers/ |
Current File : //www/varak.net/paste.varak.net-5.6/app/controllers/SetupController.php |
<?php /** * Sticky Notes * * An open source lightweight pastebin application * * @package StickyNotes * @author Sayak Banerjee * @copyright (c) 2014 Sayak Banerjee <mail@sayakbanerjee.com> * @license http://www.opensource.org/licenses/bsd-license.php * @link http://sayakbanerjee.com/sticky-notes * @since Version 1.0 * @filesource */ /** * SetupController * * This controller handles app install and updates * * @package StickyNotes * @subpackage Controllers * @author Sayak Banerjee */ class SetupController extends BaseController { /** * Shows the installation screen * * @param string $method * @param string $action * @return \Illuminate\Support\Facades\View */ public function getInstall($method = 'web', $action = '') { // Installation stage $stage = Session::has('setup.stage') ? Session::get('setup.stage') : 1; // Output based on request method switch ($method) { case 'web': $data = array( 'error' => Session::get('messages.error'), 'success' => Session::get('messages.success'), 'unstable' => System::updated() > 0, ); return View::make("setup/install/stage{$stage}", $data); case 'ajax': return Setup::install($action); case 'error': return View::make('setup/error'); default: App::abort(404); // Not found } } /** * Handles POST requests for the install page * * @return \Illuminate\Support\Facades\Redirect */ public function postInstall() { // Stage 1 submitted if (Input::has('_test')) { $status = Setup::testConnection(); if ($status === TRUE) { Session::put('setup.stage', 2); return Redirect::to('setup/install'); } } // Stage 2 submitted if (Input::has('_install')) { Session::put('setup.stage', 3); return Redirect::to('setup/install'); } // Setup complete if (Input::has('_finish')) { // Submit site statistics System::submitStats(); // Redirect to login page return Redirect::to('user/login'); } } /** * Shows the update screen * * @param string $method * @param string $action * @return \Illuminate\Support\Facades\View */ public function getUpdate($method = 'web', $action = '') { // Updater stage $stage = Session::has('setup.stage') ? Session::get('setup.stage') : 1; // Output based on request method switch ($method) { case 'web': $data = array( 'error' => Session::get('messages.error'), 'success' => Session::get('messages.success'), 'version' => Session::get('setup.version'), 'versions' => Setup::updateVersions(), 'messages' => Setup::messages(), 'unstable' => System::updated() > 0, ); return View::make("setup/update/stage{$stage}", $data); case 'ajax': return Setup::update($action); case 'error': return View::make('setup/error'); default: App::abort(404); // Not found } } /** * Handles POST requests for the update page * * @return \Illuminate\Support\Facades\Redirect */ public function postUpdate() { // Stage 1 submitted if (Input::has('_update')) { // Define validation rules $validator = Validator::make(Input::all(), array( 'version' => 'required|in:'.Setup::updateVersions(TRUE), )); // Run the validator if ($validator->passes()) { Session::put('setup.version', Input::get('version')); Session::put('setup.stage', 2); return Redirect::to('setup/update'); } else { Session::flash('messages.error', $validator->messages()->all('<p>:message</p>')); return Redirect::to('setup/update')->withInput(); } } // Setup complete if (Input::has('_finish')) { // Submit site statistics System::submitStats(); // Redirect to home page return Redirect::to('/'); } } }