Fixed changelog direction so newest changes is listed at top of the file. Finished the init function of super powers. Adds rest function inside super power. Adds super powers to all templates. Updates many helper class methods to now use the utility classes. Adds the method to the component entry file (as-well). Moved most methods from the compiler fields class to powers. #955 Refactored many new builder classes from the registry class. Converted the Content class to two builder classes. Adds option to add additional templates to a module. Resolves #1002 by adding STRING instead of WORD. Ported the FOF encryption class into Powers. https://git.vdm.dev/joomla/fof Changed all CSS and JS to use instead of in compiler code. Adds option to turn jQuery off if UIKIT 3 is added. Adds option to auto write injection boilerplate code in Powers area. Adds option to auto write service provider boilerplate code in the Powers area. Improved the method and all banner locations to fetch from https://git.vdm.dev/joomla/jcb-external/ instead. Major stability improvements all over the new powers complier classes. New [base Registry class](https://git.vdm.dev/joomla/super-powers/src/branch/master/src/7e822c03-1b20-41d1-9427-f5b8d5836af7) has been created specially for JCB. Remember to update all plug-ins with this version update (use the package).

This commit is contained in:
2023-10-18 09:26:30 +02:00
parent a77eac9adf
commit e99899f6f1
632 changed files with 30604 additions and 16888 deletions

View File

@@ -15,6 +15,7 @@ namespace VDM\Joomla\Componentbuilder\Compiler\Service;
use Joomla\DI\Container;
use Joomla\DI\ServiceProviderInterface;
use VDM\Joomla\Componentbuilder\Compiler\Adminview\Data as AdminviewData;
use VDM\Joomla\Componentbuilder\Compiler\Adminview\Permission;
/**
@@ -36,6 +37,9 @@ class Adminview implements ServiceProviderInterface
{
$container->alias(AdminviewData::class, 'Adminview.Data')
->share('Adminview.Data', [$this, 'getAdminviewData'], true);
$container->alias(Permission::class, 'Adminview.Permission')
->share('Adminview.Permission', [$this, 'getAdminviewPermission'], true);
}
/**
@@ -50,7 +54,6 @@ class Adminview implements ServiceProviderInterface
{
return new AdminviewData(
$container->get('Config'),
$container->get('Registry'),
$container->get('Event'),
$container->get('Placeholder'),
$container->get('Customcode.Dispenser'),
@@ -70,9 +73,24 @@ class Adminview implements ServiceProviderInterface
$container->get('Model.Ajaxadmin'),
$container->get('Model.Customalias'),
$container->get('Model.Sql'),
$container->get('Model.Mysqlsettings')
$container->get('Model.Mysqlsettings'),
$container->get('Compiler.Builder.Site.Edit.View')
);
}
/**
* Get the Compiler Adminview Permission
*
* @param Container $container The DI container.
*
* @return Permission
* @since 3.2.0
*/
public function getAdminviewPermission(Container $container): Permission
{
return new Permission(
$container->get('Compiler.Builder.Has.Permissions')
);
}
}

View File

@@ -200,7 +200,7 @@ class Component implements ServiceProviderInterface
$container->get('Registry'),
$container->get('Component.Settings'),
$container->get('Component'),
$container->get('Content'),
$container->get('Compiler.Builder.Content.One'),
$container->get('Utilities.Counter'),
$container->get('Utilities.Paths'),
$container->get('Utilities.Files')

View File

