Merge Updates #2
33
README.md
33
README.md
@ -26,9 +26,28 @@ This repository contains an index (see below) of all the approved powers within
|
||||
- **Namespace**: [VDM\Joomla](#vdm-joomla)
|
||||
|
||||
- **trait Utilities** | [Details](src/79d765b3-7319-4988-9730-446c7f347020) | [Code](src/79d765b3-7319-4988-9730-446c7f347020/code.php) | [Settings](src/79d765b3-7319-4988-9730-446c7f347020/settings.json) | Super__79d765b3_7319_4988_9730_446c7f347020__Power
|
||||
- **Namespace**: [VDM\Joomla\Abstraction](#vdm-joomla-abstraction)
|
||||
|
||||
- **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 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
|
||||
- **Namespace**: [VDM\Joomla\Componentbuilder](#vdm-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)
|
||||
|
||||
- **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)
|
||||
|
||||
- **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 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
|
||||
- **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)
|
||||
|
||||
- **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
|
||||
@ -41,23 +60,9 @@ This repository contains an index (see below) of all the approved powers within
|
||||
- **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)
|
||||
|
||||
- **abstract class BaseConfig** | [Details](src/9769f3b2-17bf-4f20-b54b-3a4ebe572b36) | [Code](src/9769f3b2-17bf-4f20-b54b-3a4ebe572b36/code.php) | [Settings](src/9769f3b2-17bf-4f20-b54b-3a4ebe572b36/settings.json) | Super__9769f3b2_17bf_4f20_b54b_3a4ebe572b36__Power
|
||||
- **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
|
||||
- **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 Mapper** | [Details](src/44a3367c-f9e4-406b-b396-0f452bde0f03) | [Code](src/44a3367c-f9e4-406b-b396-0f452bde0f03/code.php) | [Settings](src/44a3367c-f9e4-406b-b396-0f452bde0f03/settings.json) | Super__44a3367c_f9e4_406b_b396_0f452bde0f03__Power
|
||||
- **abstract class MapperSingle** | [Details](src/c6bbc3ee-58e7-4463-adba-5c5ae839ee36) | [Code](src/c6bbc3ee-58e7-4463-adba-5c5ae839ee36/code.php) | [Settings](src/c6bbc3ee-58e7-4463-adba-5c5ae839ee36/settings.json) | Super__c6bbc3ee_58e7_4463_adba_5c5ae839ee36__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
|
||||
- **Namespace**: [VDM\Joomla\Componentbuilder\Database](#vdm-joomla-componentbuilder-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\Componentbuilder\Interfaces](#vdm-joomla-componentbuilder-interfaces)
|
||||
|
||||
- **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 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 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
|
||||
- **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\Componentbuilder\Utilities](#vdm-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
|
||||
|
@ -7,7 +7,7 @@
|
||||
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
|
||||
```
|
||||
# final class Load (Details)
|
||||
> namespace: **VDM\Joomla\Componentbuilder\Database**
|
||||
> namespace: **VDM\Joomla\Database**
|
||||
```uml
|
||||
@startuml
|
||||
class Load << (F,LightGreen) >> #Green {
|
||||
|
@ -9,12 +9,12 @@
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
namespace VDM\Joomla\Componentbuilder\Database;
|
||||
namespace VDM\Joomla\Database;
|
||||
|
||||
|
||||
use VDM\Joomla\Utilities\ArrayHelper;
|
||||
use VDM\Joomla\Componentbuilder\Interfaces\LoadInterface;
|
||||
use VDM\Joomla\Componentbuilder\Abstraction\Database;
|
||||
use VDM\Joomla\Interfaces\LoadInterface;
|
||||
use VDM\Joomla\Abstraction\Database;
|
||||
|
||||
|
||||
/**
|
||||
@ -186,7 +186,7 @@ final class Load extends Database implements LoadInterface
|
||||
if (isset($tables['a']))
|
||||
{
|
||||
// get the query
|
||||
$query = $this->query($select, $tables, $where, $order);
|
||||
$query = $this->query($select, $tables, $where, $order, $limit);
|
||||
|
||||
// Load the items
|
||||
$this->db->setQuery($query);
|
||||
|
@ -160,7 +160,7 @@
|
||||
if (isset($tables['a']))
|
||||
{
|
||||
// get the query
|
||||
$query = $this->query($select, $tables, $where, $order);
|
||||
$query = $this->query($select, $tables, $where, $order, $limit);
|
||||
|
||||
// Load the items
|
||||
$this->db->setQuery($query);
|
||||
|
@ -9,7 +9,7 @@
|
||||
"load_selection": null,
|
||||
"name": "Load",
|
||||
"power_version": "1.0.0",
|
||||
"system_name": "JCB.Database.Load",
|
||||
"system_name": "VDM.Database.Load",
|
||||
"type": "final class",
|
||||
"use_selection": {
|
||||
"use_selection0": {
|
||||
@ -17,7 +17,7 @@
|
||||
"as": "default"
|
||||
}
|
||||
},
|
||||
"namespace": "VDM\\Joomla\\Componentbuilder.Database.Load",
|
||||
"namespace": "VDM\\Joomla\\Database.Load",
|
||||
"description": "Database Load\r\n\r\n@since 3.2.0",
|
||||
"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": "",
|
||||
|
101
src/2ad31f74-f579-499d-b98b-c4f54fd615dd/README.md
Normal file
101
src/2ad31f74-f579-499d-b98b-c4f54fd615dd/README.md
Normal file
@ -0,0 +1,101 @@
|
||||
```
|
||||
██████╗ ██████╗ ██╗ ██╗███████╗██████╗
|
||||
██╔══██╗██╔═══██╗██║ ██║██╔════╝██╔══██╗
|
||||
██████╔╝██║ ██║██║ █╗ ██║█████╗ ██████╔╝
|
||||
██╔═══╝ ██║ ██║██║███╗██║██╔══╝ ██╔══██╗
|
||||
██║ ╚██████╔╝╚███╔███╔╝███████╗██║ ██║
|
||||
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
|
||||
```
|
||||
# interface LoadInterface (Details)
|
||||
> namespace: **VDM\Joomla\Interfaces**
|
||||
```uml
|
||||
@startuml
|
||||
interface LoadInterface #Lavender {
|
||||
+ rows(array $select, array $tables, ...) : ?array
|
||||
+ items(array $select, array $tables, ...) : ?array
|
||||
+ row(array $select, array $tables, ...) : ?array
|
||||
+ item(array $select, array $tables, ...) : ?object
|
||||
+ value(array $select, array $tables, ...) : mixed
|
||||
}
|
||||
|
||||
note right of LoadInterface::rows
|
||||
Load data rows as an array of associated arrays
|
||||
|
||||
since: 3.2.0
|
||||
return: ?array
|
||||
|
||||
arguments:
|
||||
array $select
|
||||
array $tables
|
||||
?array $where = null
|
||||
?array $order = null
|
||||
?int $limit = null
|
||||
end note
|
||||
|
||||
note right of LoadInterface::items
|
||||
Load data rows as an array of objects
|
||||
|
||||
since: 3.2.0
|
||||
return: ?array
|
||||
|
||||
arguments:
|
||||
array $select
|
||||
array $tables
|
||||
?array $where = null
|
||||
?array $order = null
|
||||
?int $limit = null
|
||||
end note
|
||||
|
||||
note right of LoadInterface::row
|
||||
Load data row as an associated array
|
||||
|
||||
since: 3.2.0
|
||||
return: ?array
|
||||
|
||||
arguments:
|
||||
array $select
|
||||
array $tables
|
||||
?array $where = null
|
||||
?array $order = null
|
||||
end note
|
||||
|
||||
note right of LoadInterface::item
|
||||
Load data row as an object
|
||||
|
||||
since: 3.2.0
|
||||
return: ?object
|
||||
|
||||
arguments:
|
||||
array $select
|
||||
array $tables
|
||||
?array $where = null
|
||||
?array $order = null
|
||||
end note
|
||||
|
||||
note right of LoadInterface::value
|
||||
Load one value from a row
|
||||
|
||||
since: 3.2.0
|
||||
return: mixed
|
||||
|
||||
arguments:
|
||||
array $select
|
||||
array $tables
|
||||
?array $where = null
|
||||
?array $order = null
|
||||
end note
|
||||
|
||||
@enduml
|
||||
```
|
||||
|
||||
---
|
||||
```
|
||||
██╗ ██████╗██████╗
|
||||
██║██╔════╝██╔══██╗
|
||||
██║██║ ██████╔╝
|
||||
██ ██║██║ ██╔══██╗
|
||||
╚█████╔╝╚██████╗██████╔╝
|
||||
╚════╝ ╚═════╝╚═════╝
|
||||
```
|
||||
> Build with [Joomla Component Builder](https://git.vdm.dev/joomla/Component-Builder)
|
||||
|
92
src/2ad31f74-f579-499d-b98b-c4f54fd615dd/code.php
Normal file
92
src/2ad31f74-f579-499d-b98b-c4f54fd615dd/code.php
Normal file
@ -0,0 +1,92 @@
|
||||
<?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\Interfaces;
|
||||
|
||||
|
||||
/**
|
||||
* Database Load Interface
|
||||
*
|
||||
* @since 3.2.0
|
||||
*/
|
||||
interface LoadInterface
|
||||
{
|
||||
/**
|
||||
* Load data rows as an array of associated arrays
|
||||
*
|
||||
* @param array $select Array of selection keys
|
||||
* @param array $tables Array of tables to search
|
||||
* @param array|null $where Array of where key=>value match exist
|
||||
* @param array|null $order Array of how to order the data
|
||||
* @param int|null $limit Limit the number of values returned
|
||||
*
|
||||
* @return array|null
|
||||
* @since 3.2.0
|
||||
**/
|
||||
public function rows(array $select, array $tables, ?array $where = null,
|
||||
?array $order = null, ?int $limit = null): ?array;
|
||||
|
||||
/**
|
||||
* Load data rows as an array of objects
|
||||
*
|
||||
* @param array $select Array of selection keys
|
||||
* @param array $tables Array of tables to search
|
||||
* @param array|null $where Array of where key=>value match exist
|
||||
* @param array|null $order Array of how to order the data
|
||||
* @param int|null $limit Limit the number of values returned
|
||||
*
|
||||
* @return array|null
|
||||
* @since 3.2.0
|
||||
**/
|
||||
public function items(array $select, array $tables, ?array $where = null,
|
||||
?array $order = null, ?int $limit = null): ?array;
|
||||
|
||||
/**
|
||||
* Load data row as an associated array
|
||||
*
|
||||
* @param array $select Array of selection keys
|
||||
* @param array $tables Array of tables to search
|
||||
* @param array|null $where Array of where key=>value match exist
|
||||
* @param array|null $order Array of how to order the data
|
||||
*
|
||||
* @return array|null
|
||||
* @since 3.2.0
|
||||
**/
|
||||
public function row(array $select, array $tables, ?array $where = null, ?array $order = null): ?array;
|
||||
|
||||
/**
|
||||
* Load data row as an object
|
||||
*
|
||||
* @param array $select Array of selection keys
|
||||
* @param array $tables Array of tables to search
|
||||
* @param array|null $where Array of where key=>value match exist
|
||||
* @param array|null $order Array of how to order the data
|
||||
*
|
||||
* @return object|null
|
||||
* @since 3.2.0
|
||||
**/
|
||||
public function item(array $select, array $tables, ?array $where = null, ?array $order = null): ?object;
|
||||
|
||||
/**
|
||||
* Load one value from a row
|
||||
*
|
||||
* @param array $select Array of selection keys
|
||||
* @param array $tables Array of tables to search
|
||||
* @param array|null $where Array of where key=>value match exist
|
||||
* @param array|null $order Array of how to order the data
|
||||
*
|
||||
* @return mixed
|
||||
* @since 3.2.0
|
||||
**/
|
||||
public function value(array $select, array $tables, ?array $where = null, ?array $order = null);
|
||||
|
||||
}
|
||||
|
68
src/2ad31f74-f579-499d-b98b-c4f54fd615dd/code.power
Normal file
68
src/2ad31f74-f579-499d-b98b-c4f54fd615dd/code.power
Normal file
@ -0,0 +1,68 @@
|
||||
/**
|
||||
* Load data rows as an array of associated arrays
|
||||
*
|
||||
* @param array $select Array of selection keys
|
||||
* @param array $tables Array of tables to search
|
||||
* @param array|null $where Array of where key=>value match exist
|
||||
* @param array|null $order Array of how to order the data
|
||||
* @param int|null $limit Limit the number of values returned
|
||||
*
|
||||
* @return array|null
|
||||
* @since 3.2.0
|
||||
**/
|
||||
public function rows(array $select, array $tables, ?array $where = null,
|
||||
?array $order = null, ?int $limit = null): ?array;
|
||||
|
||||
/**
|
||||
* Load data rows as an array of objects
|
||||
*
|
||||
* @param array $select Array of selection keys
|
||||
* @param array $tables Array of tables to search
|
||||
* @param array|null $where Array of where key=>value match exist
|
||||
* @param array|null $order Array of how to order the data
|
||||
* @param int|null $limit Limit the number of values returned
|
||||
*
|
||||
* @return array|null
|
||||
* @since 3.2.0
|
||||
**/
|
||||
public function items(array $select, array $tables, ?array $where = null,
|
||||
?array $order = null, ?int $limit = null): ?array;
|
||||
|
||||
/**
|
||||
* Load data row as an associated array
|
||||
*
|
||||
* @param array $select Array of selection keys
|
||||
* @param array $tables Array of tables to search
|
||||
* @param array|null $where Array of where key=>value match exist
|
||||
* @param array|null $order Array of how to order the data
|
||||
*
|
||||
* @return array|null
|
||||
* @since 3.2.0
|
||||
**/
|
||||
public function row(array $select, array $tables, ?array $where = null, ?array $order = null): ?array;
|
||||
|
||||
/**
|
||||
* Load data row as an object
|
||||
*
|
||||
* @param array $select Array of selection keys
|
||||
* @param array $tables Array of tables to search
|
||||
* @param array|null $where Array of where key=>value match exist
|
||||
* @param array|null $order Array of how to order the data
|
||||
*
|
||||
* @return object|null
|
||||
* @since 3.2.0
|
||||
**/
|
||||
public function item(array $select, array $tables, ?array $where = null, ?array $order = null): ?object;
|
||||
|
||||
/**
|
||||
* Load one value from a row
|
||||
*
|
||||
* @param array $select Array of selection keys
|
||||
* @param array $tables Array of tables to search
|
||||
* @param array|null $where Array of where key=>value match exist
|
||||
* @param array|null $order Array of how to order the data
|
||||
*
|
||||
* @return mixed
|
||||
* @since 3.2.0
|
||||
**/
|
||||
public function value(array $select, array $tables, ?array $where = null, ?array $order = null);
|
18
src/2ad31f74-f579-499d-b98b-c4f54fd615dd/settings.json
Normal file
18
src/2ad31f74-f579-499d-b98b-c4f54fd615dd/settings.json
Normal file
@ -0,0 +1,18 @@
|
||||
{
|
||||
"add_head": "0",
|
||||
"add_licensing_template": "2",
|
||||
"extends": "0",
|
||||
"guid": "2ad31f74-f579-499d-b98b-c4f54fd615dd",
|
||||
"implements": null,
|
||||
"load_selection": null,
|
||||
"name": "LoadInterface",
|
||||
"power_version": "1.0.0",
|
||||
"system_name": "VDM.Interfaces.LoadInterface",
|
||||
"type": "interface",
|
||||
"use_selection": null,
|
||||
"namespace": "VDM\\Joomla\\Interfaces.LoadInterface",
|
||||
"description": "Database Load Interface\r\n\r\n@since 3.2.0",
|
||||
"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": ""
|
||||
}
|
89
src/2da6d6c4-eb29-4d69-8bc2-36d96e916adf/README.md
Normal file
89
src/2da6d6c4-eb29-4d69-8bc2-36d96e916adf/README.md
Normal file
@ -0,0 +1,89 @@
|
||||
```
|
||||
██████╗ ██████╗ ██╗ ██╗███████╗██████╗
|
||||
██╔══██╗██╔═══██╗██║ ██║██╔════╝██╔══██╗
|
||||
██████╔╝██║ ██║██║ █╗ ██║█████╗ ██████╔╝
|
||||
██╔═══╝ ██║ ██║██║███╗██║██╔══╝ ██╔══██╗
|
||||
██║ ╚██████╔╝╚███╔███╔╝███████╗██║ ██║
|
||||
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
|
||||
```
|
||||
# interface Tableinterface (Details)
|
||||
> namespace: **VDM\Joomla\Interfaces**
|
||||
```uml
|
||||
@startuml
|
||||
interface Tableinterface #Lavender {
|
||||
+ get(string $table, ?string $field = null, ...) : mixed
|
||||
+ title(string $table) : ?array
|
||||
+ titleName(string $table) : string
|
||||
+ tables() : array
|
||||
+ exist(string $table, ?string $field = null) : bool
|
||||
+ fields(string $table, bool $default = false) : ?array
|
||||
}
|
||||
|
||||
note right of Tableinterface::get
|
||||
Get any value from a item/field/column of an area/view/table
|
||||
Example: $this->get('table_name', 'field_name', 'value_key');
|
||||
Get an item/field/column of an area/view/table
|
||||
Example: $this->get('table_name', 'field_name');
|
||||
Get all items/fields/columns of an area/view/table
|
||||
Example: $this->get('table_name');
|
||||
Get all areas/views/tables with all their item/field/column details
|
||||
Example: $this->get('All');
|
||||
|
||||
since: 3.2.0
|
||||
return: mixed
|
||||
|
||||
arguments:
|
||||
string $table
|
||||
?string $field = null
|
||||
?string $key = null
|
||||
end note
|
||||
|
||||
note right of Tableinterface::title
|
||||
Get title field from an area/view/table
|
||||
|
||||
since: 3.2.0
|
||||
return: ?array
|
||||
end note
|
||||
|
||||
note right of Tableinterface::titleName
|
||||
Get title field name
|
||||
|
||||
since: 3.2.0
|
||||
return: string
|
||||
end note
|
||||
|
||||
note right of Tableinterface::tables
|
||||
Get all tables
|
||||
|
||||
since: 3.2.0
|
||||
return: array
|
||||
end note
|
||||
|
||||
note right of Tableinterface::exist
|
||||
Check if a table (and field) exist
|
||||
|
||||
since: 3.2.0
|
||||
return: bool
|
||||
end note
|
||||
|
||||
note right of Tableinterface::fields
|
||||
Get all fields of an area/view/table
|
||||
|
||||
since: 3.2.0
|
||||
return: ?array
|
||||
end note
|
||||
|
||||
@enduml
|
||||
```
|
||||
|
||||
---
|
||||
```
|
||||
██╗ ██████╗██████╗
|
||||
██║██╔════╝██╔══██╗
|
||||
██║██║ ██████╔╝
|
||||
██ ██║██║ ██╔══██╗
|
||||
╚█████╔╝╚██████╗██████╔╝
|
||||
╚════╝ ╚═════╝╚═════╝
|
||||
```
|
||||
> Build with [Joomla Component Builder](https://git.vdm.dev/joomla/Component-Builder)
|
||||
|
89
src/2da6d6c4-eb29-4d69-8bc2-36d96e916adf/code.php
Normal file
89
src/2da6d6c4-eb29-4d69-8bc2-36d96e916adf/code.php
Normal file
@ -0,0 +1,89 @@
|
||||
<?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\Interfaces;
|
||||
|
||||
|
||||
/**
|
||||
* The VDM Core Table Interface
|
||||
*/
|
||||
interface Tableinterface
|
||||
{
|
||||
/**
|
||||
* Get any value from a item/field/column of an area/view/table
|
||||
* Example: $this->get('table_name', 'field_name', 'value_key');
|
||||
* Get an item/field/column of an area/view/table
|
||||
* Example: $this->get('table_name', 'field_name');
|
||||
* Get all items/fields/columns of an area/view/table
|
||||
* Example: $this->get('table_name');
|
||||
* Get all areas/views/tables with all their item/field/column details
|
||||
* Example: $this->get('All');
|
||||
*
|
||||
* @param string $table The table
|
||||
* @param string|null $field The field
|
||||
* @param string|null $key The value key
|
||||
*
|
||||
* @return mixed
|
||||
* @since 3.2.0
|
||||
*/
|
||||
public function get(string $table, ?string $field = null, ?string $key = null);
|
||||
|
||||
/**
|
||||
* Get title field from an area/view/table
|
||||
*
|
||||
* @param string $table The area
|
||||
*
|
||||
* @return ?array
|
||||
* @since 3.2.0
|
||||
*/
|
||||
public function title(string $table): ?array;
|
||||
|
||||
/**
|
||||
* Get title field name
|
||||
*
|
||||
* @param string $table The area
|
||||
*
|
||||
* @return string
|
||||
* @since 3.2.0
|
||||
*/
|
||||
public function titleName(string $table): string;
|
||||
|
||||
/**
|
||||
* Get all tables
|
||||
*
|
||||
* @return array
|
||||
* @since 3.2.0
|
||||
*/
|
||||
public function tables(): array;
|
||||
|
||||
/**
|
||||
* Check if a table (and field) exist
|
||||
*
|
||||
* @param string $table The area
|
||||
* @param string|null $field The area
|
||||
*
|
||||
* @return bool
|
||||
* @since 3.2.0
|
||||
*/
|
||||
public function exist(string $table, ?string $field = null): bool;
|
||||
|
||||
/**
|
||||
* Get all fields of an area/view/table
|
||||
*
|
||||
* @param string $table The area
|
||||
* @param bool $default Add the default fields
|
||||
*
|
||||
* @return array|null On success an array of fields
|
||||
* @since 3.2.0
|
||||
*/
|
||||
public function fields(string $table, bool $default = false): ?array;
|
||||
}
|
||||
|
68
src/2da6d6c4-eb29-4d69-8bc2-36d96e916adf/code.power
Normal file
68
src/2da6d6c4-eb29-4d69-8bc2-36d96e916adf/code.power
Normal file
@ -0,0 +1,68 @@
|
||||
/**
|
||||
* Get any value from a item/field/column of an area/view/table
|
||||
* Example: $this->get('table_name', 'field_name', 'value_key');
|
||||
* Get an item/field/column of an area/view/table
|
||||
* Example: $this->get('table_name', 'field_name');
|
||||
* Get all items/fields/columns of an area/view/table
|
||||
* Example: $this->get('table_name');
|
||||
* Get all areas/views/tables with all their item/field/column details
|
||||
* Example: $this->get('All');
|
||||
*
|
||||
* @param string $table The table
|
||||
* @param string|null $field The field
|
||||
* @param string|null $key The value key
|
||||
*
|
||||
* @return mixed
|
||||
* @since 3.2.0
|
||||
*/
|
||||
public function get(string $table, ?string $field = null, ?string $key = null);
|
||||
|
||||
/**
|
||||
* Get title field from an area/view/table
|
||||
*
|
||||
* @param string $table The area
|
||||
*
|
||||
* @return ?array
|
||||
* @since 3.2.0
|
||||
*/
|
||||
public function title(string $table): ?array;
|
||||
|
||||
/**
|
||||
* Get title field name
|
||||
*
|
||||
* @param string $table The area
|
||||
*
|
||||
* @return string
|
||||
* @since 3.2.0
|
||||
*/
|
||||
public function titleName(string $table): string;
|
||||
|
||||
/**
|
||||
* Get all tables
|
||||
*
|
||||
* @return array
|
||||
* @since 3.2.0
|
||||
*/
|
||||
public function tables(): array;
|
||||
|
||||
/**
|
||||
* Check if a table (and field) exist
|
||||
*
|
||||
* @param string $table The area
|
||||
* @param string|null $field The area
|
||||
*
|
||||
* @return bool
|
||||
* @since 3.2.0
|
||||
*/
|
||||
public function exist(string $table, ?string $field = null): bool;
|
||||
|
||||
/**
|
||||
* Get all fields of an area/view/table
|
||||
*
|
||||
* @param string $table The area
|
||||
* @param bool $default Add the default fields
|
||||
*
|
||||
* @return array|null On success an array of fields
|
||||
* @since 3.2.0
|
||||
*/
|
||||
public function fields(string $table, bool $default = false): ?array;
|
18
src/2da6d6c4-eb29-4d69-8bc2-36d96e916adf/settings.json
Normal file
18
src/2da6d6c4-eb29-4d69-8bc2-36d96e916adf/settings.json
Normal file
@ -0,0 +1,18 @@
|
||||
{
|
||||
"add_head": "0",
|
||||
"add_licensing_template": "2",
|
||||
"extends": "0",
|
||||
"guid": "2da6d6c4-eb29-4d69-8bc2-36d96e916adf",
|
||||
"implements": null,
|
||||
"load_selection": null,
|
||||
"name": "Tableinterface",
|
||||
"power_version": "1.0.0",
|
||||
"system_name": "VDM.Interfaces.Tableinterface",
|
||||
"type": "interface",
|
||||
"use_selection": null,
|
||||
"namespace": "VDM\\Joomla\\Interfaces.Tableinterface",
|
||||
"description": "The VDM Core Table Interface",
|
||||
"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": ""
|
||||
}
|
@ -7,7 +7,7 @@
|
||||
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
|
||||
```
|
||||
# final class Insert (Details)
|
||||
> namespace: **VDM\Joomla\Componentbuilder\Database**
|
||||
> namespace: **VDM\Joomla\Database**
|
||||
```uml
|
||||
@startuml
|
||||
class Insert << (F,LightGreen) >> #Green {
|
||||
|
@ -9,13 +9,13 @@
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
namespace VDM\Joomla\Componentbuilder\Database;
|
||||
namespace VDM\Joomla\Database;
|
||||
|
||||
|
||||
use Joomla\CMS\Date\Date;
|
||||
use VDM\Joomla\Utilities\ArrayHelper;
|
||||
use VDM\Joomla\Componentbuilder\Interfaces\InsertInterface;
|
||||
use VDM\Joomla\Componentbuilder\Abstraction\Database;
|
||||
use VDM\Joomla\Interfaces\InsertInterface;
|
||||
use VDM\Joomla\Abstraction\Database;
|
||||
|
||||
|
||||
/**
|
||||
|
@ -9,7 +9,7 @@
|
||||
"load_selection": null,
|
||||
"name": "Insert",
|
||||
"power_version": "1.0.0",
|
||||
"system_name": "JCB.Database.Insert",
|
||||
"system_name": "VDM.Database.Insert",
|
||||
"type": "final class",
|
||||
"use_selection": {
|
||||
"use_selection0": {
|
||||
@ -17,7 +17,7 @@
|
||||
"as": "default"
|
||||
}
|
||||
},
|
||||
"namespace": "VDM\\Joomla\\Componentbuilder.Database.Insert",
|
||||
"namespace": "VDM\\Joomla\\Database.Insert",
|
||||
"description": "Database Insert Class\r\n\r\n@since 3.2.0",
|
||||
"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\\Date\\Date;",
|
||||
|
@ -7,7 +7,7 @@
|
||||
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
|
||||
```
|
||||
# abstract class Model (Details)
|
||||
> namespace: **VDM\Joomla\Componentbuilder\Abstraction**
|
||||
> namespace: **VDM\Joomla\Abstraction**
|
||||
```uml
|
||||
@startuml
|
||||
abstract Model #Orange {
|
||||
|
@ -9,16 +9,16 @@
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
namespace VDM\Joomla\Componentbuilder\Abstraction;
|
||||
namespace VDM\Joomla\Abstraction;
|
||||
|
||||
|
||||
use VDM\Joomla\Utilities\StringHelper;
|
||||
use VDM\Joomla\Utilities\ArrayHelper;
|
||||
use VDM\Joomla\Componentbuilder\Table;
|
||||
use VDM\Joomla\Interfaces\Tableinterface as Table;
|
||||
|
||||
|
||||
/**
|
||||
* Our base Model
|
||||
* Base Model
|
||||
*
|
||||
* @since 3.2.0
|
||||
*/
|
||||
@ -114,7 +114,7 @@ abstract class Model
|
||||
}
|
||||
}
|
||||
|
||||
// all items must have more than one field or its empty (1 = id or guid)
|
||||
// all items must have more than one field or its empty (1 = key)
|
||||
if ($field_number > 1)
|
||||
{
|
||||
return $item_bucket;
|
||||
@ -341,7 +341,6 @@ abstract class Model
|
||||
* @return string
|
||||
* @since 3.2.0
|
||||
*/
|
||||
abstract protected function getTable(): string;
|
||||
|
||||
abstract protected function getTable(): string;
|
||||
}
|
||||
|
||||
|
@ -88,7 +88,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
// all items must have more than one field or its empty (1 = id or guid)
|
||||
// all items must have more than one field or its empty (1 = key)
|
||||
if ($field_number > 1)
|
||||
{
|
||||
return $item_bucket;
|
||||
@ -315,4 +315,4 @@
|
||||
* @return string
|
||||
* @since 3.2.0
|
||||
*/
|
||||
abstract protected function getTable(): string;
|
||||
abstract protected function getTable(): string;
|
@ -7,7 +7,7 @@
|
||||
"load_selection": null,
|
||||
"name": "Model",
|
||||
"power_version": "1.0.0",
|
||||
"system_name": "JCB.Abstraction.Model",
|
||||
"system_name": "VDM.Abstraction.Model",
|
||||
"type": "abstract class",
|
||||
"use_selection": {
|
||||
"use_selection0": {
|
||||
@ -19,12 +19,12 @@
|
||||
"as": "default"
|
||||
},
|
||||
"use_selection2": {
|
||||
"use": "bfd1d6d5-56c1-4fe9-9fee-1c5910e1f5d8",
|
||||
"as": "default"
|
||||
"use": "2da6d6c4-eb29-4d69-8bc2-36d96e916adf",
|
||||
"as": "Table"
|
||||
}
|
||||
},
|
||||
"namespace": "VDM\\Joomla\\Componentbuilder.Abstraction.Model",
|
||||
"description": "Our base Model\r\n\r\n@since 3.2.0",
|
||||
"namespace": "VDM\\Joomla\\Abstraction.Model",
|
||||
"description": "Base Model\r\n\r\n@since 3.2.0",
|
||||
"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": ""
|
||||
|
@ -7,7 +7,7 @@
|
||||
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
|
||||
```
|
||||
# abstract class Database (Details)
|
||||
> namespace: **VDM\Joomla\Componentbuilder\Abstraction**
|
||||
> namespace: **VDM\Joomla\Abstraction**
|
||||
```uml
|
||||
@startuml
|
||||
abstract Database #Orange {
|
||||
|
@ -9,7 +9,7 @@
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
namespace VDM\Joomla\Componentbuilder\Abstraction;
|
||||
namespace VDM\Joomla\Abstraction;
|
||||
|
||||
|
||||
use Joomla\CMS\Factory as JoomlaFactory;
|
||||
@ -113,7 +113,6 @@ abstract class Database
|
||||
}
|
||||
|
||||
return $table;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -88,4 +88,4 @@
|
||||
}
|
||||
|
||||
return $table;
|
||||
}
|
||||
}
|
@ -7,7 +7,7 @@
|
||||
"load_selection": null,
|
||||
"name": "Database",
|
||||
"power_version": "1.0.0",
|
||||
"system_name": "JCB.Abstraction.Database",
|
||||
"system_name": "VDM.Abstraction.Database",
|
||||
"type": "abstract class",
|
||||
"use_selection": {
|
||||
"use_selection0": {
|
||||
@ -15,7 +15,7 @@
|
||||
"as": "default"
|
||||
}
|
||||
},
|
||||
"namespace": "VDM\\Joomla\\Componentbuilder.Abstraction.Database",
|
||||
"namespace": "VDM\\Joomla\\Abstraction.Database",
|
||||
"description": "Database\r\n\r\n@since 3.2.0",
|
||||
"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 as JoomlaFactory;",
|
||||
|
@ -7,7 +7,7 @@
|
||||
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
|
||||
```
|
||||
# interface UpdateInterface (Details)
|
||||
> namespace: **VDM\Joomla\Componentbuilder\Interfaces**
|
||||
> namespace: **VDM\Joomla\Interfaces**
|
||||
```uml
|
||||
@startuml
|
||||
interface UpdateInterface #Lavender {
|
||||
|
@ -9,7 +9,7 @@
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
namespace VDM\Joomla\Componentbuilder\Interfaces;
|
||||
namespace VDM\Joomla\Interfaces;
|
||||
|
||||
|
||||
/**
|
||||
@ -67,7 +67,6 @@ interface UpdateInterface
|
||||
* @return bool
|
||||
* @since 3.2.0
|
||||
**/
|
||||
public function item(object $data, string $key, string $table): bool;
|
||||
|
||||
public function item(object $data, string $key, string $table): bool;
|
||||
}
|
||||
|
||||
|
@ -46,4 +46,4 @@
|
||||
* @return bool
|
||||
* @since 3.2.0
|
||||
**/
|
||||
public function item(object $data, string $key, string $table): bool;
|
||||
public function item(object $data, string $key, string $table): bool;
|
@ -7,10 +7,10 @@
|
||||
"load_selection": null,
|
||||
"name": "UpdateInterface",
|
||||
"power_version": "1.0.0",
|
||||
"system_name": "JCB.Interfaces.UpdateInterface",
|
||||
"system_name": "VDM.Interfaces.UpdateInterface",
|
||||
"type": "interface",
|
||||
"use_selection": null,
|
||||
"namespace": "VDM\\Joomla\\Componentbuilder.Interfaces.UpdateInterface",
|
||||
"namespace": "VDM\\Joomla\\Interfaces.UpdateInterface",
|
||||
"description": "Database Update Interface\r\n\r\n@since 3.2.0",
|
||||
"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": "",
|
||||
|
@ -7,7 +7,7 @@
|
||||
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
|
||||
```
|
||||
# interface ModelInterface (Details)
|
||||
> namespace: **VDM\Joomla\Componentbuilder\Interfaces**
|
||||
> namespace: **VDM\Joomla\Interfaces**
|
||||
```uml
|
||||
@startuml
|
||||
interface ModelInterface #Lavender {
|
||||
|
@ -9,7 +9,7 @@
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
namespace VDM\Joomla\Componentbuilder\Interfaces;
|
||||
namespace VDM\Joomla\Interfaces;
|
||||
|
||||
|
||||
/**
|
||||
@ -89,7 +89,6 @@ interface ModelInterface
|
||||
* @return int|null
|
||||
* @since 3.2.0
|
||||
*/
|
||||
public function last(?string $table = null): ?int;
|
||||
|
||||
public function last(?string $table = null): ?int;
|
||||
}
|
||||
|
||||
|
@ -68,4 +68,4 @@
|
||||
* @return int|null
|
||||
* @since 3.2.0
|
||||
*/
|
||||
public function last(?string $table = null): ?int;
|
||||
public function last(?string $table = null): ?int;
|
@ -7,10 +7,10 @@
|
||||
"load_selection": null,
|
||||
"name": "ModelInterface",
|
||||
"power_version": "1.0.0",
|
||||
"system_name": "JCB.Interfaces.ModelInterface",
|
||||
"system_name": "VDM.Interfaces.ModelInterface",
|
||||
"type": "interface",
|
||||
"use_selection": null,
|
||||
"namespace": "VDM\\Joomla\\Componentbuilder.Interfaces.ModelInterface",
|
||||
"namespace": "VDM\\Joomla\\Interfaces.ModelInterface",
|
||||
"description": "Model Interface\r\n\r\n@since 3.2.0",
|
||||
"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": "",
|
||||
|
@ -7,7 +7,7 @@
|
||||
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
|
||||
```
|
||||
# interface InsertInterface (Details)
|
||||
> namespace: **VDM\Joomla\Componentbuilder\Interfaces**
|
||||
> namespace: **VDM\Joomla\Interfaces**
|
||||
```uml
|
||||
@startuml
|
||||
interface InsertInterface #Lavender {
|
||||
|
@ -9,7 +9,7 @@
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
namespace VDM\Joomla\Componentbuilder\Interfaces;
|
||||
namespace VDM\Joomla\Interfaces;
|
||||
|
||||
|
||||
/**
|
||||
@ -73,7 +73,6 @@ interface InsertInterface
|
||||
* @return bool
|
||||
* @since 3.2.0
|
||||
**/
|
||||
public function item(object $data, string $table): bool;
|
||||
|
||||
public function item(object $data, string $table): bool;
|
||||
}
|
||||
|
||||
|
@ -52,4 +52,4 @@
|
||||
* @return bool
|
||||
* @since 3.2.0
|
||||
**/
|
||||
public function item(object $data, string $table): bool;
|
||||
public function item(object $data, string $table): bool;
|
@ -10,7 +10,7 @@
|
||||
"system_name": "JCB.Interfaces.InsertInterface",
|
||||
"type": "interface",
|
||||
"use_selection": null,
|
||||
"namespace": "VDM\\Joomla\\Componentbuilder.Interfaces.InsertInterface",
|
||||
"namespace": "VDM\\Joomla\\Interfaces.InsertInterface",
|
||||
"description": "Database Insert Interface\r\n\r\n@since 3.2.0",
|
||||
"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": "",
|
||||
|
@ -11,75 +11,7 @@
|
||||
```uml
|
||||
@startuml
|
||||
class Table #Gold {
|
||||
+ get(string $table, ?string $field = null, ...) : mixed
|
||||
+ title(string $table) : ?array
|
||||
+ titleName(string $table) : string
|
||||
+ tables() : array
|
||||
+ exist(string $table, ?string $field = null) : bool
|
||||
+ fields(string $table, bool $default = false) : ?array
|
||||
# addDefault(array $fields) : array
|
||||
}
|
||||
|
||||
note right of Table::get
|
||||
Get any value from a item/field/column of an area/view/table
|
||||
Example: $this->get('table_name', 'field_name', 'value_key');
|
||||
Get an item/field/column of an area/view/table
|
||||
Example: $this->get('table_name', 'field_name');
|
||||
Get all items/fields/columns of an area/view/table
|
||||
Example: $this->get('table_name');
|
||||
Get all areas/views/tables with all their item/field/column details
|
||||
Example: $this->get('All');
|
||||
|
||||
since: 3.2.0
|
||||
return: mixed
|
||||
|
||||
arguments:
|
||||
string $table
|
||||
?string $field = null
|
||||
?string $key = null
|
||||
end note
|
||||
|
||||
note right of Table::title
|
||||
Get title field from an area/view/table
|
||||
|
||||
since: 3.2.0
|
||||
return: ?array
|
||||
end note
|
||||
|
||||
note right of Table::titleName
|
||||
Get title field name
|
||||
|
||||
since: 3.2.0
|
||||
return: string
|
||||
end note
|
||||
|
||||
note right of Table::tables
|
||||
Get all tables
|
||||
|
||||
since: 3.2.0
|
||||
return: array
|
||||
end note
|
||||
|
||||
note right of Table::exist
|
||||
Check if a table (and field) exist
|
||||
|
||||
since: 3.2.0
|
||||
return: bool
|
||||
end note
|
||||
|
||||
note right of Table::fields
|
||||
Get all fields of an area/view/table
|
||||
|
||||
since: 3.2.0
|
||||
return: ?array
|
||||
end note
|
||||
|
||||
note right of Table::addDefault
|
||||
Add the default fields
|
||||
|
||||
since: 3.2.0
|
||||
return: array
|
||||
end note
|
||||
|
||||
@enduml
|
||||
```
|
||||
|
@ -12,7 +12,8 @@
|
||||
namespace VDM\Joomla\Componentbuilder;
|
||||
|
||||
|
||||
use VDM\Joomla\Componentbuilder\Interfaces\Tableinterface;
|
||||
use VDM\Joomla\Interfaces\Tableinterface;
|
||||
use VDM\Joomla\Abstraction\BaseTable;
|
||||
|
||||
|
||||
/**
|
||||
@ -20,7 +21,7 @@ use VDM\Joomla\Componentbuilder\Interfaces\Tableinterface;
|
||||
*
|
||||
* @since 3.2.0
|
||||
*/
|
||||
class Table implements Tableinterface
|
||||
class Table extends BaseTable implements Tableinterface
|
||||
{
|
||||
/**
|
||||
* All areas/views/tables with their field details
|
||||
@ -5543,199 +5544,6 @@ class Table implements Tableinterface
|
||||
'tab_name' => 'Basic',
|
||||
],
|
||||
],
|
||||
];
|
||||
|
||||
/**
|
||||
* Get any value from a item/field/column of an area/view/table
|
||||
* Example: $this->get('table_name', 'field_name', 'value_key');
|
||||
* Get an item/field/column of an area/view/table
|
||||
* Example: $this->get('table_name', 'field_name');
|
||||
* Get all items/fields/columns of an area/view/table
|
||||
* Example: $this->get('table_name');
|
||||
* Get all areas/views/tables with all their item/field/column details
|
||||
* Example: $this->get('All');
|
||||
*
|
||||
* @param string $table The table
|
||||
* @param string|null $field The field
|
||||
* @param string|null $key The value key
|
||||
*
|
||||
* @return mixed
|
||||
* @since 3.2.0
|
||||
*/
|
||||
public function get(string $table, ?string $field = null, ?string $key = null)
|
||||
{
|
||||
// return the item/field/column of an area/view/table
|
||||
if (is_string($field) && is_string($key))
|
||||
{
|
||||
// return the value of a item/field/column of an area/view/table
|
||||
if (isset($this->tables[$table][$field][$key]))
|
||||
{
|
||||
return $this->tables[$table][$field][$key];
|
||||
}
|
||||
return null;
|
||||
}
|
||||
// return the item/field/column of an area/view/table
|
||||
elseif (is_string($field))
|
||||
{
|
||||
if (isset($this->tables[$table][$field]))
|
||||
{
|
||||
return $this->tables[$table][$field];
|
||||
}
|
||||
return null;
|
||||
}
|
||||
// return an area/view/table
|
||||
elseif ($table !== 'All')
|
||||
{
|
||||
if (isset($this->tables[$table]))
|
||||
{
|
||||
return $this->tables[$table];
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
// return all
|
||||
return $this->tables;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get title field from an area/view/table
|
||||
*
|
||||
* @param string $table The area
|
||||
*
|
||||
* @return ?array
|
||||
* @since 3.2.0
|
||||
*/
|
||||
public function title(string $table): ?array
|
||||
{
|
||||
// return the title item/field/column of an area/view/table
|
||||
if (($table = $this->get($table)) !== null)
|
||||
{
|
||||
foreach ($table as $item)
|
||||
{
|
||||
if ($item['title'])
|
||||
{
|
||||
return $item;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// none found
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get title field name
|
||||
*
|
||||
* @param string $table The area
|
||||
*
|
||||
* @return string
|
||||
* @since 3.2.0
|
||||
*/
|
||||
public function titleName(string $table): string
|
||||
{
|
||||
// return the title name of an area/view/table
|
||||
if (($field = $this->title($table)) !== null)
|
||||
{
|
||||
return $field['name'];
|
||||
}
|
||||
|
||||
// none found default to ID
|
||||
return 'id';
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all tables
|
||||
*
|
||||
* @return array
|
||||
* @since 3.2.0
|
||||
*/
|
||||
public function tables(): array
|
||||
{
|
||||
// return all areas/views/tables
|
||||
return array_keys($this->tables);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if a table (and field) exist
|
||||
*
|
||||
* @param string $table The area
|
||||
* @param string|null $field The area
|
||||
*
|
||||
* @return bool
|
||||
* @since 3.2.0
|
||||
*/
|
||||
public function exist(string $table, ?string $field = null): bool
|
||||
{
|
||||
if (isset($this->tables[$table]))
|
||||
{
|
||||
// if we have a field
|
||||
if (is_string($field))
|
||||
{
|
||||
if (isset($this->tables[$table][$field]))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all fields of an area/view/table
|
||||
*
|
||||
* @param string $table The area
|
||||
* @param bool $default Add the default fields
|
||||
*
|
||||
* @return array|null On success an array of fields
|
||||
* @since 3.2.0
|
||||
*/
|
||||
public function fields(string $table, bool $default = false): ?array
|
||||
{
|
||||
// return all fields of an area/view/table
|
||||
if (($table = $this->get($table)) !== null)
|
||||
{
|
||||
if ($default)
|
||||
{
|
||||
return $this->addDefault(array_keys($table));
|
||||
}
|
||||
else
|
||||
{
|
||||
return array_keys($table);
|
||||
}
|
||||
}
|
||||
|
||||
// none found
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the default fields
|
||||
*
|
||||
* @param array $fields The table dynamic fields
|
||||
*
|
||||
* @return array Fields (with defaults added)
|
||||
* @since 3.2.0
|
||||
*/
|
||||
protected function addDefault(array $fields): array
|
||||
{
|
||||
// add default fields
|
||||
array_unshift($fields, 'id');
|
||||
$fields[] = 'ordering';
|
||||
$fields[] = 'published';
|
||||
$fields[] = 'modified_by';
|
||||
$fields[] = 'modified';
|
||||
$fields[] = 'created_by';
|
||||
$fields[] = 'created';
|
||||
$fields[] = 'hits';
|
||||
$fields[] = 'version';
|
||||
|
||||
return $fields;
|
||||
}
|
||||
|
||||
];
|
||||
}
|
||||
|
||||
|
@ -4,196 +4,4 @@
|
||||
* @var array
|
||||
* @since 3.2.0
|
||||
**/
|
||||
protected array $tables = ###ALL_COMPONENT_FIELDS###;
|
||||
|
||||
/**
|
||||
* Get any value from a item/field/column of an area/view/table
|
||||
* Example: $this->get('table_name', 'field_name', 'value_key');
|
||||
* Get an item/field/column of an area/view/table
|
||||
* Example: $this->get('table_name', 'field_name');
|
||||
* Get all items/fields/columns of an area/view/table
|
||||
* Example: $this->get('table_name');
|
||||
* Get all areas/views/tables with all their item/field/column details
|
||||
* Example: $this->get('All');
|
||||
*
|
||||
* @param string $table The table
|
||||
* @param string|null $field The field
|
||||
* @param string|null $key The value key
|
||||
*
|
||||
* @return mixed
|
||||
* @since 3.2.0
|
||||
*/
|
||||
public function get(string $table, ?string $field = null, ?string $key = null)
|
||||
{
|
||||
// return the item/field/column of an area/view/table
|
||||
if (is_string($field) && is_string($key))
|
||||
{
|
||||
// return the value of a item/field/column of an area/view/table
|
||||
if (isset($this->tables[$table][$field][$key]))
|
||||
{
|
||||
return $this->tables[$table][$field][$key];
|
||||
}
|
||||
return null;
|
||||
}
|
||||
// return the item/field/column of an area/view/table
|
||||
elseif (is_string($field))
|
||||
{
|
||||
if (isset($this->tables[$table][$field]))
|
||||
{
|
||||
return $this->tables[$table][$field];
|
||||
}
|
||||
return null;
|
||||
}
|
||||
// return an area/view/table
|
||||
elseif ($table !== 'All')
|
||||
{
|
||||
if (isset($this->tables[$table]))
|
||||
{
|
||||
return $this->tables[$table];
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
// return all
|
||||
return $this->tables;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get title field from an area/view/table
|
||||
*
|
||||
* @param string $table The area
|
||||
*
|
||||
* @return ?array
|
||||
* @since 3.2.0
|
||||
*/
|
||||
public function title(string $table): ?array
|
||||
{
|
||||
// return the title item/field/column of an area/view/table
|
||||
if (($table = $this->get($table)) !== null)
|
||||
{
|
||||
foreach ($table as $item)
|
||||
{
|
||||
if ($item['title'])
|
||||
{
|
||||
return $item;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// none found
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get title field name
|
||||
*
|
||||
* @param string $table The area
|
||||
*
|
||||
* @return string
|
||||
* @since 3.2.0
|
||||
*/
|
||||
public function titleName(string $table): string
|
||||
{
|
||||
// return the title name of an area/view/table
|
||||
if (($field = $this->title($table)) !== null)
|
||||
{
|
||||
return $field['name'];
|
||||
}
|
||||
|
||||
// none found default to ID
|
||||
return 'id';
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all tables
|
||||
*
|
||||
* @return array
|
||||
* @since 3.2.0
|
||||
*/
|
||||
public function tables(): array
|
||||
{
|
||||
// return all areas/views/tables
|
||||
return array_keys($this->tables);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if a table (and field) exist
|
||||
*
|
||||
* @param string $table The area
|
||||
* @param string|null $field The area
|
||||
*
|
||||
* @return bool
|
||||
* @since 3.2.0
|
||||
*/
|
||||
public function exist(string $table, ?string $field = null): bool
|
||||
{
|
||||
if (isset($this->tables[$table]))
|
||||
{
|
||||
// if we have a field
|
||||
if (is_string($field))
|
||||
{
|
||||
if (isset($this->tables[$table][$field]))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all fields of an area/view/table
|
||||
*
|
||||
* @param string $table The area
|
||||
* @param bool $default Add the default fields
|
||||
*
|
||||
* @return array|null On success an array of fields
|
||||
* @since 3.2.0
|
||||
*/
|
||||
public function fields(string $table, bool $default = false): ?array
|
||||
{
|
||||
// return all fields of an area/view/table
|
||||
if (($table = $this->get($table)) !== null)
|
||||
{
|
||||
if ($default)
|
||||
{
|
||||
return $this->addDefault(array_keys($table));
|
||||
}
|
||||
else
|
||||
{
|
||||
return array_keys($table);
|
||||
}
|
||||
}
|
||||
|
||||
// none found
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the default fields
|
||||
*
|
||||
* @param array $fields The table dynamic fields
|
||||
*
|
||||
* @return array Fields (with defaults added)
|
||||
* @since 3.2.0
|
||||
*/
|
||||
protected function addDefault(array $fields): array
|
||||
{
|
||||
// add default fields
|
||||
array_unshift($fields, 'id');
|
||||
$fields[] = 'ordering';
|
||||
$fields[] = 'published';
|
||||
$fields[] = 'modified_by';
|
||||
$fields[] = 'modified';
|
||||
$fields[] = 'created_by';
|
||||
$fields[] = 'created';
|
||||
$fields[] = 'hits';
|
||||
$fields[] = 'version';
|
||||
|
||||
return $fields;
|
||||
}
|
||||
protected array $tables = ###ALL_COMPONENT_FIELDS###;
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"add_head": "0",
|
||||
"add_licensing_template": "2",
|
||||
"extends": "0",
|
||||
"extends": "e0f6ddbe-2a35-4537-942c-faff2ebd04f6",
|
||||
"guid": "bfd1d6d5-56c1-4fe9-9fee-1c5910e1f5d8",
|
||||
"implements": [
|
||||
"2da6d6c4-eb29-4d69-8bc2-36d96e916adf"
|
||||
|
@ -7,7 +7,7 @@
|
||||
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
|
||||
```
|
||||
# interface FactoryInterface (Details)
|
||||
> namespace: **VDM\Joomla\Componentbuilder\Interfaces**
|
||||
> namespace: **VDM\Joomla\Interfaces**
|
||||
```uml
|
||||
@startuml
|
||||
interface FactoryInterface #Lavender {
|
||||
|
@ -9,7 +9,7 @@
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
namespace VDM\Joomla\Componentbuilder\Interfaces;
|
||||
namespace VDM\Joomla\Interfaces;
|
||||
|
||||
|
||||
use Joomla\DI\Container;
|
||||
@ -36,7 +36,6 @@ interface FactoryInterface
|
||||
* @return Container
|
||||
* @since 3.2.0
|
||||
*/
|
||||
public static function getContainer(): Container;
|
||||
|
||||
public static function getContainer(): Container;
|
||||
}
|
||||
|
||||
|
@ -14,4 +14,4 @@
|
||||
* @return Container
|
||||
* @since 3.2.0
|
||||
*/
|
||||
public static function getContainer(): Container;
|
||||
public static function getContainer(): Container;
|
@ -7,10 +7,10 @@
|
||||
"load_selection": null,
|
||||
"name": "FactoryInterface",
|
||||
"power_version": "1.0.0",
|
||||
"system_name": "JCB.Interfaces.FactoryInterface",
|
||||
"system_name": "VDM.Interfaces.FactoryInterface",
|
||||
"type": "interface",
|
||||
"use_selection": null,
|
||||
"namespace": "VDM\\Joomla\\Componentbuilder.Interfaces.FactoryInterface",
|
||||
"namespace": "VDM\\Joomla\\Interfaces.FactoryInterface",
|
||||
"description": "The Container Factory Interface",
|
||||
"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\\DI\\Container;",
|
||||
|
@ -7,7 +7,7 @@
|
||||
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
|
||||
```
|
||||
# final class Update (Details)
|
||||
> namespace: **VDM\Joomla\Componentbuilder\Database**
|
||||
> namespace: **VDM\Joomla\Database**
|
||||
```uml
|
||||
@startuml
|
||||
class Update << (F,LightGreen) >> #Green {
|
||||
|
@ -9,11 +9,11 @@
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
namespace VDM\Joomla\Componentbuilder\Database;
|
||||
namespace VDM\Joomla\Database;
|
||||
|
||||
|
||||
use VDM\Joomla\Componentbuilder\Interfaces\UpdateInterface;
|
||||
use VDM\Joomla\Componentbuilder\Abstraction\Database;
|
||||
use VDM\Joomla\Interfaces\UpdateInterface;
|
||||
use VDM\Joomla\Abstraction\Database;
|
||||
|
||||
|
||||
/**
|
||||
@ -183,7 +183,6 @@ final class Update extends Database implements UpdateInterface
|
||||
{
|
||||
// convert to an array
|
||||
return $this->row((array) get_object_vars($data), $key, $table);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -158,4 +158,4 @@
|
||||
{
|
||||
// convert to an array
|
||||
return $this->row((array) get_object_vars($data), $key, $table);
|
||||
}
|
||||
}
|
@ -9,10 +9,10 @@
|
||||
"load_selection": null,
|
||||
"name": "Update",
|
||||
"power_version": "1.0.0",
|
||||
"system_name": "JCB.Database.Update",
|
||||
"system_name": "VDM.Database.Update",
|
||||
"type": "final class",
|
||||
"use_selection": null,
|
||||
"namespace": "VDM\\Joomla\\Componentbuilder.Database.Update",
|
||||
"namespace": "VDM\\Joomla\\Database.Update",
|
||||
"description": "Database Update Class\r\n\r\n@since 3.2.0",
|
||||
"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": "",
|
||||
|
98
src/e0f6ddbe-2a35-4537-942c-faff2ebd04f6/README.md
Normal file
98
src/e0f6ddbe-2a35-4537-942c-faff2ebd04f6/README.md
Normal file
@ -0,0 +1,98 @@
|
||||
```
|
||||
██████╗ ██████╗ ██╗ ██╗███████╗██████╗
|
||||
██╔══██╗██╔═══██╗██║ ██║██╔════╝██╔══██╗
|
||||
██████╔╝██║ ██║██║ █╗ ██║█████╗ ██████╔╝
|
||||
██╔═══╝ ██║ ██║██║███╗██║██╔══╝ ██╔══██╗
|
||||
██║ ╚██████╔╝╚███╔███╔╝███████╗██║ ██║
|
||||
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
|
||||
```
|
||||
# abstract class BaseTable (Details)
|
||||
> namespace: **VDM\Joomla\Abstraction**
|
||||
```uml
|
||||
@startuml
|
||||
abstract BaseTable #Orange {
|
||||
# array $tables
|
||||
+ get(string $table, ?string $field = null, ...) : mixed
|
||||
+ title(string $table) : ?array
|
||||
+ titleName(string $table) : string
|
||||
+ tables() : array
|
||||
+ exist(string $table, ?string $field = null) : bool
|
||||
+ fields(string $table, bool $default = false) : ?array
|
||||
# addDefault(array $fields) : array
|
||||
}
|
||||
|
||||
note right of BaseTable::get
|
||||
Get any value from a item/field/column of an area/view/table
|
||||
Example: $this->get('table_name', 'field_name', 'value_key');
|
||||
Get an item/field/column of an area/view/table
|
||||
Example: $this->get('table_name', 'field_name');
|
||||
Get all items/fields/columns of an area/view/table
|
||||
Example: $this->get('table_name');
|
||||
Get all areas/views/tables with all their item/field/column details
|
||||
Example: $this->get('All');
|
||||
|
||||
since: 3.2.0
|
||||
return: mixed
|
||||
|
||||
arguments:
|
||||
string $table
|
||||
?string $field = null
|
||||
?string $key = null
|
||||
end note
|
||||
|
||||
note right of BaseTable::title
|
||||
Get title field from an area/view/table
|
||||
|
||||
since: 3.2.0
|
||||
return: ?array
|
||||
end note
|
||||
|
||||
note right of BaseTable::titleName
|
||||
Get title field name
|
||||
|
||||
since: 3.2.0
|
||||
return: string
|
||||
end note
|
||||
|
||||
note right of BaseTable::tables
|
||||
Get all tables
|
||||
|
||||
since: 3.2.0
|
||||
return: array
|
||||
end note
|
||||
|
||||
note right of BaseTable::exist
|
||||
Check if a table (and field) exist
|
||||
|
||||
since: 3.2.0
|
||||
return: bool
|
||||
end note
|
||||
|
||||
note right of BaseTable::fields
|
||||
Get all fields of an area/view/table
|
||||
|
||||
since: 3.2.0
|
||||
return: ?array
|
||||
end note
|
||||
|
||||
note right of BaseTable::addDefault
|
||||
Add the default fields
|
||||
|
||||
since: 3.2.0
|
||||
return: array
|
||||
end note
|
||||
|
||||
@enduml
|
||||
```
|
||||
|
||||
---
|
||||
```
|
||||
██╗ ██████╗██████╗
|
||||
██║██╔════╝██╔══██╗
|
||||
██║██║ ██████╔╝
|
||||
██ ██║██║ ██╔══██╗
|
||||
╚█████╔╝╚██████╗██████╔╝
|
||||
╚════╝ ╚═════╝╚═════╝
|
||||
```
|
||||
> Build with [Joomla Component Builder](https://git.vdm.dev/joomla/Component-Builder)
|
||||
|
225
src/e0f6ddbe-2a35-4537-942c-faff2ebd04f6/code.php
Normal file
225
src/e0f6ddbe-2a35-4537-942c-faff2ebd04f6/code.php
Normal file
@ -0,0 +1,225 @@
|
||||
<?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\Abstraction;
|
||||
|
||||
|
||||
use VDM\Joomla\Interfaces\Tableinterface;
|
||||
|
||||
|
||||
/**
|
||||
* Base Table
|
||||
*
|
||||
* @since 3.2.0
|
||||
*/
|
||||
abstract class BaseTable implements Tableinterface
|
||||
{
|
||||
/**
|
||||
* All areas/views/tables with their field details
|
||||
*
|
||||
* @var array
|
||||
* @since 3.2.0
|
||||
**/
|
||||
protected array $tables;
|
||||
|
||||
/**
|
||||
* Get any value from a item/field/column of an area/view/table
|
||||
* Example: $this->get('table_name', 'field_name', 'value_key');
|
||||
* Get an item/field/column of an area/view/table
|
||||
* Example: $this->get('table_name', 'field_name');
|
||||
* Get all items/fields/columns of an area/view/table
|
||||
* Example: $this->get('table_name');
|
||||
* Get all areas/views/tables with all their item/field/column details
|
||||
* Example: $this->get('All');
|
||||
*
|
||||
* @param string $table The table
|
||||
* @param string|null $field The field
|
||||
* @param string|null $key The value key
|
||||
*
|
||||
* @return mixed
|
||||
* @since 3.2.0
|
||||
*/
|
||||
public function get(string $table, ?string $field = null, ?string $key = null)
|
||||
{
|
||||
// return the item/field/column of an area/view/table
|
||||
if (is_string($field) && is_string($key))
|
||||
{
|
||||
// return the value of a item/field/column of an area/view/table
|
||||
if (isset($this->tables[$table][$field][$key]))
|
||||
{
|
||||
return $this->tables[$table][$field][$key];
|
||||
}
|
||||
return null;
|
||||
}
|
||||
// return the item/field/column of an area/view/table
|
||||
elseif (is_string($field))
|
||||
{
|
||||
if (isset($this->tables[$table][$field]))
|
||||
{
|
||||
return $this->tables[$table][$field];
|
||||
}
|
||||
return null;
|
||||
}
|
||||
// return an area/view/table
|
||||
elseif ($table !== 'All')
|
||||
{
|
||||
if (isset($this->tables[$table]))
|
||||
{
|
||||
return $this->tables[$table];
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
// return all
|
||||
return $this->tables;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get title field from an area/view/table
|
||||
*
|
||||
* @param string $table The area
|
||||
*
|
||||
* @return ?array
|
||||
* @since 3.2.0
|
||||
*/
|
||||
public function title(string $table): ?array
|
||||
{
|
||||
// return the title item/field/column of an area/view/table
|
||||
if (($table = $this->get($table)) !== null)
|
||||
{
|
||||
foreach ($table as $item)
|
||||
{
|
||||
if ($item['title'])
|
||||
{
|
||||
return $item;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// none found
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get title field name
|
||||
*
|
||||
* @param string $table The area
|
||||
*
|
||||
* @return string
|
||||
* @since 3.2.0
|
||||
*/
|
||||
public function titleName(string $table): string
|
||||
{
|
||||
// return the title name of an area/view/table
|
||||
if (($field = $this->title($table)) !== null)
|
||||
{
|
||||
return $field['name'];
|
||||
}
|
||||
|
||||
// none found default to ID
|
||||
return 'id';
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all tables
|
||||
*
|
||||
* @return array
|
||||
* @since 3.2.0
|
||||
*/
|
||||
public function tables(): array
|
||||
{
|
||||
// return all areas/views/tables
|
||||
return array_keys($this->tables);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if a table (and field) exist
|
||||
*
|
||||
* @param string $table The area
|
||||
* @param string|null $field The area
|
||||
*
|
||||
* @return bool
|
||||
* @since 3.2.0
|
||||
*/
|
||||
public function exist(string $table, ?string $field = null): bool
|
||||
{
|
||||
if (isset($this->tables[$table]))
|
||||
{
|
||||
// if we have a field
|
||||
if (is_string($field))
|
||||
{
|
||||
if (isset($this->tables[$table][$field]))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all fields of an area/view/table
|
||||
*
|
||||
* @param string $table The area
|
||||
* @param bool $default Add the default fields
|
||||
*
|
||||
* @return array|null On success an array of fields
|
||||
* @since 3.2.0
|
||||
*/
|
||||
public function fields(string $table, bool $default = false): ?array
|
||||
{
|
||||
// return all fields of an area/view/table
|
||||
if (($table = $this->get($table)) !== null)
|
||||
{
|
||||
if ($default)
|
||||
{
|
||||
return $this->addDefault(array_keys($table));
|
||||
}
|
||||
else
|
||||
{
|
||||
return array_keys($table);
|
||||
}
|
||||
}
|
||||
|
||||
// none found
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the default fields
|
||||
*
|
||||
* @param array $fields The table dynamic fields
|
||||
*
|
||||
* @return array Fields (with defaults added)
|
||||
* @since 3.2.0
|
||||
*/
|
||||
protected function addDefault(array $fields): array
|
||||
{
|
||||
// add default fields
|
||||
array_unshift($fields, 'id');
|
||||
$fields[] = 'ordering';
|
||||
$fields[] = 'published';
|
||||
$fields[] = 'modified_by';
|
||||
$fields[] = 'modified';
|
||||
$fields[] = 'created_by';
|
||||
$fields[] = 'created';
|
||||
$fields[] = 'hits';
|
||||
$fields[] = 'version';
|
||||
|
||||
return $fields;
|
||||
}
|
||||
}
|
||||
|
199
src/e0f6ddbe-2a35-4537-942c-faff2ebd04f6/code.power
Normal file
199
src/e0f6ddbe-2a35-4537-942c-faff2ebd04f6/code.power
Normal file
@ -0,0 +1,199 @@
|
||||
/**
|
||||
* All areas/views/tables with their field details
|
||||
*
|
||||
* @var array
|
||||
* @since 3.2.0
|
||||
**/
|
||||
protected array $tables;
|
||||
|
||||
/**
|
||||
* Get any value from a item/field/column of an area/view/table
|
||||
* Example: $this->get('table_name', 'field_name', 'value_key');
|
||||
* Get an item/field/column of an area/view/table
|
||||
* Example: $this->get('table_name', 'field_name');
|
||||
* Get all items/fields/columns of an area/view/table
|
||||
* Example: $this->get('table_name');
|
||||
* Get all areas/views/tables with all their item/field/column details
|
||||
* Example: $this->get('All');
|
||||
*
|
||||
* @param string $table The table
|
||||
* @param string|null $field The field
|
||||
* @param string|null $key The value key
|
||||
*
|
||||
* @return mixed
|
||||
* @since 3.2.0
|
||||
*/
|
||||
public function get(string $table, ?string $field = null, ?string $key = null)
|
||||
{
|
||||
// return the item/field/column of an area/view/table
|
||||
if (is_string($field) && is_string($key))
|
||||
{
|
||||
// return the value of a item/field/column of an area/view/table
|
||||
if (isset($this->tables[$table][$field][$key]))
|
||||
{
|
||||
return $this->tables[$table][$field][$key];
|
||||
}
|
||||
return null;
|
||||
}
|
||||
// return the item/field/column of an area/view/table
|
||||
elseif (is_string($field))
|
||||
{
|
||||
if (isset($this->tables[$table][$field]))
|
||||
{
|
||||
return $this->tables[$table][$field];
|
||||
}
|
||||
return null;
|
||||
}
|
||||
// return an area/view/table
|
||||
elseif ($table !== 'All')
|
||||
{
|
||||
if (isset($this->tables[$table]))
|
||||
{
|
||||
return $this->tables[$table];
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
// return all
|
||||
return $this->tables;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get title field from an area/view/table
|
||||
*
|
||||
* @param string $table The area
|
||||
*
|
||||
* @return ?array
|
||||
* @since 3.2.0
|
||||
*/
|
||||
public function title(string $table): ?array
|
||||
{
|
||||
// return the title item/field/column of an area/view/table
|
||||
if (($table = $this->get($table)) !== null)
|
||||
{
|
||||
foreach ($table as $item)
|
||||
{
|
||||
if ($item['title'])
|
||||
{
|
||||
return $item;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// none found
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get title field name
|
||||
*
|
||||
* @param string $table The area
|
||||
*
|
||||
* @return string
|
||||
* @since 3.2.0
|
||||
*/
|
||||
public function titleName(string $table): string
|
||||
{
|
||||
// return the title name of an area/view/table
|
||||
if (($field = $this->title($table)) !== null)
|
||||
{
|
||||
return $field['name'];
|
||||
}
|
||||
|
||||
// none found default to ID
|
||||
return 'id';
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all tables
|
||||
*
|
||||
* @return array
|
||||
* @since 3.2.0
|
||||
*/
|
||||
public function tables(): array
|
||||
{
|
||||
// return all areas/views/tables
|
||||
return array_keys($this->tables);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if a table (and field) exist
|
||||
*
|
||||
* @param string $table The area
|
||||
* @param string|null $field The area
|
||||
*
|
||||
* @return bool
|
||||
* @since 3.2.0
|
||||
*/
|
||||
public function exist(string $table, ?string $field = null): bool
|
||||
{
|
||||
if (isset($this->tables[$table]))
|
||||
{
|
||||
// if we have a field
|
||||
if (is_string($field))
|
||||
{
|
||||
if (isset($this->tables[$table][$field]))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all fields of an area/view/table
|
||||
*
|
||||
* @param string $table The area
|
||||
* @param bool $default Add the default fields
|
||||
*
|
||||
* @return array|null On success an array of fields
|
||||
* @since 3.2.0
|
||||
*/
|
||||
public function fields(string $table, bool $default = false): ?array
|
||||
{
|
||||
// return all fields of an area/view/table
|
||||
if (($table = $this->get($table)) !== null)
|
||||
{
|
||||
if ($default)
|
||||
{
|
||||
return $this->addDefault(array_keys($table));
|
||||
}
|
||||
else
|
||||
{
|
||||
return array_keys($table);
|
||||
}
|
||||
}
|
||||
|
||||
// none found
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the default fields
|
||||
*
|
||||
* @param array $fields The table dynamic fields
|
||||
*
|
||||
* @return array Fields (with defaults added)
|
||||
* @since 3.2.0
|
||||
*/
|
||||
protected function addDefault(array $fields): array
|
||||
{
|
||||
// add default fields
|
||||
array_unshift($fields, 'id');
|
||||
$fields[] = 'ordering';
|
||||
$fields[] = 'published';
|
||||
$fields[] = 'modified_by';
|
||||
$fields[] = 'modified';
|
||||
$fields[] = 'created_by';
|
||||
$fields[] = 'created';
|
||||
$fields[] = 'hits';
|
||||
$fields[] = 'version';
|
||||
|
||||
return $fields;
|
||||
}
|
20
src/e0f6ddbe-2a35-4537-942c-faff2ebd04f6/settings.json
Normal file
20
src/e0f6ddbe-2a35-4537-942c-faff2ebd04f6/settings.json
Normal file
@ -0,0 +1,20 @@
|
||||
{
|
||||
"add_head": "0",
|
||||
"add_licensing_template": "2",
|
||||
"extends": "0",
|
||||
"guid": "e0f6ddbe-2a35-4537-942c-faff2ebd04f6",
|
||||
"implements": [
|
||||
"2da6d6c4-eb29-4d69-8bc2-36d96e916adf"
|
||||
],
|
||||
"load_selection": null,
|
||||
"name": "BaseTable",
|
||||
"power_version": "1.0.0",
|
||||
"system_name": "VDM.Abstraction.BaseTable",
|
||||
"type": "abstract class",
|
||||
"use_selection": null,
|
||||
"namespace": "VDM\\Joomla\\Abstraction.BaseTable",
|
||||
"description": "Base Table\r\n\r\n@since 3.2.0",
|
||||
"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": ""
|
||||
}
|
@ -7,13 +7,11 @@
|
||||
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
|
||||
```
|
||||
# abstract class BaseConfig (Details)
|
||||
> namespace: **VDM\Joomla\Componentbuilder\Abstraction**
|
||||
> namespace: **VDM\Joomla\Abstraction**
|
||||
```uml
|
||||
@startuml
|
||||
abstract BaseConfig #Orange {
|
||||
# Input $input
|
||||
# JoomlaRegistry $params
|
||||
+ __construct(?Input $input = null, ?JoomlaRegistry $params = null)
|
||||
+ __construct()
|
||||
+ __set(string $key, mixed $value)
|
||||
+ __get(string $key)
|
||||
+ get(string $path, mixed $default = null) : mixed
|
@ -9,13 +9,10 @@
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
namespace VDM\Joomla\Componentbuilder\Abstraction;
|
||||
namespace VDM\Joomla\Abstraction;
|
||||
|
||||
|
||||
use Joomla\Registry\Registry as JoomlaRegistry;
|
||||
use Joomla\CMS\Factory;
|
||||
use Joomla\Input\Input;
|
||||
use VDM\Joomla\Utilities\Component\Helper;
|
||||
use Joomla\Registry\Registry as JoomlaRegistry;
|
||||
use VDM\Joomla\Utilities\String\ClassfunctionHelper;
|
||||
|
||||
|
||||
@ -26,36 +23,13 @@ use VDM\Joomla\Utilities\String\ClassfunctionHelper;
|
||||
*/
|
||||
abstract class BaseConfig extends JoomlaRegistry
|
||||
{
|
||||
/**
|
||||
* Hold a JInput object for easier access to the input variables.
|
||||
*
|
||||
* @var Input
|
||||
* @since 3.2.0
|
||||
*/
|
||||
protected Input $input;
|
||||
|
||||
/**
|
||||
* The Params
|
||||
*
|
||||
* @var JoomlaRegistry
|
||||
* @since 3.2.0
|
||||
*/
|
||||
protected JoomlaRegistry $params;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param Input|null $input Input
|
||||
* @param Registry|null $params The component parameters
|
||||
*
|
||||
* @throws \Exception
|
||||
* @since 3.2.0
|
||||
*/
|
||||
public function __construct(?Input $input = null, ?JoomlaRegistry $params = null)
|
||||
public function __construct()
|
||||
{
|
||||
$this->input = $input ?: Factory::getApplication()->input;
|
||||
$this->params = $params ?: Helper::getParams('com_componentbuilder');
|
||||
|
||||
// Instantiate the internal data object.
|
||||
$this->data = new \stdClass();
|
||||
}
|
||||
@ -143,7 +117,6 @@ abstract class BaseConfig extends JoomlaRegistry
|
||||
}
|
||||
|
||||
return $this->append($path, $value);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -1,33 +1,10 @@
|
||||
/**
|
||||
* Hold a JInput object for easier access to the input variables.
|
||||
*
|
||||
* @var Input
|
||||
* @since 3.2.0
|
||||
*/
|
||||
protected Input $input;
|
||||
|
||||
/**
|
||||
* The Params
|
||||
*
|
||||
* @var JoomlaRegistry
|
||||
* @since 3.2.0
|
||||
*/
|
||||
protected JoomlaRegistry $params;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param Input|null $input Input
|
||||
* @param Registry|null $params The component parameters
|
||||
*
|
||||
* @throws \Exception
|
||||
* @since 3.2.0
|
||||
*/
|
||||
public function __construct(?Input $input = null, ?JoomlaRegistry $params = null)
|
||||
public function __construct()
|
||||
{
|
||||
$this->input = $input ?: Factory::getApplication()->input;
|
||||
$this->params = $params ?: Helper::getParams('com_componentbuilder');
|
||||
|
||||
// Instantiate the internal data object.
|
||||
$this->data = new \stdClass();
|
||||
}
|
||||
@ -115,4 +92,4 @@
|
||||
}
|
||||
|
||||
return $this->append($path, $value);
|
||||
}
|
||||
}
|
@ -2,27 +2,23 @@
|
||||
"add_head": "1",
|
||||
"add_licensing_template": "2",
|
||||
"extends": "-1",
|
||||
"guid": "9769f3b2-17bf-4f20-b54b-3a4ebe572b36",
|
||||
"guid": "ffbd4e1f-a342-4080-ab7d-1de3741bf319",
|
||||
"implements": null,
|
||||
"load_selection": null,
|
||||
"name": "BaseConfig",
|
||||
"power_version": "1.0.0",
|
||||
"system_name": "JCB.Abstraction.BaseConfig",
|
||||
"system_name": "VDM.Abstraction.BaseConfig",
|
||||
"type": "abstract class",
|
||||
"use_selection": {
|
||||
"use_selection0": {
|
||||
"use": "640b5352-fb09-425f-a26e-cd44eda03f15",
|
||||
"as": "default"
|
||||
},
|
||||
"use_selection1": {
|
||||
"use": "30c5b4c2-f75f-4d15-869a-f8bfedd87358",
|
||||
"as": "default"
|
||||
}
|
||||
},
|
||||
"namespace": "VDM\\Joomla\\Componentbuilder.Abstraction.BaseConfig",
|
||||
"namespace": "VDM\\Joomla\\Abstraction.BaseConfig",
|
||||
"description": "Config\r\n\r\n@since 3.2.0",
|
||||
"extends_custom": "JoomlaRegistry",
|
||||
"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\\Registry\\Registry as JoomlaRegistry;\r\nuse Joomla\\CMS\\Factory;\r\nuse Joomla\\Input\\Input;",
|
||||
"head": "use Joomla\\Registry\\Registry as JoomlaRegistry;",
|
||||
"composer": ""
|
||||
}
|
@ -2,7 +2,7 @@
|
||||
"06f8eada-d59b-441c-b287-0aea1793da5a": {
|
||||
"name": "Load",
|
||||
"type": "final class",
|
||||
"namespace": "VDM\\Joomla\\Componentbuilder\\Database",
|
||||
"namespace": "VDM\\Joomla\\Database",
|
||||
"code": "src\/06f8eada-d59b-441c-b287-0aea1793da5a\/code.php",
|
||||
"power": "src\/06f8eada-d59b-441c-b287-0aea1793da5a\/code.power",
|
||||
"settings": "src\/06f8eada-d59b-441c-b287-0aea1793da5a\/settings.json",
|
||||
@ -54,6 +54,28 @@
|
||||
"spk": "Super__1f28cb53_60d9_4db1_b517_3c7dc6b429ef__Power",
|
||||
"guid": "1f28cb53-60d9-4db1-b517-3c7dc6b429ef"
|
||||
},
|
||||
"2ad31f74-f579-499d-b98b-c4f54fd615dd": {
|
||||
"name": "LoadInterface",
|
||||
"type": "interface",
|
||||
"namespace": "VDM\\Joomla\\Interfaces",
|
||||
"code": "src\/2ad31f74-f579-499d-b98b-c4f54fd615dd\/code.php",
|
||||
"power": "src\/2ad31f74-f579-499d-b98b-c4f54fd615dd\/code.power",
|
||||
"settings": "src\/2ad31f74-f579-499d-b98b-c4f54fd615dd\/settings.json",
|
||||
"path": "src\/2ad31f74-f579-499d-b98b-c4f54fd615dd",
|
||||
"spk": "Super__2ad31f74_f579_499d_b98b_c4f54fd615dd__Power",
|
||||
"guid": "2ad31f74-f579-499d-b98b-c4f54fd615dd"
|
||||
},
|
||||
"2da6d6c4-eb29-4d69-8bc2-36d96e916adf": {
|
||||
"name": "Tableinterface",
|
||||
"type": "interface",
|
||||
"namespace": "VDM\\Joomla\\Interfaces",
|
||||
"code": "src\/2da6d6c4-eb29-4d69-8bc2-36d96e916adf\/code.php",
|
||||
"power": "src\/2da6d6c4-eb29-4d69-8bc2-36d96e916adf\/code.power",
|
||||
"settings": "src\/2da6d6c4-eb29-4d69-8bc2-36d96e916adf\/settings.json",
|
||||
"path": "src\/2da6d6c4-eb29-4d69-8bc2-36d96e916adf",
|
||||
"spk": "Super__2da6d6c4_eb29_4d69_8bc2_36d96e916adf__Power",
|
||||
"guid": "2da6d6c4-eb29-4d69-8bc2-36d96e916adf"
|
||||
},
|
||||
"30c5b4c2-f75f-4d15-869a-f8bfedd87358": {
|
||||
"name": "ClassfunctionHelper",
|
||||
"type": "abstract class",
|
||||
@ -101,7 +123,7 @@
|
||||
"524eb8f6-38d4-47dc-92ad-98b94e099ac0": {
|
||||
"name": "Insert",
|
||||
"type": "final class",
|
||||
"namespace": "VDM\\Joomla\\Componentbuilder\\Database",
|
||||
"namespace": "VDM\\Joomla\\Database",
|
||||
"code": "src\/524eb8f6-38d4-47dc-92ad-98b94e099ac0\/code.php",
|
||||
"power": "src\/524eb8f6-38d4-47dc-92ad-98b94e099ac0\/code.power",
|
||||
"settings": "src\/524eb8f6-38d4-47dc-92ad-98b94e099ac0\/settings.json",
|
||||
@ -112,7 +134,7 @@
|
||||
"584747d1-3a86-453d-b7a3-a2219de8d777": {
|
||||
"name": "Model",
|
||||
"type": "abstract class",
|
||||
"namespace": "VDM\\Joomla\\Componentbuilder\\Abstraction",
|
||||
"namespace": "VDM\\Joomla\\Abstraction",
|
||||
"code": "src\/584747d1-3a86-453d-b7a3-a2219de8d777\/code.php",
|
||||
"power": "src\/584747d1-3a86-453d-b7a3-a2219de8d777\/code.power",
|
||||
"settings": "src\/584747d1-3a86-453d-b7a3-a2219de8d777\/settings.json",
|
||||
@ -134,7 +156,7 @@
|
||||
"6cbef8f8-4813-48e3-b05a-65e1aea95171": {
|
||||
"name": "Database",
|
||||
"type": "abstract class",
|
||||
"namespace": "VDM\\Joomla\\Componentbuilder\\Abstraction",
|
||||
"namespace": "VDM\\Joomla\\Abstraction",
|
||||
"code": "src\/6cbef8f8-4813-48e3-b05a-65e1aea95171\/code.php",
|
||||
"power": "src\/6cbef8f8-4813-48e3-b05a-65e1aea95171\/code.power",
|
||||
"settings": "src\/6cbef8f8-4813-48e3-b05a-65e1aea95171\/settings.json",
|
||||
@ -145,7 +167,7 @@
|
||||
"7179fde6-1e51-4b51-8545-7ca18f74a0f4": {
|
||||
"name": "UpdateInterface",
|
||||
"type": "interface",
|
||||
"namespace": "VDM\\Joomla\\Componentbuilder\\Interfaces",
|
||||
"namespace": "VDM\\Joomla\\Interfaces",
|
||||
"code": "src\/7179fde6-1e51-4b51-8545-7ca18f74a0f4\/code.php",
|
||||
"power": "src\/7179fde6-1e51-4b51-8545-7ca18f74a0f4\/code.power",
|
||||
"settings": "src\/7179fde6-1e51-4b51-8545-7ca18f74a0f4\/settings.json",
|
||||
@ -167,7 +189,7 @@
|
||||
"8aef58c1-3f70-4bd4-b9e4-3f29fcd41cff": {
|
||||
"name": "ModelInterface",
|
||||
"type": "interface",
|
||||
"namespace": "VDM\\Joomla\\Componentbuilder\\Interfaces",
|
||||
"namespace": "VDM\\Joomla\\Interfaces",
|
||||
"code": "src\/8aef58c1-3f70-4bd4-b9e4-3f29fcd41cff\/code.php",
|
||||
"power": "src\/8aef58c1-3f70-4bd4-b9e4-3f29fcd41cff\/code.power",
|
||||
"settings": "src\/8aef58c1-3f70-4bd4-b9e4-3f29fcd41cff\/settings.json",
|
||||
@ -186,17 +208,6 @@
|
||||
"spk": "Super__91004529_94a9_4590_b842_e7c6b624ecf5__Power",
|
||||
"guid": "91004529-94a9-4590-b842-e7c6b624ecf5"
|
||||
},
|
||||
"9769f3b2-17bf-4f20-b54b-3a4ebe572b36": {
|
||||
"name": "BaseConfig",
|
||||
"type": "abstract class",
|
||||
"namespace": "VDM\\Joomla\\Componentbuilder\\Abstraction",
|
||||
"code": "src\/9769f3b2-17bf-4f20-b54b-3a4ebe572b36\/code.php",
|
||||
"power": "src\/9769f3b2-17bf-4f20-b54b-3a4ebe572b36\/code.power",
|
||||
"settings": "src\/9769f3b2-17bf-4f20-b54b-3a4ebe572b36\/settings.json",
|
||||
"path": "src\/9769f3b2-17bf-4f20-b54b-3a4ebe572b36",
|
||||
"spk": "Super__9769f3b2_17bf_4f20_b54b_3a4ebe572b36__Power",
|
||||
"guid": "9769f3b2-17bf-4f20-b54b-3a4ebe572b36"
|
||||
},
|
||||
"9c513baf-b279-43fd-ae29-a585c8cbc4f0": {
|
||||
"name": "GuidHelper",
|
||||
"type": "abstract class",
|
||||
@ -244,7 +255,7 @@
|
||||
"ad12ca1c-d3ce-4e7f-88c5-c6c92bdedc48": {
|
||||
"name": "InsertInterface",
|
||||
"type": "interface",
|
||||
"namespace": "VDM\\Joomla\\Componentbuilder\\Interfaces",
|
||||
"namespace": "VDM\\Joomla\\Interfaces",
|
||||
"code": "src\/ad12ca1c-d3ce-4e7f-88c5-c6c92bdedc48\/code.php",
|
||||
"power": "src\/ad12ca1c-d3ce-4e7f-88c5-c6c92bdedc48\/code.power",
|
||||
"settings": "src\/ad12ca1c-d3ce-4e7f-88c5-c6c92bdedc48\/settings.json",
|
||||
@ -288,7 +299,7 @@
|
||||
"caf33c5d-858c-4f9a-894f-ab302ec5445a": {
|
||||
"name": "FactoryInterface",
|
||||
"type": "interface",
|
||||
"namespace": "VDM\\Joomla\\Componentbuilder\\Interfaces",
|
||||
"namespace": "VDM\\Joomla\\Interfaces",
|
||||
"code": "src\/caf33c5d-858c-4f9a-894f-ab302ec5445a\/code.php",
|
||||
"power": "src\/caf33c5d-858c-4f9a-894f-ab302ec5445a\/code.power",
|
||||
"settings": "src\/caf33c5d-858c-4f9a-894f-ab302ec5445a\/settings.json",
|
||||
@ -299,7 +310,7 @@
|
||||
"cce56585-58b0-4f72-a92c-e2635ea52d83": {
|
||||
"name": "Update",
|
||||
"type": "final class",
|
||||
"namespace": "VDM\\Joomla\\Componentbuilder\\Database",
|
||||
"namespace": "VDM\\Joomla\\Database",
|
||||
"code": "src\/cce56585-58b0-4f72-a92c-e2635ea52d83\/code.php",
|
||||
"power": "src\/cce56585-58b0-4f72-a92c-e2635ea52d83\/code.power",
|
||||
"settings": "src\/cce56585-58b0-4f72-a92c-e2635ea52d83\/settings.json",
|
||||
@ -339,5 +350,27 @@
|
||||
"path": "src\/db87c339-5bb6-4291-a7ef-2c48ea1b06bc",
|
||||
"spk": "Super__db87c339_5bb6_4291_a7ef_2c48ea1b06bc__Power",
|
||||
"guid": "db87c339-5bb6-4291-a7ef-2c48ea1b06bc"
|
||||
},
|
||||
"e0f6ddbe-2a35-4537-942c-faff2ebd04f6": {
|
||||
"name": "BaseTable",
|
||||
"type": "abstract class",
|
||||
"namespace": "VDM\\Joomla\\Abstraction",
|
||||
"code": "src\/e0f6ddbe-2a35-4537-942c-faff2ebd04f6\/code.php",
|
||||
"power": "src\/e0f6ddbe-2a35-4537-942c-faff2ebd04f6\/code.power",
|
||||
"settings": "src\/e0f6ddbe-2a35-4537-942c-faff2ebd04f6\/settings.json",
|
||||
"path": "src\/e0f6ddbe-2a35-4537-942c-faff2ebd04f6",
|
||||
"spk": "Super__e0f6ddbe_2a35_4537_942c_faff2ebd04f6__Power",
|
||||
"guid": "e0f6ddbe-2a35-4537-942c-faff2ebd04f6"
|
||||
},
|
||||
"ffbd4e1f-a342-4080-ab7d-1de3741bf319": {
|
||||
"name": "BaseConfig",
|
||||
"type": "abstract class",
|
||||
"namespace": "VDM\\Joomla\\Abstraction",
|
||||
"code": "src\/ffbd4e1f-a342-4080-ab7d-1de3741bf319\/code.php",
|
||||
"power": "src\/ffbd4e1f-a342-4080-ab7d-1de3741bf319\/code.power",
|
||||
"settings": "src\/ffbd4e1f-a342-4080-ab7d-1de3741bf319\/settings.json",
|
||||
"path": "src\/ffbd4e1f-a342-4080-ab7d-1de3741bf319",
|
||||
"spk": "Super__ffbd4e1f_a342_4080_ab7d_1de3741bf319__Power",
|
||||
"guid": "ffbd4e1f-a342-4080-ab7d-1de3741bf319"
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user