Release of v4.0.0
This commit is contained in:
parent
fb5238844b
commit
3ec7ea90ea
@ -1,13 +1,14 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<extension type="plugin" version="5.0" group="content" method="upgrade">
|
<extension type="plugin" version="5.0" group="content" method="upgrade">
|
||||||
<name>PLG_CONTENT_COMPONENTBUILDERDYNAMICGETHEADERSTABS</name>
|
<name>PLG_CONTENT_COMPONENTBUILDERDYNAMICGETHEADERSTABS</name>
|
||||||
<creationDate>27th July, 2024</creationDate>
|
<creationDate>14th August, 2024</creationDate>
|
||||||
<author>Llewellyn van der Merwe</author>
|
<author>Llewellyn van der Merwe</author>
|
||||||
<authorEmail>joomla@vdm.io</authorEmail>
|
<authorEmail>joomla@vdm.io</authorEmail>
|
||||||
<authorUrl>https://dev.vdm.io</authorUrl>
|
<authorUrl>https://dev.vdm.io</authorUrl>
|
||||||
<copyright>Copyright (C) 2015 Vast Development Method. All rights reserved.</copyright>
|
<copyright>Copyright (C) 2015 Vast Development Method. All rights reserved.</copyright>
|
||||||
<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
|
<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
|
||||||
<version>3.0.0</version>
|
<version>4.0.0</version>
|
||||||
|
<namespace path="src">VDM\Plugin\Content\ComponentbuilderDynamicGetHeadersTabs</namespace>
|
||||||
<description>PLG_CONTENT_COMPONENTBUILDERDYNAMICGETHEADERSTABS_XML_DESCRIPTION</description>
|
<description>PLG_CONTENT_COMPONENTBUILDERDYNAMICGETHEADERSTABS_XML_DESCRIPTION</description>
|
||||||
|
|
||||||
<!-- Scripts to run on installation -->
|
<!-- Scripts to run on installation -->
|
||||||
@ -15,15 +16,16 @@
|
|||||||
|
|
||||||
<!-- Language files -->
|
<!-- Language files -->
|
||||||
<languages folder="language">
|
<languages folder="language">
|
||||||
<language tag="en-GB">en-GB/en-GB.plg_content_componentbuilderdynamicgetheaderstabs.ini</language>
|
<language tag="en-GB">en-GB/plg_content_componentbuilderdynamicgetheaderstabs.ini</language>
|
||||||
<language tag="en-GB">en-GB/en-GB.plg_content_componentbuilderdynamicgetheaderstabs.sys.ini</language>
|
<language tag="en-GB">en-GB/plg_content_componentbuilderdynamicgetheaderstabs.sys.ini</language>
|
||||||
</languages>
|
</languages>
|
||||||
|
|
||||||
<!-- Plugin files -->
|
<!-- Plugin files -->
|
||||||
<files>
|
<files>
|
||||||
<filename plugin="componentbuilderdynamicgetheaderstabs">componentbuilderdynamicgetheaderstabs.php</filename>
|
<folder plugin="componentbuilderdynamicgetheaderstabs">services</folder>
|
||||||
<filename>index.html</filename>
|
<filename>index.html</filename>
|
||||||
<folder>language</folder>
|
|
||||||
<folder>forms</folder>
|
<folder>forms</folder>
|
||||||
|
<folder>services</folder>
|
||||||
|
<folder>src</folder>
|
||||||
</files>
|
</files>
|
||||||
</extension>
|
</extension>
|
@ -1,6 +1,6 @@
|
|||||||
PLG_CONTENT_COMPONENTBUILDERDYNAMICGETHEADERSTABS="Content - Componentbuilder Dynamic Get Headers Tabs"
|
PLG_CONTENT_COMPONENTBUILDERDYNAMICGETHEADERSTABS="Content - Componentbuilder Dynamic Get Headers Tabs"
|
||||||
PLG_CONTENT_COMPONENTBUILDERDYNAMICGETHEADERSTABS_DESCRIPTION="This plugin is used to set dynamic gets class headers."
|
PLG_CONTENT_COMPONENTBUILDERDYNAMICGETHEADERSTABS_DESCRIPTION="This plugin is used to set dynamic gets class headers."
|
||||||
PLG_CONTENT_COMPONENTBUILDERDYNAMICGETHEADERSTABS_XML_DESCRIPTION="<h1>Content - Componentbuilder Dynamic Get Headers Tabs (v.3.0.0)</h1> <div style='clear: both;'></div><p>This plugin is used to set dynamic gets class headers.</p><p>Created by <a href='https://dev.vdm.io' target='_blank'>Llewellyn van der Merwe</a><br /><small>Development started 10th March, 2024</small></p>"
|
PLG_CONTENT_COMPONENTBUILDERDYNAMICGETHEADERSTABS_XML_DESCRIPTION="<h1>Content - Componentbuilder Dynamic Get Headers Tabs (v.4.0.0)</h1> <div style='clear: both;'></div><p>This plugin is used to set dynamic gets class headers.</p><p>Created by <a href='https://dev.vdm.io' target='_blank'>Llewellyn van der Merwe</a><br /><small>Development started 10th March, 2024</small></p>"
|
||||||
PLG_CONTENT_COMPONENTBUILDERDYNAMICGETHEADERSTABS_CLASS_HEADERS="Class Headers"
|
PLG_CONTENT_COMPONENTBUILDERDYNAMICGETHEADERSTABS_CLASS_HEADERS="Class Headers"
|
||||||
PLG_CONTENT_COMPONENTBUILDERDYNAMICGETHEADERSTABS_ADD_SITE_VIEW_MODEL_LABEL="Target Site View<br />Model Header"
|
PLG_CONTENT_COMPONENTBUILDERDYNAMICGETHEADERSTABS_ADD_SITE_VIEW_MODEL_LABEL="Target Site View<br />Model Header"
|
||||||
PLG_CONTENT_COMPONENTBUILDERDYNAMICGETHEADERSTABS_ADD_SITE_VIEW_MODEL_DESCRIPTION="Only use this option if you have a <b>getItem</b> as your <b>Main Get</b>."
|
PLG_CONTENT_COMPONENTBUILDERDYNAMICGETHEADERSTABS_ADD_SITE_VIEW_MODEL_DESCRIPTION="Only use this option if you have a <b>getItem</b> as your <b>Main Get</b>."
|
@ -1,6 +1,6 @@
|
|||||||
PLG_CONTENT_COMPONENTBUILDERDYNAMICGETHEADERSTABS="Content - Componentbuilder Dynamic Get Headers Tabs"
|
PLG_CONTENT_COMPONENTBUILDERDYNAMICGETHEADERSTABS="Content - Componentbuilder Dynamic Get Headers Tabs"
|
||||||
PLG_CONTENT_COMPONENTBUILDERDYNAMICGETHEADERSTABS_DESCRIPTION="This plugin is used to set dynamic gets class headers."
|
PLG_CONTENT_COMPONENTBUILDERDYNAMICGETHEADERSTABS_DESCRIPTION="This plugin is used to set dynamic gets class headers."
|
||||||
PLG_CONTENT_COMPONENTBUILDERDYNAMICGETHEADERSTABS_XML_DESCRIPTION="<h1>Content - Componentbuilder Dynamic Get Headers Tabs (v.3.0.0)</h1> <div style='clear: both;'></div><p>This plugin is used to set dynamic gets class headers.</p><p>Created by <a href='https://dev.vdm.io' target='_blank'>Llewellyn van der Merwe</a><br /><small>Development started 10th March, 2024</small></p>"
|
PLG_CONTENT_COMPONENTBUILDERDYNAMICGETHEADERSTABS_XML_DESCRIPTION="<h1>Content - Componentbuilder Dynamic Get Headers Tabs (v.4.0.0)</h1> <div style='clear: both;'></div><p>This plugin is used to set dynamic gets class headers.</p><p>Created by <a href='https://dev.vdm.io' target='_blank'>Llewellyn van der Merwe</a><br /><small>Development started 10th March, 2024</small></p>"
|
||||||
PLG_CONTENT_COMPONENTBUILDERDYNAMICGETHEADERSTABS_CLASS_HEADERS="Class Headers"
|
PLG_CONTENT_COMPONENTBUILDERDYNAMICGETHEADERSTABS_CLASS_HEADERS="Class Headers"
|
||||||
PLG_CONTENT_COMPONENTBUILDERDYNAMICGETHEADERSTABS_ADD_SITE_VIEW_MODEL_LABEL="Target Site View<br />Model Header"
|
PLG_CONTENT_COMPONENTBUILDERDYNAMICGETHEADERSTABS_ADD_SITE_VIEW_MODEL_LABEL="Target Site View<br />Model Header"
|
||||||
PLG_CONTENT_COMPONENTBUILDERDYNAMICGETHEADERSTABS_ADD_SITE_VIEW_MODEL_DESCRIPTION="Only use this option if you have a <b>getItem</b> as your <b>Main Get</b>."
|
PLG_CONTENT_COMPONENTBUILDERDYNAMICGETHEADERSTABS_ADD_SITE_VIEW_MODEL_DESCRIPTION="Only use this option if you have a <b>getItem</b> as your <b>Main Get</b>."
|
120
script.php
120
script.php
@ -13,15 +13,129 @@
|
|||||||
defined('_JEXEC') or die('Restricted access');
|
defined('_JEXEC') or die('Restricted access');
|
||||||
|
|
||||||
use Joomla\CMS\Factory;
|
use Joomla\CMS\Factory;
|
||||||
|
use Joomla\CMS\Version;
|
||||||
|
use Joomla\CMS\Installer\InstallerAdapter;
|
||||||
use Joomla\CMS\Language\Text;
|
use Joomla\CMS\Language\Text;
|
||||||
use Joomla\CMS\Filesystem\File;
|
use Joomla\Filesystem\File;
|
||||||
use Joomla\CMS\Filesystem\Folder;
|
use Joomla\Filesystem\Folder;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Content - Componentbuilder Dynamic Get Headers Tabs script file.
|
* Content - Componentbuilder Dynamic Get Headers Tabs script file.
|
||||||
*
|
*
|
||||||
* @package PlgContentComponentbuilderDynamicGetHeadersTabs
|
* @package ComponentbuilderDynamicGetHeadersTabs
|
||||||
*/
|
*/
|
||||||
class plgContentComponentbuilderDynamicGetHeadersTabsInstallerScript
|
class plgContentComponentbuilderDynamicGetHeadersTabsInstallerScript
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* The CMS Application.
|
||||||
|
*
|
||||||
|
* @since 4.4.2
|
||||||
|
*/
|
||||||
|
protected $app;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A list of files to be deleted
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
* @since 3.6
|
||||||
|
*/
|
||||||
|
protected array $deleteFiles = [];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A list of folders to be deleted
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
* @since 3.6
|
||||||
|
*/
|
||||||
|
protected array $deleteFolders = [];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructor
|
||||||
|
*
|
||||||
|
* @param InstallerAdapter $adapter The object responsible for running this script
|
||||||
|
*/
|
||||||
|
public function __construct($adapter)
|
||||||
|
{
|
||||||
|
// get application
|
||||||
|
$this->app = Factory::getApplication();
|
||||||
|
|
||||||
|
if (is_file(JPATH_ROOT . '/plugins/content/componentbuilderdynamicgetheaderstabs/componentbuilderdynamicgetheaderstabs.php'))
|
||||||
|
{
|
||||||
|
$this->deleteFiles[] = '/plugins/content/componentbuilderdynamicgetheaderstabs/componentbuilderdynamicgetheaderstabs.php';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called before any type of action
|
||||||
|
*
|
||||||
|
* @param string $route Which action is happening (install|uninstall|discover_install|update)
|
||||||
|
* @param InstallerAdapter $adapter The object responsible for running this script
|
||||||
|
*
|
||||||
|
* @return boolean True on success
|
||||||
|
*/
|
||||||
|
public function preflight($route, $adapter)
|
||||||
|
{
|
||||||
|
// set application to local method var, just use $this->app in future [we will drop $app in J6]
|
||||||
|
$app = $this->app;
|
||||||
|
|
||||||
|
// the default for both install and update
|
||||||
|
$jversion = new Version();
|
||||||
|
if (!$jversion->isCompatible('5.0.0'))
|
||||||
|
{
|
||||||
|
$app->enqueueMessage('Please upgrade to at least Joomla! 5.0.0 before continuing!', 'error');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// remove old files and folders
|
||||||
|
$this->removeFiles();
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called before any type of action
|
||||||
|
*
|
||||||
|
* @param string $route Which action is happening (install|uninstall|discover_install|update)
|
||||||
|
* @param InstallerAdapter $adapter The object responsible for running this script
|
||||||
|
*
|
||||||
|
* @return boolean True on success
|
||||||
|
*/
|
||||||
|
public function postflight($route, $adapter)
|
||||||
|
{
|
||||||
|
// set application to local method var, just use $this->app in future [we will drop $app in J6]
|
||||||
|
$app = $this->app;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove the files and folders in the given array from
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
* @since 5.0.2
|
||||||
|
*/
|
||||||
|
protected function removeFiles()
|
||||||
|
{
|
||||||
|
if (!empty($this->deleteFiles))
|
||||||
|
{
|
||||||
|
foreach ($this->deleteFiles as $file)
|
||||||
|
{
|
||||||
|
if (is_file(JPATH_ROOT . $file) && !File::delete(JPATH_ROOT . $file))
|
||||||
|
{
|
||||||
|
echo Text::sprintf('JLIB_INSTALLER_ERROR_FILE_FOLDER', $file) . '<br>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!empty($this->deleteFolders))
|
||||||
|
{
|
||||||
|
foreach ($this->deleteFolders as $folder)
|
||||||
|
{
|
||||||
|
if (is_dir(JPATH_ROOT . $folder) && !Folder::delete(JPATH_ROOT . $folder))
|
||||||
|
{
|
||||||
|
echo Text::sprintf('JLIB_INSTALLER_ERROR_FILE_FOLDER', $folder) . '<br>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
1
services/index.html
Normal file
1
services/index.html
Normal file
@ -0,0 +1 @@
|
|||||||
|
<html><body bgcolor="#FFFFFF"></body></html>
|
47
services/provider.php
Normal file
47
services/provider.php
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package Joomla.Component.Builder
|
||||||
|
*
|
||||||
|
* @created 30th April, 2015
|
||||||
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
|
* @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.
|
||||||
|
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||||
|
*/
|
||||||
|
|
||||||
|
// No direct access to this file
|
||||||
|
defined('_JEXEC') or die('Restricted access');
|
||||||
|
|
||||||
|
use Joomla\CMS\Factory;
|
||||||
|
use Joomla\CMS\Plugin\PluginHelper;
|
||||||
|
use Joomla\CMS\Extension\PluginInterface;
|
||||||
|
use Joomla\Event\DispatcherInterface;
|
||||||
|
use Joomla\DI\ServiceProviderInterface;
|
||||||
|
use Joomla\DI\Container;
|
||||||
|
use VDM\Plugin\Content\ComponentbuilderDynamicGetHeadersTabs\Extension\ComponentbuilderDynamicGetHeadersTabs;
|
||||||
|
|
||||||
|
return new class () implements ServiceProviderInterface {
|
||||||
|
/**
|
||||||
|
* Registers the service provider with a DI container.
|
||||||
|
*
|
||||||
|
* @param Container $container The DI container.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
* @since 4.3.0
|
||||||
|
*/
|
||||||
|
public function register(Container $container)
|
||||||
|
{
|
||||||
|
$container->set(
|
||||||
|
PluginInterface::class,
|
||||||
|
function (Container $container) {
|
||||||
|
$plugin = new ComponentbuilderDynamicGetHeadersTabs(
|
||||||
|
$container->get(DispatcherInterface::class),
|
||||||
|
(array) PluginHelper::getPlugin('content', 'componentbuilderdynamicgetheaderstabs')
|
||||||
|
);
|
||||||
|
$plugin->setApplication(Factory::getApplication());
|
||||||
|
|
||||||
|
return $plugin;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
};
|
@ -8,21 +8,23 @@
|
|||||||
* @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.
|
* @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.
|
||||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||||
*/
|
*/
|
||||||
|
namespace VDM\Plugin\Content\ComponentbuilderDynamicGetHeadersTabs\Extension;
|
||||||
// No direct access to this file
|
|
||||||
defined('_JEXEC') or die('Restricted access');
|
|
||||||
|
|
||||||
use Joomla\CMS\Form\Form;
|
use Joomla\CMS\Form\Form;
|
||||||
use Joomla\CMS\Plugin\CMSPlugin;
|
use Joomla\CMS\Plugin\CMSPlugin;
|
||||||
use Joomla\CMS\Component\ComponentHelper;
|
use Joomla\CMS\Component\ComponentHelper;
|
||||||
use VDM\Joomla\Utilities\ArrayHelper;
|
use VDM\Joomla\Utilities\ArrayHelper;
|
||||||
|
|
||||||
|
// No direct access to this file
|
||||||
|
defined('_JEXEC') or die('Restricted access');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Content - Componentbuilder Dynamic Get Headers Tabs plugin.
|
* Content - Componentbuilder Dynamic Get Headers Tabs plugin.
|
||||||
*
|
*
|
||||||
* @package ComponentbuilderDynamicGetHeadersTabs
|
* @package ComponentbuilderDynamicGetHeadersTabs
|
||||||
* @since 3.0.0
|
* @since 4.0.0
|
||||||
*/
|
*/
|
||||||
class PlgContentComponentbuilderDynamicGetHeadersTabs extends CMSPlugin
|
final class ComponentbuilderDynamicGetHeadersTabs extends CMSPlugin
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -51,7 +53,7 @@ class PlgContentComponentbuilderDynamicGetHeadersTabs extends CMSPlugin
|
|||||||
if (strpos($context, 'com_componentbuilder.dynamic_get') === 0)
|
if (strpos($context, 'com_componentbuilder.dynamic_get') === 0)
|
||||||
{
|
{
|
||||||
// Add the forms path
|
// Add the forms path
|
||||||
Form::addFormPath(__DIR__ . '/forms');
|
Form::addFormPath(__DIR__ . '/../../forms');
|
||||||
// add the admin view params for privacy integration
|
// add the admin view params for privacy integration
|
||||||
$form->loadFile('dynamic_get');
|
$form->loadFile('dynamic_get');
|
||||||
// update all editors to use this components global editor
|
// update all editors to use this components global editor
|
1
src/Extension/index.html
Normal file
1
src/Extension/index.html
Normal file
@ -0,0 +1 @@
|
|||||||
|
<html><body bgcolor="#FFFFFF"></body></html>
|
Loading…
Reference in New Issue
Block a user