@@ -0,0 +1,435 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 4th September, 2022
* @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
*/
namespace VDM\Joomla\Componentbuilder\Compiler\Service;
use Joomla\DI\Container;
use Joomla\DI\ServiceProviderInterface;
use VDM\Joomla\Componentbuilder\Compiler\Creator\Builders;
use VDM\Joomla\Componentbuilder\Compiler\Creator\CustomFieldTypeFile;
use VDM\Joomla\Componentbuilder\Compiler\Creator\Layout;
use VDM\Joomla\Componentbuilder\Compiler\Creator\Permission;
use VDM\Joomla\Componentbuilder\Compiler\Creator\SiteFieldData;
use VDM\Joomla\Componentbuilder\Compiler\Creator\FieldsetString;
use VDM\Joomla\Componentbuilder\Compiler\Creator\FieldsetXML;
use VDM\Joomla\Componentbuilder\Compiler\Creator\FieldsetDynamic;
use VDM\Joomla\Componentbuilder\Compiler\Creator\FieldXML;
use VDM\Joomla\Componentbuilder\Compiler\Creator\FieldString;
use VDM\Joomla\Componentbuilder\Compiler\Creator\FieldDynamic;
use VDM\Joomla\Componentbuilder\Compiler\Creator\FieldAsString;
use VDM\Joomla\Componentbuilder\Compiler\Interfaces\Creator\Fieldtypeinterface as FieldType;
use VDM\Joomla\Componentbuilder\Compiler\Interfaces\Creator\Fieldsetinterface as Fieldset;
/**
* Creator Service Provider
*
* @since 3.2.0
*/
class Creator implements ServiceProviderInterface
{
/**
* Registers the service provider with a DI container.
*
* @param Container $container The DI container.
*
* @return void
* @since 3.2.0
*/
public function register(Container $container)
{
$container->alias(Builders::class, 'Compiler.Creator.Builders')
->share('Compiler.Creator.Builders', [$this, 'getBuilders'], true);
$container->alias(CustomFieldTypeFile::class, 'Compiler.Creator.Custom.Field.Type.File')
->share('Compiler.Creator.Custom.Field.Type.File', [$this, 'getCustomFieldTypeFile'], true);
$container->alias(Layout::class, 'Compiler.Creator.Layout')
->share('Compiler.Creator.Layout', [$this, 'getLayout'], true);
$container->alias(Permission::class, 'Compiler.Creator.Permission')
->share('Compiler.Creator.Permission', [$this, 'getPermission'], true);
$container->alias(SiteFieldData::class, 'Compiler.Creator.Site.Field.Data')
->share('Compiler.Creator.Site.Field.Data', [$this, 'getSiteFieldData'], true);
$container->alias(FieldsetString::class, 'Compiler.Creator.Fieldset.String')
->share('Compiler.Creator.Fieldset.String', [$this, 'getFieldsetString'], true);
$container->alias(FieldsetXML::class, 'Compiler.Creator.Fieldset.XML')
->share('Compiler.Creator.Fieldset.XML', [$this, 'getFieldsetXML'], true);
$container->alias(FieldsetDynamic::class, 'Compiler.Creator.Fieldset.Dynamic')
->share('Compiler.Creator.Fieldset.Dynamic', [$this, 'getFieldsetDynamic'], true);
$container->alias(FieldXML::class, 'Compiler.Creator.Field.XML')
->share('Compiler.Creator.Field.XML', [$this, 'getFieldXML'], true);
$container->alias(FieldString::class, 'Compiler.Creator.Field.String')
->share('Compiler.Creator.Field.String', [$this, 'getFieldString'], true);
$container->alias(FieldDynamic::class, 'Compiler.Creator.Field.Dynamic')
->share('Compiler.Creator.Field.Dynamic', [$this, 'getFieldDynamic'], true);
$container->alias(FieldAsString::class, 'Compiler.Creator.Field.As.String')
->share('Compiler.Creator.Field.As.String', [$this, 'getFieldAsString'], true);
$container->alias(FieldType::class, 'Compiler.Creator.Field.Type')
->share('Compiler.Creator.Field.Type', [$this, 'getFieldType'], true);
$container->alias(Fieldset::class, 'Compiler.Creator.Fieldset')
->share('Compiler.Creator.Fieldset', [$this, 'getFieldset'], true);
}
/**
* Get The Builders Class.
*
* @param Container $container The DI container.
*
* @return Builders
* @since 3.2.0
*/
public function getBuilders(Container $container): Builders
{
return new Builders(
$container->get('Config'),
$container->get('Language'),
$container->get('Placeholder'),
$container->get('Compiler.Creator.Layout'),
$container->get('Compiler.Creator.Site.Field.Data'),
$container->get('Compiler.Builder.Tags'),
$container->get('Compiler.Builder.Database.Tables'),
$container->get('Compiler.Builder.Database.Unique.Keys'),
$container->get('Compiler.Builder.Database.Keys'),
$container->get('Compiler.Builder.Database.Unique.Guid'),
$container->get('Compiler.Builder.List.Join'),
$container->get('Compiler.Builder.History'),
$container->get('Compiler.Builder.Alias'),
$container->get('Compiler.Builder.Title'),
$container->get('Compiler.Builder.Category.Other.Name'),
$container->get('Compiler.Builder.Lists'),
$container->get('Compiler.Builder.Custom.List'),
$container->get('Compiler.Builder.Field.Relations'),
$container->get('Compiler.Builder.Hidden.Fields'),
$container->get('Compiler.Builder.Integer.Fields'),
$container->get('Compiler.Builder.Dynamic.Fields'),
$container->get('Compiler.Builder.Main.Text.Field'),
$container->get('Compiler.Builder.Custom.Field'),
$container->get('Compiler.Builder.Custom.Field.Links'),
$container->get('Compiler.Builder.Script.User.Switch'),
$container->get('Compiler.Builder.Script.Media.Switch'),
$container->get('Compiler.Builder.Category'),
$container->get('Compiler.Builder.Category.Code'),
$container->get('Compiler.Builder.Check.Box'),
$container->get('Compiler.Builder.Json.String'),
$container->get('Compiler.Builder.Base.Six.Four'),
$container->get('Compiler.Builder.Model.Basic.Field'),
$container->get('Compiler.Builder.Model.Whmcs.Field'),
$container->get('Compiler.Builder.Model.Medium.Field'),
$container->get('Compiler.Builder.Model.Expert.Field.Initiator'),
$container->get('Compiler.Builder.Model.Expert.Field'),
$container->get('Compiler.Builder.Json.Item'),
$container->get('Compiler.Builder.Items.Method.List.String'),
$container->get('Compiler.Builder.Json.Item.Array'),
$container->get('Compiler.Builder.Items.Method.Eximport.String'),
$container->get('Compiler.Builder.Selection.Translation'),
$container->get('Compiler.Builder.Admin.Filter.Type'),
$container->get('Compiler.Builder.Sort'),
$container->get('Compiler.Builder.Search'),
$container->get('Compiler.Builder.Filter'),
$container->get('Compiler.Builder.Component.Fields')
);
}
/**
* Get The CustomFieldTypeFile Class.
*
* @param Container $container The DI container.
*
* @return CustomFieldTypeFile
* @since 3.2.0
*/
public function getCustomFieldTypeFile(Container $container): CustomFieldTypeFile
{
return new CustomFieldTypeFile(
$container->get('Config'),
$container->get('Compiler.Builder.Content.One'),
$container->get('Compiler.Builder.Content.Multi'),
$container->get('Compiler.Builder.Site.Field.Data'),
$container->get('Placeholder'),
$container->get('Language'),
$container->get('Component.Placeholder'),
$container->get('Utilities.Structure'),
$container->get('Field.Input.Button'),
$container->get('Compiler.Builder.Field.Group.Control'),
$container->get('Compiler.Builder.Extension.Custom.Fields')
);
}
/**
* Get The Layout Class.
*
* @param Container $container The DI container.
*
* @return Layout
* @since 3.2.0
*/
public function getLayout(Container $container): Layout
{
return new Layout(
$container->get('Config'),
$container->get('Compiler.Builder.Order.Zero'),
$container->get('Compiler.Builder.Tab.Counter'),
$container->get('Compiler.Builder.Layout'),
$container->get('Compiler.Builder.Moved.Publishing.Fields'),
$container->get('Compiler.Builder.New.Publishing.Fields')
);
}
/**
* Get The Permission Class.
*
* @param Container $container The DI container.
*
* @return Permission
* @since 3.2.0
*/
public function getPermission(Container $container): Permission
{
return new Permission(
$container->get('Config'),
$container->get('Compiler.Builder.Permission.Core'),
$container->get('Compiler.Builder.Permission.Views'),
$container->get('Compiler.Builder.Permission.Action'),
$container->get('Compiler.Builder.Permission.Component'),
$container->get('Compiler.Builder.Permission.Global.Action'),
$container->get('Compiler.Builder.Permission.Dashboard'),
$container->get('Utilities.Counter'),
$container->get('Language')
);
}
/**
* Get The SiteFieldData Class.
*
* @param Container $container The DI container.
*
* @return SiteFieldData
* @since 3.2.0
*/
public function getSiteFieldData(Container $container): SiteFieldData
{
return new SiteFieldData(
$container->get('Config'),
$container->get('Compiler.Builder.Site.Fields'),
$container->get('Compiler.Builder.Site.Field.Data')
);
}
/**
* Get The FieldsetString Class.
*
* @param Container $container The DI container.
*
* @return FieldsetString
* @since 3.2.0
*/
public function getFieldsetString(Container $container): FieldsetString
{
return new FieldsetString(
$container->get('Config'),
$container->get('Placeholder'),
$container->get('Language.Fieldset'),
$container->get('Event'),
$container->get('Adminview.Permission'),
$container->get('Compiler.Creator.Field.Dynamic'),
$container->get('Compiler.Builder.Field.Names'),
$container->get('Compiler.Builder.Access.Switch'),
$container->get('Compiler.Builder.Meta.Data'),
$container->get('Compiler.Creator.Layout'),
$container->get('Utilities.Counter')
);
}
/**
* Get The FieldsetXML Class.
*
* @param Container $container The DI container.
*
* @return FieldsetXML
* @since 3.2.0
*/
public function getFieldsetXML(Container $container): FieldsetXML
{
return new FieldsetXML(
$container->get('Config'),
$container->get('Placeholder'),
$container->get('Language.Fieldset'),
$container->get('Event'),
$container->get('Adminview.Permission'),
$container->get('Compiler.Creator.Field.Dynamic'),
$container->get('Compiler.Builder.Field.Names'),
$container->get('Compiler.Builder.Access.Switch'),
$container->get('Compiler.Builder.Meta.Data'),
$container->get('Compiler.Creator.Layout'),
$container->get('Utilities.Counter'),
$container->get('Utilities.Xml')
);
}
/**
* Get The FieldsetDynamic Class.
*
* @param Container $container The DI container.
*
* @return FieldsetDynamic
* @since 3.2.0
*/
public function getFieldsetDynamic(Container $container): FieldsetDynamic
{
return new FieldsetDynamic(
$container->get('Compiler.Creator.Field.As.String')
);
}
/**
* Get The FieldXML Class.
*
* @param Container $container The DI container.
*
* @return FieldXML
* @since 3.2.0
*/
public function getFieldXML(Container $container): FieldXML
{
return new FieldXML(
$container->get('Config'),
$container->get('Language'),
$container->get('Field'),
$container->get('Field.Groups'),
$container->get('Field.Name'),
$container->get('Field.Type.Name'),
$container->get('Field.Attributes'),
$container->get('Utilities.Xml'),
$container->get('Compiler.Creator.Custom.Field.Type.File'),
$container->get('Utilities.Counter')
);
}
/**
* Get The FieldString Class.
*
* @param Container $container The DI container.
*
* @return FieldString
* @since 3.2.0
*/
public function getFieldString(Container $container): FieldString
{
return new FieldString(
$container->get('Config'),
$container->get('Language'),
$container->get('Field'),
$container->get('Field.Groups'),
$container->get('Field.Name'),
$container->get('Field.Type.Name'),
$container->get('Field.Attributes'),
$container->get('Compiler.Creator.Custom.Field.Type.File'),
$container->get('Utilities.Counter')
);
}
/**
* Get The FieldDynamic Class.
*
* @param Container $container The DI container.
*
* @return FieldDynamic
* @since 3.2.0
*/
public function getFieldDynamic(Container $container): FieldDynamic
{
return new FieldDynamic(
$container->get('Field.Name'),
$container->get('Field.Type.Name'),
$container->get('Field.Attributes'),
$container->get('Field.Groups'),
$container->get('Compiler.Builder.Field.Names'),
$container->get('Compiler.Creator.Field.Type'),
$container->get('Compiler.Creator.Builders'),
$container->get('Compiler.Creator.Layout')
);
}
/**
* Get The FieldAsString Class.
*
* @param Container $container The DI container.
*
* @return FieldAsString
* @since 3.2.0
*/
public function getFieldAsString(Container $container): FieldAsString
{
return new FieldAsString(
$container->get('Compiler.Creator.Field.Dynamic'),
$container->get('Utilities.Xml')
);
}
/**
* Get The Fieldtypeinterface Class.
*
* @param Container $container The DI container.
*
* @return FieldType
* @since 3.2.0
*/
public function getFieldType(Container $container): FieldType
{
// check what type of field builder to use
if ($container->get('Config')->get('field_builder_type', 2) == 1)
{
// build field set using string manipulation
return $container->get('Compiler.Creator.Field.String');
}
else
{
// build field set with simpleXMLElement class
return $container->get('Compiler.Creator.Field.XML');
}
}
/**
* Get The Fieldsetinterface Class.
*
* @param Container $container The DI container.
*
* @return Fieldset
* @since 3.2.0
*/
public function getFieldset(Container $container): Fieldset
{
// check what type of field builder to use
if ($container->get('Config')->get('field_builder_type', 2) == 1)
{
// build field set using string manipulation
return $container->get('Compiler.Creator.Fieldset.String');
}
else
{
// build field set with simpleXMLElement class
return $container->get('Compiler.Creator.Fieldset.XML');
}
}
}

