';
+ $tmp .= PHP_EOL . $_tab . Indent::_(3)
+ . '
';
+ $tmp .= PHP_EOL . $_tab . Indent::_(4) . implode(
+ PHP_EOL . $_tab . Indent::_(4),
+ (array) explode(PHP_EOL, trim((string) $tab['html']))
+ );
+ $tmp .= PHP_EOL . $_tab . Indent::_(3) . '
';
+ $tmp .= PHP_EOL . $_tab . Indent::_(2) . '
';
+ $tmp .= PHP_EOL . $_tab . Indent::_(1)
+ . "";
+
+ // update html
+ $tab['html'] = $tmp;
+ }
+ else
+ {
+ $tab['html'] = PHP_EOL . $_tab . Indent::_(1)
+ . implode(
+ PHP_EOL . $_tab . Indent::_(1),
+ (array) explode(PHP_EOL, trim((string) $tab['html']))
+ );
+ }
+
+ // add the permissions if needed
+ if (isset($tab['permission'])
+ && $tab['permission'] == 1)
+ {
+ $tmp = PHP_EOL . Indent::_(1)
+ . "canDo->get('"
+ . $tab['view'] . "." . $tab['code']
+ . ".viewtab')) : ?>";
+ $tmp .= $tab['html'];
+ $tmp .= PHP_EOL . Indent::_(1) . "";
+ // update html
+ $tab['html'] = $tmp;
+ // set lang for permissions
+ $tab['lang_permission'] = $tab['lang']
+ . '_TAB_PERMISSION';
+ $tab['lang_permission_desc'] = $tab['lang']
+ . '_TAB_PERMISSION_DESC';
+ $tab['lang_permission_title']
+ = $this->placeholder->get('Views') . ' View '
+ . $tab['name'] . ' Tab';
+ $this->language->set(
+ 'both', $tab['lang_permission'],
+ $tab['lang_permission_title']
+ );
+ $this->language->set(
+ 'both', $tab['lang_permission_desc'],
+ 'Allow the users in this group to view '
+ . $tab['name'] . ' Tab of '
+ . $this->placeholder->get('views')
+ );
+ // set the sort key
+ $tab['sortKey']
+ = StringHelper::safe(
+ $tab['lang_permission_title']
+ );
+ }
+
+ // return tab
+ return $tab;
+
+ }, array_values($item->customtabs)
+ )
+ );
+ }
+
+ unset($item->customtabs);
+ }
+}
+
diff --git a/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Compiler/Model/JoomlaFive/index.html b/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Compiler/Model/JoomlaFive/index.html
new file mode 100644
index 000000000..fa6d84e80
--- /dev/null
+++ b/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Compiler/Model/JoomlaFive/index.html
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Compiler/Service/ArchitectureController.php b/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Compiler/Service/ArchitectureController.php
index dbe542e52..b6c6820e2 100644
--- a/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Compiler/Service/ArchitectureController.php
+++ b/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Compiler/Service/ArchitectureController.php
@@ -15,9 +15,11 @@ namespace VDM\Joomla\Componentbuilder\Compiler\Service;
use Joomla\DI\Container;
use Joomla\DI\ServiceProviderInterface;
use VDM\Joomla\Componentbuilder\Compiler\Interfaces\Architecture\Controller\AllowAddInterface;
+use VDM\Joomla\Componentbuilder\Compiler\Architecture\JoomlaFive\Controller\AllowAdd as J5ControllerAllowAdd;
use VDM\Joomla\Componentbuilder\Compiler\Architecture\JoomlaFour\Controller\AllowAdd as J4ControllerAllowAdd;
use VDM\Joomla\Componentbuilder\Compiler\Architecture\JoomlaThree\Controller\AllowAdd as J3ControllerAllowAdd;
use VDM\Joomla\Componentbuilder\Compiler\Interfaces\Architecture\Controller\AllowEditInterface;
+use VDM\Joomla\Componentbuilder\Compiler\Architecture\JoomlaFive\Controller\AllowEdit as J5ControllerAllowEdit;
use VDM\Joomla\Componentbuilder\Compiler\Architecture\JoomlaFour\Controller\AllowEdit as J4ControllerAllowEdit;
use VDM\Joomla\Componentbuilder\Compiler\Architecture\JoomlaThree\Controller\AllowEdit as J3ControllerAllowEdit;
@@ -50,6 +52,9 @@ class ArchitectureController implements ServiceProviderInterface
$container->alias(AllowAddInterface::class, 'Architecture.Controller.AllowAdd')
->share('Architecture.Controller.AllowAdd', [$this, 'getAllowAdd'], true);
+ $container->alias(J5ControllerAllowAdd::class, 'Architecture.Controller.J5.AllowAdd')
+ ->share('Architecture.Controller.J5.AllowAdd', [$this, 'getJ5ControllerAllowAdd'], true);
+
$container->alias(J4ControllerAllowAdd::class, 'Architecture.Controller.J4.AllowAdd')
->share('Architecture.Controller.J4.AllowAdd', [$this, 'getJ4ControllerAllowAdd'], true);
@@ -59,6 +64,9 @@ class ArchitectureController implements ServiceProviderInterface
$container->alias(AllowEditInterface::class, 'Architecture.Controller.AllowEdit')
->share('Architecture.Controller.AllowEdit', [$this, 'getAllowEdit'], true);
+ $container->alias(J5ControllerAllowEdit::class, 'Architecture.Controller.J5.AllowEdit')
+ ->share('Architecture.Controller.J5.AllowEdit', [$this, 'getJ5ControllerAllowEdit'], true);
+
$container->alias(J4ControllerAllowEdit::class, 'Architecture.Controller.J4.AllowEdit')
->share('Architecture.Controller.J4.AllowEdit', [$this, 'getJ4ControllerAllowEdit'], true);
@@ -84,6 +92,23 @@ class ArchitectureController implements ServiceProviderInterface
return $container->get('Architecture.Controller.J' . $this->targetVersion . '.AllowAdd');
}
+ /**
+ * Get The AllowAdd Class.
+ *
+ * @param Container $container The DI container.
+ *
+ * @return J5ControllerAllowAdd
+ * @since 3.2.0
+ */
+ public function getJ5ControllerAllowAdd(Container $container): J5ControllerAllowAdd
+ {
+ return new J5ControllerAllowAdd(
+ $container->get('Config'),
+ $container->get('Compiler.Creator.Permission'),
+ $container->get('Customcode.Dispenser')
+ );
+ }
+
/**
* Get The AllowAdd Class.
*
@@ -136,6 +161,25 @@ class ArchitectureController implements ServiceProviderInterface
return $container->get('Architecture.Controller.J' . $this->targetVersion . '.AllowEdit');
}
+ /**
+ * Get The AllowEdit Class.
+ *
+ * @param Container $container The DI container.
+ *
+ * @return J5ControllerAllowEdit
+ * @since 3.2.0
+ */
+ public function getJ5ControllerAllowEdit(Container $container): J5ControllerAllowEdit
+ {
+ return new J5ControllerAllowEdit(
+ $container->get('Config'),
+ $container->get('Compiler.Creator.Permission'),
+ $container->get('Customcode.Dispenser'),
+ $container->get('Compiler.Builder.Category'),
+ $container->get('Compiler.Builder.Category.Other.Name')
+ );
+ }
+
/**
* Get The AllowEdit Class.
*
diff --git a/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Compiler/Service/ArchitectureModel.php b/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Compiler/Service/ArchitectureModel.php
index 5e87d154d..b3e6b762d 100644
--- a/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Compiler/Service/ArchitectureModel.php
+++ b/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Compiler/Service/ArchitectureModel.php
@@ -15,9 +15,11 @@ namespace VDM\Joomla\Componentbuilder\Compiler\Service;
use Joomla\DI\Container;
use Joomla\DI\ServiceProviderInterface;
use VDM\Joomla\Componentbuilder\Compiler\Interfaces\Architecture\Model\CanDeleteInterface;
+use VDM\Joomla\Componentbuilder\Compiler\Architecture\JoomlaFive\Model\CanDelete as J5ModelCanDelete;
use VDM\Joomla\Componentbuilder\Compiler\Architecture\JoomlaFour\Model\CanDelete as J4ModelCanDelete;
use VDM\Joomla\Componentbuilder\Compiler\Architecture\JoomlaThree\Model\CanDelete as J3ModelCanDelete;
use VDM\Joomla\Componentbuilder\Compiler\Interfaces\Architecture\Model\CanEditStateInterface;
+use VDM\Joomla\Componentbuilder\Compiler\Architecture\JoomlaFive\Model\CanEditState as J5ModelCanEditState;
use VDM\Joomla\Componentbuilder\Compiler\Architecture\JoomlaFour\Model\CanEditState as J4ModelCanEditState;
use VDM\Joomla\Componentbuilder\Compiler\Architecture\JoomlaThree\Model\CanEditState as J3ModelCanEditState;
@@ -53,6 +55,9 @@ class ArchitectureModel implements ServiceProviderInterface
$container->alias(J4ModelCanDelete::class, 'Architecture.Model.J4.CanDelete')
->share('Architecture.Model.J4.CanDelete', [$this, 'getJ4ModelCanDelete'], true);
+ $container->alias(J5ModelCanDelete::class, 'Architecture.Model.J5.CanDelete')
+ ->share('Architecture.Model.J5.CanDelete', [$this, 'getJ5ModelCanDelete'], true);
+
$container->alias(CanDeleteInterface::class, 'Architecture.Model.CanDelete')
->share('Architecture.Model.CanDelete', [$this, 'getModelCanDelete'], true);
@@ -62,6 +67,9 @@ class ArchitectureModel implements ServiceProviderInterface
$container->alias(J4ModelCanEditState::class, 'Architecture.Model.J4.CanEditState')
->share('Architecture.Model.J4.CanEditState', [$this, 'getJ4ModelCanEditState'], true);
+ $container->alias(J5ModelCanEditState::class, 'Architecture.Model.J5.CanEditState')
+ ->share('Architecture.Model.J5.CanEditState', [$this, 'getJ5ModelCanEditState'], true);
+
$container->alias(CanEditStateInterface::class, 'Architecture.Model.CanEditState')
->share('Architecture.Model.CanEditState', [$this, 'getModelCanEditState'], true);
}
@@ -84,6 +92,22 @@ class ArchitectureModel implements ServiceProviderInterface
return $container->get('Architecture.Model.J' . $this->targetVersion . '.CanDelete');
}
+ /**
+ * Get The Model CanDelete Class.
+ *
+ * @param Container $container The DI container.
+ *
+ * @return J5ModelCanDelete
+ * @since 3.2.0
+ */
+ public function getJ5ModelCanDelete(Container $container): J5ModelCanDelete
+ {
+ return new J5ModelCanDelete(
+ $container->get('Config'),
+ $container->get('Compiler.Creator.Permission')
+ );
+ }
+
/**
* Get The Model CanDelete Class.
*
@@ -134,6 +158,22 @@ class ArchitectureModel implements ServiceProviderInterface
return $container->get('Architecture.Model.J' . $this->targetVersion . '.CanEditState');
}
+ /**
+ * Get The Model Can Edit State Class.
+ *
+ * @param Container $container The DI container.
+ *
+ * @return J5ModelCanEditState
+ * @since 3.2.0
+ */
+ public function getJ5ModelCanEditState(Container $container): J5ModelCanEditState
+ {
+ return new J5ModelCanEditState(
+ $container->get('Config'),
+ $container->get('Compiler.Creator.Permission')
+ );
+ }
+
/**
* Get The Model Can Edit State Class.
*
diff --git a/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Compiler/Service/Component.php b/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Compiler/Service/Component.php
index 0d8c7fcd8..093d0b655 100644
--- a/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Compiler/Service/Component.php
+++ b/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Compiler/Service/Component.php
@@ -17,6 +17,7 @@ use Joomla\DI\ServiceProviderInterface;
use VDM\Joomla\Componentbuilder\Compiler\Component as CompilerComponent;
use VDM\Joomla\Componentbuilder\Compiler\Component\JoomlaThree\Settings as J3Settings;
use VDM\Joomla\Componentbuilder\Compiler\Component\JoomlaFour\Settings as J4Settings;
+use VDM\Joomla\Componentbuilder\Compiler\Component\JoomlaFive\Settings as J5Settings;
use VDM\Joomla\Componentbuilder\Compiler\Component\Dashboard;
use VDM\Joomla\Componentbuilder\Compiler\Component\Placeholder;
use VDM\Joomla\Componentbuilder\Compiler\Component\Data;
@@ -60,6 +61,9 @@ class Component implements ServiceProviderInterface
$container->alias(J4Settings::class, 'Component.J4.Settings')
->share('Component.J4.Settings', [$this, 'getJ4Settings'], true);
+ $container->alias(J5Settings::class, 'Component.J5.Settings')
+ ->share('Component.J5.Settings', [$this, 'getJ5Settings'], true);
+
$container->alias(Dashboard::class, 'Component.Dashboard')
->share('Component.Dashboard', [$this, 'getDashboard'], true);
@@ -141,6 +145,28 @@ class Component implements ServiceProviderInterface
);
}
+ /**
+ * Get The Settings Class.
+ *
+ * @param Container $container The DI container.
+ *
+ * @return J5Settings
+ * @since 3.2.0
+ */
+ public function getJ5Settings(Container $container): J5Settings
+ {
+ return new J5Settings(
+ $container->get('Config'),
+ $container->get('Registry'),
+ $container->get('Event'),
+ $container->get('Placeholder'),
+ $container->get('Component'),
+ $container->get('Utilities.Paths'),
+ $container->get('Utilities.Dynamicpath'),
+ $container->get('Utilities.Pathfix')
+ );
+ }
+
/**
* Get The Dashboard Class.
*
diff --git a/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Compiler/Service/Event.php b/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Compiler/Service/Event.php
index 156a2937f..bc0c7edab 100644
--- a/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Compiler/Service/Event.php
+++ b/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Compiler/Service/Event.php
@@ -18,6 +18,7 @@ use Joomla\CMS\Version;
use VDM\Joomla\Componentbuilder\Compiler\Interfaces\EventInterface;
use VDM\Joomla\Componentbuilder\Compiler\JoomlaThree\Event as J3Event;
use VDM\Joomla\Componentbuilder\Compiler\JoomlaFour\Event as J4Event;
+use VDM\Joomla\Componentbuilder\Compiler\JoomlaFive\Event as J5Event;
/**
@@ -51,6 +52,9 @@ class Event implements ServiceProviderInterface
$container->alias(J4Event::class, 'J4.Event')
->share('J4.Event', [$this, 'getJ4Event'], true);
+ $container->alias(J5Event::class, 'J5.Event')
+ ->share('J5.Event', [$this, 'getJ5Event'], true);
+
$container->alias(EventInterface::class, 'Event')
->share('Event', [$this, 'getEvent'], true);
}
@@ -97,6 +101,19 @@ class Event implements ServiceProviderInterface
public function getJ4Event(Container $container): J4Event
{
return new J4Event();
+ }
+
+ /**
+ * Get the Joomla 5 Event
+ *
+ * @param Container $container The DI container.
+ *
+ * @return J5Event
+ * @since 3.2.0
+ */
+ public function getJ5Event(Container $container): J5Event
+ {
+ return new J5Event();
}
}
diff --git a/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Compiler/Service/Extension.php b/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Compiler/Service/Extension.php
index 4eadc98af..1c2c5e791 100644
--- a/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Compiler/Service/Extension.php
+++ b/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Compiler/Service/Extension.php
@@ -17,6 +17,7 @@ use Joomla\DI\ServiceProviderInterface;
use VDM\Joomla\Componentbuilder\Compiler\Interfaces\GetScriptInterface;
use VDM\Joomla\Componentbuilder\Compiler\Extension\JoomlaThree\InstallScript as J3InstallScript;
use VDM\Joomla\Componentbuilder\Compiler\Extension\JoomlaFour\InstallScript as J4InstallScript;
+use VDM\Joomla\Componentbuilder\Compiler\Extension\JoomlaFive\InstallScript as J5InstallScript;
/**
@@ -52,6 +53,9 @@ class Extension implements ServiceProviderInterface
$container->alias(J4InstallScript::class, 'J4.Extension.InstallScript')
->share('J4.Extension.InstallScript', [$this, 'getJ4ExtensionInstallScript'], true);
+
+ $container->alias(J5InstallScript::class, 'J5.Extension.InstallScript')
+ ->share('J5.Extension.InstallScript', [$this, 'getJ5ExtensionInstallScript'], true);
}
/**
@@ -80,6 +84,19 @@ class Extension implements ServiceProviderInterface
return new J4InstallScript();
}
+ /**
+ * Get the Joomla 5 Extension Install Script
+ *
+ * @param Container $container The DI container.
+ *
+ * @return J5InstallScript
+ * @since 3.2.0
+ */
+ public function getJ5ExtensionInstallScript(Container $container): J5InstallScript
+ {
+ return new J5InstallScript();
+ }
+
/**
* Get the Joomla Extension Install Script
*
diff --git a/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Compiler/Service/Field.php b/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Compiler/Service/Field.php
index b2b8a79c6..01292db60 100644
--- a/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Compiler/Service/Field.php
+++ b/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Compiler/Service/Field.php
@@ -27,10 +27,13 @@ use VDM\Joomla\Componentbuilder\Compiler\Field\Customcode;
use VDM\Joomla\Componentbuilder\Compiler\Field\DatabaseName;
use VDM\Joomla\Componentbuilder\Compiler\Field\JoomlaThree\CoreRule as J3CoreRule;
use VDM\Joomla\Componentbuilder\Compiler\Field\JoomlaFour\CoreRule as J4CoreRule;
+use VDM\Joomla\Componentbuilder\Compiler\Field\JoomlaFive\CoreRule as J5CoreRule;
use VDM\Joomla\Componentbuilder\Compiler\Field\JoomlaThree\CoreField as J3CoreField;
use VDM\Joomla\Componentbuilder\Compiler\Field\JoomlaFour\CoreField as J4CoreField;
+use VDM\Joomla\Componentbuilder\Compiler\Field\JoomlaFive\CoreField as J5CoreField;
use VDM\Joomla\Componentbuilder\Compiler\Field\JoomlaThree\InputButton as J3InputButton;
use VDM\Joomla\Componentbuilder\Compiler\Field\JoomlaFour\InputButton as J4InputButton;
+use VDM\Joomla\Componentbuilder\Compiler\Field\JoomlaFive\InputButton as J5InputButton;
use VDM\Joomla\Componentbuilder\Compiler\Interfaces\Field\CoreFieldInterface as CoreField;
use VDM\Joomla\Componentbuilder\Compiler\Interfaces\Field\CoreRuleInterface as CoreRule;
use VDM\Joomla\Componentbuilder\Compiler\Interfaces\Field\InputButtonInterface as InputButton;
@@ -105,18 +108,27 @@ class Field implements ServiceProviderInterface
$container->alias(J4CoreRule::class, 'J4.Field.Core.Rule')
->share('J4.Field.Core.Rule', [$this, 'getJ4CoreRule'], true);
+ $container->alias(J5CoreRule::class, 'J5.Field.Core.Rule')
+ ->share('J5.Field.Core.Rule', [$this, 'getJ5CoreRule'], true);
+
$container->alias(J3CoreField::class, 'J3.Field.Core.Field')
->share('J3.Field.Core.Field', [$this, 'getJ3CoreField'], true);
$container->alias(J4CoreField::class, 'J4.Field.Core.Field')
->share('J4.Field.Core.Field', [$this, 'getJ4CoreField'], true);
+ $container->alias(J5CoreField::class, 'J5.Field.Core.Field')
+ ->share('J5.Field.Core.Field', [$this, 'getJ5CoreField'], true);
+
$container->alias(J3InputButton::class, 'J3.Field.Input.Button')
->share('J3.Field.Input.Button', [$this, 'getJ3InputButton'], true);
$container->alias(J4InputButton::class, 'J4.Field.Input.Button')
->share('J4.Field.Input.Button', [$this, 'getJ4InputButton'], true);
+ $container->alias(J5InputButton::class, 'J5.Field.Input.Button')
+ ->share('J5.Field.Input.Button', [$this, 'getJ5InputButton'], true);
+
$container->alias(CoreField::class, 'Field.Core.Field')
->share('Field.Core.Field', [$this, 'getCoreField'], true);
@@ -322,6 +334,19 @@ class Field implements ServiceProviderInterface
return new J4CoreRule();
}
+ /**
+ * Get The CoreRule Class.
+ *
+ * @param Container $container The DI container.
+ *
+ * @return J5CoreRule
+ * @since 3.2.0
+ */
+ public function getJ5CoreRule(Container $container): J5CoreRule
+ {
+ return new J5CoreRule();
+ }
+
/**
* Get The CoreField Class.
*
@@ -348,6 +373,19 @@ class Field implements ServiceProviderInterface
return new J4CoreField();
}
+ /**
+ * Get The CoreField Class.
+ *
+ * @param Container $container The DI container.
+ *
+ * @return J5CoreField
+ * @since 3.2.0
+ */
+ public function getJ5CoreField(Container $container): J5CoreField
+ {
+ return new J5CoreField();
+ }
+
/**
* Get The J3InputButton Class.
*
@@ -382,6 +420,23 @@ class Field implements ServiceProviderInterface
);
}
+ /**
+ * Get The J5InputButton Class.
+ *
+ * @param Container $container The DI container.
+ *
+ * @return J5InputButton
+ * @since 3.2.0
+ */
+ public function getJ5InputButton(Container $container): J5InputButton
+ {
+ return new J5InputButton(
+ $container->get('Config'),
+ $container->get('Placeholder'),
+ $container->get('Compiler.Creator.Permission')
+ );
+ }
+
/**
* Get The CoreFieldInterface Class.
*
diff --git a/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Compiler/Service/Header.php b/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Compiler/Service/Header.php
index d8e3f45dd..6f3ee5c94 100644
--- a/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Compiler/Service/Header.php
+++ b/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Compiler/Service/Header.php
@@ -17,6 +17,7 @@ use Joomla\DI\ServiceProviderInterface;
use VDM\Joomla\Componentbuilder\Compiler\Interfaces\HeaderInterface;
use VDM\Joomla\Componentbuilder\Compiler\JoomlaThree\Header as J3Header;
use VDM\Joomla\Componentbuilder\Compiler\JoomlaFour\Header as J4Header;
+use VDM\Joomla\Componentbuilder\Compiler\JoomlaFive\Header as J5Header;
/**
@@ -50,6 +51,9 @@ class Header implements ServiceProviderInterface
$container->alias(J4Header::class, 'J4.Header')
->share('J4.Header', [$this, 'getJ4Header'], true);
+ $container->alias(J5Header::class, 'J5.Header')
+ ->share('J5.Header', [$this, 'getJ5Header'], true);
+
$container->alias(HeaderInterface::class, 'Header')
->share('Header', [$this, 'getHeader'], true);
}
@@ -118,6 +122,30 @@ class Header implements ServiceProviderInterface
$container->get('Compiler.Builder.Filter'),
$container->get('Compiler.Builder.Tags')
);
+ }
+
+ /**
+ * Get The Header Class.
+ *
+ * @param Container $container The DI container.
+ *
+ * @return J5Header
+ * @since 3.2.0
+ */
+ public function getJ5Header(Container $container): J5Header
+ {
+ return new J5Header(
+ $container->get('Config'),
+ $container->get('Event'),
+ $container->get('Placeholder'),
+ $container->get('Language'),
+ $container->get('Compiler.Builder.Uikit.Comp'),
+ $container->get('Compiler.Builder.Admin.Filter.Type'),
+ $container->get('Compiler.Builder.Category'),
+ $container->get('Compiler.Builder.Access.Switch.List'),
+ $container->get('Compiler.Builder.Filter'),
+ $container->get('Compiler.Builder.Tags')
+ );
}
}
diff --git a/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Compiler/Service/History.php b/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Compiler/Service/History.php
index 031d3f730..9beb59d9c 100644
--- a/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Compiler/Service/History.php
+++ b/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Compiler/Service/History.php
@@ -18,6 +18,7 @@ use Joomla\CMS\Version;
use VDM\Joomla\Componentbuilder\Compiler\Interfaces\HistoryInterface;
use VDM\Joomla\Componentbuilder\Compiler\JoomlaThree\History as J3History;
use VDM\Joomla\Componentbuilder\Compiler\JoomlaFour\History as J4History;
+use VDM\Joomla\Componentbuilder\Compiler\JoomlaFive\History as J5History;
/**
@@ -51,6 +52,9 @@ class History implements ServiceProviderInterface
$container->alias(J4History::class, 'J4.History')
->share('J4.History', [$this, 'getJ4History'], true);
+ $container->alias(J5History::class, 'J5.History')
+ ->share('J5.History', [$this, 'getJ5History'], true);
+
$container->alias(HistoryInterface::class, 'History')
->share('History', [$this, 'getHistory'], true);
}
@@ -101,6 +105,21 @@ class History implements ServiceProviderInterface
return new J4History(
$container->get('Config')
);
+ }
+
+ /**
+ * Get the Joomla 5 History
+ *
+ * @param Container $container The DI container.
+ *
+ * @return J5History
+ * @since 3.2.0
+ */
+ public function getJ5History(Container $container): J5History
+ {
+ return new J5History(
+ $container->get('Config')
+ );
}
}
diff --git a/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Compiler/Service/Model.php b/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Compiler/Service/Model.php
index 510fd6147..833398249 100644
--- a/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Compiler/Service/Model.php
+++ b/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Compiler/Service/Model.php
@@ -47,6 +47,7 @@ use VDM\Joomla\Componentbuilder\Compiler\Model\Tabs;
use VDM\Joomla\Componentbuilder\Compiler\Interfaces\Model\CustomtabsInterface as Customtabs;
use VDM\Joomla\Componentbuilder\Compiler\Model\JoomlaThree\Customtabs as CustomtabsJ3;
use VDM\Joomla\Componentbuilder\Compiler\Model\JoomlaFour\Customtabs as CustomtabsJ4;
+use VDM\Joomla\Componentbuilder\Compiler\Model\JoomlaFive\Customtabs as CustomtabsJ5;
use VDM\Joomla\Componentbuilder\Compiler\Model\Adminviews;
use VDM\Joomla\Componentbuilder\Compiler\Model\Sqltweaking;
use VDM\Joomla\Componentbuilder\Compiler\Model\Sqldump;
@@ -182,6 +183,9 @@ class Model implements ServiceProviderInterface
$container->alias(CustomtabsJ4::class, 'Model.J4.Customtabs')
->share('Model.J4.Customtabs', [$this, 'getCustomtabsJ4'], true);
+ $container->alias(CustomtabsJ5::class, 'Model.J5.Customtabs')
+ ->share('Model.J5.Customtabs', [$this, 'getCustomtabsJ5'], true);
+
$container->alias(Adminviews::class, 'Model.Adminviews')
->share('Model.Adminviews', [$this, 'getAdminviews'], true);
@@ -758,6 +762,25 @@ class Model implements ServiceProviderInterface
);
}
+ /**
+ * Get The CustomtabsJ5 Class.
+ *
+ * @param Container $container The DI container.
+ *
+ * @return CustomtabsJ5
+ * @since 3.2.0
+ */
+ public function getCustomtabsJ5(Container $container): CustomtabsJ5
+ {
+ return new CustomtabsJ5(
+ $container->get('Config'),
+ $container->get('Compiler.Builder.Custom.Tabs'),
+ $container->get('Language'),
+ $container->get('Placeholder'),
+ $container->get('Customcode')
+ );
+ }
+
/**
* Get The Adminviews Class.
*
diff --git a/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Table.php b/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Table.php
index 76dee138b..23626f62e 100644
--- a/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Table.php
+++ b/libraries/jcb_powers/VDM.Joomla/src/Componentbuilder/Table.php
@@ -67,23 +67,14 @@ class Table extends BaseTable implements Tableinterface
'store' => NULL,
'tab_name' => 'Details',
],
- 'debug_linenr' => [
- 'name' => 'debug_linenr',
- 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DEBUG_LINENR_LABEL',
- 'type' => 'radio',
- 'title' => false,
- 'list' => 'joomla_components',
- 'store' => NULL,
- 'tab_name' => 'Details',
- ],
- 'php_site_event' => [
- 'name' => 'php_site_event',
- 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_SITE_EVENT_LABEL',
- 'type' => 'editor',
+ 'buildcompsql' => [
+ 'name' => 'buildcompsql',
+ 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BUILDCOMPSQL_LABEL',
+ 'type' => 'textarea',
'title' => false,
'list' => 'joomla_components',
'store' => 'base64',
- 'tab_name' => 'Libs & Helpers',
+ 'tab_name' => 'Dynamic Build (beta)',
],
'translation_tool' => [
'name' => 'translation_tool',
@@ -94,15 +85,6 @@ class Table extends BaseTable implements Tableinterface
'store' => NULL,
'tab_name' => 'Dynamic Integration',
],
- 'buildcompsql' => [
- 'name' => 'buildcompsql',
- 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BUILDCOMPSQL_LABEL',
- 'type' => 'textarea',
- 'title' => false,
- 'list' => 'joomla_components',
- 'store' => 'base64',
- 'tab_name' => 'Dynamic Build (beta)',
- ],
'add_sales_server' => [
'name' => 'add_sales_server',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_SALES_SERVER_LABEL',
@@ -112,18 +94,18 @@ class Table extends BaseTable implements Tableinterface
'store' => NULL,
'tab_name' => 'Dynamic Integration',
],
- 'php_preflight_install' => [
- 'name' => 'php_preflight_install',
- 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_PREFLIGHT_INSTALL_LABEL',
+ 'php_method_uninstall' => [
+ 'name' => 'php_method_uninstall',
+ 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_METHOD_UNINSTALL_LABEL',
'type' => 'editor',
'title' => false,
'list' => 'joomla_components',
'store' => 'base64',
'tab_name' => 'Dash & Install',
],
- 'php_method_uninstall' => [
- 'name' => 'php_method_uninstall',
- 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_METHOD_UNINSTALL_LABEL',
+ 'php_preflight_install' => [
+ 'name' => 'php_preflight_install',
+ 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_PREFLIGHT_INSTALL_LABEL',
'type' => 'editor',
'title' => false,
'list' => 'joomla_components',
@@ -166,6 +148,24 @@ class Table extends BaseTable implements Tableinterface
'store' => NULL,
'tab_name' => 'Details',
],
+ 'debug_linenr' => [
+ 'name' => 'debug_linenr',
+ 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DEBUG_LINENR_LABEL',
+ 'type' => 'radio',
+ 'title' => false,
+ 'list' => 'joomla_components',
+ 'store' => NULL,
+ 'tab_name' => 'Details',
+ ],
+ 'php_site_event' => [
+ 'name' => 'php_site_event',
+ 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_SITE_EVENT_LABEL',
+ 'type' => 'editor',
+ 'title' => false,
+ 'list' => 'joomla_components',
+ 'store' => 'base64',
+ 'tab_name' => 'Libs & Helpers',
+ ],
'description' => [
'name' => 'description',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_DESCRIPTION_LABEL',
@@ -175,6 +175,15 @@ class Table extends BaseTable implements Tableinterface
'store' => NULL,
'tab_name' => 'Details',
],
+ 'author' => [
+ 'name' => 'author',
+ 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_AUTHOR_LABEL',
+ 'type' => 'text',
+ 'title' => false,
+ 'list' => 'joomla_components',
+ 'store' => NULL,
+ 'tab_name' => 'Details',
+ ],
'php_postflight_install' => [
'name' => 'php_postflight_install',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_POSTFLIGHT_INSTALL_LABEL',
@@ -184,9 +193,9 @@ class Table extends BaseTable implements Tableinterface
'store' => 'base64',
'tab_name' => 'Dash & Install',
],
- 'author' => [
- 'name' => 'author',
- 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_AUTHOR_LABEL',
+ 'email' => [
+ 'name' => 'email',
+ 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_EMAIL_LABEL',
'type' => 'text',
'title' => false,
'list' => 'joomla_components',
@@ -202,19 +211,19 @@ class Table extends BaseTable implements Tableinterface
'store' => 'base64',
'tab_name' => 'MySQL',
],
- 'email' => [
- 'name' => 'email',
- 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_EMAIL_LABEL',
- 'type' => 'text',
+ 'website' => [
+ 'name' => 'website',
+ 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_WEBSITE_LABEL',
+ 'type' => 'url',
'title' => false,
'list' => 'joomla_components',
'store' => NULL,
'tab_name' => 'Details',
],
- 'website' => [
- 'name' => 'website',
- 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_WEBSITE_LABEL',
- 'type' => 'url',
+ 'add_license' => [
+ 'name' => 'add_license',
+ 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_LICENSE_LABEL',
+ 'type' => 'radio',
'title' => false,
'list' => 'joomla_components',
'store' => NULL,
@@ -256,10 +265,10 @@ class Table extends BaseTable implements Tableinterface
'store' => 'base64',
'tab_name' => 'Libs & Helpers',
],
- 'add_license' => [
- 'name' => 'add_license',
- 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_LICENSE_LABEL',
- 'type' => 'radio',
+ 'license_type' => [
+ 'name' => 'license_type',
+ 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_LICENSE_TYPE_LABEL',
+ 'type' => 'list',
'title' => false,
'list' => 'joomla_components',
'store' => NULL,
@@ -283,15 +292,6 @@ class Table extends BaseTable implements Tableinterface
'store' => 'base64',
'tab_name' => 'Libs & Helpers',
],
- 'license_type' => [
- 'name' => 'license_type',
- 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_LICENSE_TYPE_LABEL',
- 'type' => 'list',
- 'title' => false,
- 'list' => 'joomla_components',
- 'store' => NULL,
- 'tab_name' => 'Details',
- ],
'php_helper_site' => [
'name' => 'php_helper_site',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_HELPER_SITE_LABEL',
@@ -301,15 +301,6 @@ class Table extends BaseTable implements Tableinterface
'store' => 'base64',
'tab_name' => 'Libs & Helpers',
],
- 'javascript' => [
- 'name' => 'javascript',
- 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_JAVASCRIPT_LABEL',
- 'type' => 'editor',
- 'title' => false,
- 'list' => 'joomla_components',
- 'store' => 'base64',
- 'tab_name' => 'Libs & Helpers',
- ],
'whmcs_key' => [
'name' => 'whmcs_key',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_WHMCS_KEY_LABEL',
@@ -319,9 +310,9 @@ class Table extends BaseTable implements Tableinterface
'store' => 'basic_encryption',
'tab_name' => 'Details',
],
- 'css_site' => [
- 'name' => 'css_site',
- 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CSS_SITE_LABEL',
+ 'javascript' => [
+ 'name' => 'javascript',
+ 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_JAVASCRIPT_LABEL',
'type' => 'editor',
'title' => false,
'list' => 'joomla_components',
@@ -337,6 +328,15 @@ class Table extends BaseTable implements Tableinterface
'store' => NULL,
'tab_name' => 'Details',
],
+ 'css_site' => [
+ 'name' => 'css_site',
+ 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_CSS_SITE_LABEL',
+ 'type' => 'editor',
+ 'title' => false,
+ 'list' => 'joomla_components',
+ 'store' => 'base64',
+ 'tab_name' => 'Libs & Helpers',
+ ],
'whmcs_buy_link' => [
'name' => 'whmcs_buy_link',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_WHMCS_BUY_LINK_LABEL',
@@ -346,15 +346,6 @@ class Table extends BaseTable implements Tableinterface
'store' => NULL,
'tab_name' => 'Details',
],
- 'php_preflight_update' => [
- 'name' => 'php_preflight_update',
- 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_PREFLIGHT_UPDATE_LABEL',
- 'type' => 'editor',
- 'title' => false,
- 'list' => 'joomla_components',
- 'store' => 'base64',
- 'tab_name' => 'Dash & Install',
- ],
'license' => [
'name' => 'license',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_LICENSE_LABEL',
@@ -364,9 +355,9 @@ class Table extends BaseTable implements Tableinterface
'store' => NULL,
'tab_name' => 'Details',
],
- 'php_postflight_update' => [
- 'name' => 'php_postflight_update',
- 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_POSTFLIGHT_UPDATE_LABEL',
+ 'php_preflight_update' => [
+ 'name' => 'php_preflight_update',
+ 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_PREFLIGHT_UPDATE_LABEL',
'type' => 'editor',
'title' => false,
'list' => 'joomla_components',
@@ -382,6 +373,24 @@ class Table extends BaseTable implements Tableinterface
'store' => NULL,
'tab_name' => 'Details',
],
+ 'php_postflight_update' => [
+ 'name' => 'php_postflight_update',
+ 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_POSTFLIGHT_UPDATE_LABEL',
+ 'type' => 'editor',
+ 'title' => false,
+ 'list' => 'joomla_components',
+ 'store' => 'base64',
+ 'tab_name' => 'Dash & Install',
+ ],
+ 'image' => [
+ 'name' => 'image',
+ 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMAGE_LABEL',
+ 'type' => 'media',
+ 'title' => false,
+ 'list' => 'joomla_components',
+ 'store' => NULL,
+ 'tab_name' => 'Details',
+ ],
'sql' => [
'name' => 'sql',
'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_SQL_LABEL',
@@ -391,10 +400,10 @@ class Table extends BaseTable implements Tableinterface
'store' => 'base64',
'tab_name' => 'MySQL',
],
- 'image' => [
- 'name' => 'image',
- 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMAGE_LABEL',
- 'type' => 'media',
+ 'copyright' => [
+ 'name' => 'copyright',
+ 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COPYRIGHT_LABEL',
+ 'type' => 'textarea',
'title' => false,
'list' => 'joomla_components',
'store' => NULL,
@@ -409,10 +418,10 @@ class Table extends BaseTable implements Tableinterface
'store' => NULL,
'tab_name' => 'Readme',
],
- 'copyright' => [
- 'name' => 'copyright',
- 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COPYRIGHT_LABEL',
- 'type' => 'textarea',
+ 'preferred_joomla_version' => [
+ 'name' => 'preferred_joomla_version',
+ 'label' => 'COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PREFERRED_JOOMLA_VERSION_LABEL',
+ 'type' => 'number',
'title' => false,
'list' => 'joomla_components',
'store' => NULL,
diff --git a/script.php b/script.php
index 4e279585b..1e5f01245 100644
--- a/script.php
+++ b/script.php
@@ -6266,9 +6266,9 @@ class Com_ComponentbuilderInstallerScript
$joomla_component->type_title = 'Componentbuilder Joomla_component';
$joomla_component->type_alias = 'com_componentbuilder.joomla_component';
$joomla_component->table = '{"special": {"dbtable": "#__componentbuilder_joomla_component","key": "id","type": "Joomla_component","prefix": "componentbuilderTable","config": "array()"},"common": {"dbtable": "#__ucm_content","key": "ucm_id","type": "Corecontent","prefix": "JTable","config": "array()"}}';
- $joomla_component->field_mappings = '{"common": {"core_content_item_id": "id","core_title": "system_name","core_state": "published","core_alias": "null","core_created_time": "created","core_modified_time": "modified","core_body": "php_site_event","core_hits": "hits","core_publish_up": "null","core_publish_down": "null","core_access": "access","core_params": "params","core_featured": "null","core_metadata": "metadata","core_language": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "metakey","core_metadesc": "metadesc","core_catid": "null","core_xreference": "null","asset_id": "asset_id"},"special": {"system_name":"system_name","name_code":"name_code","short_description":"short_description","companyname":"companyname","debug_linenr":"debug_linenr","php_site_event":"php_site_event","translation_tool":"translation_tool","buildcompsql":"buildcompsql","add_sales_server":"add_sales_server","php_preflight_install":"php_preflight_install","php_method_uninstall":"php_method_uninstall","css_admin":"css_admin","mvc_versiondate":"mvc_versiondate","remove_line_breaks":"remove_line_breaks","add_placeholders":"add_placeholders","description":"description","php_postflight_install":"php_postflight_install","author":"author","sql_uninstall":"sql_uninstall","email":"email","website":"website","backup_folder_path":"backup_folder_path","php_helper_both":"php_helper_both","crowdin_username":"crowdin_username","php_admin_event":"php_admin_event","add_license":"add_license","component_version":"component_version","php_helper_admin":"php_helper_admin","license_type":"license_type","php_helper_site":"php_helper_site","javascript":"javascript","whmcs_key":"whmcs_key","css_site":"css_site","whmcs_url":"whmcs_url","whmcs_buy_link":"whmcs_buy_link","php_preflight_update":"php_preflight_update","license":"license","php_postflight_update":"php_postflight_update","bom":"bom","sql":"sql","image":"image","addreadme":"addreadme","copyright":"copyright","update_server_url":"update_server_url","add_powers":"add_powers","add_backup_folder_path":"add_backup_folder_path","crowdin_project_identifier":"crowdin_project_identifier","add_php_helper_both":"add_php_helper_both","add_php_helper_admin":"add_php_helper_admin","add_admin_event":"add_admin_event","add_php_helper_site":"add_php_helper_site","add_site_event":"add_site_event","add_namespace_prefix":"add_namespace_prefix","add_javascript":"add_javascript","namespace_prefix":"namespace_prefix","add_css_admin":"add_css_admin","add_css_site":"add_css_site","add_menu_prefix":"add_menu_prefix","dashboard_type":"dashboard_type","menu_prefix":"menu_prefix","dashboard":"dashboard","add_php_preflight_install":"add_php_preflight_install","add_php_preflight_update":"add_php_preflight_update","toignore":"toignore","add_php_postflight_install":"add_php_postflight_install","add_php_postflight_update":"add_php_postflight_update","add_php_method_uninstall":"add_php_method_uninstall","export_key":"export_key","add_sql":"add_sql","joomla_source_link":"joomla_source_link","add_sql_uninstall":"add_sql_uninstall","export_buy_link":"export_buy_link","assets_table_fix":"assets_table_fix","readme":"readme","add_update_server":"add_update_server","update_server_target":"update_server_target","emptycontributors":"emptycontributors","number":"number","update_server":"update_server","sales_server":"sales_server","add_git_folder_path":"add_git_folder_path","git_folder_path":"git_folder_path","crowdin_project_api_key":"crowdin_project_api_key","creatuserhelper":"creatuserhelper","crowdin_account_api_key":"crowdin_account_api_key","adduikit":"adduikit","buildcomp":"buildcomp","addfootable":"addfootable","guid":"guid","add_email_helper":"add_email_helper","name":"name"}}';
+ $joomla_component->field_mappings = '{"common": {"core_content_item_id": "id","core_title": "system_name","core_state": "published","core_alias": "null","core_created_time": "created","core_modified_time": "modified","core_body": "php_method_uninstall","core_hits": "hits","core_publish_up": "null","core_publish_down": "null","core_access": "access","core_params": "params","core_featured": "null","core_metadata": "metadata","core_language": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "metakey","core_metadesc": "metadesc","core_catid": "null","core_xreference": "null","asset_id": "asset_id"},"special": {"system_name":"system_name","name_code":"name_code","short_description":"short_description","companyname":"companyname","buildcompsql":"buildcompsql","translation_tool":"translation_tool","add_sales_server":"add_sales_server","php_method_uninstall":"php_method_uninstall","php_preflight_install":"php_preflight_install","css_admin":"css_admin","mvc_versiondate":"mvc_versiondate","remove_line_breaks":"remove_line_breaks","add_placeholders":"add_placeholders","debug_linenr":"debug_linenr","php_site_event":"php_site_event","description":"description","author":"author","php_postflight_install":"php_postflight_install","email":"email","sql_uninstall":"sql_uninstall","website":"website","add_license":"add_license","backup_folder_path":"backup_folder_path","php_helper_both":"php_helper_both","crowdin_username":"crowdin_username","php_admin_event":"php_admin_event","license_type":"license_type","component_version":"component_version","php_helper_admin":"php_helper_admin","php_helper_site":"php_helper_site","whmcs_key":"whmcs_key","javascript":"javascript","whmcs_url":"whmcs_url","css_site":"css_site","whmcs_buy_link":"whmcs_buy_link","license":"license","php_preflight_update":"php_preflight_update","bom":"bom","php_postflight_update":"php_postflight_update","image":"image","sql":"sql","copyright":"copyright","addreadme":"addreadme","preferred_joomla_version":"preferred_joomla_version","update_server_url":"update_server_url","add_powers":"add_powers","add_backup_folder_path":"add_backup_folder_path","crowdin_project_identifier":"crowdin_project_identifier","add_php_helper_both":"add_php_helper_both","add_php_helper_admin":"add_php_helper_admin","add_admin_event":"add_admin_event","add_php_helper_site":"add_php_helper_site","add_site_event":"add_site_event","add_namespace_prefix":"add_namespace_prefix","add_javascript":"add_javascript","namespace_prefix":"namespace_prefix","add_css_admin":"add_css_admin","add_css_site":"add_css_site","add_menu_prefix":"add_menu_prefix","dashboard_type":"dashboard_type","menu_prefix":"menu_prefix","dashboard":"dashboard","add_php_preflight_install":"add_php_preflight_install","add_php_preflight_update":"add_php_preflight_update","toignore":"toignore","add_php_postflight_install":"add_php_postflight_install","add_php_postflight_update":"add_php_postflight_update","add_php_method_uninstall":"add_php_method_uninstall","export_key":"export_key","add_sql":"add_sql","joomla_source_link":"joomla_source_link","add_sql_uninstall":"add_sql_uninstall","export_buy_link":"export_buy_link","assets_table_fix":"assets_table_fix","readme":"readme","add_update_server":"add_update_server","update_server_target":"update_server_target","emptycontributors":"emptycontributors","number":"number","update_server":"update_server","sales_server":"sales_server","add_git_folder_path":"add_git_folder_path","git_folder_path":"git_folder_path","crowdin_project_api_key":"crowdin_project_api_key","creatuserhelper":"creatuserhelper","crowdin_account_api_key":"crowdin_account_api_key","adduikit":"adduikit","buildcomp":"buildcomp","addfootable":"addfootable","guid":"guid","add_email_helper":"add_email_helper","name":"name"}}';
$joomla_component->router = 'ComponentbuilderHelperRoute::getJoomla_componentRoute';
- $joomla_component->content_history_options = '{"formFile": "administrator/components/com_componentbuilder/models/forms/joomla_component.xml","hideFields": ["asset_id","checked_out","checked_out_time","version"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","version","hits","debug_linenr","translation_tool","add_sales_server","mvc_versiondate","remove_line_breaks","add_placeholders","add_license","license_type","addreadme","add_powers","add_backup_folder_path","add_php_helper_both","add_php_helper_admin","add_admin_event","add_php_helper_site","add_site_event","add_javascript","add_css_admin","add_css_site","dashboard_type","add_php_preflight_install","add_php_preflight_update","add_php_postflight_install","add_php_postflight_update","add_php_method_uninstall","add_sql","add_sql_uninstall","assets_table_fix","add_update_server","update_server_target","emptycontributors","number","update_server","sales_server","add_git_folder_path","creatuserhelper","adduikit","buildcomp","addfootable","add_email_helper"],"displayLookup": [{"sourceColumn": "created_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "access","targetTable": "#__viewlevels","targetColumn": "id","displayColumn": "title"},{"sourceColumn": "modified_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "dashboard","targetTable": "#__componentbuilder_custom_admin_view","targetColumn": "","displayColumn": "system_name"},{"sourceColumn": "update_server","targetTable": "#__componentbuilder_server","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "sales_server","targetTable": "#__componentbuilder_server","targetColumn": "id","displayColumn": "name"}]}';
+ $joomla_component->content_history_options = '{"formFile": "administrator/components/com_componentbuilder/models/forms/joomla_component.xml","hideFields": ["asset_id","checked_out","checked_out_time","version"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","version","hits","translation_tool","add_sales_server","mvc_versiondate","remove_line_breaks","add_placeholders","debug_linenr","add_license","license_type","addreadme","preferred_joomla_version","add_powers","add_backup_folder_path","add_php_helper_both","add_php_helper_admin","add_admin_event","add_php_helper_site","add_site_event","add_javascript","add_css_admin","add_css_site","dashboard_type","add_php_preflight_install","add_php_preflight_update","add_php_postflight_install","add_php_postflight_update","add_php_method_uninstall","add_sql","add_sql_uninstall","assets_table_fix","add_update_server","update_server_target","emptycontributors","number","update_server","sales_server","add_git_folder_path","creatuserhelper","adduikit","buildcomp","addfootable","add_email_helper"],"displayLookup": [{"sourceColumn": "created_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "access","targetTable": "#__viewlevels","targetColumn": "id","displayColumn": "title"},{"sourceColumn": "modified_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "dashboard","targetTable": "#__componentbuilder_custom_admin_view","targetColumn": "","displayColumn": "system_name"},{"sourceColumn": "update_server","targetTable": "#__componentbuilder_server","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "sales_server","targetTable": "#__componentbuilder_server","targetColumn": "id","displayColumn": "name"}]}';
// Set the object into the content types table.
$joomla_component_Inserted = $db->insertObject('#__content_types', $joomla_component);
@@ -7767,9 +7767,9 @@ class Com_ComponentbuilderInstallerScript
$joomla_component->type_title = 'Componentbuilder Joomla_component';
$joomla_component->type_alias = 'com_componentbuilder.joomla_component';
$joomla_component->table = '{"special": {"dbtable": "#__componentbuilder_joomla_component","key": "id","type": "Joomla_component","prefix": "componentbuilderTable","config": "array()"},"common": {"dbtable": "#__ucm_content","key": "ucm_id","type": "Corecontent","prefix": "JTable","config": "array()"}}';
- $joomla_component->field_mappings = '{"common": {"core_content_item_id": "id","core_title": "system_name","core_state": "published","core_alias": "null","core_created_time": "created","core_modified_time": "modified","core_body": "php_site_event","core_hits": "hits","core_publish_up": "null","core_publish_down": "null","core_access": "access","core_params": "params","core_featured": "null","core_metadata": "metadata","core_language": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "metakey","core_metadesc": "metadesc","core_catid": "null","core_xreference": "null","asset_id": "asset_id"},"special": {"system_name":"system_name","name_code":"name_code","short_description":"short_description","companyname":"companyname","debug_linenr":"debug_linenr","php_site_event":"php_site_event","translation_tool":"translation_tool","buildcompsql":"buildcompsql","add_sales_server":"add_sales_server","php_preflight_install":"php_preflight_install","php_method_uninstall":"php_method_uninstall","css_admin":"css_admin","mvc_versiondate":"mvc_versiondate","remove_line_breaks":"remove_line_breaks","add_placeholders":"add_placeholders","description":"description","php_postflight_install":"php_postflight_install","author":"author","sql_uninstall":"sql_uninstall","email":"email","website":"website","backup_folder_path":"backup_folder_path","php_helper_both":"php_helper_both","crowdin_username":"crowdin_username","php_admin_event":"php_admin_event","add_license":"add_license","component_version":"component_version","php_helper_admin":"php_helper_admin","license_type":"license_type","php_helper_site":"php_helper_site","javascript":"javascript","whmcs_key":"whmcs_key","css_site":"css_site","whmcs_url":"whmcs_url","whmcs_buy_link":"whmcs_buy_link","php_preflight_update":"php_preflight_update","license":"license","php_postflight_update":"php_postflight_update","bom":"bom","sql":"sql","image":"image","addreadme":"addreadme","copyright":"copyright","update_server_url":"update_server_url","add_powers":"add_powers","add_backup_folder_path":"add_backup_folder_path","crowdin_project_identifier":"crowdin_project_identifier","add_php_helper_both":"add_php_helper_both","add_php_helper_admin":"add_php_helper_admin","add_admin_event":"add_admin_event","add_php_helper_site":"add_php_helper_site","add_site_event":"add_site_event","add_namespace_prefix":"add_namespace_prefix","add_javascript":"add_javascript","namespace_prefix":"namespace_prefix","add_css_admin":"add_css_admin","add_css_site":"add_css_site","add_menu_prefix":"add_menu_prefix","dashboard_type":"dashboard_type","menu_prefix":"menu_prefix","dashboard":"dashboard","add_php_preflight_install":"add_php_preflight_install","add_php_preflight_update":"add_php_preflight_update","toignore":"toignore","add_php_postflight_install":"add_php_postflight_install","add_php_postflight_update":"add_php_postflight_update","add_php_method_uninstall":"add_php_method_uninstall","export_key":"export_key","add_sql":"add_sql","joomla_source_link":"joomla_source_link","add_sql_uninstall":"add_sql_uninstall","export_buy_link":"export_buy_link","assets_table_fix":"assets_table_fix","readme":"readme","add_update_server":"add_update_server","update_server_target":"update_server_target","emptycontributors":"emptycontributors","number":"number","update_server":"update_server","sales_server":"sales_server","add_git_folder_path":"add_git_folder_path","git_folder_path":"git_folder_path","crowdin_project_api_key":"crowdin_project_api_key","creatuserhelper":"creatuserhelper","crowdin_account_api_key":"crowdin_account_api_key","adduikit":"adduikit","buildcomp":"buildcomp","addfootable":"addfootable","guid":"guid","add_email_helper":"add_email_helper","name":"name"}}';
+ $joomla_component->field_mappings = '{"common": {"core_content_item_id": "id","core_title": "system_name","core_state": "published","core_alias": "null","core_created_time": "created","core_modified_time": "modified","core_body": "php_method_uninstall","core_hits": "hits","core_publish_up": "null","core_publish_down": "null","core_access": "access","core_params": "params","core_featured": "null","core_metadata": "metadata","core_language": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "metakey","core_metadesc": "metadesc","core_catid": "null","core_xreference": "null","asset_id": "asset_id"},"special": {"system_name":"system_name","name_code":"name_code","short_description":"short_description","companyname":"companyname","buildcompsql":"buildcompsql","translation_tool":"translation_tool","add_sales_server":"add_sales_server","php_method_uninstall":"php_method_uninstall","php_preflight_install":"php_preflight_install","css_admin":"css_admin","mvc_versiondate":"mvc_versiondate","remove_line_breaks":"remove_line_breaks","add_placeholders":"add_placeholders","debug_linenr":"debug_linenr","php_site_event":"php_site_event","description":"description","author":"author","php_postflight_install":"php_postflight_install","email":"email","sql_uninstall":"sql_uninstall","website":"website","add_license":"add_license","backup_folder_path":"backup_folder_path","php_helper_both":"php_helper_both","crowdin_username":"crowdin_username","php_admin_event":"php_admin_event","license_type":"license_type","component_version":"component_version","php_helper_admin":"php_helper_admin","php_helper_site":"php_helper_site","whmcs_key":"whmcs_key","javascript":"javascript","whmcs_url":"whmcs_url","css_site":"css_site","whmcs_buy_link":"whmcs_buy_link","license":"license","php_preflight_update":"php_preflight_update","bom":"bom","php_postflight_update":"php_postflight_update","image":"image","sql":"sql","copyright":"copyright","addreadme":"addreadme","preferred_joomla_version":"preferred_joomla_version","update_server_url":"update_server_url","add_powers":"add_powers","add_backup_folder_path":"add_backup_folder_path","crowdin_project_identifier":"crowdin_project_identifier","add_php_helper_both":"add_php_helper_both","add_php_helper_admin":"add_php_helper_admin","add_admin_event":"add_admin_event","add_php_helper_site":"add_php_helper_site","add_site_event":"add_site_event","add_namespace_prefix":"add_namespace_prefix","add_javascript":"add_javascript","namespace_prefix":"namespace_prefix","add_css_admin":"add_css_admin","add_css_site":"add_css_site","add_menu_prefix":"add_menu_prefix","dashboard_type":"dashboard_type","menu_prefix":"menu_prefix","dashboard":"dashboard","add_php_preflight_install":"add_php_preflight_install","add_php_preflight_update":"add_php_preflight_update","toignore":"toignore","add_php_postflight_install":"add_php_postflight_install","add_php_postflight_update":"add_php_postflight_update","add_php_method_uninstall":"add_php_method_uninstall","export_key":"export_key","add_sql":"add_sql","joomla_source_link":"joomla_source_link","add_sql_uninstall":"add_sql_uninstall","export_buy_link":"export_buy_link","assets_table_fix":"assets_table_fix","readme":"readme","add_update_server":"add_update_server","update_server_target":"update_server_target","emptycontributors":"emptycontributors","number":"number","update_server":"update_server","sales_server":"sales_server","add_git_folder_path":"add_git_folder_path","git_folder_path":"git_folder_path","crowdin_project_api_key":"crowdin_project_api_key","creatuserhelper":"creatuserhelper","crowdin_account_api_key":"crowdin_account_api_key","adduikit":"adduikit","buildcomp":"buildcomp","addfootable":"addfootable","guid":"guid","add_email_helper":"add_email_helper","name":"name"}}';
$joomla_component->router = 'ComponentbuilderHelperRoute::getJoomla_componentRoute';
- $joomla_component->content_history_options = '{"formFile": "administrator/components/com_componentbuilder/models/forms/joomla_component.xml","hideFields": ["asset_id","checked_out","checked_out_time","version"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","version","hits","debug_linenr","translation_tool","add_sales_server","mvc_versiondate","remove_line_breaks","add_placeholders","add_license","license_type","addreadme","add_powers","add_backup_folder_path","add_php_helper_both","add_php_helper_admin","add_admin_event","add_php_helper_site","add_site_event","add_javascript","add_css_admin","add_css_site","dashboard_type","add_php_preflight_install","add_php_preflight_update","add_php_postflight_install","add_php_postflight_update","add_php_method_uninstall","add_sql","add_sql_uninstall","assets_table_fix","add_update_server","update_server_target","emptycontributors","number","update_server","sales_server","add_git_folder_path","creatuserhelper","adduikit","buildcomp","addfootable","add_email_helper"],"displayLookup": [{"sourceColumn": "created_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "access","targetTable": "#__viewlevels","targetColumn": "id","displayColumn": "title"},{"sourceColumn": "modified_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "dashboard","targetTable": "#__componentbuilder_custom_admin_view","targetColumn": "","displayColumn": "system_name"},{"sourceColumn": "update_server","targetTable": "#__componentbuilder_server","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "sales_server","targetTable": "#__componentbuilder_server","targetColumn": "id","displayColumn": "name"}]}';
+ $joomla_component->content_history_options = '{"formFile": "administrator/components/com_componentbuilder/models/forms/joomla_component.xml","hideFields": ["asset_id","checked_out","checked_out_time","version"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","version","hits","translation_tool","add_sales_server","mvc_versiondate","remove_line_breaks","add_placeholders","debug_linenr","add_license","license_type","addreadme","preferred_joomla_version","add_powers","add_backup_folder_path","add_php_helper_both","add_php_helper_admin","add_admin_event","add_php_helper_site","add_site_event","add_javascript","add_css_admin","add_css_site","dashboard_type","add_php_preflight_install","add_php_preflight_update","add_php_postflight_install","add_php_postflight_update","add_php_method_uninstall","add_sql","add_sql_uninstall","assets_table_fix","add_update_server","update_server_target","emptycontributors","number","update_server","sales_server","add_git_folder_path","creatuserhelper","adduikit","buildcomp","addfootable","add_email_helper"],"displayLookup": [{"sourceColumn": "created_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "access","targetTable": "#__viewlevels","targetColumn": "id","displayColumn": "title"},{"sourceColumn": "modified_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "dashboard","targetTable": "#__componentbuilder_custom_admin_view","targetColumn": "","displayColumn": "system_name"},{"sourceColumn": "update_server","targetTable": "#__componentbuilder_server","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "sales_server","targetTable": "#__componentbuilder_server","targetColumn": "id","displayColumn": "name"}]}';
// Check if joomla_component type is already in content_type DB.
$joomla_component_id = null;
@@ -9618,7 +9618,7 @@ class Com_ComponentbuilderInstallerScript
echo '