162 lines
		
	
	
		
			6.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			162 lines
		
	
	
		
			6.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| /**
 | |
|  * @author          Tassos.gr
 | |
|  * @link            https://www.tassos.gr
 | |
|  * @copyright       Copyright © 2024 Tassos All Rights Reserved
 | |
|  * @license         GNU GPLv3 <http://www.gnu.org/licenses/gpl.html> or later
 | |
| */
 | |
| 
 | |
| defined( '_JEXEC' ) or die( 'Restricted access' );
 | |
| 
 | |
| use Joomla\CMS\Form\FormHelper;
 | |
| 
 | |
| // Registers framework's namespace
 | |
| JLoader::registerNamespace('NRFramework', __DIR__ . '/NRFramework/', false, false, 'psr4');
 | |
| 
 | |
| // Assignment related class aliases
 | |
| JLoader::registerAlias('NRFrameworkFunctions',               '\\NRFramework\\Functions');
 | |
| JLoader::registerAlias('NRAssignment',                       '\\NRFramework\\Conditions\Condition');
 | |
| JLoader::registerAlias('nrFrameworkAssignmentsHelper',       '\\NRFramework\\Assignments');
 | |
| JLoader::registerAlias('nrFrameworkAssignmentsAcyMailing',   '\\NRFramework\\Conditions\\AcyMailing');
 | |
| JLoader::registerAlias('nrFrameworkAssignmentsAkeebaSubs',   '\\NRFramework\\Conditions\\AkeebaSubs');
 | |
| JLoader::registerAlias('nrFrameworkAssignmentsContent',      '\\NRFramework\\Conditions\\Content');
 | |
| JLoader::registerAlias('nrFrameworkAssignmentsConvertForms', '\\NRFramework\\Conditions\\ConvertForms');
 | |
| JLoader::registerAlias('nrFrameworkAssignmentsDateTime',     '\\NRFramework\\Conditions\\DateTime');
 | |
| JLoader::registerAlias('nrFrameworkAssignmentsDevices',      '\\NRFramework\\Conditions\\Devices');
 | |
| JLoader::registerAlias('nrFrameworkAssignmentsGeoIP',        '\\NRFramework\\Conditions\\GeoIP');
 | |
| JLoader::registerAlias('nrFrameworkAssignmentsLanguages',    '\\NRFramework\\Conditions\\Languages');
 | |
| JLoader::registerAlias('nrFrameworkAssignmentsMenu',         '\\NRFramework\\Conditions\\Menu');
 | |
| JLoader::registerAlias('nrFrameworkAssignmentsPHP',          '\\NRFramework\\Conditions\\PHP');
 | |
| JLoader::registerAlias('nrFrameworkAssignmentsURLs',         '\\NRFramework\\Conditions\\URLs');
 | |
| JLoader::registerAlias('nrFrameworkAssignmentsUsers',        '\\NRFramework\\Conditions\\Users');
 | |
| JLoader::registerAlias('nrFrameworkAssignmentsOS',           '\\NRFramework\\Conditions\\OS');
 | |
| JLoader::registerAlias('nrFrameworkAssignmentsBrowsers',     '\\NRFramework\\Conditions\\Browsers');
 | |
| JLoader::registerAlias('NRCache', 							 '\\NRFramework\\Cache');
 | |
| JLoader::registerAlias('NRHTML', 							 '\\NRFramework\\HTML');
 | |
| JLoader::registerAlias('NRUpdateSites', 					 '\\NRFramework\\Updatesites');
 | |
| JLoader::registerAlias('NRSmartTags', 					     '\\NRFramework\\SmartTags\\SmartTags');
 | |
| JLoader::registerAlias('NRFramework\\SmartTags',			 '\\NRFramework\\SmartTags\\SmartTags');
 | |
| JLoader::registerAlias('NREmail', 					         '\\NRFramework\\Email');
 | |
| JLoader::registerAlias('NRVisitor', 					     '\\NRFramework\\VisitorToken');
 | |
| JLoader::registerAlias('NRFonts', 					         '\\NRFramework\\Fonts');
 | |
| JLoader::registerAlias('NR_activecampaign', 				 '\\NRFramework\\Integrations\\ActiveCampaign');
 | |
| JLoader::registerAlias('NR_campaignmonitor', 				 '\\NRFramework\\Integrations\\CampaignMonitor');
 | |
| JLoader::registerAlias('NR_convertkit', 				 	 '\\NRFramework\\Integrations\\ConvertKit');
 | |
| JLoader::registerAlias('NR_drip', 				 			 '\\NRFramework\\Integrations\\Drip');
 | |
| JLoader::registerAlias('NR_elasticemail', 					 '\\NRFramework\\Integrations\\ElasticEmail');
 | |
| JLoader::registerAlias('NR_getresponse', 					 '\\NRFramework\\Integrations\\GetResponse');
 | |
| JLoader::registerAlias('NR_hubspot', 						 '\\NRFramework\\Integrations\\HubSpot');
 | |
| JLoader::registerAlias('NR_icontact', 						 '\\NRFramework\\Integrations\\IContact');
 | |
| JLoader::registerAlias('NR_mailchimp', 						 '\\NRFramework\\Integrations\\MailChimp');
 | |
| JLoader::registerAlias('NR_recaptcha', 						 '\\NRFramework\\Integrations\\ReCaptcha');
 | |
| JLoader::registerAlias('NR_salesforce', 					 '\\NRFramework\\Integrations\\Salesforce');
 | |
| JLoader::registerAlias('NR_sendinblue', 					 '\\NRFramework\\Integrations\\SendInBlue');
 | |