View File

@@ -106,9 +106,9 @@ class Customview implements ServiceProviderInterface
{
return new DynamicgetSelection(
$container->get('Config'),
$container->get('Registry')
$container->get('Compiler.Builder.Get.As.Lookup'),
$container->get('Compiler.Builder.Site.Fields')
);
}
}
}

View File

@@ -1,88 +0,0 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 4th September, 2022
* @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
*/
namespace VDM\Joomla\Componentbuilder\Compiler\Service;
use Joomla\DI\Container;
use Joomla\DI\ServiceProviderInterface;
use VDM\Joomla\Componentbuilder\Database\Load;
use VDM\Joomla\Componentbuilder\Database\Insert;
use VDM\Joomla\Componentbuilder\Database\Update;
/**
* Database Service Provider
*
* @since 3.2.0
*/
class Database implements ServiceProviderInterface
{
/**
* Registers the service provider with a DI container.
*
* @param Container $container The DI container.
*
* @return void
* @since 3.2.0
*/
public function register(Container $container)
{
$container->alias(Load::class, 'Load')
->share('Load', [$this, 'getLoad'], true);
$container->alias(Insert::class, 'Insert')
->share('Insert', [$this, 'getInsert'], true);
$container->alias(Update::class, 'Update')
->share('Update', [$this, 'getUpdate'], true);
}
/**
* Get the Core Load Database
*
* @param Container $container The DI container.
*
* @return Load
* @since 3.2.0
*/
public function getLoad(Container $container): Load
{
return new Load();
}
/**
* Get the Core Insert Database
*
* @param Container $container The DI container.
*
* @return Insert
* @since 3.2.0
*/
public function getInsert(Container $container): Insert
{
return new Insert();
}
/**
* Get the Core Update Database
*
* @param Container $container The DI container.
*
* @return Update
* @since 3.2.0
*/
public function getUpdate(Container $container): Update
{
return new Update();
}
}

