public function index() { $quote = $this->QuoteModel->getRandom(); $quote = $quote[0]; if (empty($quote)) { return parent::notFound(); } $quote['votes'] = $this->VoteModel->getByQuoteId($quote['id']); $this->QuoteViewsModel->add($quote['id']); include VIEW_ROOT . 'home.php'; }
public function single() { $id = intval($_GET['id']); if (empty($id)) { return parent::notFound(); } $quote = $this->QuoteModel->getById($id); if (empty($quote)) { return parent::notFound(); } $quote = $quote[0]; $quote['response'] = 2; $quote['votes'] = $this->VoteModel->getByQuoteId($id); $this->QuoteViewsModel->add($id); include VIEW_ROOT . 'quote.php'; }
Route::post('/add-url', 'HomeController@addUrl')->before('csrf'); Route::get('/error/wrong-token', 'BaseController@wrongToken'); // Résultats les plus populaires Route::get('/most-popular/{page}/{resultsPerPage?}', 'HomeController@mostPopular'); // Résultats des précédentes recherches Route::get('/history/{page}/{resultsPerPage?}', 'HomeController@history'); // Auto-complétion Route::post('/autocomplete', function () { return LogSearch::startWith(Input::get('q')); }); // URLs accessibles uniquement en environement de développement if (Config::get('app.debug')) { Route::get('/specs/1', 'DevController@specs'); Route::get('/lang/csv', function () { return Response::download(Utils\Lang\CSV::convert()); }); } //// Espace membre // Connexion Route::get('/user/login', 'UserController@login'); Route::post('/user/login', 'UserController@tryLogin')->before('csrf'); Route::get('/user/logout', 'UserController@logout'); // Inscription Route::get('/user/signin', 'UserController@signin'); Route::post('/user/signin', 'UserController@trySignin')->before('csrf'); // Administration des utilisateurs Route::get('/user/list', 'UserController@listAll'); // Gestion de l'erreur 404 App::missing(function () { return BaseController::notFound(); });
/** * Run app * * @todo Flash messages */ public function run() { // Base Controller include __DIR__ . "/../controller/BaseController.php"; $baseController = new BaseController($this->db); // Default controller & action $ruleController = "Homepage"; $ruleAction = "default"; $ruleArgs = array(); $ruleFound = true; // Find by route-rule if ($this->requestUri() != '') { $ruleFound = false; foreach ($this->rules as $rule) { if (preg_match_all('/^' . str_replace('/', '\\/', $rule['rule']) . '$/', $this->requestUri(), $matches)) { if (count($rule['args'])) { foreach ($rule['args'] as $argKey => $argVal) { if (substr($argVal, 0, 1) == "\$") { $rule['args'][$argKey] = $matches[(int) substr($argVal, 1)][0]; } } } // found rule $ruleController = $rule['controller']; $ruleAction = $rule['action']; $ruleArgs = $rule['args']; $ruleFound = true; } } } if (!$ruleFound) { $baseController->notFound(); } // Include Controller and run action by rule $controllerClass = ucfirst($ruleController) . "Controller"; $controllerScript = __DIR__ . "/../controller/" . $controllerClass . ".php"; if (is_file($controllerScript)) { include $controllerScript; } else { $baseController->notFound(); } $thisController = new $controllerClass($this->db); call_user_func_array(array($thisController, "action" . ucfirst($ruleAction)), $ruleArgs); }