コード例 #1
0
ファイル: IEM.class.php プロジェクト: hungnv0789/vhtm
 public static final function init($reset = false)
 {
     $GLOBALS['ApplicationUrl'] = SENDSTUDIO_APPLICATION_URL;
     if (defined('SENDSTUDIO_IS_SETUP') && SENDSTUDIO_IS_SETUP && !InterspireEvent::eventExists('IEM_MARKER_20090701')) {
         IEM_Installer::RegisterEventListeners();
         require_once IEM_ADDONS_PATH . '/interspire_addons.php';
         $addons = new Interspire_Addons();
         $addons->FixEnabledEventListeners();
         InterspireEvent::eventCreate('IEM_MARKER_20090701');
     }
     if (!self::configInit($reset)) {
         return false;
     }
     if (!self::sessionInit($reset)) {
         return false;
     }
     if (!self::userInit($reset)) {
         return false;
     }
     $tempUser = IEM::getCurrentUser();
     $tempUserLanguage = 'default';
     if (!empty($tempUser->user_language) && is_dir(IEM_PATH . "/language/{$tempUser->user_language}")) {
         $tempUserLanguage = $tempUser->user_language;
     }
     require_once IEM_PATH . "/language/{$tempUserLanguage}/whitelabel.php";
     require_once IEM_PATH . "/language/{$tempUserLanguage}/language.php";
     self::$_enableInfoTips = false;
     if (isset($tempUser->infotips) && $tempUser->infotips) {
         self::$_enableInfoTips = true;
     }
     unset($tempUserLanguage);
     unset($tempUser);
 }
コード例 #2
0
	/**
	 * RunUpgrade
	 * Runs the fix_3744_fix_absolute_path upgrade
	 *
	 * @return Boolean Returns TRUE if successful, FALSE otherwise
	 */
	function RunUpgrade()
	{
		try {
			$eventList = InterspireEvent::eventList();
			foreach ($eventList as $event) {
				$listeners = InterspireEvent::eventListenerList($event);

				foreach ($listeners as $listener) {
					InterspireEvent::listenerUnregister($event, $listener['function'], $listener['file']);
				}
			}
		} catch (Exception $e) {
			return true;
		}

		return true;
	}
コード例 #3
0
 /**
  * Initialize the framework
  * @param Boolean $reset Whether or not to re-initialize the framework again
  * @return Boolean Returns TRUE the application initializes without encountering any errors, FALSE otherwise
  */
 public static final function init($reset = false)
 {
     $GLOBALS['ApplicationUrl'] = SENDSTUDIO_APPLICATION_URL;
     // Defining IEM_MARKER in the event is part of the installation procedure
     // If it is not there, we can assume that the stash file has been overwritten
     // So we will need to restore it.
     // TODO change reference to SENSTUDIO_IS_SETUP
     if (defined('SENDSTUDIO_IS_SETUP') && SENDSTUDIO_IS_SETUP && !InterspireEvent::eventExists('IEM_MARKER_20090701')) {
         IEM_Installer::RegisterEventListeners();
         // Restore Addons listeners
         require_once IEM_ADDONS_PATH . '/interspire_addons.php';
         $addons = new Interspire_Addons();
         $addons->FixEnabledEventListeners();
         InterspireEvent::eventCreate('IEM_MARKER_20090701');
     }
     if (!self::configInit($reset)) {
         return false;
     }
     if (!self::sessionInit($reset)) {
         return false;
     }
     if (!self::userInit($reset)) {
         return false;
     }
     // ----- Include common language variables
     $tempUser = IEM::getCurrentUser();
     $tempUserLanguage = 'default';
     if (!empty($tempUser->user_language) && is_dir(IEM_PATH . "/language/{$tempUser->user_language}")) {
         $tempUserLanguage = $tempUser->user_language;
     }
     require_once IEM_PATH . "/language/{$tempUserLanguage}/whitelabel.php";
     require_once IEM_PATH . "/language/{$tempUserLanguage}/language.php";
     self::$_enableInfoTips = false;
     if (isset($tempUser->infotips) && $tempUser->infotips) {
         self::$_enableInfoTips = true;
     }
     unset($tempUserLanguage);
     unset($tempUser);
     // -----
 }