View File

@@ -16,12 +16,15 @@ use Joomla\DI\Container;
use Joomla\DI\ServiceProviderInterface;
use VDM\Joomla\Componentbuilder\Compiler\Field as CompilerField;
use VDM\Joomla\Componentbuilder\Compiler\Field\Data;
use VDM\Joomla\Componentbuilder\Compiler\Field\Groups;
use VDM\Joomla\Componentbuilder\Compiler\Field\Attributes;
use VDM\Joomla\Componentbuilder\Compiler\Field\Name;
use VDM\Joomla\Componentbuilder\Compiler\Field\TypeName;
use VDM\Joomla\Componentbuilder\Compiler\Field\UniqueName;
use VDM\Joomla\Componentbuilder\Compiler\Field\Validation;
use VDM\Joomla\Componentbuilder\Compiler\Field\Customcode;
use VDM\Joomla\Componentbuilder\Compiler\Field\DatabaseName;
use VDM\Joomla\Componentbuilder\Compiler\Field\InputButton;
use VDM\Joomla\Componentbuilder\Compiler\Field\JoomlaThree\CoreValidation as J3CoreValidation;
use VDM\Joomla\Componentbuilder\Compiler\Interfaces\Field\CoreValidationInterface;
@@ -57,6 +60,12 @@ class Field implements ServiceProviderInterface
$container->alias(Data::class, 'Field.Data')
->share('Field.Data', [$this, 'getData'], true);
$container->alias(Groups::class, 'Field.Groups')
->share('Field.Groups', [$this, 'getGroups'], true);
$container->alias(Attributes::class, 'Field.Attributes')
->share('Field.Attributes', [$this, 'getAttributes'], true);
$container->alias(Validation::class, 'Field.Validation')
->share('Field.Validation', [$this, 'getValidation'], true);
@@ -80,6 +89,9 @@ class Field implements ServiceProviderInterface
$container->alias(DatabaseName::class, 'Field.Database.Name')
->share('Field.Database.Name', [$this, 'getFieldDatabaseName'], true);
$container->alias(InputButton::class, 'Field.Input.Button')
->share('Field.Input.Button', [$this, 'getInputButton'], true);
}
/**
@@ -121,6 +133,41 @@ class Field implements ServiceProviderInterface
);
}
/**
* Get the Compiler Field Groups
*
* @param Container $container The DI container.
*
* @return Groups
* @since 3.2.0
*/
public function getGroups(Container $container): Groups
{
return new Groups();
}
/**
* Get the Compiler Field Attributes
*
* @param Container $container The DI container.
*
* @return Attributes
* @since 3.2.0
*/
public function getAttributes(Container $container): Attributes
{
return new Attributes(
$container->get('Config'),
$container->get('Registry'),
$container->get('Compiler.Builder.List.Field.Class'),
$container->get('Compiler.Builder.Do.Not.Escape'),
$container->get('Placeholder'),
$container->get('Customcode'),
$container->get('Language'),
$container->get('Field.Groups')
);
}
/**
* Get the Compiler Field Validation
*
@@ -199,7 +246,7 @@ class Field implements ServiceProviderInterface
return new Name(
$container->get('Placeholder'),
$container->get('Field.Unique.Name'),
$container->get('Registry')
$container->get('Compiler.Builder.Category.Other.Name')
);
}
@@ -242,9 +289,26 @@ class Field implements ServiceProviderInterface
public function getFieldDatabaseName(Container $container): DatabaseName
{
return new DatabaseName(
$container->get('Compiler.Builder.Lists'),
$container->get('Registry')
);
}
/**
* Get The InputButton Class.
*
* @param Container $container The DI container.
*
* @return InputButton
* @since 3.2.0
*/
public function getInputButton(Container $container): InputButton
{
return new InputButton(
$container->get('Config'),
$container->get('Placeholder'),
$container->get('Compiler.Creator.Permission')
);
}
}

