76 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
/**
 | 
						|
 * @package		Depot.Installation.Script
 | 
						|
 * @subpackage	com_depot
 | 
						|
 * @author		Thomas Kuschel <thomas@kuschel.at>
 | 
						|
 * @copyright	(C) 2024 KW4NZ, <https://www.kuschel.at>
 | 
						|
 * @license		GNU General Public License version 2 or later; see LICENSE.md
 | 
						|
 * @since		0.9.21
 | 
						|
 */
 | 
						|
\defined('_JEXEC') or die;
 | 
						|
/**
 | 
						|
 * Script file of Depot component.
 | 
						|
 *
 | 
						|
 * The name of this class is dependent on the component being installed.
 | 
						|
 * The class name should have the component's name, directly followed by
 | 
						|
 * the text InstallerScript (ex:. com_depotInstallerScript).
 | 
						|
 * 
 | 
						|
 * This class will be called by Joomla's installer, if specified in your component's
 | 
						|
 * manifest file, and is used for custom automation actions in its installation process.
 | 
						|
 * 
 | 
						|
 * In order to use this automation script, you should reference it in your component's
 | 
						|
 * mainfest file as follows:
 | 
						|
 * <scriptfile>script.php</scriptfile>
 | 
						|
 */
 | 
						|
 | 
						|
use Joomla\CMS\Factory;
 | 
						|
use Joomla\CMS\Installer\InstallerAdapter;
 | 
						|
use Joomla\CMS\Installer\InstallerScriptInterface;
 | 
						|
use Joomla\CMS\Language\Text;
 | 
						|
 | 
						|
return new class() implements InstallerScriptInterface {
 | 
						|
	private string $minimumJoomla = '5.3.2';
 | 
						|
	private string $minimumPhp = '8.4.10';
 | 
						|
 | 
						|
	public function install(InstallerAdapter $adapter): bool
 | 
						|
	{
 | 
						|
		echo "component install<br>";
 | 
						|
		return true;
 | 
						|
	}
 | 
						|
 | 
						|
	public function update(InstallerAdapter $adapter): bool
 | 
						|
	{
 | 
						|
 | 
						|
		echo "component update<br>";
 | 
						|
		return true;
 | 
						|
	}
 | 
						|
 | 
						|
	public function uninstall(InstallerAdapter $adapter): bool
 | 
						|
	{
 | 
						|
		echo "component uninstall<br>";
 | 
						|
		return true;
 | 
						|
	}
 | 
						|
 | 
						|
	public function preflight(string $type, InstallerAdapter $adapter): bool
 | 
						|
	{
 | 
						|
		echo "component preflight<br>";
 | 
						|
 | 
						|
		if (version_compare(PHP_VERSION, $this->minimumPhp, '<')) {
 | 
						|
			Factory::getApplication()->enqueueMessage(sprintf(Text::_('JLIB_INSTALLER_MINIMUM_PHP'), $this->minimumPhp), 'error');
 | 
						|
			return false;
 | 
						|
		}
 | 
						|
 | 
						|
		if (version_compare(JVERSION, $this->minimumJoomla, '<')) {
 | 
						|
			Factory::getApplication()->enqueueMessage(sprintf(Text::_('JLIB_INSTALLER_MINIMUM_JOOMLA'), $this->minimumJoomla), 'error');
 | 
						|
			return false;
 | 
						|
		}
 | 
						|
 | 
						|
		return true;
 | 
						|
	}
 | 
						|
 | 
						|
	public function postflight(string $type, InstallerAdapter $adapter): bool
 | 
						|
	{
 | 
						|
		echo "component postflight<br>";
 | 
						|
		return true;
 | 
						|
	}
 | 
						|
}; |