diff --git a/main/inc/lib/hook/HookEvent.php b/main/inc/lib/hook/HookEvent.php index 8180b38545..b173b68d06 100644 --- a/main/inc/lib/hook/HookEvent.php +++ b/main/inc/lib/hook/HookEvent.php @@ -23,6 +23,7 @@ abstract class HookEvent implements HookEventInterface /** * Construct Method * @param string $eventName + * * @throws Exception */ protected function __construct($eventName) diff --git a/main/inc/lib/hook/HookObserver.php b/main/inc/lib/hook/HookObserver.php index cedfe483c8..226b1ddacb 100644 --- a/main/inc/lib/hook/HookObserver.php +++ b/main/inc/lib/hook/HookObserver.php @@ -34,7 +34,7 @@ abstract class HookObserver implements HookObserverInterface /** * Return the singleton instance of Hook observer. * If Hook Management plugin is not enabled, will return NULL - * @return static + * @return HookObserver */ public static function create() { @@ -45,6 +45,7 @@ abstract class HookObserver implements HookObserverInterface } else { try { $class = get_called_class(); + return new $class; } catch (Exception $e) { diff --git a/plugin/advanced_subscription/src/AdvancedSubscriptionPlugin.php b/plugin/advanced_subscription/src/AdvancedSubscriptionPlugin.php index a942df8c2a..37edd43aaa 100644 --- a/plugin/advanced_subscription/src/AdvancedSubscriptionPlugin.php +++ b/plugin/advanced_subscription/src/AdvancedSubscriptionPlugin.php @@ -1,12 +1,12 @@ uninstallHook(); - // Note: Keeping area field data is intended so it will not be removed - $this->uninstallDatabase(); + $setting = api_get_setting('advanced_subscription'); + if (!empty($setting)) { + $this->uninstallHook(); + // Note: Keeping area field data is intended so it will not be removed + $this->uninstallDatabase(); + } } /** @@ -830,6 +833,7 @@ class AdvancedSubscriptionPlugin extends Plugin implements HookPluginInterface $count = Database::select('COUNT(*)', $advancedSubscriptionQueueTable, $where); $count = $count[0]['COUNT(*)']; } + return $count; } @@ -863,6 +867,7 @@ class AdvancedSubscriptionPlugin extends Plugin implements HookPluginInterface * Return the status from user in queue to session subscription * @param int $userId * @param int $sessionId + * * @return bool|int */ public function getQueueStatus($userId, $sessionId) @@ -969,6 +974,7 @@ class AdvancedSubscriptionPlugin extends Plugin implements HookPluginInterface if (isset($sessionArray['banner'])) { $sessionArray['banner'] = api_get_path(WEB_CODE_PATH) . $sessionArray['banner']; } + return $sessionArray; } @@ -979,13 +985,12 @@ class AdvancedSubscriptionPlugin extends Plugin implements HookPluginInterface * Get status message * @param int $status * @param bool $isAble + * * @return string */ public function getStatusMessage($status, $isAble = true) { - $message = ''; - switch ($status) - { + switch ($status) { case ADVANCED_SUBSCRIPTION_QUEUE_STATUS_NO_QUEUE: if ($isAble) { $message = $this->get_lang('AdvancedSubscriptionNoQueueIsAble'); @@ -1010,7 +1015,6 @@ class AdvancedSubscriptionPlugin extends Plugin implements HookPluginInterface break; default: $message = sprintf($this->get_lang('AdvancedSubscriptionQueueDefault'), $status); - } return $message; @@ -1019,11 +1023,13 @@ class AdvancedSubscriptionPlugin extends Plugin implements HookPluginInterface /** * Return the url to go to session * @param $sessionId + * * @return string */ public function getSessionUrl($sessionId) { $url = api_get_path(WEB_CODE_PATH) . 'session/?session_id=' . intval($sessionId); + return $url; } @@ -1044,12 +1050,14 @@ class AdvancedSubscriptionPlugin extends Plugin implements HookPluginInterface 'is_connected=' . 1 . '&' . 'profile_completed=' . intval($params['profile_completed']) . '&' . 'v=' . $this->generateHash($params); + return $url; } /** * Return the list of student, in queue used by admin view * @param int $sessionId + * * @return array */ public function listAllStudentsInQueueBySession($sessionId) diff --git a/plugin/createdrupaluser/src/CreateDrupalUser.php b/plugin/createdrupaluser/src/CreateDrupalUser.php index 0f41abd815..40924a0e3d 100644 --- a/plugin/createdrupaluser/src/CreateDrupalUser.php +++ b/plugin/createdrupaluser/src/CreateDrupalUser.php @@ -9,7 +9,6 @@ */ class CreateDrupalUser extends Plugin implements HookPluginInterface { - /** * Class constructor */ @@ -56,8 +55,9 @@ class CreateDrupalUser extends Plugin implements HookPluginInterface */ public function installHook() { - $hook = HookCreateDrupalUser::create(); - HookCreateUser::create()->attach($hook); + /** @var HookCreateDrupalUser $observer */ + $observer = HookCreateDrupalUser::create(); + HookCreateUser::create()->attach($observer); } /** @@ -65,8 +65,13 @@ class CreateDrupalUser extends Plugin implements HookPluginInterface */ public function uninstallHook() { - $hook = HookCreateDrupalUser::create(); - HookCreateUser::create()->detach($hook); + /** @var HookCreateDrupalUser $observer */ + $observer = HookCreateDrupalUser::create(); + $event = HookCreateUser::create(); + + if ($event) { + $event->detach($observer); + } } } diff --git a/plugin/createdrupaluser/src/HookCreateDrupalUser.php b/plugin/createdrupaluser/src/HookCreateDrupalUser.php index 3ae11ca0b2..6c9d21d8af 100644 --- a/plugin/createdrupaluser/src/HookCreateDrupalUser.php +++ b/plugin/createdrupaluser/src/HookCreateDrupalUser.php @@ -2,6 +2,7 @@ /* For licensing terms, see /license.txt */ /** + * Class HookCreateDrupalUser * Hook to create an user in Drupal website * * @author Angel Fernando Quiroz Campos @@ -9,9 +10,8 @@ */ class HookCreateDrupalUser extends HookObserver implements HookCreateUserObserverInterface { - /** - * Class constructor + * Constructor */ public function __construct() {