View File

@@ -43,7 +43,7 @@ class Joomlamodule implements ServiceProviderInterface
}
/**
* Get the Joomla Module Data
* Get The Data Class.
*
* @param Container $container The DI container.
*
@@ -62,12 +62,13 @@ class Joomlamodule implements ServiceProviderInterface
$container->get('Field.Name'),
$container->get('Model.Filesfolders'),
$container->get('Model.Libraries'),
$container->get('Dynamicget.Data')
$container->get('Dynamicget.Data'),
$container->get('Templatelayout.Data')
);
}
/**
* Get the Joomla Module Structure Builder
* Get The Structure Class.
*
* @param Container $container The DI container.
*
@@ -86,9 +87,9 @@ class Joomlamodule implements ServiceProviderInterface
$container->get('Utilities.Counter'),
$container->get('Utilities.Folder'),
$container->get('Utilities.File'),
$container->get('Utilities.Files')
$container->get('Utilities.Files'),
$container->get('Compiler.Builder.Template.Data')
);
}
}
}

View File

@@ -16,6 +16,7 @@ use Joomla\DI\Container;
use Joomla\DI\ServiceProviderInterface;
use VDM\Joomla\Componentbuilder\Compiler\Language as CompilerLanguage;
use VDM\Joomla\Componentbuilder\Compiler\Language\Extractor;
use VDM\Joomla\Componentbuilder\Compiler\Language\Fieldset;
/**
@@ -36,21 +37,24 @@ class Language implements ServiceProviderInterface
public function register(Container $container)
{
$container->alias(CompilerLanguage::class, 'Language')
->share('Language', [$this, 'getLanguage'], true);
->share('Language', [$this, 'getCompilerLanguage'], true);
$container->alias(Extractor::class, 'Language.Extractor')
->share('Language.Extractor', [$this, 'getLanguageExtractor'], true);
->share('Language.Extractor', [$this, 'getExtractor'], true);
$container->alias(Fieldset::class, 'Language.Fieldset')
->share('Language.Fieldset', [$this, 'getFieldset'], true);
}
/**
* Get the Compiler Language
* Get The Language Class.
*
* @param Container $container The DI container.
*
* @return CompilerLanguage
* @since 3.2.0
*/
public function getLanguage(Container $container): CompilerLanguage
public function getCompilerLanguage(Container $container): CompilerLanguage
{
return new CompilerLanguage(
$container->get('Config')
@@ -58,14 +62,14 @@ class Language implements ServiceProviderInterface
}
/**
* Get the Compiler Language Extractor
* Get The Extractor Class.
*
* @param Container $container The DI container.
*
* @return Extractor
* @since 3.2.0
*/
public function getLanguageExtractor(Container $container): Extractor
public function getExtractor(Container $container): Extractor
{
return new Extractor(
$container->get('Config'),
@@ -73,6 +77,23 @@ class Language implements ServiceProviderInterface
$container->get('Placeholder')
);
}
/**
* Get The Fieldset Class.
*
* @param Container $container The DI container.
*
* @return Fieldset
* @since 3.2.0
*/
public function getFieldset(Container $container): Fieldset
{
return new Fieldset(
$container->get('Language'),
$container->get('Compiler.Builder.Meta.Data'),
$container->get('Compiler.Builder.Access.Switch'),
$container->get('Compiler.Builder.Access.Switch.List')
);
}
}

