From 55d4de044dd84cbabdb3baf806da397a04abb56a Mon Sep 17 00:00:00 2001 From: coderkun Date: Mon, 7 Apr 2014 23:10:15 +0200 Subject: [PATCH] correctly set and use logged user --- ...troller.inc => IntermediateController.inc} | 34 ++++++++++--------- app/controllers/SeminaryRoleController.inc | 2 +- controllers/BinaryController.inc | 2 +- controllers/HtmlController.inc | 8 ++--- controllers/IntroductionController.inc | 2 +- controllers/MenuController.inc | 2 +- controllers/SeminarymenuController.inc | 4 +-- controllers/UploadsController.inc | 2 +- controllers/UsersController.inc | 2 +- 9 files changed, 30 insertions(+), 28 deletions(-) rename app/controllers/{ToplevelController.inc => IntermediateController.inc} (77%) diff --git a/app/controllers/ToplevelController.inc b/app/controllers/IntermediateController.inc similarity index 77% rename from app/controllers/ToplevelController.inc rename to app/controllers/IntermediateController.inc index 5e640dca..5b980299 100644 --- a/app/controllers/ToplevelController.inc +++ b/app/controllers/IntermediateController.inc @@ -13,11 +13,11 @@ /** - * Abstract class for implementing a Controller of a ToplevelAgent. + * Abstract class for implementing a Controller of an IntermediateAgent. * * @author Oliver Hanraths */ - abstract class ToplevelController extends \hhu\z\Controller + abstract class IntermediateController extends \hhu\z\Controller { /** * Required models @@ -32,7 +32,9 @@ */ public static $user = null; /** + * Current Seminary * + * var array */ public static $seminary = null; /** @@ -46,7 +48,7 @@ /** - * Construct a new application Controller. + * Construct a new IntermediateController. * * @throws DriverNotFoundException * @throws DriverNotValidException @@ -76,22 +78,22 @@ // Get userdata try { - static::$user = $this->Users->getUserById($this->Auth->getUserId()); + self::$user = $this->Users->getUserById($this->Auth->getUserId()); // Determine user roles - static::$user['roles'] = array(); - $roles = $this->Userroles->getUserrolesForUserById(static::$user['id']); + self::$user['roles'] = array(); + $roles = $this->Userroles->getUserrolesForUserById(self::$user['id']); foreach($roles as &$role) { - static::$user['roles'][] = $role['name']; + self::$user['roles'][] = $role['name']; } // Character - $controller = $this->agent->getIntermediateAgent()->controller; + $controller = $this->agent->controller; if(is_subclass_of($controller, '\hhu\z\controllers\SeminaryRoleController')) { $seminaryUrl = $this->request->getParam(3); - static::$seminary = $this->Seminaries->getSeminaryByUrl($seminaryUrl); - static::$character = $this->Characters->getCharacterForUserAndSeminary(static::$user['id'], static::$seminary['id']); + self::$seminary = $this->Seminaries->getSeminaryByUrl($seminaryUrl); + self::$character = $this->Characters->getCharacterForUserAndSeminary(self::$user['id'], self::$seminary['id']); } } catch(\nre\exceptions\IdNotFoundException $e) { @@ -101,9 +103,9 @@ $this->checkPermission($request, $response); // Set userdata - $this->set('loggedUser', static::$user); - $this->set('loggedSeminary', static::$seminary); - $this->set('loggedCharacter', static::$character); + $this->set('loggedUser', self::$user); + $this->set('loggedSeminary', self::$seminary); + $this->set('loggedCharacter', self::$character); } @@ -130,8 +132,8 @@ { // Determine user $userRoles = array('guest'); - if(!is_null(static::$user)) { - $userRoles = static::$user['roles']; + if(!is_null(self::$user)) { + $userRoles = self::$user['roles']; } @@ -144,7 +146,7 @@ } // Determine permissions of Intermediate Controller for current action - $controller = $this->agent->getIntermediateAgent()->controller; + $controller = $this->agent->controller; $action = $this->request->getParam(2, 'action'); if(!property_exists($controller, 'permissions')) { return; // Allow if nothing is specified diff --git a/app/controllers/SeminaryRoleController.inc b/app/controllers/SeminaryRoleController.inc index e06a9a03..36a9b439 100644 --- a/app/controllers/SeminaryRoleController.inc +++ b/app/controllers/SeminaryRoleController.inc @@ -18,7 +18,7 @@ * * @author Oliver Hanraths */ - abstract class SeminaryRoleController extends \hhu\z\Controller + abstract class SeminaryRoleController extends \hhu\z\controllers\IntermediateController { /** * Required components diff --git a/controllers/BinaryController.inc b/controllers/BinaryController.inc index 09fee065..0d4396ef 100644 --- a/controllers/BinaryController.inc +++ b/controllers/BinaryController.inc @@ -17,7 +17,7 @@ * * @author Oliver Hanraths */ - class BinaryController extends \hhu\z\controllers\ToplevelController + class BinaryController extends \hhu\z\controllers\IntermediateController { diff --git a/controllers/HtmlController.inc b/controllers/HtmlController.inc index 20795d5b..7bf8859e 100644 --- a/controllers/HtmlController.inc +++ b/controllers/HtmlController.inc @@ -17,7 +17,7 @@ * * @author Oliver Hanraths */ - class HtmlController extends \hhu\z\controllers\ToplevelController + class HtmlController extends \hhu\z\Controller { @@ -49,9 +49,9 @@ $this->set('title', $this->request->getParam(1, 'intermediate')); // Set userdata - $this->set('loggedUser', static::$user); - $this->set('loggedSeminary', static::$seminary); - $this->set('loggedCharacter', static::$character); + $this->set('loggedUser', IntermediateController::$user); + $this->set('loggedSeminary', IntermediateController::$seminary); + $this->set('loggedCharacter', IntermediateController::$character); } } diff --git a/controllers/IntroductionController.inc b/controllers/IntroductionController.inc index 4607afb5..c1a07f41 100644 --- a/controllers/IntroductionController.inc +++ b/controllers/IntroductionController.inc @@ -17,7 +17,7 @@ * * @author Oliver Hanraths */ - class IntroductionController extends \hhu\z\Controller + class IntroductionController extends \hhu\z\controllers\IntermediateController { diff --git a/controllers/MenuController.inc b/controllers/MenuController.inc index 3d9d5551..df01f2ff 100644 --- a/controllers/MenuController.inc +++ b/controllers/MenuController.inc @@ -34,7 +34,7 @@ parent::preFilter($request, $response); // Set userdata - $this->set('loggedUser', HtmlController::$user); + $this->set('loggedUser', IntermediateController::$user); } diff --git a/controllers/SeminarymenuController.inc b/controllers/SeminarymenuController.inc index a2289777..d827425d 100644 --- a/controllers/SeminarymenuController.inc +++ b/controllers/SeminarymenuController.inc @@ -35,8 +35,8 @@ parent::preFilter($request, $response); // Set userdata - $this->set('loggedUser', HtmlController::$user); - $this->set('loggedSeminary', HtmlController::$seminary); + $this->set('loggedUser', IntermediateController::$user); + $this->set('loggedSeminary', IntermediateController::$seminary); } diff --git a/controllers/UploadsController.inc b/controllers/UploadsController.inc index a1fb7701..428f980f 100644 --- a/controllers/UploadsController.inc +++ b/controllers/UploadsController.inc @@ -17,7 +17,7 @@ * * @author Oliver Hanraths */ - class UploadsController extends \hhu\z\Controller + class UploadsController extends \hhu\z\controllers\IntermediateController { /** * Required models diff --git a/controllers/UsersController.inc b/controllers/UsersController.inc index 04d1f016..b1ee5f56 100644 --- a/controllers/UsersController.inc +++ b/controllers/UsersController.inc @@ -17,7 +17,7 @@ * * @author Oliver Hanraths */ - class UsersController extends \hhu\z\Controller + class UsersController extends \hhu\z\controllers\IntermediateController { /** * User permissions