| JLoader::registerAlias('NR_zoho', 							 '\\NRFramework\\Integrations\\Zoho');
 | |
| JLoader::registerAlias('NR_zohocrm', 						 '\\NRFramework\\Integrations\\ZohoCRM');
 | |
| 
 | |
| // Define a helper constant to indicate whether we are on a Joomla 4 installation
 | |
| if (version_compare(JVERSION, '4.0', 'ge') && !defined('nrJ4'))
 | |
| {
 | |
| 	define('nrJ4', true);
 | |
| }
 | |
| 
 | |
| // Indicates a Joomla 3 installation
 | |
| if (version_compare(JVERSION, '4.0', 'lt') && !defined('t_isJ3'))
 | |
| {
 | |
| 	define('t_isJ3', true);
 | |
| }
 | |
| 
 | |
| // Indicates a Joomla 4 installation
 | |
| if (version_compare(JVERSION, '4.0', 'ge') && version_compare(JVERSION, '5.0', 'lt') && !defined('t_isJ4'))
 | |
| {
 | |
| 	define('t_isJ4', true);
 | |
| }
 | |
| 
 | |
| // Indicates a Joomla 5 installation
 | |
| if (version_compare(JVERSION, '5.0', 'ge') && version_compare(JVERSION, '6.0', 'lt') && !defined('t_isJ5'))
 | |
| {
 | |
| 	define('t_isJ5', true);
 | |
| }
 | |
| 
 | |
| // The Tassos.gr Site URL
 | |
| if (!defined('TF_TEMPLATES_SITE_URL'))
 | |
| {
 | |
| 	define('TF_TEMPLATES_SITE_URL', 'https://templates.tassos.gr/');
 | |
| }
 | |
| 
 | |
| // URL to retrieve templates
 | |
| if (!defined('TF_TEMPLATES_GET_URL'))
 | |
| {
 | |
| 	define('TF_TEMPLATES_GET_URL', TF_TEMPLATES_SITE_URL . '{{PROJECT}}/list.doc');
 | |
| }
 | |
| 
 | |
| // URL to retrieve a template
 | |
| if (!defined('TF_TEMPLATE_GET_URL'))
 | |
| {
 | |
| 	define('TF_TEMPLATE_GET_URL', TF_TEMPLATES_SITE_URL . 'tower/template/{{PROJECT}}/{{TEMPLATE}}/{{DOWNLOAD_KEY}}');
 | |
| }
 | |
| 
 | |
| // URL to check the license
 | |
| if (!defined('TF_CHECK_LICENSE'))
 | |
| {
 | |
| 	define('TF_CHECK_LICENSE', 'https://www.tassos.gr/tower/license/{{DOWNLOAD_KEY}}.doc');
 | |
| }
 | |
| 
 | |
| /**
 | |
|  * Joomla 3 backward compatibility aliases.
 | |
|  * 
 | |
|  * TODO: Remove this file when Joomla 3 support is dropped.
 | |
|  */
 | |
| if (version_compare(JVERSION, 4, '<'))
 | |
| {
 | |
| 	// Fields Aliases
 | |
| 	$tf_aliases = [
 | |
| 		'Text',
 | |
| 		'Textarea',
 | |
| 		'GroupedList',
 | |
| 		'Media',
 | |
| 		'List',
 | |
| 		'Hidden',
 | |
| 		'Number',
 | |
| 		'Checkbox',
 | |
| 		'Password',
 | |
| 		'Note',
 | |
| 		'Subform'
 | |
| 	];
 | |
| 	foreach ($tf_aliases as $name)
 | |
| 	{
 | |
| 		if (class_exists('\\Joomla\\CMS\\Form\\Field\\' . $name . 'Field', true))
 | |
| 		{
 | |
| 			continue;
 | |
| 		}
 | |
| 	
 | |
| 		FormHelper::loadFieldClass(strtolower($name));
 | |
| 		class_alias('JFormField' . $name, '\\Joomla\\CMS\\Form\\Field\\' . $name . 'Field');
 | |
| 	}
 | |
| 
 | |
| 	// Extra Aliases
 | |
| 	$extra_aliases = [
 | |
| 		'JHtmlSidebar' => '\\Joomla\\CMS\\HTML\\Helpers\\Sidebar'
 | |
| 	];
 | |
| 	foreach ($extra_aliases as $alias => $class)
 | |
| 	{
 | |
| 		if (class_exists($class, true))
 | |
| 		{
 | |
| 			continue;
 | |
| 		}
 | |
| 
 | |
| 		class_alias($alias, $class);
 | |
| 	}
 | |
| 
 | |
| 	JLoader::import('components.com_fields.libraries.fieldslistplugin', JPATH_ADMINISTRATOR);
 | |
| 	JLoader::import('components.com_fields.libraries.fieldsplugin', JPATH_ADMINISTRATOR);
 | |
| 	FormHelper::loadFieldClass('Checkboxes');
 | |
| }
 | |
| else
 | |
| {
 | |
| 	// Once Joomla 3 support is dropped, find where the following classes are used and load them using "use" statements.
 | |
| 	JLoader::registerAlias('FieldsPlugin', '\\Joomla\\Component\\Fields\\Administrator\\Plugin\\FieldsPlugin');
 | |
| 	JLoader::registerAlias('FieldsListPlugin', '\\Joomla\\Component\\Fields\\Administrator\\Plugin\\FieldsListPlugin');
 | |
| 	JLoader::registerAlias('JFormFieldCheckboxes', '\\Joomla\\CMS\\Form\\Field\\CheckboxesField');
 | |
| } |