View File

@@ -77,7 +77,7 @@ class Library implements ServiceProviderInterface
$container->get('Registry'),
$container->get('Event'),
$container->get('Component'),
$container->get('Content'),
$container->get('Compiler.Builder.Content.One'),
$container->get('Utilities.Counter'),
$container->get('Utilities.Paths'),
$container->get('Utilities.Folder'),

View File

@@ -1,55 +0,0 @@
<?php
/**
* @package Joomla.Component.Builder
*
* @created 4th September, 2022
* @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
*/
namespace VDM\Joomla\Componentbuilder\Compiler\Service;
use Joomla\DI\Container;
use Joomla\DI\ServiceProviderInterface;
use VDM\Joomla\Componentbuilder\Compiler\Content;
/**
* Mapper Service Provider
*
* @since 3.2.0
*/
class Mapper implements ServiceProviderInterface
{
/**
* Registers the service provider with a DI container.
*
* @param Container $container The DI container.
*
* @return void
* @since 3.2.0
*/
public function register(Container $container)
{
$container->alias(Content::class, 'Content')
->share('Content', [$this, 'getContent'], true);
}
/**
* Get the Compiler Content
*
* @param Container $container The DI container.
*
* @return Content
* @since 3.2.0
*/
public function getContent(Container $container): Content
{
return new Content();
}
}

View File

