From 03830a8127900184a59fd110100406fec0877aff Mon Sep 17 00:00:00 2001 From: coderkun Date: Tue, 15 Apr 2014 20:05:26 +0200 Subject: [PATCH] give ?only-once? Achievements only to users with Seminary role ?users? --- app/controllers/SeminaryRoleController.inc | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/app/controllers/SeminaryRoleController.inc b/app/controllers/SeminaryRoleController.inc index 77a95a2b..cb7f6b86 100644 --- a/app/controllers/SeminaryRoleController.inc +++ b/app/controllers/SeminaryRoleController.inc @@ -148,20 +148,16 @@ */ private function checkAchievements(\nre\core\Request $request, \nre\core\Response $response) { - // Get Seminary - $seminary = self::$seminary; - - // Get Character - $character = self::$character; - if(is_null($character)) { + // Check if Character is present + if(is_null(self::$character)) { return; } // Get unachieved Achievments - $achievements = array_merge( - $this->Achievements->getUnachhievedAchievementsForCharacter($seminary['id'], $character['id']), - $this->Achievements->getUnachievedOnlyOnceAchievementsForSeminary($seminary['id']) - ); + $achievements = $this->Achievements->getUnachhievedAchievementsForCharacter(self::$seminary['id'], self::$character['id']); + if(in_array('user', self::$user['seminaryroles'])) { + $achievements = array_merge($achievements, $this->Achievements->getUnachievedOnlyOnceAchievementsForSeminary(self::$seminary['id'])); + } // Check conditions foreach($achievements as &$achievement)