67 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
| <?php
 | |
| /**
 | |
| * Handles plugin registration.
 | |
| */
 | |
| class PluginMDM extends Plugin {
 | |
| 
 | |
| 	/**
 | |
| 	 * Called to initialize the plugin and register for hooks.
 | |
| 	 */
 | |
| 	function init(){
 | |
| 		$this->registerHook('server.core.settings.init.before');
 | |
| 
 | |
| 		// This hook is used to add the Z-Push server version to the settings
 | |
| 		$this->registerHook('server.index.load.main.before');
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * Function is executed when a hook is triggered by the PluginManager
 | |
| 	 * @param String $eventID Identifier of the hook
 | |
| 	 * @param Array $data Reference to the data of the triggered hook
 | |
| 	 */
 | |
| 	function execute($eventID, &$data){
 | |
| 		switch($eventID){
 | |
| 			case 'server.core.settings.init.before':
 | |
| 				$this->onBeforeSettingsInit($data);
 | |
| 				break;
 | |
| 			case 'server.index.load.main.before':
 | |
| 				$this->addZPushVersionToSettings();
 | |
| 				break;
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * Called when the core Settings class is initialized and ready to accept sysadmin default
 | |
| 	 * settings. Registers the sysadmin defaults for the StatsLogging plugin.
 | |
| 	 * @param Array $data Reference to the data of the triggered hook
 | |
| 	 */
 | |
| 	function onBeforeSettingsInit(&$data){
 | |
| 		$data['settingsObj']->addSysAdminDefaults(Array(
 | |
| 			'zarafa' => Array(
 | |
| 				'v1' => Array(
 | |
| 					'plugins' => Array(
 | |
| 						'mdm' => Array(
 | |
| 							'enable' => PLUGIN_MDM_USER_DEFAULT_ENABLE_MDM,
 | |
| 						)
 | |
| 					)
 | |
| 				)
 | |
| 			)
 | |
| 		));
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * Adds the version of the z-push server to the MDM settings
 | |
| 	 */
 | |
| 	function addZPushVersionToSettings(){
 | |
| 		// This is a bit ugly, but since all z-push logic was put in the MDM module class,
 | |
| 		// we have added the getServerVersion function there also
 | |
| 		require_once(BASE_PATH . 'server/includes/modules/class.module.php');
 | |
| 		require_once('class.pluginmdmmodule.php');
 | |
| 
 | |
| 		$module = new PluginMDMModule('fakeid', array());
 | |
| 		$version = $module->getServerVersion();
 | |
| 		$GLOBALS['settings']->set("zarafa/v1/plugins/mdm/zpush-server-version", $version);
 | |
| 	}
 | |
| }
 | |
| ?>
 |