@@ -330,7 +330,8 @@ class Model implements ServiceProviderInterface
{
return new Dynamicget(
$container->get('Config'),
$container->get('Registry'),
$container->get('Compiler.Builder.Site.Dynamic.Get'),
$container->get('Compiler.Builder.Site.Main.Get'),
$container->get('Customcode'),
$container->get('Customcode.Gui'),
$container->get('Placeholder'),
@@ -350,7 +351,7 @@ class Model implements ServiceProviderInterface
{
return new Libraries(
$container->get('Config'),
$container->get('Registry'),
$container->get('Compiler.Builder.Library.Manager'),
$container->get('Library.Data')
);
}
@@ -413,9 +414,10 @@ class Model implements ServiceProviderInterface
{
return new Mysqlsettings(
$container->get('Config'),
$container->get('Registry')
$container->get('Compiler.Builder.Mysql.Table.Setting')
);
}
/**
* Get the Sql Model
*
@@ -443,7 +445,7 @@ class Model implements ServiceProviderInterface
public function getModelCustomalias(Container $container): Customalias
{
return new Customalias(
$container->get('Registry'),
$container->get('Compiler.Builder.Custom.Alias'),
$container->get('Field.Name')
);
}
@@ -460,7 +462,7 @@ class Model implements ServiceProviderInterface
{
return new Ajaxadmin(
$container->get('Config'),
$container->get('Registry'),
$container->get('Compiler.Builder.Site.Edit.View'),
$container->get('Customcode.Dispenser')
);
}
@@ -498,7 +500,7 @@ class Model implements ServiceProviderInterface
}
/**
* Get the Model Auto Loader
* Get The Model Loader Class.
*
* @param Container $container The DI container.
*
@@ -509,7 +511,10 @@ class Model implements ServiceProviderInterface
{
return new Loader(
$container->get('Config'),
$container->get('Registry')
$container->get('Compiler.Builder.Footable.Scripts'),
$container->get('Compiler.Builder.Google.Chart'),
$container->get('Compiler.Builder.Get.Module'),
$container->get('Compiler.Builder.Uikit.Comp')
);
}
@@ -586,9 +591,11 @@ class Model implements ServiceProviderInterface
{
return new Relations(
$container->get('Config'),
$container->get('Registry'),
$container->get('Language'),
$container->get('Customcode')
$container->get('Customcode'),
$container->get('Compiler.Builder.List.Join'),
$container->get('Compiler.Builder.List.Head.Override'),
$container->get('Compiler.Builder.Field.Relations')
);
}
@@ -604,7 +611,8 @@ class Model implements ServiceProviderInterface
{
return new Conditions(
$container->get('Field.Type.Name'),
$container->get('Field.Name')
$container->get('Field.Name'),
$container->get('Field.Groups')
);
}
@@ -625,6 +633,7 @@ class Model implements ServiceProviderInterface
$container->get('Customcode'),
$container->get('Field'),
$container->get('Field.Name'),
$container->get('Field.Groups'),
$container->get('Model.Updatesql')
);
}
@@ -669,7 +678,7 @@ class Model implements ServiceProviderInterface
{
return new Customtabs(
$container->get('Config'),
$container->get('Registry'),
$container->get('Compiler.Builder.Custom.Tabs'),
$container->get('Language'),
$container->get('Placeholder'),
$container->get('Customcode')
@@ -687,9 +696,10 @@ class Model implements ServiceProviderInterface
public function getModelAdminviews(Container $container): Adminviews
{
return new Adminviews(
$container->get('Config'),
$container->get('Adminview.Data'),
$container->get('Registry'),
$container->get('Config')
$container->get('Compiler.Builder.Site.Edit.View'),
$container->get('Compiler.Builder.Admin.Filter.Type')
);
}
@@ -802,7 +812,6 @@ class Model implements ServiceProviderInterface
$container->get('Crypt'),
$container->get('Table')
);
}
}
}

View File

@@ -26,7 +26,7 @@ use VDM\Joomla\Componentbuilder\Compiler\Power\Repo\Readme as RepoReadme;
use VDM\Joomla\Componentbuilder\Compiler\Power\Repos\Readme as ReposReadme;
use VDM\Joomla\Componentbuilder\Compiler\Power\Extractor;
use VDM\Joomla\Componentbuilder\Compiler\Power\Injector;
use VDM\Joomla\Componentbuilder\Power\Model;
use VDM\Joomla\Componentbuilder\Power\Model\Upsert;
use VDM\Joomla\Componentbuilder\Power\Database\Insert;
use VDM\Joomla\Componentbuilder\Power\Database\Update;
@@ -84,8 +84,8 @@ class Power implements ServiceProviderInterface
$container->alias(Injector::class, 'Power.Injector')
->share('Power.Injector', [$this, 'getInjector'], true);
$container->alias(Model::class, 'Power.Model')
->share('Power.Model', [$this, 'getModel'], true);
$container->alias(Upsert::class, 'Power.Model.Upsert')
->share('Power.Model.Upsert', [$this, 'getModelUpsert'], true);
$container->alias(Insert::class, 'Power.Insert')
->share('Power.Insert', [$this, 'getInsert'], true);
@@ -159,7 +159,7 @@ class Power implements ServiceProviderInterface
return new Autoloader(
$container->get('Power'),
$container->get('Config'),
$container->get('Content')
$container->get('Compiler.Builder.Content.One')
);
}
@@ -176,7 +176,8 @@ class Power implements ServiceProviderInterface
return new Infusion(
$container->get('Config'),
$container->get('Power'),
$container->get('Content'),
$container->get('Compiler.Builder.Content.One'),
$container->get('Compiler.Builder.Content.Multi'),
$container->get('Power.Autoloader'),
$container->get('Power.Parser'),
$container->get('Power.Repo.Readme'),
@@ -299,16 +300,16 @@ class Power implements ServiceProviderInterface
}
/**
* Get the Power Model
* Get the Power Model Upsert
*
* @param Container $container The DI container.
*
* @return Model
* @return Upsert
* @since 3.2.0
*/
public function getModel(Container $container): Model
public function getModelUpsert(Container $container): Upsert
{
return new Model(
return new Upsert(
$container->get('Table')
);
}
@@ -324,7 +325,7 @@ class Power implements ServiceProviderInterface
public function getInsert(Container $container): Insert
{
return new Insert(
$container->get('Power.Model'),
$container->get('Power.Model.Upsert'),
$container->get('Insert')
);
}
@@ -340,7 +341,7 @@ class Power implements ServiceProviderInterface
public function getUpdate(Container $container): Update
{
return new Update(
$container->get('Power.Model'),
$container->get('Power.Model.Upsert'),
$container->get('Update')
);
}

View File

@@ -14,7 +14,7 @@ namespace VDM\Joomla\Componentbuilder\Compiler\Service;
use Joomla\DI\Container;
use Joomla\DI\ServiceProviderInterface;
use VDM\Joomla\Componentbuilder\Compiler\Templatelayout\Data as TemplatelayoutData ;
use VDM\Joomla\Componentbuilder\Compiler\Templatelayout\Data as TemplatelayoutData;
use VDM\Joomla\Componentbuilder\Compiler\Alias\Data as AliasData;
@@ -43,7 +43,7 @@ class Templatelayout implements ServiceProviderInterface
}
/**
* Get the Compiler Templatelayout Data
* Get The Data Class.
*
* @param Container $container The DI container.
*
@@ -54,13 +54,14 @@ class Templatelayout implements ServiceProviderInterface
{
return new TemplatelayoutData(
$container->get('Config'),
$container->get('Registry'),
$container->get('Compiler.Builder.Layout.Data'),
$container->get('Compiler.Builder.Template.Data'),
$container->get('Alias.Data')
);
}
/**
* Get the Compiler Alias Data
* Get The Data Class.
*
* @param Container $container The DI container.
*
@@ -77,7 +78,6 @@ class Templatelayout implements ServiceProviderInterface
$container->get('Model.Loader'),
$container->get('Model.Libraries')
);
}
}
}

View File

@@ -24,6 +24,7 @@ use VDM\Joomla\Componentbuilder\Utilities\Constantpaths;
use VDM\Joomla\Componentbuilder\Compiler\Utilities\Dynamicpath;
use VDM\Joomla\Componentbuilder\Compiler\Utilities\Pathfix;
use VDM\Joomla\Componentbuilder\Compiler\Utilities\Structure;
use VDM\Joomla\Componentbuilder\Compiler\Utilities\Xml;
/**
@@ -69,6 +70,9 @@ class Utilities implements ServiceProviderInterface
$container->alias(Structure::class, 'Utilities.Structure')
->share('Utilities.Structure', [$this, 'getStructure'], true);
$container->alias(Xml::class, 'Utilities.Xml')
->share('Utilities.Xml', [$this, 'getXml'], true);
}
/**
@@ -113,7 +117,7 @@ class Utilities implements ServiceProviderInterface
public function getCounter(Container $container): Counter
{
return new Counter(
$container->get('Content')
$container->get('Compiler.Builder.Content.One')
);
}
@@ -206,6 +210,20 @@ class Utilities implements ServiceProviderInterface
$container->get('Utilities.Files')
);
}
/**
* Get the Compiler Xml Helper
*
* @param Container $container The DI container.
*
* @return Xml
* @since 3.2.0
*/
public function getXml(Container $container): Xml
{
return new Xml(
$container->get('Config')
);
}
}