Fix fatal error if plugin was not installed.

1.10.x
Julio Montoya 10 years ago
parent e9a5a41107
commit 54d74e2222
  1. 1
      main/inc/lib/hook/HookEvent.php
  2. 3
      main/inc/lib/hook/HookObserver.php
  3. 20
      plugin/advanced_subscription/src/AdvancedSubscriptionPlugin.php
  4. 15
      plugin/createdrupaluser/src/CreateDrupalUser.php
  5. 4
      plugin/createdrupaluser/src/HookCreateDrupalUser.php

@ -23,6 +23,7 @@ abstract class HookEvent implements HookEventInterface
/**
* Construct Method
* @param string $eventName
*
* @throws Exception
*/
protected function __construct($eventName)

@ -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) {

@ -1,12 +1,12 @@
<?php
/* For licensing terms, see /license.txt */
/**
* Class AdvancedSubscriptionPlugin
* This class is used to add an advanced subscription allowing the admin to
* create user queues requesting a subscribe to a session
* @package chamilo.plugin.advanced_subscription
*/
class AdvancedSubscriptionPlugin extends Plugin implements HookPluginInterface
{
protected $strings;
@ -64,10 +64,13 @@ class AdvancedSubscriptionPlugin extends Plugin implements HookPluginInterface
*/
public function uninstall()
{
$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();
}
}
/**
* addAreaField() (adds an area field if it is not already created)
@ -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)

@ -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);
}
}
}

@ -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 <angel.quiroz@beeznest.com>
@ -9,9 +10,8 @@
*/
class HookCreateDrupalUser extends HookObserver implements HookCreateUserObserverInterface
{
/**
* Class constructor
* Constructor
*/
public function __construct()
{

Loading…
Cancel
Save