Compare commits

..

2 Commits
master ... dev

Author SHA1 Message Date
7d75b2e8de
update 2024-05-26 17:39:15 2024-05-26 17:39:49 +02:00
e5b7d5ca87
update 2024-05-25 20:54:21 2024-05-25 20:54:25 +02:00
108 changed files with 873 additions and 203 deletions

View File

@ -23,27 +23,29 @@ This repository contains an index (see below) of all the approved powers within
# Index of powers
- **Namespace**: [VDM\Joomla\Abstraction](#vdm-joomla-abstraction)
- **Namespace**: [VastDevelopmentMethod\Joomla\Abstraction](#vastdevelopmentmethod-joomla-abstraction)
- **abstract class ActiveRegistry** | [Details](src/43134867-5cb8-4280-9be8-309fd2fd135f) | [Code](src/43134867-5cb8-4280-9be8-309fd2fd135f/code.php) | [Settings](src/43134867-5cb8-4280-9be8-309fd2fd135f/settings.json) | Super__43134867_5cb8_4280_9be8_309fd2fd135f__Power
- **abstract class BaseConfig** | [Details](src/ffbd4e1f-a342-4080-ab7d-1de3741bf319) | [Code](src/ffbd4e1f-a342-4080-ab7d-1de3741bf319/code.php) | [Settings](src/ffbd4e1f-a342-4080-ab7d-1de3741bf319/settings.json) | Super__ffbd4e1f_a342_4080_ab7d_1de3741bf319__Power
- **abstract class BaseTable** | [Details](src/e0f6ddbe-2a35-4537-942c-faff2ebd04f6) | [Code](src/e0f6ddbe-2a35-4537-942c-faff2ebd04f6/code.php) | [Settings](src/e0f6ddbe-2a35-4537-942c-faff2ebd04f6/settings.json) | Super__e0f6ddbe_2a35_4537_942c_faff2ebd04f6__Power
- **abstract class Database** | [Details](src/6cbef8f8-4813-48e3-b05a-65e1aea95171) | [Code](src/6cbef8f8-4813-48e3-b05a-65e1aea95171/code.php) | [Settings](src/6cbef8f8-4813-48e3-b05a-65e1aea95171/settings.json) | Super__6cbef8f8_4813_48e3_b05a_65e1aea95171__Power
- **abstract class Grep** | [Details](src/1401a167-0ce4-4f4a-afee-2d8b02ed339b) | [Code](src/1401a167-0ce4-4f4a-afee-2d8b02ed339b/code.php) | [Settings](src/1401a167-0ce4-4f4a-afee-2d8b02ed339b/settings.json) | Super__1401a167_0ce4_4f4a_afee_2d8b02ed339b__Power
- **abstract class Model** | [Details](src/584747d1-3a86-453d-b7a3-a2219de8d777) | [Code](src/584747d1-3a86-453d-b7a3-a2219de8d777/code.php) | [Settings](src/584747d1-3a86-453d-b7a3-a2219de8d777/settings.json) | Super__584747d1_3a86_453d_b7a3_a2219de8d777__Power
- **abstract class Registry** | [Details](src/7e822c03-1b20-41d1-9427-f5b8d5836af7) | [Code](src/7e822c03-1b20-41d1-9427-f5b8d5836af7/code.php) | [Settings](src/7e822c03-1b20-41d1-9427-f5b8d5836af7/settings.json) | Super__7e822c03_1b20_41d1_9427_f5b8d5836af7__Power
- **abstract class Schema** | [Details](src/f3c04c28-bce4-422e-be93-7d163e4e342b) | [Code](src/f3c04c28-bce4-422e-be93-7d163e4e342b/code.php) | [Settings](src/f3c04c28-bce4-422e-be93-7d163e4e342b/settings.json) | Super__f3c04c28_bce4_422e_be93_7d163e4e342b__Power
- **Namespace**: [VDM\Joomla\Componentbuilder](#vdm-joomla-componentbuilder)
- **Namespace**: [VastDevelopmentMethod\Joomla\Componentbuilder](#vastdevelopmentmethod-joomla-componentbuilder)
- **class Table** | [Details](src/bfd1d6d5-56c1-4fe9-9fee-1c5910e1f5d8) | [Code](src/bfd1d6d5-56c1-4fe9-9fee-1c5910e1f5d8/code.php) | [Settings](src/bfd1d6d5-56c1-4fe9-9fee-1c5910e1f5d8/settings.json) | Super__bfd1d6d5_56c1_4fe9_9fee_1c5910e1f5d8__Power
- **Namespace**: [VDM\Joomla\Database](#vdm-joomla-database)
- **Namespace**: [VastDevelopmentMethod\Joomla\Database](#vastdevelopmentmethod-joomla-database)
- **final class Insert** | [Details](src/524eb8f6-38d4-47dc-92ad-98b94e099ac0) | [Code](src/524eb8f6-38d4-47dc-92ad-98b94e099ac0/code.php) | [Settings](src/524eb8f6-38d4-47dc-92ad-98b94e099ac0/settings.json) | Super__524eb8f6_38d4_47dc_92ad_98b94e099ac0__Power
- **final class Load** | [Details](src/06f8eada-d59b-441c-b287-0aea1793da5a) | [Code](src/06f8eada-d59b-441c-b287-0aea1793da5a/code.php) | [Settings](src/06f8eada-d59b-441c-b287-0aea1793da5a/settings.json) | Super__06f8eada_d59b_441c_b287_0aea1793da5a__Power
- **final class Update** | [Details](src/cce56585-58b0-4f72-a92c-e2635ea52d83) | [Code](src/cce56585-58b0-4f72-a92c-e2635ea52d83/code.php) | [Settings](src/cce56585-58b0-4f72-a92c-e2635ea52d83/settings.json) | Super__cce56585_58b0_4f72_a92c_e2635ea52d83__Power
- **Namespace**: [VDM\Joomla\Interfaces](#vdm-joomla-interfaces)
- **Namespace**: [VastDevelopmentMethod\Joomla\Interfaces](#vastdevelopmentmethod-joomla-interfaces)
- **interface Activeregistryinterface** | [Details](src/af0eedbe-603b-4671-8e5a-28165d88254b) | [Code](src/af0eedbe-603b-4671-8e5a-28165d88254b/code.php) | [Settings](src/af0eedbe-603b-4671-8e5a-28165d88254b/settings.json) | Super__af0eedbe_603b_4671_8e5a_28165d88254b__Power
- **interface FactoryInterface** | [Details](src/caf33c5d-858c-4f9a-894f-ab302ec5445a) | [Code](src/caf33c5d-858c-4f9a-894f-ab302ec5445a/code.php) | [Settings](src/caf33c5d-858c-4f9a-894f-ab302ec5445a/settings.json) | Super__caf33c5d_858c_4f9a_894f_ab302ec5445a__Power
- **interface GrepInterface** | [Details](src/c182506a-ab84-439c-b962-1e606b58d545) | [Code](src/c182506a-ab84-439c-b962-1e606b58d545/code.php) | [Settings](src/c182506a-ab84-439c-b962-1e606b58d545/settings.json) | Super__c182506a_ab84_439c_b962_1e606b58d545__Power
- **interface InsertInterface** | [Details](src/ad12ca1c-d3ce-4e7f-88c5-c6c92bdedc48) | [Code](src/ad12ca1c-d3ce-4e7f-88c5-c6c92bdedc48/code.php) | [Settings](src/ad12ca1c-d3ce-4e7f-88c5-c6c92bdedc48/settings.json) | Super__ad12ca1c_d3ce_4e7f_88c5_c6c92bdedc48__Power
- **interface LoadInterface** | [Details](src/2ad31f74-f579-499d-b98b-c4f54fd615dd) | [Code](src/2ad31f74-f579-499d-b98b-c4f54fd615dd/code.php) | [Settings](src/2ad31f74-f579-499d-b98b-c4f54fd615dd/settings.json) | Super__2ad31f74_f579_499d_b98b_c4f54fd615dd__Power
- **interface ModelInterface** | [Details](src/8aef58c1-3f70-4bd4-b9e4-3f29fcd41cff) | [Code](src/8aef58c1-3f70-4bd4-b9e4-3f29fcd41cff/code.php) | [Settings](src/8aef58c1-3f70-4bd4-b9e4-3f29fcd41cff/settings.json) | Super__8aef58c1_3f70_4bd4_b9e4_3f29fcd41cff__Power
@ -51,7 +53,7 @@ This repository contains an index (see below) of all the approved powers within
- **interface SchemaInterface** | [Details](src/4dd11b9b-3c64-460b-aaa6-62ba467db7aa) | [Code](src/4dd11b9b-3c64-460b-aaa6-62ba467db7aa/code.php) | [Settings](src/4dd11b9b-3c64-460b-aaa6-62ba467db7aa/settings.json) | Super__4dd11b9b_3c64_460b_aaa6_62ba467db7aa__Power
- **interface Tableinterface** | [Details](src/2da6d6c4-eb29-4d69-8bc2-36d96e916adf) | [Code](src/2da6d6c4-eb29-4d69-8bc2-36d96e916adf/code.php) | [Settings](src/2da6d6c4-eb29-4d69-8bc2-36d96e916adf/settings.json) | Super__2da6d6c4_eb29_4d69_8bc2_36d96e916adf__Power
- **interface UpdateInterface** | [Details](src/7179fde6-1e51-4b51-8545-7ca18f74a0f4) | [Code](src/7179fde6-1e51-4b51-8545-7ca18f74a0f4/code.php) | [Settings](src/7179fde6-1e51-4b51-8545-7ca18f74a0f4/settings.json) | Super__7179fde6_1e51_4b51_8545_7ca18f74a0f4__Power
- **Namespace**: [VDM\Joomla\Utilities](#vdm-joomla-utilities)
- **Namespace**: [VastDevelopmentMethod\Joomla\Utilities](#vastdevelopmentmethod-joomla-utilities)
- **abstract class ArrayHelper** | [Details](src/0a59c65c-9daf-4bc9-baf4-e063ff9e6a8a) | [Code](src/0a59c65c-9daf-4bc9-baf4-e063ff9e6a8a/code.php) | [Settings](src/0a59c65c-9daf-4bc9-baf4-e063ff9e6a8a/settings.json) | Super__0a59c65c_9daf_4bc9_baf4_e063ff9e6a8a__Power
- **abstract class Base64Helper** | [Details](src/64a6ff6c-069c-4a11-a76b-db5e36c27690) | [Code](src/64a6ff6c-069c-4a11-a76b-db5e36c27690/code.php) | [Settings](src/64a6ff6c-069c-4a11-a76b-db5e36c27690/settings.json) | Super__64a6ff6c_069c_4a11_a76b_db5e36c27690__Power
@ -64,22 +66,22 @@ This repository contains an index (see below) of all the approved powers within
- **abstract class MathHelper** | [Details](src/152c8793-8b75-4715-996a-257b9f65451c) | [Code](src/152c8793-8b75-4715-996a-257b9f65451c/code.php) | [Settings](src/152c8793-8b75-4715-996a-257b9f65451c/settings.json) | Super__152c8793_8b75_4715_996a_257b9f65451c__Power
- **abstract class ObjectHelper** | [Details](src/91004529-94a9-4590-b842-e7c6b624ecf5) | [Code](src/91004529-94a9-4590-b842-e7c6b624ecf5/code.php) | [Settings](src/91004529-94a9-4590-b842-e7c6b624ecf5/settings.json) | Super__91004529_94a9_4590_b842_e7c6b624ecf5__Power
- **abstract class StringHelper** | [Details](src/1f28cb53-60d9-4db1-b517-3c7dc6b429ef) | [Code](src/1f28cb53-60d9-4db1-b517-3c7dc6b429ef/code.php) | [Settings](src/1f28cb53-60d9-4db1-b517-3c7dc6b429ef/settings.json) | Super__1f28cb53_60d9_4db1_b517_3c7dc6b429ef__Power
- **Namespace**: [VDM\Joomla\Componentbuilder\Abstraction](#vdm-joomla-componentbuilder-abstraction)
- **Namespace**: [VastDevelopmentMethod\Joomla\Componentbuilder\Abstraction](#vastdevelopmentmethod-joomla-componentbuilder-abstraction)
- **abstract class BaseRegistry** | [Details](src/b84e947d-2a13-44f7-ac0f-3902ae55ae0c) | [Code](src/b84e947d-2a13-44f7-ac0f-3902ae55ae0c/code.php) | [Settings](src/b84e947d-2a13-44f7-ac0f-3902ae55ae0c/settings.json) | Super__b84e947d_2a13_44f7_ac0f_3902ae55ae0c__Power
- **Namespace**: [VDM\Joomla\Componentbuilder\Service](#vdm-joomla-componentbuilder-service)
- **Namespace**: [VastDevelopmentMethod\Joomla\Componentbuilder\Service](#vastdevelopmentmethod-joomla-componentbuilder-service)
- **class Database** | [Details](src/4815e1c7-a433-443d-a112-d1e03d7df84b) | [Code](src/4815e1c7-a433-443d-a112-d1e03d7df84b/code.php) | [Settings](src/4815e1c7-a433-443d-a112-d1e03d7df84b/settings.json) | Super__4815e1c7_a433_443d_a112_d1e03d7df84b__Power
- **Namespace**: [VDM\Joomla\Componentbuilder\Table](#vdm-joomla-componentbuilder-table)
- **Namespace**: [VastDevelopmentMethod\Joomla\Componentbuilder\Table](#vastdevelopmentmethod-joomla-componentbuilder-table)
- **final class Schema** | [Details](src/b3d2ec33-76d4-4c3b-bb2c-86ac14a221ce) | [Code](src/b3d2ec33-76d4-4c3b-bb2c-86ac14a221ce/code.php) | [Settings](src/b3d2ec33-76d4-4c3b-bb2c-86ac14a221ce/settings.json) | Super__b3d2ec33_76d4_4c3b_bb2c_86ac14a221ce__Power
- **Namespace**: [VDM\Joomla\Componentbuilder\Utilities](#vdm-joomla-componentbuilder-utilities)
- **Namespace**: [VastDevelopmentMethod\Joomla\Componentbuilder\Utilities](#vastdevelopmentmethod-joomla-componentbuilder-utilities)
- **abstract class FilterHelper** | [Details](src/cddcac51-9a46-47c4-ba59-105c70453bd6) | [Code](src/cddcac51-9a46-47c4-ba59-105c70453bd6/code.php) | [Settings](src/cddcac51-9a46-47c4-ba59-105c70453bd6/settings.json) | Super__cddcac51_9a46_47c4_ba59_105c70453bd6__Power
- **Namespace**: [VDM\Joomla\Utilities\Component](#vdm-joomla-utilities-component)
- **Namespace**: [VastDevelopmentMethod\Joomla\Utilities\Component](#vastdevelopmentmethod-joomla-utilities-component)
- **abstract class Helper** | [Details](src/640b5352-fb09-425f-a26e-cd44eda03f15) | [Code](src/640b5352-fb09-425f-a26e-cd44eda03f15/code.php) | [Settings](src/640b5352-fb09-425f-a26e-cd44eda03f15/settings.json) | Super__640b5352_fb09_425f_a26e_cd44eda03f15__Power
- **Namespace**: [VDM\Joomla\Utilities\String](#vdm-joomla-utilities-string)
- **Namespace**: [VastDevelopmentMethod\Joomla\Utilities\String](#vastdevelopmentmethod-joomla-utilities-string)
- **abstract class ClassfunctionHelper** | [Details](src/30c5b4c2-f75f-4d15-869a-f8bfedd87358) | [Code](src/30c5b4c2-f75f-4d15-869a-f8bfedd87358/code.php) | [Settings](src/30c5b4c2-f75f-4d15-869a-f8bfedd87358/settings.json) | Super__30c5b4c2_f75f_4d15_869a_f8bfedd87358__Power
- **abstract class ComponentCodeNameHelper** | [Details](src/491dbe41-f26c-4de9-8a95-fcf87b35b56f) | [Code](src/491dbe41-f26c-4de9-8a95-fcf87b35b56f/code.php) | [Settings](src/491dbe41-f26c-4de9-8a95-fcf87b35b56f/settings.json) | Super__491dbe41_f26c_4de9_8a95_fcf87b35b56f__Power
@ -87,7 +89,7 @@ This repository contains an index (see below) of all the approved powers within
- **abstract class NamespaceHelper** | [Details](src/ce8cf834-6bac-44fb-941c-861f7e046cc0) | [Code](src/ce8cf834-6bac-44fb-941c-861f7e046cc0/code.php) | [Settings](src/ce8cf834-6bac-44fb-941c-861f7e046cc0/settings.json) | Super__ce8cf834_6bac_44fb_941c_861f7e046cc0__Power
- **abstract class PluginHelper** | [Details](src/3cf76fbf-fd95-4a33-878e-7aff6d36b7f6) | [Code](src/3cf76fbf-fd95-4a33-878e-7aff6d36b7f6/code.php) | [Settings](src/3cf76fbf-fd95-4a33-878e-7aff6d36b7f6/settings.json) | Super__3cf76fbf_fd95_4a33_878e_7aff6d36b7f6__Power
- **abstract class TypeHelper** | [Details](src/a8935cbe-7701-40dc-bfd5-675f2d600954) | [Code](src/a8935cbe-7701-40dc-bfd5-675f2d600954/code.php) | [Settings](src/a8935cbe-7701-40dc-bfd5-675f2d600954/settings.json) | Super__a8935cbe_7701_40dc_bfd5_675f2d600954__Power
- **Namespace**: [VDM\Joomla\Abstraction\Registry\Traits](#vdm-joomla-abstraction-registry-traits)
- **Namespace**: [VastDevelopmentMethod\Joomla\Abstraction\Registry\Traits](#vastdevelopmentmethod-joomla-abstraction-registry-traits)
- **trait Count** | [Details](src/11572d9b-e3d5-4b29-904c-9618d8f2bfd8) | [Code](src/11572d9b-e3d5-4b29-904c-9618d8f2bfd8/code.php) | [Settings](src/11572d9b-e3d5-4b29-904c-9618d8f2bfd8/settings.json) | Super__11572d9b_e3d5_4b29_904c_9618d8f2bfd8__Power
- **trait GetString** | [Details](src/59b1a2ea-d77e-4040-ac8c-e65cd8743e9b) | [Code](src/59b1a2ea-d77e-4040-ac8c-e65cd8743e9b/code.php) | [Settings](src/59b1a2ea-d77e-4040-ac8c-e65cd8743e9b/settings.json) | Super__59b1a2ea_d77e_4040_ac8c_e65cd8743e9b__Power

View File

@ -7,7 +7,7 @@
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
```
# final class Load (Details)
> namespace: **VDM\Joomla\Database**
> namespace: **VastDevelopmentMethod\Joomla\Database**
> extends: **Database**
```uml
@startuml

View File

@ -9,12 +9,12 @@
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace VDM\Joomla\Database;
namespace VastDevelopmentMethod\Joomla\Database;
use VDM\Joomla\Utilities\ArrayHelper;
use VDM\Joomla\Interfaces\LoadInterface;
use VDM\Joomla\Abstraction\Database;
use VastDevelopmentMethod\Joomla\Utilities\ArrayHelper;
use VastDevelopmentMethod\Joomla\Interfaces\LoadInterface;
use VastDevelopmentMethod\Joomla\Abstraction\Database;
/**

View File

@ -7,7 +7,7 @@
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
```
# abstract class ArrayHelper (Details)
> namespace: **VDM\Joomla\Utilities**
> namespace: **VastDevelopmentMethod\Joomla\Utilities**
```uml
@startuml
abstract ArrayHelper #Orange {

View File

@ -9,7 +9,7 @@
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace VDM\Joomla\Utilities;
namespace VastDevelopmentMethod\Joomla\Utilities;
/**

View File

@ -7,7 +7,7 @@
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
```
# trait Count (Details)
> namespace: **VDM\Joomla\Abstraction\Registry\Traits**
> namespace: **VastDevelopmentMethod\Joomla\Abstraction\Registry\Traits**
```uml
@startuml
class Count << (T,Orange) >> #Turquoise {

View File

@ -9,7 +9,7 @@
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace VDM\Joomla\Abstraction\Registry\Traits;
namespace VastDevelopmentMethod\Joomla\Abstraction\Registry\Traits;
/**

View File

@ -7,7 +7,7 @@
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
```
# abstract class FormHelper (Details)
> namespace: **VDM\Joomla\Utilities**
> namespace: **VastDevelopmentMethod\Joomla\Utilities**
```uml
@startuml
abstract FormHelper #Orange {

View File

@ -9,7 +9,7 @@
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace VDM\Joomla\Utilities;
namespace VastDevelopmentMethod\Joomla\Utilities;
use Joomla\CMS\Form\FormHelper as JoomlaFormHelper;

View File

@ -0,0 +1,87 @@
```
██████╗ ██████╗ ██╗ ██╗███████╗██████╗
██╔══██╗██╔═══██╗██║ ██║██╔════╝██╔══██╗
██████╔╝██║ ██║██║ █╗ ██║█████╗ ██████╔╝
██╔═══╝ ██║ ██║██║███╗██║██╔══╝ ██╔══██╗
██║ ╚██████╔╝╚███╔███╔╝███████╗██║ ██║
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
```
# abstract class Grep (Details)
> namespace: **VastDevelopmentMethod\Joomla\Abstraction**
```uml
@startuml
abstract Grep #Orange {
+ ?string $path
+ ?array $paths
# array $order
# Contents $contents
# CMSApplication $app
+ __construct(string $path, array $paths, ...)
+ getRemotePowersGuid() : ?array
+ get(string $guid, ?array $order = null) : ?object
# {abstract} remoteIndex(object $path) : void
# getFunctionName(string $name) : ?string
- init() : void
}
note right of Grep::__construct
Constructor.
since: 3.2.0
arguments:
string $path
array $paths
Contents $contents
?CMSApplication $app = null
end note
note right of Grep::getRemotePowersGuid
Get all remote powers GUID's
since: 3.2.0
return: ?array
end note
note right of Grep::get
Get a power
since: 3.2.0
return: ?object
end note
note right of Grep::remoteIndex
Load the remote repository index of powers
since: 3.2.0
return: void
end note
note right of Grep::getFunctionName
Get function name
since: 3.2.0
return: ?string
end note
note right of Grep::init
Set path details
since: 3.2.0
return: void
end note
@enduml
```
---
```
██╗ ██████╗██████╗
██║██╔════╝██╔══██╗
██║██║ ██████╔╝
██ ██║██║ ██╔══██╗
╚█████╔╝╚██████╗██████╔╝
╚════╝ ╚═════╝╚═════╝
```
> Build with [Joomla Component Builder](https://git.vdm.dev/joomla/Component-Builder)

View File

@ -0,0 +1,221 @@
<?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 VastDevelopmentMethod\Joomla\Abstraction;
use Joomla\CMS\Factory;
use Joomla\CMS\Filesystem\Folder;
use Joomla\CMS\Application\CMSApplication;
use Joomla\CMS\Language\Text;
use VastDevelopmentMethod\Joomla\Gitea\Repository\Contents;
use VastDevelopmentMethod\Joomla\Utilities\FileHelper;
use VastDevelopmentMethod\Joomla\Utilities\JsonHelper;
use VastDevelopmentMethod\Joomla\Interfaces\GrepInterface;
/**
* Global Resource Empowerment Platform
*
* The Grep feature will try to find your power in the repositories listed in the global
* Options of JCB in the super powers tab, and if it can't be found there will try the global core
* Super powers of JCB. All searches are performed according the the [algorithm:cascading]
* See documentation for more details: https://git.vdm.dev/joomla/super-powers/wiki
*
* @since 3.2.1
*/
abstract class Grep implements GrepInterface
{
/**
* The local path
*
* @var string
* @since 3.2.0
**/
public ?string $path;
/**
* All approved paths
*
* @var array
* @since 3.2.0
**/
public ?array $paths;
/**
* Order of global search
*
* @var array
* @since 3.2.1
**/
protected array $order = ['local', 'remote'];
/**
* Gitea Repository Contents
*
* @var Contents
* @since 3.2.0
**/
protected Contents $contents;
/**
* Joomla Application object
*
* @var CMSApplication
* @since 3.2.0
**/
protected CMSApplication $app;
/**
* Constructor.
*
* @param string $path The local path
* @param array $paths The approved paths
* @param Contents $contents The Gitea Repository Contents object.
* @param CMSApplication|null $app The CMS Application object.
*
* @throws \Exception
* @since 3.2.0
*/
public function __construct(string $path, array $paths, Contents $contents, ?CMSApplication $app = null)
{
$this->path = $path;
$this->paths = $paths;
$this->contents = $contents;
$this->app = $app ?: Factory::getApplication();
$this->init();
}
/**
* Get all remote powers GUID's
*
* @return array|null
* @since 3.2.0
*/
public function getRemotePowersGuid(): ?array
{
if (!is_array($this->paths) || $this->paths === [])
{
return null;
}
$powers = [];
foreach ($this->paths as $path)
{
// Get remote index
$this->remoteIndex($path);
if (isset($path->index) && is_object($path->index))
{
$powers = array_merge($powers, array_keys((array) $path->index));
}
}
return empty($powers) ? null : array_unique($powers);
}
/**
* Get a power
*
* @param string $guid The global unique id of the power
* @param array|null $order The search order
*
* @return object|null
* @since 3.2.0
*/
public function get(string $guid, ?array $order = null): ?object
{
if ($order === null)
{
$order = $this->order;
}
// we can only search if we have paths
if (is_array($this->paths) && $this->paths !== [])
{
foreach ($order as $target)
{
if (($function_name = $this->getFunctionName($target)) !== null &&
($power = $this->{$function_name}($guid)) !== null)
{
return $power;
}
}
}
return null;
}
/**
* Load the remote repository index of powers
*
* @param object $path The repository path details
*
* @return void
* @since 3.2.0
*/
abstract protected function remoteIndex(object &$path): void;
/**
* Get function name
*
* @param string $name The targeted function name
*
* @return string|null
* @since 3.2.0
*/
protected function getFunctionName(string $name): ?string
{
$function_name = 'search' . ucfirst(strtolower($name));
return method_exists($this, $function_name) ? $function_name : null;
}
/**
* Set path details
*
* @return void
* @since 3.2.0
*/
private function init(): void
{
if (is_array($this->paths) && $this->paths !== [])
{
foreach ($this->paths as $n => &$path)
{
if (isset($path->owner) && strlen($path->owner) > 1 &&
isset($path->repo) && strlen($path->repo) > 1)
{
// build the path
$path->path = trim($path->owner) . '/' . trim($path->repo);
// update the branch
if ($path->branch === 'default' || empty($path->branch))
{
$path->branch = null;
}
// set local path
if ($this->path && Folder::exists($this->path . '/' . $path->path))
{
$path->full_path = $this->path . '/' . $path->path;
}
}
else
{
unset($this->paths[$n]);
}
}
}
}
}

View File

@ -0,0 +1,183 @@
/**
* The local path
*
* @var string
* @since 3.2.0
**/
public ?string $path;
/**
* All approved paths
*
* @var array
* @since 3.2.0
**/
public ?array $paths;
/**
* Order of global search
*
* @var array
* @since 3.2.1
**/
protected array $order = ['local', 'remote'];
/**
* Gitea Repository Contents
*
* @var Contents
* @since 3.2.0
**/
protected Contents $contents;
/**
* Joomla Application object
*
* @var CMSApplication
* @since 3.2.0
**/
protected CMSApplication $app;
/**
* Constructor.
*
* @param string $path The local path
* @param array $paths The approved paths
* @param Contents $contents The Gitea Repository Contents object.
* @param CMSApplication|null $app The CMS Application object.
*
* @throws \Exception
* @since 3.2.0
*/
public function __construct(string $path, array $paths, Contents $contents, ?CMSApplication $app = null)
{
$this->path = $path;
$this->paths = $paths;
$this->contents = $contents;
$this->app = $app ?: Factory::getApplication();
$this->init();
}
/**
* Get all remote powers GUID's
*
* @return array|null
* @since 3.2.0
*/
public function getRemotePowersGuid(): ?array
{
if (!is_array($this->paths) || $this->paths === [])
{
return null;
}
$powers = [];
foreach ($this->paths as $path)
{
// Get remote index
$this->remoteIndex($path);
if (isset($path->index) && is_object($path->index))
{
$powers = array_merge($powers, array_keys((array) $path->index));
}
}
return empty($powers) ? null : array_unique($powers);
}
/**
* Get a power
*
* @param string $guid The global unique id of the power
* @param array|null $order The search order
*
* @return object|null
* @since 3.2.0
*/
public function get(string $guid, ?array $order = null): ?object
{
if ($order === null)
{
$order = $this->order;
}
// we can only search if we have paths
if (is_array($this->paths) && $this->paths !== [])
{
foreach ($order as $target)
{
if (($function_name = $this->getFunctionName($target)) !== null &&
($power = $this->{$function_name}($guid)) !== null)
{
return $power;
}
}
}
return null;
}
/**
* Load the remote repository index of powers
*
* @param object $path The repository path details
*
* @return void
* @since 3.2.0
*/
abstract protected function remoteIndex(object &$path): void;
/**
* Get function name
*
* @param string $name The targeted function name
*
* @return string|null
* @since 3.2.0
*/
protected function getFunctionName(string $name): ?string
{
$function_name = 'search' . ucfirst(strtolower($name));
return method_exists($this, $function_name) ? $function_name : null;
}
/**
* Set path details
*
* @return void
* @since 3.2.0
*/
private function init(): void
{
if (is_array($this->paths) && $this->paths !== [])
{
foreach ($this->paths as $n => &$path)
{
if (isset($path->owner) && strlen($path->owner) > 1 &&
isset($path->repo) && strlen($path->repo) > 1)
{
// build the path
$path->path = trim($path->owner) . '/' . trim($path->repo);
// update the branch
if ($path->branch === 'default' || empty($path->branch))
{
$path->branch = null;
}
// set local path
if ($this->path && Folder::exists($this->path . '/' . $path->path))
{
$path->full_path = $this->path . '/' . $path->path;
}
}
else
{
unset($this->paths[$n]);
}
}
}
}

View File

@ -0,0 +1,33 @@
{
"add_head": "1",
"add_licensing_template": "2",
"extends": "0",
"guid": "1401a167-0ce4-4f4a-afee-2d8b02ed339b",
"implements": [
"c182506a-ab84-439c-b962-1e606b58d545"
],
"load_selection": null,
"name": "Grep",
"power_version": "1.0.0",
"system_name": "VDM.Grep",
"type": "abstract class",
"use_selection": {
"use_selection0": {
"use": "8d1baef6-fcad-49a9-848f-428009cdb989",
"as": "default"
},
"use_selection1": {
"use": "a223b31e-ea1d-4cdf-92ae-5f9becffaff0",
"as": "default"
},
"use_selection2": {
"use": "4b225c51-d293-48e4-b3f6-5136cf5c3f18",
"as": "default"
}
},
"namespace": "[[[NamespacePrefix]]]\\Joomla\\Abstraction.Grep",
"description": "Global Resource Empowerment Platform\r\n\r\n The Grep feature will try to find your power in the repositories listed in the global\r\n Options of JCB in the super powers tab, and if it can't be found there will try the global core\r\n Super powers of JCB. All searches are performed according the the [algorithm:cascading]\r\n See documentation for more details: https:\/\/git.vdm.dev\/joomla\/super-powers\/wiki\r\n\r\n@since 3.2.1",
"licensing_template": "\/**\r\n * @package Joomla.Component.Builder\r\n *\r\n * @created 4th September, 2022\r\n * @author Llewellyn van der Merwe <https:\/\/dev.vdm.io>\r\n * @git Joomla Component Builder <https:\/\/git.vdm.dev\/joomla\/Component-Builder>\r\n * @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.\r\n * @license GNU General Public License version 2 or later; see LICENSE.txt\r\n *\/\r\n",
"head": "use Joomla\\CMS\\Factory;\r\nuse Joomla\\CMS\\Filesystem\\Folder;\r\nuse Joomla\\CMS\\Application\\CMSApplication;\r\nuse Joomla\\CMS\\Language\\Text;",
"composer": ""
}

View File

@ -7,7 +7,7 @@
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
```
# abstract class MathHelper (Details)
> namespace: **VDM\Joomla\Utilities**
> namespace: **VastDevelopmentMethod\Joomla\Utilities**
```uml
@startuml
abstract MathHelper #Orange {

View File

@ -9,7 +9,7 @@
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace VDM\Joomla\Utilities;
namespace VastDevelopmentMethod\Joomla\Utilities;
/**

View File

@ -7,7 +7,7 @@
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
```
# abstract class StringHelper (Details)
> namespace: **VDM\Joomla\Utilities**
> namespace: **VastDevelopmentMethod\Joomla\Utilities**
```uml
@startuml
abstract StringHelper #Orange {

View File

@ -9,12 +9,12 @@
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace VDM\Joomla\Utilities;
namespace VastDevelopmentMethod\Joomla\Utilities;
use Joomla\Filter\InputFilter;
use Joomla\CMS\Language\Language;
use VDM\Joomla\Utilities\Component\Helper;
use VastDevelopmentMethod\Joomla\Utilities\Component\Helper;
/**

View File

@ -7,7 +7,7 @@
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
```
# trait InArray (Details)
> namespace: **VDM\Joomla\Abstraction\Registry\Traits**
> namespace: **VastDevelopmentMethod\Joomla\Abstraction\Registry\Traits**
```uml
@startuml
class InArray << (T,Orange) >> #Turquoise {

View File

@ -9,7 +9,7 @@
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace VDM\Joomla\Abstraction\Registry\Traits;
namespace VastDevelopmentMethod\Joomla\Abstraction\Registry\Traits;
/**

View File

@ -7,7 +7,7 @@
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
```
# interface LoadInterface (Details)
> namespace: **VDM\Joomla\Interfaces**
> namespace: **VastDevelopmentMethod\Joomla\Interfaces**
```uml
@startuml
interface LoadInterface #Lavender {

View File

@ -9,7 +9,7 @@
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace VDM\Joomla\Interfaces;
namespace VastDevelopmentMethod\Joomla\Interfaces;
/**

View File

@ -7,7 +7,7 @@
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
```
# interface Tableinterface (Details)
> namespace: **VDM\Joomla\Interfaces**
> namespace: **VastDevelopmentMethod\Joomla\Interfaces**
```uml
@startuml
interface Tableinterface #Lavender {

View File

@ -9,7 +9,7 @@
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace VDM\Joomla\Interfaces;
namespace VastDevelopmentMethod\Joomla\Interfaces;
/**

View File

@ -7,7 +7,7 @@
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
```
# abstract class ClassfunctionHelper (Details)
> namespace: **VDM\Joomla\Utilities\String**
> namespace: **VastDevelopmentMethod\Joomla\Utilities\String**
```uml
@startuml
abstract ClassfunctionHelper #Orange {

View File

@ -9,10 +9,10 @@
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace VDM\Joomla\Utilities\String;
namespace VastDevelopmentMethod\Joomla\Utilities\String;
use VDM\Joomla\Utilities\StringHelper;
use VastDevelopmentMethod\Joomla\Utilities\StringHelper;
/**

View File

@ -7,7 +7,7 @@
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
```
# abstract class PluginHelper (Details)
> namespace: **VDM\Joomla\Utilities\String**
> namespace: **VastDevelopmentMethod\Joomla\Utilities\String**
```uml
@startuml
abstract PluginHelper #Orange {

View File

@ -9,7 +9,7 @@
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace VDM\Joomla\Utilities\String;
namespace VastDevelopmentMethod\Joomla\Utilities\String;
/**

View File

@ -7,7 +7,7 @@
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
```
# abstract class ActiveRegistry (Details)
> namespace: **VDM\Joomla\Abstraction**
> namespace: **VastDevelopmentMethod\Joomla\Abstraction**
```uml
@startuml
abstract ActiveRegistry #Orange {

View File

@ -9,10 +9,10 @@
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace VDM\Joomla\Abstraction;
namespace VastDevelopmentMethod\Joomla\Abstraction;
use VDM\Joomla\Interfaces\Activeregistryinterface;
use VastDevelopmentMethod\Joomla\Interfaces\Activeregistryinterface;
/**

View File

@ -7,7 +7,7 @@
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
```
# class Database (Details)
> namespace: **VDM\Joomla\Componentbuilder\Service**
> namespace: **VastDevelopmentMethod\Joomla\Componentbuilder\Service**
```uml
@startuml
class Database #Gold {

View File

@ -9,14 +9,14 @@
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace VDM\Joomla\Componentbuilder\Service;
namespace VastDevelopmentMethod\Joomla\Componentbuilder\Service;
use Joomla\DI\Container;
use Joomla\DI\ServiceProviderInterface;
use VDM\Joomla\Database\Load;
use VDM\Joomla\Database\Insert;
use VDM\Joomla\Database\Update;
use VastDevelopmentMethod\Joomla\Database\Load;
use VastDevelopmentMethod\Joomla\Database\Insert;
use VastDevelopmentMethod\Joomla\Database\Update;
/**

View File

@ -7,7 +7,7 @@
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
```
# abstract class ComponentCodeNameHelper (Details)
> namespace: **VDM\Joomla\Utilities\String**
> namespace: **VastDevelopmentMethod\Joomla\Utilities\String**
```uml
@startuml
abstract ComponentCodeNameHelper #Orange {

View File

@ -9,7 +9,7 @@
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace VDM\Joomla\Utilities\String;
namespace VastDevelopmentMethod\Joomla\Utilities\String;
/**

View File

@ -7,7 +7,7 @@
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
```
# abstract class JsonHelper (Details)
> namespace: **VDM\Joomla\Utilities**
> namespace: **VastDevelopmentMethod\Joomla\Utilities**
```uml
@startuml
abstract JsonHelper #Orange {

View File

@ -9,7 +9,7 @@
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace VDM\Joomla\Utilities;
namespace VastDevelopmentMethod\Joomla\Utilities;
/**

View File

@ -7,7 +7,7 @@
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
```
# interface SchemaInterface (Details)
> namespace: **VDM\Joomla\Interfaces**
> namespace: **VastDevelopmentMethod\Joomla\Interfaces**
```uml
@startuml
interface SchemaInterface #Lavender {

View File

@ -9,7 +9,7 @@
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace VDM\Joomla\Interfaces;
namespace VastDevelopmentMethod\Joomla\Interfaces;
/**

View File

@ -7,7 +7,7 @@
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
```
# final class Insert (Details)
> namespace: **VDM\Joomla\Database**
> namespace: **VastDevelopmentMethod\Joomla\Database**
> extends: **Database**
```uml
@startuml

View File

@ -9,13 +9,13 @@
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace VDM\Joomla\Database;
namespace VastDevelopmentMethod\Joomla\Database;
use Joomla\CMS\Date\Date;
use VDM\Joomla\Utilities\ArrayHelper;
use VDM\Joomla\Interfaces\InsertInterface;
use VDM\Joomla\Abstraction\Database;
use VastDevelopmentMethod\Joomla\Utilities\ArrayHelper;
use VastDevelopmentMethod\Joomla\Interfaces\InsertInterface;
use VastDevelopmentMethod\Joomla\Abstraction\Database;
/**

View File

@ -7,7 +7,7 @@
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
```
# trait VarExport (Details)
> namespace: **VDM\Joomla\Abstraction\Registry\Traits**
> namespace: **VastDevelopmentMethod\Joomla\Abstraction\Registry\Traits**
```uml
@startuml
class VarExport << (T,Orange) >> #Turquoise {

View File

@ -9,7 +9,7 @@
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace VDM\Joomla\Abstraction\Registry\Traits;
namespace VastDevelopmentMethod\Joomla\Abstraction\Registry\Traits;
use VDM\Joomla\Componentbuilder\Compiler\Utilities\Indent;

View File

@ -7,7 +7,7 @@
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
```
# abstract class Model (Details)
> namespace: **VDM\Joomla\Abstraction**
> namespace: **VastDevelopmentMethod\Joomla\Abstraction**
```uml
@startuml
abstract Model #Orange {

View File

@ -9,12 +9,12 @@
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace VDM\Joomla\Abstraction;
namespace VastDevelopmentMethod\Joomla\Abstraction;
use VDM\Joomla\Utilities\StringHelper;
use VDM\Joomla\Utilities\ArrayHelper;
use VDM\Joomla\Interfaces\Tableinterface as Table;
use VastDevelopmentMethod\Joomla\Utilities\StringHelper;
use VastDevelopmentMethod\Joomla\Utilities\ArrayHelper;
use VastDevelopmentMethod\Joomla\Interfaces\Tableinterface as Table;
/**

View File

@ -7,7 +7,7 @@
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
```
# trait GetString (Details)
> namespace: **VDM\Joomla\Abstraction\Registry\Traits**
> namespace: **VastDevelopmentMethod\Joomla\Abstraction\Registry\Traits**
```uml
@startuml
class GetString << (T,Orange) >> #Turquoise {

View File

@ -9,7 +9,7 @@
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace VDM\Joomla\Abstraction\Registry\Traits;
namespace VastDevelopmentMethod\Joomla\Abstraction\Registry\Traits;
/**

View File

@ -7,7 +7,7 @@
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
```
# abstract class Helper (Details)
> namespace: **VDM\Joomla\Utilities\Component**
> namespace: **VastDevelopmentMethod\Joomla\Utilities\Component**
```uml
@startuml
abstract Helper #Orange {

View File

@ -9,14 +9,14 @@
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace VDM\Joomla\Utilities\Component;
namespace VastDevelopmentMethod\Joomla\Utilities\Component;
use Joomla\CMS\Factory;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\Input\Input;
use Joomla\Registry\Registry;
use VDM\Joomla\Utilities\String\NamespaceHelper;
use VastDevelopmentMethod\Joomla\Utilities\String\NamespaceHelper;
/**

View File

@ -7,7 +7,7 @@
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
```
# abstract class Base64Helper (Details)
> namespace: **VDM\Joomla\Utilities**
> namespace: **VastDevelopmentMethod\Joomla\Utilities**
```uml
@startuml
abstract Base64Helper #Orange {

View File

@ -9,10 +9,10 @@
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace VDM\Joomla\Utilities;
namespace VastDevelopmentMethod\Joomla\Utilities;
use VDM\Joomla\Utilities\StringHelper;
use VastDevelopmentMethod\Joomla\Utilities\StringHelper;
/**

View File

@ -7,7 +7,7 @@
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
```
# interface Registryinterface (Details)
> namespace: **VDM\Joomla\Interfaces**
> namespace: **VastDevelopmentMethod\Joomla\Interfaces**
```uml
@startuml
interface Registryinterface #Lavender {

View File

@ -9,7 +9,7 @@
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace VDM\Joomla\Interfaces;
namespace VastDevelopmentMethod\Joomla\Interfaces;
/**

View File

@ -7,7 +7,7 @@
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
```
# abstract class Database (Details)
> namespace: **VDM\Joomla\Abstraction**
> namespace: **VastDevelopmentMethod\Joomla\Abstraction**
```uml
@startuml
abstract Database #Orange {

View File

@ -9,11 +9,11 @@
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace VDM\Joomla\Abstraction;
namespace VastDevelopmentMethod\Joomla\Abstraction;
use Joomla\CMS\Factory as JoomlaFactory;
use VDM\Joomla\Utilities\Component\Helper;
use VastDevelopmentMethod\Joomla\Utilities\Component\Helper;
/**

View File

@ -7,7 +7,7 @@
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
```
# interface UpdateInterface (Details)
> namespace: **VDM\Joomla\Interfaces**
> namespace: **VastDevelopmentMethod\Joomla\Interfaces**
```uml
@startuml
interface UpdateInterface #Lavender {

View File

@ -9,7 +9,7 @@
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace VDM\Joomla\Interfaces;
namespace VastDevelopmentMethod\Joomla\Interfaces;
/**

View File

@ -7,7 +7,7 @@
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
```
# trait ToString (Details)
> namespace: **VDM\Joomla\Abstraction\Registry\Traits**
> namespace: **VastDevelopmentMethod\Joomla\Abstraction\Registry\Traits**
```uml
@startuml
class ToString << (T,Orange) >> #Turquoise {

View File

@ -9,7 +9,7 @@
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace VDM\Joomla\Abstraction\Registry\Traits;
namespace VastDevelopmentMethod\Joomla\Abstraction\Registry\Traits;
/**

View File

@ -7,7 +7,7 @@
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
```
# abstract class Registry (Details)
> namespace: **VDM\Joomla\Abstraction**
> namespace: **VastDevelopmentMethod\Joomla\Abstraction**
> extends: **ActiveRegistry**
```uml
@startuml

View File

@ -9,12 +9,12 @@
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace VDM\Joomla\Abstraction;
namespace VastDevelopmentMethod\Joomla\Abstraction;
use VDM\Joomla\Interfaces\Activeregistryinterface;
use VDM\Joomla\Interfaces\Registryinterface;
use VDM\Joomla\Abstraction\ActiveRegistry;
use VastDevelopmentMethod\Joomla\Interfaces\Activeregistryinterface;
use VastDevelopmentMethod\Joomla\Interfaces\Registryinterface;
use VastDevelopmentMethod\Joomla\Abstraction\ActiveRegistry;
/**

View File

@ -7,7 +7,7 @@
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
```
# interface ModelInterface (Details)
> namespace: **VDM\Joomla\Interfaces**
> namespace: **VastDevelopmentMethod\Joomla\Interfaces**
```uml
@startuml
interface ModelInterface #Lavender {

View File

@ -9,7 +9,7 @@
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace VDM\Joomla\Interfaces;
namespace VastDevelopmentMethod\Joomla\Interfaces;
/**

View File

@ -7,7 +7,7 @@
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
```
# abstract class ObjectHelper (Details)
> namespace: **VDM\Joomla\Utilities**
> namespace: **VastDevelopmentMethod\Joomla\Utilities**
```uml
@startuml
abstract ObjectHelper #Orange {

View File

@ -9,7 +9,7 @@
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace VDM\Joomla\Utilities;
namespace VastDevelopmentMethod\Joomla\Utilities;
/**

View File

@ -7,7 +7,7 @@
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
```
# abstract class GuidHelper (Details)
> namespace: **VDM\Joomla\Utilities**
> namespace: **VastDevelopmentMethod\Joomla\Utilities**
```uml
@startuml
abstract GuidHelper #Orange {

View File

@ -9,11 +9,11 @@
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace VDM\Joomla\Utilities;
namespace VastDevelopmentMethod\Joomla\Utilities;
use Joomla\CMS\Factory;
use VDM\Joomla\Utilities\Component\Helper;
use VastDevelopmentMethod\Joomla\Utilities\Component\Helper;
/**

View File

@ -7,7 +7,7 @@
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
```
# abstract class FieldHelper (Details)
> namespace: **VDM\Joomla\Utilities\String**
> namespace: **VastDevelopmentMethod\Joomla\Utilities\String**
```uml
@startuml
abstract FieldHelper #Orange {

View File

@ -9,11 +9,11 @@
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace VDM\Joomla\Utilities\String;
namespace VastDevelopmentMethod\Joomla\Utilities\String;
use VDM\Joomla\Utilities\StringHelper;
use VDM\Joomla\Utilities\Component\Helper;
use VastDevelopmentMethod\Joomla\Utilities\StringHelper;
use VastDevelopmentMethod\Joomla\Utilities\Component\Helper;
/**

View File

@ -7,7 +7,7 @@
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
```
# abstract class FileHelper (Details)
> namespace: **VDM\Joomla\Utilities**
> namespace: **VastDevelopmentMethod\Joomla\Utilities**
```uml
@startuml
abstract FileHelper #Orange {

View File

@ -9,7 +9,7 @@
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace VDM\Joomla\Utilities;
namespace VastDevelopmentMethod\Joomla\Utilities;
use Joomla\CMS\Uri\Uri;
@ -19,7 +19,7 @@ use Joomla\CMS\Filesystem\Path;
use Joomla\CMS\Filesystem\File;
use Joomla\CMS\Filesystem\Folder;
use Joomla\Archive\Archive;
use VDM\Joomla\Utilities\Component\Helper;
use VastDevelopmentMethod\Joomla\Utilities\Component\Helper;
/**

View File

@ -7,7 +7,7 @@
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
```
# abstract class TypeHelper (Details)
> namespace: **VDM\Joomla\Utilities\String**
> namespace: **VastDevelopmentMethod\Joomla\Utilities\String**
```uml
@startuml
abstract TypeHelper #Orange {

View File

@ -9,12 +9,12 @@
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace VDM\Joomla\Utilities\String;
namespace VastDevelopmentMethod\Joomla\Utilities\String;
use Joomla\CMS\Component\ComponentHelper;
use VDM\Joomla\Utilities\StringHelper;
use VDM\Joomla\Utilities\Component\Helper;
use VastDevelopmentMethod\Joomla\Utilities\StringHelper;
use VastDevelopmentMethod\Joomla\Utilities\Component\Helper;
/**

View File

@ -7,7 +7,7 @@
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
```
# interface InsertInterface (Details)
> namespace: **VDM\Joomla\Interfaces**
> namespace: **VastDevelopmentMethod\Joomla\Interfaces**
```uml
@startuml
interface InsertInterface #Lavender {

View File

@ -9,7 +9,7 @@
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace VDM\Joomla\Interfaces;
namespace VastDevelopmentMethod\Joomla\Interfaces;
/**

View File

@ -7,7 +7,7 @@
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
```
# interface Activeregistryinterface (Details)
> namespace: **VDM\Joomla\Interfaces**
> namespace: **VastDevelopmentMethod\Joomla\Interfaces**
```uml
@startuml
interface Activeregistryinterface #Lavender {

View File

@ -9,7 +9,7 @@
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace VDM\Joomla\Interfaces;
namespace VastDevelopmentMethod\Joomla\Interfaces;
/**

View File

@ -7,7 +7,7 @@
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
```
# final class Schema (Details)
> namespace: **VDM\Joomla\Componentbuilder\Table**
> namespace: **VastDevelopmentMethod\Joomla\Componentbuilder\Table**
> extends: **ExtendingSchema**
```uml
@startuml

View File

@ -9,12 +9,12 @@
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace VDM\Joomla\Componentbuilder\Table;
namespace VastDevelopmentMethod\Joomla\Componentbuilder\Table;
use VDM\Joomla\Componentbuilder\Table;
use VDM\Joomla\Interfaces\SchemaInterface;
use VDM\Joomla\Abstraction\Schema as ExtendingSchema;
use VastDevelopmentMethod\Joomla\Componentbuilder\Table;
use VastDevelopmentMethod\Joomla\Interfaces\SchemaInterface;
use VastDevelopmentMethod\Joomla\Abstraction\Schema as ExtendingSchema;
/**

View File

@ -7,7 +7,7 @@
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
```
# abstract class BaseRegistry (Details)
> namespace: **VDM\Joomla\Componentbuilder\Abstraction**
> namespace: **VastDevelopmentMethod\Joomla\Componentbuilder\Abstraction**
> extends: **JoomlaRegistry**
```uml
@startuml

View File

@ -9,7 +9,7 @@
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace VDM\Joomla\Componentbuilder\Abstraction;
namespace VastDevelopmentMethod\Joomla\Componentbuilder\Abstraction;
use Joomla\Registry\Registry as JoomlaRegistry;

View File

@ -7,7 +7,7 @@
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
```
# class Table (Details)
> namespace: **VDM\Joomla\Componentbuilder**
> namespace: **VastDevelopmentMethod\Joomla\Componentbuilder**
> extends: **BaseTable**
```uml
@startuml

View File

@ -9,11 +9,11 @@
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace VDM\Joomla\Componentbuilder;
namespace VastDevelopmentMethod\Joomla\Componentbuilder;
use VDM\Joomla\Interfaces\Tableinterface;
use VDM\Joomla\Abstraction\BaseTable;
use VastDevelopmentMethod\Joomla\Interfaces\Tableinterface;
use VastDevelopmentMethod\Joomla\Abstraction\BaseTable;
/**

View File

@ -7,7 +7,7 @@
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
```
# trait IsArray (Details)
> namespace: **VDM\Joomla\Abstraction\Registry\Traits**
> namespace: **VastDevelopmentMethod\Joomla\Abstraction\Registry\Traits**
```uml
@startuml
class IsArray << (T,Orange) >> #Turquoise {

View File

@ -9,7 +9,7 @@
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace VDM\Joomla\Abstraction\Registry\Traits;
namespace VastDevelopmentMethod\Joomla\Abstraction\Registry\Traits;
/**

View File

@ -0,0 +1,45 @@
```
██████╗ ██████╗ ██╗ ██╗███████╗██████╗
██╔══██╗██╔═══██╗██║ ██║██╔════╝██╔══██╗
██████╔╝██║ ██║██║ █╗ ██║█████╗ ██████╔╝
██╔═══╝ ██║ ██║██║███╗██║██╔══╝ ██╔══██╗
██║ ╚██████╔╝╚███╔███╔╝███████╗██║ ██║
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
```
# interface GrepInterface (Details)
> namespace: **VastDevelopmentMethod\Joomla\Interfaces**
```uml
@startuml
interface GrepInterface #Lavender {
+ getRemotePowersGuid() : ?array
+ get(string $guid, array $order = ['local', 'remote']) : ?object
}
note right of GrepInterface::getRemotePowersGuid
Get all remote powers GUID's
since: 3.2.0
return: ?array
end note
note right of GrepInterface::get
Get a power
since: 3.2.0
return: ?object
end note
@enduml
```
---
```
██╗ ██████╗██████╗
██║██╔════╝██╔══██╗
██║██║ ██████╔╝
██ ██║██║ ██╔══██╗
╚█████╔╝╚██████╗██████╔╝
╚════╝ ╚═════╝╚═════╝
```
> Build with [Joomla Component Builder](https://git.vdm.dev/joomla/Component-Builder)

View File

@ -0,0 +1,41 @@
<?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 VastDevelopmentMethod\Joomla\Interfaces;
/**
* Global Resource Empowerment Platform
*
* @since 3.2.1
*/
interface GrepInterface
{
/**
* Get all remote powers GUID's
*
* @return array|null
* @since 3.2.0
*/
public function getRemotePowersGuid(): ?array;
/**
* Get a power
*
* @param string $guid The global unique id of the power
* @param array $order The search order
*
* @return object|null
* @since 3.2.0
*/
public function get(string $guid, array $order = ['local', 'remote']): ?object;
}

View File

@ -0,0 +1,18 @@
/**
* Get all remote powers GUID's
*
* @return array|null
* @since 3.2.0
*/
public function getRemotePowersGuid(): ?array;
/**
* Get a power
*
* @param string $guid The global unique id of the power
* @param array $order The search order
*
* @return object|null
* @since 3.2.0
*/
public function get(string $guid, array $order = ['local', 'remote']): ?object;

View File

@ -0,0 +1,18 @@
{
"add_head": "0",
"add_licensing_template": "2",
"extends": "0",
"guid": "c182506a-ab84-439c-b962-1e606b58d545",
"implements": null,
"load_selection": null,
"name": "GrepInterface",
"power_version": "1.0.0",
"system_name": "VDM.Interfaces.GrepInterface",
"type": "interface",
"use_selection": null,
"namespace": "[[[NamespacePrefix]]]\\Joomla\\Interfaces.GrepInterface",
"description": "Global Resource Empowerment Platform\r\n\r\n@since 3.2.1",
"licensing_template": "\/**\r\n * @package Joomla.Component.Builder\r\n *\r\n * @created 4th September, 2022\r\n * @author Llewellyn van der Merwe <https:\/\/dev.vdm.io>\r\n * @git Joomla Component Builder <https:\/\/git.vdm.dev\/joomla\/Component-Builder>\r\n * @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.\r\n * @license GNU General Public License version 2 or later; see LICENSE.txt\r\n *\/\r\n",
"head": "",
"composer": ""
}

View File

@ -7,7 +7,7 @@
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
```
# interface FactoryInterface (Details)
> namespace: **VDM\Joomla\Interfaces**
> namespace: **VastDevelopmentMethod\Joomla\Interfaces**
```uml
@startuml
interface FactoryInterface #Lavender {

View File

@ -9,7 +9,7 @@
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace VDM\Joomla\Interfaces;
namespace VastDevelopmentMethod\Joomla\Interfaces;
use Joomla\DI\Container;

View File

@ -7,7 +7,7 @@
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
```
# final class Update (Details)
> namespace: **VDM\Joomla\Database**
> namespace: **VastDevelopmentMethod\Joomla\Database**
> extends: **Database**
```uml
@startuml

View File

@ -9,11 +9,11 @@
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace VDM\Joomla\Database;
namespace VastDevelopmentMethod\Joomla\Database;
use VDM\Joomla\Interfaces\UpdateInterface;
use VDM\Joomla\Abstraction\Database;
use VastDevelopmentMethod\Joomla\Interfaces\UpdateInterface;
use VastDevelopmentMethod\Joomla\Abstraction\Database;
/**

View File

@ -7,7 +7,7 @@
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
```
# abstract class FilterHelper (Details)
> namespace: **VDM\Joomla\Componentbuilder\Utilities**
> namespace: **VastDevelopmentMethod\Joomla\Componentbuilder\Utilities**
```uml
@startuml
abstract FilterHelper #Orange {

View File

@ -9,14 +9,14 @@
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace VDM\Joomla\Componentbuilder\Utilities;
namespace VastDevelopmentMethod\Joomla\Componentbuilder\Utilities;
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use VDM\Joomla\Utilities\ArrayHelper;
use VDM\Joomla\Utilities\JsonHelper;
use VDM\Joomla\Utilities\GetHelper;
use VastDevelopmentMethod\Joomla\Utilities\ArrayHelper;
use VastDevelopmentMethod\Joomla\Utilities\JsonHelper;
use VastDevelopmentMethod\Joomla\Utilities\GetHelper;
/**

View File

@ -7,7 +7,7 @@
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
```
# abstract class NamespaceHelper (Details)
> namespace: **VDM\Joomla\Utilities\String**
> namespace: **VastDevelopmentMethod\Joomla\Utilities\String**
```uml
@startuml
abstract NamespaceHelper #Orange {

View File

@ -9,10 +9,10 @@
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace VDM\Joomla\Utilities\String;
namespace VastDevelopmentMethod\Joomla\Utilities\String;
use VDM\Joomla\Utilities\StringHelper;
use VastDevelopmentMethod\Joomla\Utilities\StringHelper;
/**

View File

@ -7,7 +7,7 @@
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
```
# abstract class GetHelperExtrusion (Details)
> namespace: **VDM\Joomla\Utilities**
> namespace: **VastDevelopmentMethod\Joomla\Utilities**
> extends: **GetHelper**
```uml
@startuml

View File

@ -9,10 +9,10 @@
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace VDM\Joomla\Utilities;
namespace VastDevelopmentMethod\Joomla\Utilities;
use VDM\Joomla\Utilities\GetHelper;
use VastDevelopmentMethod\Joomla\Utilities\GetHelper;
/**

View File

@ -7,7 +7,7 @@
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
```
# abstract class GetHelper (Details)
> namespace: **VDM\Joomla\Utilities**
> namespace: **VastDevelopmentMethod\Joomla\Utilities**
```uml
@startuml
abstract GetHelper #Orange {

View File

@ -9,11 +9,11 @@
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace VDM\Joomla\Utilities;
namespace VastDevelopmentMethod\Joomla\Utilities;
use Joomla\CMS\Factory;
use VDM\Joomla\Utilities\Component\Helper;
use VastDevelopmentMethod\Joomla\Utilities\Component\Helper;
/**

View File

@ -7,7 +7,7 @@
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
```
# abstract class BaseTable (Details)
> namespace: **VDM\Joomla\Abstraction**
> namespace: **VastDevelopmentMethod\Joomla\Abstraction**
```uml
@startuml
abstract BaseTable #Orange {

Some files were not shown because too many files have changed in this diff Show More