b0y-101 Mini Shell


Current Path : E:/www/plan/administrator/components/com_jevents/libraries/
File Upload :
Current File : E:/www/plan/administrator/components/com_jevents/libraries/jevlayout.php

<?php
/**
 * JEvents Component for Joomla 1.6.x
 *
 * Installer adapter for jevents layouts
 * 
 * @version     $Id: jevlayout_1.6.php 2821 2011-10-17 07:56:31Z geraintedwards $
 * @package     JEvents
 * @copyright   Copyright (C) 2008-2019 GWE Systems Ltd
 * @license     GNU/GPLv2, see http://www.gnu.org/licenses/gpl-2.0.html
 * @link        http://www.jevents.net
 */

// Check to ensure this file is within the rest of the framework
defined('JPATH_BASE') or die();

jimport('joomla.base.adapterinstance');

/**
 * JevLayout installer
 *
 */
class JInstallerJevlayout extends JAdapterInstance
{

	protected $manifest = null;
	

	/**
	 * Custom install method
	 *
	 * @access	public
	 * @return	boolean	True on success
	 * @since	1.5
	 */
	function install()
	{
		// Get a database connector object
		$db =& $this->parent->getDbo();

		// Get the extension manifest object
		$this->manifest = $this->parent->getManifest();

		/**
		 * ---------------------------------------------------------------------------------------------
		 * Manifest Document Setup Section
		 * ---------------------------------------------------------------------------------------------
		 */

		// Set the layout name
		$name =(string) $this->manifest->name;
		$name = JFilterInput::getInstance()->clean($name, 'string');
		$this->set('name', $name);

		// Get the component description
		$description = (string) $this->manifest->description;
		if ($description) {
			$this->parent->set('message', JText::_($description));
		}
		else {
			$this->parent->set('message', '');
		}

		$basePath = JPATH_SITE;

		// Do the component layout first
		$this->parent->setPath('extension_root', $basePath.'/components/com_jevents/views');

		// Copy all necessary files
		$element =& $this->manifest->componentfiles;
		if ($this->parent->parseFiles($element, -1) === false) {
			// Install failed, roll back changes
			$this->parent->abort();
			return false;
		}

		// copy manifest file for versioning information
		$layout = $element->folder->data();
		$path['src'] = $this->parent->getPath('manifest');
		$path['dest'] =$this->parent->getPath('extension_root').'/'.$layout.'/'.basename($path['src'] );
		$this->parent->copyFiles(array ($path), true);
				
		// Now do the modules in turn
		$element =& $this->manifest->modulefiles;

		// Find modules to copy
		foreach ($element->children() as $child)
		{
			if ($child) {
				$modulename = $child->name();

				$this->parent->setPath('extension_root', $basePath.'/modules/'.$modulename."/tmpl");

				// If the layout directory does not exist, lets skip since this module is not installed
				if (!file_exists($this->parent->getPath('extension_root'))) {
					continue;
				}

				// Copy all necessary files
				$modelement =& $element->$modulename;
				if ($this->parent->parseFiles($modelement, -1) === false) {
					// Install failed, roll back changes
					$this->parent->abort();
					return false;
				}
			}
		}



		// Load the language file
		$lang		= JFactory::getLanguage();
		$lang->load("jevlayout",$basePath);

		// We don't copy the manifest file since there is no uninstall mechanism

		return true;
	}

}

Copyright © 2019 by b0y-101