You've already forked joomla_test
							
							
		
			
	
	
		
			103 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			103 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
|   | <?php | ||
|  | /** | ||
|  |  * @version   $Id: install.script.php 4585 2012-10-27 01:44:54Z btowles $ | ||
|  |  * @author    RocketTheme http://www.rockettheme.com | ||
|  |  * @copyright Copyright (C) 2007 - 2013 RocketTheme, LLC | ||
|  |  * @license   http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 only | ||
|  |  */ | ||
|  | /** | ||
|  |  * Document Description | ||
|  |  * | ||
|  |  * Document Long Description | ||
|  |  * | ||
|  |  * PHP4/5 | ||
|  |  * | ||
|  |  * Created on Jul 21, 2008 | ||
|  |  * | ||
|  |  * @package   package_name | ||
|  |  * @author    Your Name <author@toowoombarc.qld.gov.au> | ||
|  |  * @author    Toowoomba Regional Council Information Management Branch | ||
|  |  * @license   GNU/GPL http://www.gnu.org/licenses/gpl.html | ||
|  |  * @copyright 2008 Toowoomba Regional Council/Developer Name | ||
|  |  * @version   SVN: $Id: install.script.php 4585 2012-10-27 01:44:54Z btowles $ | ||
|  |  * @see       http://joomlacode.org/gf/project/    JoomlaCode Project: | ||
|  |  */ | ||
|  | 
 | ||
|  | class Mod_RokNavMenuInstallerScript | ||
|  | { | ||
|  | 
 | ||
|  | 	public function install($parent) | ||
|  | 	{ | ||
|  | 		if ($this->checkForExtender()) $this->registerExtenderPlugin($parent); | ||
|  | 		$this->clearCache(); | ||
|  | 		return true; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	public function update($parent) | ||
|  | 	{ | ||
|  | 		if ($this->checkForExtender()) $this->registerExtenderPlugin($parent); | ||
|  | 		$this->clearCache(); | ||
|  | 		return true; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	public function uninstall($parent) | ||
|  | 	{ | ||
|  | 		if ($this->checkForExtender()) $this->unregisterExtenderPlugin($parent); | ||
|  | 	} | ||
|  | 
 | ||
|  | 	public function preflight($type, $parent) | ||
|  | 	{ | ||
|  | 
 | ||
|  | 	} | ||
|  | 
 | ||
|  | 	/** | ||
|  | 	 * @return bool | ||
|  | 	 */ | ||
|  | 	protected function checkForExtender() | ||
|  | 	{ | ||
|  | 		// if the class exists and is loaded just return
 | ||
|  | 		if (class_exists('plgSystemRokExtender')) return true; | ||
|  | 		$plugin_path = JPATH_ROOT . '/plugins/system/rokextender/rokextender.php'; | ||
|  | 
 | ||
|  | 		// if the plugin isnt installed
 | ||
|  | 		if (!file_exists($plugin_path) || !is_file($plugin_path)) return false; | ||
|  | 
 | ||
|  | 		require_once($plugin_path); | ||
|  | 
 | ||
|  | 		if (!class_exists('plgSystemRokExtender')) { | ||
|  | 			//TODO: add error message output
 | ||
|  | 			return false; | ||
|  | 		} | ||
|  | 		return true; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	protected function registerExtenderPlugin($parent) | ||
|  | 	{ | ||
|  | 		$manifest = $parent->getParent()->getManifest(); | ||
|  | 		$basepath = str_replace(JPATH_ROOT, '', $parent->getParent()->getPath('extension_root')); | ||
|  | 
 | ||
|  | 		foreach ($manifest->plugins->plugin as $plugin) { | ||
|  | 			plgSystemRokExtender::registerExtenderPlugin($basepath . (string)$plugin); | ||
|  | 		} | ||
|  | 	} | ||
|  | 
 | ||
|  | 	protected function unregisterExtenderPlugin($parent) | ||
|  | 	{ | ||
|  | 		$manifest = $parent->getParent()->getManifest(); | ||
|  | 		$basepath = str_replace(JPATH_ROOT, '', $parent->getParent()->getPath('extension_root')); | ||
|  | 
 | ||
|  | 		foreach ($manifest->plugins->plugin as $plugin) { | ||
|  | 			plgSystemRokExtender::registerExtenderPlugin($basepath . (string)$plugin); | ||
|  | 		} | ||
|  | 	} | ||
|  | 
 | ||
|  | 	protected function clearCache() | ||
|  | 	{ | ||
|  | 		$conf = JFactory::getConfig(); | ||
|  | 		$options = array( | ||
|  | 					'cachebase' => $conf->get('cache_path', JPATH_SITE.'/cache')); | ||
|  | 		$cache = $cache = JCache::getInstance('callback', $options); | ||
|  | 
 | ||
|  | 		$cache->clean('mod_roknavmenu'); | ||
|  | 	} | ||
|  | } |