コード例 #4
0
 /**
  * Triggers the TemplateCaptured event.
  *
  * @return Boolean If the event was cancelled (assuming the event is cancellable).
  */
 protected function EventTemplateCaptured()
 {
     if (!$this->EventsAvailable()) {
         return true;
     }
     return InterspireEvent::trigger('InterspireTemplate_TemplateCaptured', new InterspireTemplateEventTemplateCaptured($this));
 }
コード例 #5
0
 /**
  * RegisterEventListeners
  * Loads all the event listeners used in the system as listed in com/install/events.php.
  *
  * @throws InterspireEventException
  *
  * @return Void Does not return anything.
  */
 public static function RegisterEventListeners()
 {
     require IEM_PATH . '/install/listeners.php';
     foreach ($listeners as $listener) {
         if (!isset($listener[2])) {
             $listener[2] = null;
         }
         list($event, $function, $file) = $listener;
         if (strpos($function, '::') !== false) {
             $function = explode('::', $function);
         }
         if (!InterspireEvent::listenerExists($event, $function, $file)) {
             InterspireEvent::listenerRegister($event, $function, $file);
         }
     }
     // Add IEM_MARKER which will mark the integrity of the listener
     InterspireEvent::eventCreate('IEM_MARKER');
 }
コード例 #6
0
ファイル: interspire_addons.php プロジェクト: hungnv0789/vhtm
 /**
  * _registerListeners
  * This is called when you install or enable an addon.
  * It goes through all of the events an addon listens to and addons them to the triggers.
  *
  * @uses GetEventListeners
  * @uses InterspireEvent::listenerRegister
  * @uses InterspireEventException
  *
  * @return Void Doesn't return anything.
  * @throws Throws an InterspireEventException if an event can't be registered. The error and code come from InterspireEventException.
  */
 private function _registerListeners()
 {
     $listeners = $this->GetEventListeners();
     foreach ($listeners as $listener) {
         try {
             InterspireEvent::listenerRegister($listener['eventname'], $listener['trigger_details'], $listener['trigger_file']);
         } catch (Exception $e) {
             throw new Interspire_Addons_Exception($e->getMessage(), Interspire_Addons_Exception::DatabaseError);
         }
     }
 }
コード例 #7
0
ファイル: interspireevent.php プロジェクト: hungnv0789/vhtm
 /**
  * listen
  * Register a listener to "listen" to this event
  * @param String|Array $listener Listener function
  * @param String|NULL $file File to be included before executing the function (OPTIONAL, dafault = NULL)
  * @param Integer $priority Priority of the listener (1 to 100) (OPTIONAL, default = 50)
  * @return Void Returns nothing
  */
 public function listen($listener, $file = null, $priority = 50)
 {
     if (empty($this->_eventName)) {
         // This peice of code will never be reached if the class has been constructed properly
         die('Please specify the "_eventName" property first in order to use this function');
     }
     return InterspireEvent::listenerRegister($this->_eventName, $listener, $file, $priority);
 }
コード例 #8
0
ファイル: event.php プロジェクト: hungnv0789/vhtm
<?php

/**
 * This file contains procdeure and classes to enable "Event"
 *
 * @package interspire.iem
 * @subpackage eventdata
 */
/**
 * Include "Interspire Event" library
 */
require_once IEM_PATH . '/ext/interspire_event/interspireevent.php';
InterspireEvent::init(IEM_InterspireStash::getInstance(), false);
/**
 * Event data class for "IEM_SYSTEM_STARTUP_BEFORE" event
 *
 * This event is called before framework initialization.
 * It does not contains any data.
 *
 * @package interspire.iem
 * @subpackage eventdata
 */
class EventData_IEM_SYSTEM_STARTUP_BEFORE extends InterspireEventData
{
    /**
     * CONSTRUCTOR
     */
    public function __construct()
    {
        parent::__construct(false);
        $this->_eventName = 'IEM_SYSTEM_STARTUP_BEFORE';