2021-10-14 14:31:37 +00:00
< ? php
2021-12-16 13:15:32 +00:00
/**
* @ package Joomla . Component . Builder
*
* @ created 30 th April , 2015
* @ author Llewellyn van der Merwe < https :// dev . vdm . io >
2022-08-20 16:38:51 +00:00
* @ git Joomla Component Builder < https :// git . vdm . dev / joomla / Component - Builder >
2021-12-16 13:15:32 +00:00
* @ copyright Copyright ( C ) 2015 Vast Development Method . All rights reserved .
* @ license GNU General Public License version 2 or later ; see LICENSE . txt
2021-10-14 14:31:37 +00:00
*/
// No direct access to this file
defined ( '_JEXEC' ) or die ( 'Restricted access' );
2024-03-02 20:10:30 +00:00
use Joomla\CMS\Factory ;
use Joomla\CMS\Language\Text ;
use Joomla\CMS\Filesystem\File ;
use Joomla\CMS\Filesystem\Folder ;
2021-10-14 14:31:37 +00:00
/**
* Extension - Componentbuilder Field Ordering Compiler script file .
*
* @ package PlgExtensionComponentbuilderFieldOrderingCompiler
*/
class plgExtensionComponentbuilderFieldOrderingCompilerInstallerScript
{
/**
* Called before any type of action
*
* @ param string $route Which action is happening ( install | uninstall | discover_install | update )
2022-08-20 16:38:51 +00:00
* @ param Joomla\CMS\Installer\InstallerAdapter $adapter The object responsible for running this script
2021-10-14 14:31:37 +00:00
*
* @ return boolean True on success
*/
2022-08-20 16:38:51 +00:00
public function preflight ( $route , $adapter )
2021-10-14 14:31:37 +00:00
{
// get application
2024-03-02 20:10:30 +00:00
$app = Factory :: getApplication ();
2021-10-14 14:31:37 +00:00
// the default for both install and update
$jversion = new JVersion ();
if ( ! $jversion -> isCompatible ( '3.8.0' ))
{
$app -> enqueueMessage ( 'Please upgrade to at least Joomla! 3.8.0 before continuing!' , 'error' );
return false ;
}
if ( 'install' === $route )
{
2022-09-20 11:36:38 +00:00
// check that componentbuilder is installed
$pathToCore = JPATH_ADMINISTRATOR . '/components/com_componentbuilder/helpers/componentbuilder.php' ;
if ( ! JFile :: exists ( $pathToCore ))
{
$app -> enqueueMessage ( 'Joomla Component Builder must first be installed from <a href="https://www.joomlacomponentbuilder.com/ " target="_blank">Joomla Component Builder</a>.' , 'error' );
return false ;
}
2021-10-14 14:31:37 +00:00
}
return true ;
}
}