forked from joomla/super-powers
Update 2024-07-16 14:12:12
This commit is contained in:
parent
5d28565ce7
commit
087a84ab8b
168
README.md
168
README.md
@ -25,112 +25,124 @@ This repository contains an index (see below) of all the approved powers within
|
|||||||
|
|
||||||
- **Namespace**: [VDM\Joomla\Abstraction](#vdm-joomla-abstraction)
|
- **Namespace**: [VDM\Joomla\Abstraction](#vdm-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 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) | SPK: `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 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) | SPK: `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 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) | SPK: `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 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) | SPK: `Super---6cbef8f8_4813_48e3_b05a_65e1aea95171---Power`
|
||||||
- **abstract class Factory** | [Details](src/2e5bf608-de5c-4b00-a20d-47c26aa350d9) | [Code](src/2e5bf608-de5c-4b00-a20d-47c26aa350d9/code.php) | [Settings](src/2e5bf608-de5c-4b00-a20d-47c26aa350d9/settings.json) | Super__2e5bf608_de5c_4b00_a20d_47c26aa350d9__Power
|
- **abstract class Factory** | [Details](src/2e5bf608-de5c-4b00-a20d-47c26aa350d9) | [Code](src/2e5bf608-de5c-4b00-a20d-47c26aa350d9/code.php) | [Settings](src/2e5bf608-de5c-4b00-a20d-47c26aa350d9/settings.json) | SPK: `Super---2e5bf608_de5c_4b00_a20d_47c26aa350d9---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 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) | SPK: `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 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) | SPK: `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 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) | SPK: `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
|
- **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) | SPK: `Super---f3c04c28_bce4_422e_be93_7d163e4e342b---Power`
|
||||||
|
- **abstract class SchemaChecker** | [Details](src/5f0205fa-5c43-424a-af7d-abc943c17c8c) | [Code](src/5f0205fa-5c43-424a-af7d-abc943c17c8c/code.php) | [Settings](src/5f0205fa-5c43-424a-af7d-abc943c17c8c/settings.json) | SPK: `Super---5f0205fa_5c43_424a_af7d_abc943c17c8c---Power`
|
||||||
- **Namespace**: [VDM\Joomla\Componentbuilder](#vdm-joomla-componentbuilder)
|
- **Namespace**: [VDM\Joomla\Componentbuilder](#vdm-joomla-componentbuilder)
|
||||||
|
|
||||||
- **final 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
|
- **final 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) | SPK: `Super---bfd1d6d5_56c1_4fe9_9fee_1c5910e1f5d8---Power`
|
||||||
- **Namespace**: [VDM\Joomla\Data](#vdm-joomla-data)
|
- **Namespace**: [VDM\Joomla\Data](#vdm-joomla-data)
|
||||||
|
|
||||||
- **abstract class Factory** | [Details](src/9d76b8dc-3883-4755-b11c-131d19ca8a53) | [Code](src/9d76b8dc-3883-4755-b11c-131d19ca8a53/code.php) | [Settings](src/9d76b8dc-3883-4755-b11c-131d19ca8a53/settings.json) | Super__9d76b8dc_3883_4755_b11c_131d19ca8a53__Power
|
- **abstract class Factory** | [Details](src/9d76b8dc-3883-4755-b11c-131d19ca8a53) | [Code](src/9d76b8dc-3883-4755-b11c-131d19ca8a53/code.php) | [Settings](src/9d76b8dc-3883-4755-b11c-131d19ca8a53/settings.json) | SPK: `Super---9d76b8dc_3883_4755_b11c_131d19ca8a53---Power`
|
||||||
- **final class Item** | [Details](src/9206082e-a3f7-472e-98b2-de90d06cbdcd) | [Code](src/9206082e-a3f7-472e-98b2-de90d06cbdcd/code.php) | [Settings](src/9206082e-a3f7-472e-98b2-de90d06cbdcd/settings.json) | Super__9206082e_a3f7_472e_98b2_de90d06cbdcd__Power
|
- **final class Item** | [Details](src/9206082e-a3f7-472e-98b2-de90d06cbdcd) | [Code](src/9206082e-a3f7-472e-98b2-de90d06cbdcd/code.php) | [Settings](src/9206082e-a3f7-472e-98b2-de90d06cbdcd/settings.json) | SPK: `Super---9206082e_a3f7_472e_98b2_de90d06cbdcd---Power`
|
||||||
- **final class Items** | [Details](src/21bca8a4-5b28-41c4-843e-8097f0ba7cca) | [Code](src/21bca8a4-5b28-41c4-843e-8097f0ba7cca/code.php) | [Settings](src/21bca8a4-5b28-41c4-843e-8097f0ba7cca/settings.json) | Super__21bca8a4_5b28_41c4_843e_8097f0ba7cca__Power
|
- **final class Items** | [Details](src/21bca8a4-5b28-41c4-843e-8097f0ba7cca) | [Code](src/21bca8a4-5b28-41c4-843e-8097f0ba7cca/code.php) | [Settings](src/21bca8a4-5b28-41c4-843e-8097f0ba7cca/settings.json) | SPK: `Super---21bca8a4_5b28_41c4_843e_8097f0ba7cca---Power`
|
||||||
- **final class MultiSubform** | [Details](src/e0198c3f-777a-4a0b-87b7-e6a198afc8f9) | [Code](src/e0198c3f-777a-4a0b-87b7-e6a198afc8f9/code.php) | [Settings](src/e0198c3f-777a-4a0b-87b7-e6a198afc8f9/settings.json) | Super__e0198c3f_777a_4a0b_87b7_e6a198afc8f9__Power
|
- **final class MultiSubform** | [Details](src/e0198c3f-777a-4a0b-87b7-e6a198afc8f9) | [Code](src/e0198c3f-777a-4a0b-87b7-e6a198afc8f9/code.php) | [Settings](src/e0198c3f-777a-4a0b-87b7-e6a198afc8f9/settings.json) | SPK: `Super---e0198c3f_777a_4a0b_87b7_e6a198afc8f9---Power`
|
||||||
- **final class Subform** | [Details](src/85785701-07b2-4f81-bc1e-0f423700c254) | [Code](src/85785701-07b2-4f81-bc1e-0f423700c254/code.php) | [Settings](src/85785701-07b2-4f81-bc1e-0f423700c254/settings.json) | Super__85785701_07b2_4f81_bc1e_0f423700c254__Power
|
- **final class Subform** | [Details](src/85785701-07b2-4f81-bc1e-0f423700c254) | [Code](src/85785701-07b2-4f81-bc1e-0f423700c254/code.php) | [Settings](src/85785701-07b2-4f81-bc1e-0f423700c254/settings.json) | SPK: `Super---85785701_07b2_4f81_bc1e_0f423700c254---Power`
|
||||||
- **class Remote** | [Details](src/728ee726-3f0f-4762-899d-f8c9430cee58) | [Code](src/728ee726-3f0f-4762-899d-f8c9430cee58/code.php) | [Settings](src/728ee726-3f0f-4762-899d-f8c9430cee58/settings.json) | Super__728ee726_3f0f_4762_899d_f8c9430cee58__Power
|
|
||||||
- **class Repository** | [Details](src/eb7d69c2-4ee9-4bd0-aacc-ab51a12be895) | [Code](src/eb7d69c2-4ee9-4bd0-aacc-ab51a12be895/code.php) | [Settings](src/eb7d69c2-4ee9-4bd0-aacc-ab51a12be895/settings.json) | Super__eb7d69c2_4ee9_4bd0_aacc_ab51a12be895__Power
|
|
||||||
- **Namespace**: [VDM\Joomla\Database](#vdm-joomla-database)
|
- **Namespace**: [VDM\Joomla\Database](#vdm-joomla-database)
|
||||||
|
|
||||||
- **final class Delete** | [Details](src/92291f1f-f248-4ec0-9f2a-3d47c49eeac1) | [Code](src/92291f1f-f248-4ec0-9f2a-3d47c49eeac1/code.php) | [Settings](src/92291f1f-f248-4ec0-9f2a-3d47c49eeac1/settings.json) | Super__92291f1f_f248_4ec0_9f2a_3d47c49eeac1__Power
|
- **final class Delete** | [Details](src/92291f1f-f248-4ec0-9f2a-3d47c49eeac1) | [Code](src/92291f1f-f248-4ec0-9f2a-3d47c49eeac1/code.php) | [Settings](src/92291f1f-f248-4ec0-9f2a-3d47c49eeac1/settings.json) | SPK: `Super---92291f1f_f248_4ec0_9f2a_3d47c49eeac1---Power`
|
||||||
- **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 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) | SPK: `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 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) | SPK: `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
|
- **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) | SPK: `Super---cce56585_58b0_4f72_a92c_e2635ea52d83---Power`
|
||||||
- **Namespace**: [VDM\Joomla\Interfaces](#vdm-joomla-interfaces)
|
- **Namespace**: [VDM\Joomla\Interfaces](#vdm-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 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) | SPK: `Super---af0eedbe_603b_4671_8e5a_28165d88254b---Power`
|
||||||
- **interface DeleteInterface** | [Details](src/9c3aa650-e536-4eea-a2d4-73cc3e184aa9) | [Code](src/9c3aa650-e536-4eea-a2d4-73cc3e184aa9/code.php) | [Settings](src/9c3aa650-e536-4eea-a2d4-73cc3e184aa9/settings.json) | Super__9c3aa650_e536_4eea_a2d4_73cc3e184aa9__Power
|
- **interface DeleteInterface** | [Details](src/9c3aa650-e536-4eea-a2d4-73cc3e184aa9) | [Code](src/9c3aa650-e536-4eea-a2d4-73cc3e184aa9/code.php) | [Settings](src/9c3aa650-e536-4eea-a2d4-73cc3e184aa9/settings.json) | SPK: `Super---9c3aa650_e536_4eea_a2d4_73cc3e184aa9---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 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) | SPK: `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 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) | SPK: `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 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) | SPK: `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 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) | SPK: `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 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) | SPK: `Super---8aef58c1_3f70_4bd4_b9e4_3f29fcd41cff---Power`
|
||||||
- **interface Registryinterface** | [Details](src/64e291c2-11f1-423d-a44d-837cc12cc017) | [Code](src/64e291c2-11f1-423d-a44d-837cc12cc017/code.php) | [Settings](src/64e291c2-11f1-423d-a44d-837cc12cc017/settings.json) | Super__64e291c2_11f1_423d_a44d_837cc12cc017__Power
|
- **interface Registryinterface** | [Details](src/64e291c2-11f1-423d-a44d-837cc12cc017) | [Code](src/64e291c2-11f1-423d-a44d-837cc12cc017/code.php) | [Settings](src/64e291c2-11f1-423d-a44d-837cc12cc017/settings.json) | SPK: `Super---64e291c2_11f1_423d_a44d_837cc12cc017---Power`
|
||||||
- **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 SchemaCheckerInterface** | [Details](src/b6e9854c-3672-42ec-8843-26c24b4635bd) | [Code](src/b6e9854c-3672-42ec-8843-26c24b4635bd/code.php) | [Settings](src/b6e9854c-3672-42ec-8843-26c24b4635bd/settings.json) | SPK: `Super---b6e9854c_3672_42ec_8843_26c24b4635bd---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 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) | SPK: `Super---4dd11b9b_3c64_460b_aaa6_62ba467db7aa---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
|
- **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) | SPK: `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) | SPK: `Super---7179fde6_1e51_4b51_8545_7ca18f74a0f4---Power`
|
||||||
- **Namespace**: [VDM\Joomla\Model](#vdm-joomla-model)
|
- **Namespace**: [VDM\Joomla\Model](#vdm-joomla-model)
|
||||||
|
|
||||||
- **final class Load** | [Details](src/bb29a833-73f7-4283-9327-bc7e41f0723b) | [Code](src/bb29a833-73f7-4283-9327-bc7e41f0723b/code.php) | [Settings](src/bb29a833-73f7-4283-9327-bc7e41f0723b/settings.json) | Super__bb29a833_73f7_4283_9327_bc7e41f0723b__Power
|
- **final class Load** | [Details](src/bb29a833-73f7-4283-9327-bc7e41f0723b) | [Code](src/bb29a833-73f7-4283-9327-bc7e41f0723b/code.php) | [Settings](src/bb29a833-73f7-4283-9327-bc7e41f0723b/settings.json) | SPK: `Super---bb29a833_73f7_4283_9327_bc7e41f0723b---Power`
|
||||||
- **final class Upsert** | [Details](src/7c1fb50f-8fb1-4627-8705-6fedf7182ca5) | [Code](src/7c1fb50f-8fb1-4627-8705-6fedf7182ca5/code.php) | [Settings](src/7c1fb50f-8fb1-4627-8705-6fedf7182ca5/settings.json) | Super__7c1fb50f_8fb1_4627_8705_6fedf7182ca5__Power
|
- **final class Upsert** | [Details](src/7c1fb50f-8fb1-4627-8705-6fedf7182ca5) | [Code](src/7c1fb50f-8fb1-4627-8705-6fedf7182ca5/code.php) | [Settings](src/7c1fb50f-8fb1-4627-8705-6fedf7182ca5/settings.json) | SPK: `Super---7c1fb50f_8fb1_4627_8705_6fedf7182ca5---Power`
|
||||||
- **Namespace**: [VDM\Joomla\Service](#vdm-joomla-service)
|
- **Namespace**: [VDM\Joomla\Service](#vdm-joomla-service)
|
||||||
|
|
||||||
- **class Data** | [Details](src/a5daf189-3345-4b13-8716-c51f686f545b) | [Code](src/a5daf189-3345-4b13-8716-c51f686f545b/code.php) | [Settings](src/a5daf189-3345-4b13-8716-c51f686f545b/settings.json) | Super__a5daf189_3345_4b13_8716_c51f686f545b__Power
|
- **class Data** | [Details](src/a5daf189-3345-4b13-8716-c51f686f545b) | [Code](src/a5daf189-3345-4b13-8716-c51f686f545b/code.php) | [Settings](src/a5daf189-3345-4b13-8716-c51f686f545b/settings.json) | SPK: `Super---a5daf189_3345_4b13_8716_c51f686f545b---Power`
|
||||||
- **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
|
- **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) | SPK: `Super---4815e1c7_a433_443d_a112_d1e03d7df84b---Power`
|
||||||
- **class Model** | [Details](src/2dcedd6c-c95b-4a37-9cac-95d28faedca3) | [Code](src/2dcedd6c-c95b-4a37-9cac-95d28faedca3/code.php) | [Settings](src/2dcedd6c-c95b-4a37-9cac-95d28faedca3/settings.json) | Super__2dcedd6c_c95b_4a37_9cac_95d28faedca3__Power
|
- **class Model** | [Details](src/2dcedd6c-c95b-4a37-9cac-95d28faedca3) | [Code](src/2dcedd6c-c95b-4a37-9cac-95d28faedca3/code.php) | [Settings](src/2dcedd6c-c95b-4a37-9cac-95d28faedca3/settings.json) | SPK: `Super---2dcedd6c_c95b_4a37_9cac_95d28faedca3---Power`
|
||||||
- **class Table** | [Details](src/19b2ba92-1655-4384-acfb-979c80de8b6d) | [Code](src/19b2ba92-1655-4384-acfb-979c80de8b6d/code.php) | [Settings](src/19b2ba92-1655-4384-acfb-979c80de8b6d/settings.json) | Super__19b2ba92_1655_4384_acfb_979c80de8b6d__Power
|
- **class Table** | [Details](src/19b2ba92-1655-4384-acfb-979c80de8b6d) | [Code](src/19b2ba92-1655-4384-acfb-979c80de8b6d/code.php) | [Settings](src/19b2ba92-1655-4384-acfb-979c80de8b6d/settings.json) | SPK: `Super---19b2ba92_1655_4384_acfb_979c80de8b6d---Power`
|
||||||
- **Namespace**: [VDM\Joomla\Utilities](#vdm-joomla-utilities)
|
- **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
|
- **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) | SPK: `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
|
- **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) | SPK: `Super---64a6ff6c_069c_4a11_a76b_db5e36c27690---Power`
|
||||||
- **abstract class FileHelper** | [Details](src/a223b31e-ea1d-4cdf-92ae-5f9becffaff0) | [Code](src/a223b31e-ea1d-4cdf-92ae-5f9becffaff0/code.php) | [Settings](src/a223b31e-ea1d-4cdf-92ae-5f9becffaff0/settings.json) | Super__a223b31e_ea1d_4cdf_92ae_5f9becffaff0__Power
|
- **abstract class ClassHelper** | [Details](src/13c2cac1-a70d-42d7-99fc-eb7ac3443069) | [Code](src/13c2cac1-a70d-42d7-99fc-eb7ac3443069/code.php) | [Settings](src/13c2cac1-a70d-42d7-99fc-eb7ac3443069/settings.json) | SPK: `Super---13c2cac1_a70d_42d7_99fc_eb7ac3443069---Power`
|
||||||
- **abstract class FormHelper** | [Details](src/1198aecf-84c6-45d2-aea8-d531aa4afdfa) | [Code](src/1198aecf-84c6-45d2-aea8-d531aa4afdfa/code.php) | [Settings](src/1198aecf-84c6-45d2-aea8-d531aa4afdfa/settings.json) | Super__1198aecf_84c6_45d2_aea8_d531aa4afdfa__Power
|
- **abstract class FileHelper** | [Details](src/a223b31e-ea1d-4cdf-92ae-5f9becffaff0) | [Code](src/a223b31e-ea1d-4cdf-92ae-5f9becffaff0/code.php) | [Settings](src/a223b31e-ea1d-4cdf-92ae-5f9becffaff0/settings.json) | SPK: `Super---a223b31e_ea1d_4cdf_92ae_5f9becffaff0---Power`
|
||||||
- **abstract class GetHelper** | [Details](src/db87c339-5bb6-4291-a7ef-2c48ea1b06bc) | [Code](src/db87c339-5bb6-4291-a7ef-2c48ea1b06bc/code.php) | [Settings](src/db87c339-5bb6-4291-a7ef-2c48ea1b06bc/settings.json) | Super__db87c339_5bb6_4291_a7ef_2c48ea1b06bc__Power
|
- **abstract class FormHelper** | [Details](src/1198aecf-84c6-45d2-aea8-d531aa4afdfa) | [Code](src/1198aecf-84c6-45d2-aea8-d531aa4afdfa/code.php) | [Settings](src/1198aecf-84c6-45d2-aea8-d531aa4afdfa/settings.json) | SPK: `Super---1198aecf_84c6_45d2_aea8_d531aa4afdfa---Power`
|
||||||
- **abstract class GetHelperExtrusion** | [Details](src/cefe4092-a4c2-41a6-a683-bd3ab5419cc6) | [Code](src/cefe4092-a4c2-41a6-a683-bd3ab5419cc6/code.php) | [Settings](src/cefe4092-a4c2-41a6-a683-bd3ab5419cc6/settings.json) | Super__cefe4092_a4c2_41a6_a683_bd3ab5419cc6__Power
|
- **abstract class GetHelper** | [Details](src/db87c339-5bb6-4291-a7ef-2c48ea1b06bc) | [Code](src/db87c339-5bb6-4291-a7ef-2c48ea1b06bc/code.php) | [Settings](src/db87c339-5bb6-4291-a7ef-2c48ea1b06bc/settings.json) | SPK: `Super---db87c339_5bb6_4291_a7ef_2c48ea1b06bc---Power`
|
||||||
- **abstract class GuidHelper** | [Details](src/9c513baf-b279-43fd-ae29-a585c8cbc4f0) | [Code](src/9c513baf-b279-43fd-ae29-a585c8cbc4f0/code.php) | [Settings](src/9c513baf-b279-43fd-ae29-a585c8cbc4f0/settings.json) | Super__9c513baf_b279_43fd_ae29_a585c8cbc4f0__Power
|
- **abstract class GetHelperExtrusion** | [Details](src/cefe4092-a4c2-41a6-a683-bd3ab5419cc6) | [Code](src/cefe4092-a4c2-41a6-a683-bd3ab5419cc6/code.php) | [Settings](src/cefe4092-a4c2-41a6-a683-bd3ab5419cc6/settings.json) | SPK: `Super---cefe4092_a4c2_41a6_a683_bd3ab5419cc6---Power`
|
||||||
- **abstract class JsonHelper** | [Details](src/4b225c51-d293-48e4-b3f6-5136cf5c3f18) | [Code](src/4b225c51-d293-48e4-b3f6-5136cf5c3f18/code.php) | [Settings](src/4b225c51-d293-48e4-b3f6-5136cf5c3f18/settings.json) | Super__4b225c51_d293_48e4_b3f6_5136cf5c3f18__Power
|
- **abstract class GuidHelper** | [Details](src/9c513baf-b279-43fd-ae29-a585c8cbc4f0) | [Code](src/9c513baf-b279-43fd-ae29-a585c8cbc4f0/code.php) | [Settings](src/9c513baf-b279-43fd-ae29-a585c8cbc4f0/settings.json) | SPK: `Super---9c513baf_b279_43fd_ae29_a585c8cbc4f0---Power`
|
||||||
- **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 JsonHelper** | [Details](src/4b225c51-d293-48e4-b3f6-5136cf5c3f18) | [Code](src/4b225c51-d293-48e4-b3f6-5136cf5c3f18/code.php) | [Settings](src/4b225c51-d293-48e4-b3f6-5136cf5c3f18/settings.json) | SPK: `Super---4b225c51_d293_48e4_b3f6_5136cf5c3f18---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 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) | SPK: `Super---152c8793_8b75_4715_996a_257b9f65451c---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
|
- **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) | SPK: `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) | SPK: `Super---1f28cb53_60d9_4db1_b517_3c7dc6b429ef---Power`
|
||||||
- **Namespace**: [VDM\Joomla\Componentbuilder\Abstraction](#vdm-joomla-componentbuilder-abstraction)
|
- **Namespace**: [VDM\Joomla\Componentbuilder\Abstraction](#vdm-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
|
- **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) | SPK: `Super---b84e947d_2a13_44f7_ac0f_3902ae55ae0c---Power`
|
||||||
- **Namespace**: [VDM\Joomla\Componentbuilder\Table](#vdm-joomla-componentbuilder-table)
|
- **Namespace**: [VDM\Joomla\Componentbuilder\Table](#vdm-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
|
- **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) | SPK: `Super---b3d2ec33_76d4_4c3b_bb2c_86ac14a221ce---Power`
|
||||||
|
- **final class SchemaChecker** | [Details](src/709d7294-9a43-46e2-b64e-d16a16f0eab1) | [Code](src/709d7294-9a43-46e2-b64e-d16a16f0eab1/code.php) | [Settings](src/709d7294-9a43-46e2-b64e-d16a16f0eab1/settings.json) | SPK: `Super---709d7294_9a43_46e2_b64e_d16a16f0eab1---Power`
|
||||||
- **Namespace**: [VDM\Joomla\Data\Action](#vdm-joomla-data-action)
|
- **Namespace**: [VDM\Joomla\Data\Action](#vdm-joomla-data-action)
|
||||||
|
|
||||||
- **class Delete** | [Details](src/3fc72954-a303-4cac-b53c-554be38b85e7) | [Code](src/3fc72954-a303-4cac-b53c-554be38b85e7/code.php) | [Settings](src/3fc72954-a303-4cac-b53c-554be38b85e7/settings.json) | Super__3fc72954_a303_4cac_b53c_554be38b85e7__Power
|
- **class Delete** | [Details](src/3fc72954-a303-4cac-b53c-554be38b85e7) | [Code](src/3fc72954-a303-4cac-b53c-554be38b85e7/code.php) | [Settings](src/3fc72954-a303-4cac-b53c-554be38b85e7/settings.json) | SPK: `Super---3fc72954_a303_4cac_b53c_554be38b85e7---Power`
|
||||||
- **class Insert** | [Details](src/a455d916-cfe4-41df-9245-bafb709aacdb) | [Code](src/a455d916-cfe4-41df-9245-bafb709aacdb/code.php) | [Settings](src/a455d916-cfe4-41df-9245-bafb709aacdb/settings.json) | Super__a455d916_cfe4_41df_9245_bafb709aacdb__Power
|
- **class Insert** | [Details](src/a455d916-cfe4-41df-9245-bafb709aacdb) | [Code](src/a455d916-cfe4-41df-9245-bafb709aacdb/code.php) | [Settings](src/a455d916-cfe4-41df-9245-bafb709aacdb/settings.json) | SPK: `Super---a455d916_cfe4_41df_9245_bafb709aacdb---Power`
|
||||||
- **class Load** | [Details](src/008d111c-9d43-427c-8dd4-2653e8b74be8) | [Code](src/008d111c-9d43-427c-8dd4-2653e8b74be8/code.php) | [Settings](src/008d111c-9d43-427c-8dd4-2653e8b74be8/settings.json) | Super__008d111c_9d43_427c_8dd4_2653e8b74be8__Power
|
- **class Load** | [Details](src/008d111c-9d43-427c-8dd4-2653e8b74be8) | [Code](src/008d111c-9d43-427c-8dd4-2653e8b74be8/code.php) | [Settings](src/008d111c-9d43-427c-8dd4-2653e8b74be8/settings.json) | SPK: `Super---008d111c_9d43_427c_8dd4_2653e8b74be8---Power`
|
||||||
- **class Update** | [Details](src/8f83fb79-f92b-4f1f-952b-325f6c22d11e) | [Code](src/8f83fb79-f92b-4f1f-952b-325f6c22d11e/code.php) | [Settings](src/8f83fb79-f92b-4f1f-952b-325f6c22d11e/settings.json) | Super__8f83fb79_f92b_4f1f_952b_325f6c22d11e__Power
|
- **class Update** | [Details](src/8f83fb79-f92b-4f1f-952b-325f6c22d11e) | [Code](src/8f83fb79-f92b-4f1f-952b-325f6c22d11e/code.php) | [Settings](src/8f83fb79-f92b-4f1f-952b-325f6c22d11e/settings.json) | SPK: `Super---8f83fb79_f92b_4f1f_952b_325f6c22d11e---Power`
|
||||||
|
- **Namespace**: [VDM\Joomla\Data\Remote](#vdm-joomla-data-remote)
|
||||||
|
|
||||||
|
- **class Get** | [Details](src/728ee726-3f0f-4762-899d-f8c9430cee58) | [Code](src/728ee726-3f0f-4762-899d-f8c9430cee58/code.php) | [Settings](src/728ee726-3f0f-4762-899d-f8c9430cee58/settings.json) | SPK: `Super---728ee726_3f0f_4762_899d_f8c9430cee58---Power`
|
||||||
|
- **class Set** | [Details](src/eb7d69c2-4ee9-4bd0-aacc-ab51a12be895) | [Code](src/eb7d69c2-4ee9-4bd0-aacc-ab51a12be895/code.php) | [Settings](src/eb7d69c2-4ee9-4bd0-aacc-ab51a12be895/settings.json) | SPK: `Super---eb7d69c2_4ee9_4bd0_aacc_ab51a12be895---Power`
|
||||||
- **Namespace**: [VDM\Joomla\Interfaces\Data](#vdm-joomla-interfaces-data)
|
- **Namespace**: [VDM\Joomla\Interfaces\Data](#vdm-joomla-interfaces-data)
|
||||||
|
|
||||||
- **interface DeleteInterface** | [Details](src/d8f9ba53-c490-4e8b-8e9f-6757224e069c) | [Code](src/d8f9ba53-c490-4e8b-8e9f-6757224e069c/code.php) | [Settings](src/d8f9ba53-c490-4e8b-8e9f-6757224e069c/settings.json) | Super__d8f9ba53_c490_4e8b_8e9f_6757224e069c__Power
|
- **interface DeleteInterface** | [Details](src/d8f9ba53-c490-4e8b-8e9f-6757224e069c) | [Code](src/d8f9ba53-c490-4e8b-8e9f-6757224e069c/code.php) | [Settings](src/d8f9ba53-c490-4e8b-8e9f-6757224e069c/settings.json) | SPK: `Super---d8f9ba53_c490_4e8b_8e9f_6757224e069c---Power`
|
||||||
- **interface InsertInterface** | [Details](src/03bbc8d5-86e8-4d2f-ae5f-0d44a4f7af13) | [Code](src/03bbc8d5-86e8-4d2f-ae5f-0d44a4f7af13/code.php) | [Settings](src/03bbc8d5-86e8-4d2f-ae5f-0d44a4f7af13/settings.json) | Super__03bbc8d5_86e8_4d2f_ae5f_0d44a4f7af13__Power
|
- **interface InsertInterface** | [Details](src/03bbc8d5-86e8-4d2f-ae5f-0d44a4f7af13) | [Code](src/03bbc8d5-86e8-4d2f-ae5f-0d44a4f7af13/code.php) | [Settings](src/03bbc8d5-86e8-4d2f-ae5f-0d44a4f7af13/settings.json) | SPK: `Super---03bbc8d5_86e8_4d2f_ae5f_0d44a4f7af13---Power`
|
||||||
- **interface ItemInterface** | [Details](src/05744dd3-4030-4cf8-8dda-a93ab809b473) | [Code](src/05744dd3-4030-4cf8-8dda-a93ab809b473/code.php) | [Settings](src/05744dd3-4030-4cf8-8dda-a93ab809b473/settings.json) | Super__05744dd3_4030_4cf8_8dda_a93ab809b473__Power
|
- **interface ItemInterface** | [Details](src/05744dd3-4030-4cf8-8dda-a93ab809b473) | [Code](src/05744dd3-4030-4cf8-8dda-a93ab809b473/code.php) | [Settings](src/05744dd3-4030-4cf8-8dda-a93ab809b473/settings.json) | SPK: `Super---05744dd3_4030_4cf8_8dda_a93ab809b473---Power`
|
||||||
- **interface ItemsInterface** | [Details](src/7212e4db-371f-4cfd-8122-32e9bb100d83) | [Code](src/7212e4db-371f-4cfd-8122-32e9bb100d83/code.php) | [Settings](src/7212e4db-371f-4cfd-8122-32e9bb100d83/settings.json) | Super__7212e4db_371f_4cfd_8122_32e9bb100d83__Power
|
- **interface ItemsInterface** | [Details](src/7212e4db-371f-4cfd-8122-32e9bb100d83) | [Code](src/7212e4db-371f-4cfd-8122-32e9bb100d83/code.php) | [Settings](src/7212e4db-371f-4cfd-8122-32e9bb100d83/settings.json) | SPK: `Super---7212e4db_371f_4cfd_8122_32e9bb100d83---Power`
|
||||||
- **interface LoadInterface** | [Details](src/c548640c-a461-4424-9ac5-8dfb5ed06d8d) | [Code](src/c548640c-a461-4424-9ac5-8dfb5ed06d8d/code.php) | [Settings](src/c548640c-a461-4424-9ac5-8dfb5ed06d8d/settings.json) | Super__c548640c_a461_4424_9ac5_8dfb5ed06d8d__Power
|
- **interface LoadInterface** | [Details](src/c548640c-a461-4424-9ac5-8dfb5ed06d8d) | [Code](src/c548640c-a461-4424-9ac5-8dfb5ed06d8d/code.php) | [Settings](src/c548640c-a461-4424-9ac5-8dfb5ed06d8d/settings.json) | SPK: `Super---c548640c_a461_4424_9ac5_8dfb5ed06d8d---Power`
|
||||||
- **interface MultiSubformInterface** | [Details](src/bb30f709-53d2-446a-ab3d-300fe6de0bc8) | [Code](src/bb30f709-53d2-446a-ab3d-300fe6de0bc8/code.php) | [Settings](src/bb30f709-53d2-446a-ab3d-300fe6de0bc8/settings.json) | Super__bb30f709_53d2_446a_ab3d_300fe6de0bc8__Power
|
- **interface MultiSubformInterface** | [Details](src/bb30f709-53d2-446a-ab3d-300fe6de0bc8) | [Code](src/bb30f709-53d2-446a-ab3d-300fe6de0bc8/code.php) | [Settings](src/bb30f709-53d2-446a-ab3d-300fe6de0bc8/settings.json) | SPK: `Super---bb30f709_53d2_446a_ab3d_300fe6de0bc8---Power`
|
||||||
- **interface RemoteInterface** | [Details](src/51de80f2-2868-4c2c-8198-ef79349e9bd7) | [Code](src/51de80f2-2868-4c2c-8198-ef79349e9bd7/code.php) | [Settings](src/51de80f2-2868-4c2c-8198-ef79349e9bd7/settings.json) | Super__51de80f2_2868_4c2c_8198_ef79349e9bd7__Power
|
- **interface RemoteGetInterface** | [Details](src/51de80f2-2868-4c2c-8198-ef79349e9bd7) | [Code](src/51de80f2-2868-4c2c-8198-ef79349e9bd7/code.php) | [Settings](src/51de80f2-2868-4c2c-8198-ef79349e9bd7/settings.json) | SPK: `Super---51de80f2_2868_4c2c_8198_ef79349e9bd7---Power`
|
||||||
- **interface SubformInterface** | [Details](src/34959721-415b-4b5e-8002-3d1fc84b3b2b) | [Code](src/34959721-415b-4b5e-8002-3d1fc84b3b2b/code.php) | [Settings](src/34959721-415b-4b5e-8002-3d1fc84b3b2b/settings.json) | Super__34959721_415b_4b5e_8002_3d1fc84b3b2b__Power
|
- **interface RemoteSetInterface** | [Details](src/e335dd61-c2f9-4536-8ed9-aec5edee0b26) | [Code](src/e335dd61-c2f9-4536-8ed9-aec5edee0b26/code.php) | [Settings](src/e335dd61-c2f9-4536-8ed9-aec5edee0b26/settings.json) | SPK: `Super---e335dd61_c2f9_4536_8ed9_aec5edee0b26---Power`
|
||||||
- **interface UpdateInterface** | [Details](src/68a41264-64c0-441a-a3d8-8a5e557b1883) | [Code](src/68a41264-64c0-441a-a3d8-8a5e557b1883/code.php) | [Settings](src/68a41264-64c0-441a-a3d8-8a5e557b1883/settings.json) | Super__68a41264_64c0_441a_a3d8_8a5e557b1883__Power
|
- **interface SubformInterface** | [Details](src/34959721-415b-4b5e-8002-3d1fc84b3b2b) | [Code](src/34959721-415b-4b5e-8002-3d1fc84b3b2b/code.php) | [Settings](src/34959721-415b-4b5e-8002-3d1fc84b3b2b/settings.json) | SPK: `Super---34959721_415b_4b5e_8002_3d1fc84b3b2b---Power`
|
||||||
|
- **interface UpdateInterface** | [Details](src/68a41264-64c0-441a-a3d8-8a5e557b1883) | [Code](src/68a41264-64c0-441a-a3d8-8a5e557b1883/code.php) | [Settings](src/68a41264-64c0-441a-a3d8-8a5e557b1883/settings.json) | SPK: `Super---68a41264_64c0_441a_a3d8_8a5e557b1883---Power`
|
||||||
|
- **Namespace**: [VDM\Joomla\Interfaces\Readme](#vdm-joomla-interfaces-readme)
|
||||||
|
|
||||||
|
- **interface ItemInterface** | [Details](src/65a0f81a-14fc-4870-9382-b8d830b19937) | [Code](src/65a0f81a-14fc-4870-9382-b8d830b19937/code.php) | [Settings](src/65a0f81a-14fc-4870-9382-b8d830b19937/settings.json) | SPK: `Super---65a0f81a_14fc_4870_9382_b8d830b19937---Power`
|
||||||
|
- **interface MainInterface** | [Details](src/217416f6-24cf-41c0-b18e-11086111d447) | [Code](src/217416f6-24cf-41c0-b18e-11086111d447/code.php) | [Settings](src/217416f6-24cf-41c0-b18e-11086111d447/settings.json) | SPK: `Super---217416f6_24cf_41c0_b18e_11086111d447---Power`
|
||||||
- **Namespace**: [VDM\Joomla\Utilities\Component](#vdm-joomla-utilities-component)
|
- **Namespace**: [VDM\Joomla\Utilities\Component](#vdm-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
|
- **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) | SPK: `Super---640b5352_fb09_425f_a26e_cd44eda03f15---Power`
|
||||||
- **Namespace**: [VDM\Joomla\Utilities\String](#vdm-joomla-utilities-string)
|
- **Namespace**: [VDM\Joomla\Utilities\String](#vdm-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 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) | SPK: `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
|
- **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) | SPK: `Super---491dbe41_f26c_4de9_8a95_fcf87b35b56f---Power`
|
||||||
- **abstract class FieldHelper** | [Details](src/9ef0eb24-aae4-4f5a-99af-d724db44808f) | [Code](src/9ef0eb24-aae4-4f5a-99af-d724db44808f/code.php) | [Settings](src/9ef0eb24-aae4-4f5a-99af-d724db44808f/settings.json) | Super__9ef0eb24_aae4_4f5a_99af_d724db44808f__Power
|
- **abstract class FieldHelper** | [Details](src/9ef0eb24-aae4-4f5a-99af-d724db44808f) | [Code](src/9ef0eb24-aae4-4f5a-99af-d724db44808f/code.php) | [Settings](src/9ef0eb24-aae4-4f5a-99af-d724db44808f/settings.json) | SPK: `Super---9ef0eb24_aae4_4f5a_99af_d724db44808f---Power`
|
||||||
- **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 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) | SPK: `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 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) | SPK: `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
|
- **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) | SPK: `Super---a8935cbe_7701_40dc_bfd5_675f2d600954---Power`
|
||||||
- **Namespace**: [VDM\Joomla\Abstraction\Registry\Traits](#vdm-joomla-abstraction-registry-traits)
|
- **Namespace**: [VDM\Joomla\Abstraction\Registry\Traits](#vdm-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 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) | SPK: `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
|
- **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) | SPK: `Super---59b1a2ea_d77e_4040_ac8c_e65cd8743e9b---Power`
|
||||||
- **trait InArray** | [Details](src/215b35ac-1b26-4838-bbcf-d1fdbbd9353f) | [Code](src/215b35ac-1b26-4838-bbcf-d1fdbbd9353f/code.php) | [Settings](src/215b35ac-1b26-4838-bbcf-d1fdbbd9353f/settings.json) | Super__215b35ac_1b26_4838_bbcf_d1fdbbd9353f__Power
|
- **trait InArray** | [Details](src/215b35ac-1b26-4838-bbcf-d1fdbbd9353f) | [Code](src/215b35ac-1b26-4838-bbcf-d1fdbbd9353f/code.php) | [Settings](src/215b35ac-1b26-4838-bbcf-d1fdbbd9353f/settings.json) | SPK: `Super---215b35ac_1b26_4838_bbcf_d1fdbbd9353f---Power`
|
||||||
- **trait IsArray** | [Details](src/c09e8968-c767-4175-bb3d-8432f206a2c7) | [Code](src/c09e8968-c767-4175-bb3d-8432f206a2c7/code.php) | [Settings](src/c09e8968-c767-4175-bb3d-8432f206a2c7/settings.json) | Super__c09e8968_c767_4175_bb3d_8432f206a2c7__Power
|
- **trait IsArray** | [Details](src/c09e8968-c767-4175-bb3d-8432f206a2c7) | [Code](src/c09e8968-c767-4175-bb3d-8432f206a2c7/code.php) | [Settings](src/c09e8968-c767-4175-bb3d-8432f206a2c7/settings.json) | SPK: `Super---c09e8968_c767_4175_bb3d_8432f206a2c7---Power`
|
||||||
- **trait IsString** | [Details](src/ff7d0111-8f79-42aa-ac14-b53ba2c49369) | [Code](src/ff7d0111-8f79-42aa-ac14-b53ba2c49369/code.php) | [Settings](src/ff7d0111-8f79-42aa-ac14-b53ba2c49369/settings.json) | Super__ff7d0111_8f79_42aa_ac14_b53ba2c49369__Power
|
- **trait IsString** | [Details](src/ff7d0111-8f79-42aa-ac14-b53ba2c49369) | [Code](src/ff7d0111-8f79-42aa-ac14-b53ba2c49369/code.php) | [Settings](src/ff7d0111-8f79-42aa-ac14-b53ba2c49369/settings.json) | SPK: `Super---ff7d0111_8f79_42aa_ac14_b53ba2c49369---Power`
|
||||||
- **trait ToString** | [Details](src/7d494d91-ab60-43cd-aecf-d50e07f7f30e) | [Code](src/7d494d91-ab60-43cd-aecf-d50e07f7f30e/code.php) | [Settings](src/7d494d91-ab60-43cd-aecf-d50e07f7f30e/settings.json) | Super__7d494d91_ab60_43cd_aecf_d50e07f7f30e__Power
|
- **trait ToString** | [Details](src/7d494d91-ab60-43cd-aecf-d50e07f7f30e) | [Code](src/7d494d91-ab60-43cd-aecf-d50e07f7f30e/code.php) | [Settings](src/7d494d91-ab60-43cd-aecf-d50e07f7f30e/settings.json) | SPK: `Super---7d494d91_ab60_43cd_aecf_d50e07f7f30e---Power`
|
||||||
- **trait VarExport** | [Details](src/52a1d14f-304a-431c-8fa4-411179942db5) | [Code](src/52a1d14f-304a-431c-8fa4-411179942db5/code.php) | [Settings](src/52a1d14f-304a-431c-8fa4-411179942db5/settings.json) | Super__52a1d14f_304a_431c_8fa4_411179942db5__Power
|
- **trait VarExport** | [Details](src/52a1d14f-304a-431c-8fa4-411179942db5) | [Code](src/52a1d14f-304a-431c-8fa4-411179942db5/code.php) | [Settings](src/52a1d14f-304a-431c-8fa4-411179942db5/settings.json) | SPK: `Super---52a1d14f_304a_431c_8fa4_411179942db5---Power`
|
||||||
|
> remember to replace the `---` with `___` in the SPK to activate that Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# class Load (Details)
|
# class Load (Details)
|
||||||
> namespace: **VDM\Joomla\Data\Action**
|
> namespace: **VDM\Joomla\Data\Action**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
class Load #Gold {
|
class Load #Gold {
|
||||||
@ -112,6 +112,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---008d111c_9d43_427c_8dd4_2653e8b74be8---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# interface InsertInterface (Details)
|
# interface InsertInterface (Details)
|
||||||
> namespace: **VDM\Joomla\Interfaces\Data**
|
> namespace: **VDM\Joomla\Interfaces\Data**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
interface InsertInterface #Lavender {
|
interface InsertInterface #Lavender {
|
||||||
@ -84,6 +84,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---03bbc8d5_86e8_4d2f_ae5f_0d44a4f7af13---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# interface ItemInterface (Details)
|
# interface ItemInterface (Details)
|
||||||
> namespace: **VDM\Joomla\Interfaces\Data**
|
> namespace: **VDM\Joomla\Interfaces\Data**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
interface ItemInterface #Lavender {
|
interface ItemInterface #Lavender {
|
||||||
@ -75,6 +75,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---05744dd3_4030_4cf8_8dda_a93ab809b473---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
# final class Load (Details)
|
# final class Load (Details)
|
||||||
> namespace: **VDM\Joomla\Database**
|
> namespace: **VDM\Joomla\Database**
|
||||||
> extends: **Database**
|
> extends: **Database**
|
||||||
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
class Load << (F,LightGreen) >> #RoyalBlue {
|
class Load << (F,LightGreen) >> #RoyalBlue {
|
||||||
@ -179,6 +180,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---06f8eada_d59b_441c_b287_0aea1793da5a---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# abstract class ArrayHelper (Details)
|
# abstract class ArrayHelper (Details)
|
||||||
> namespace: **VDM\Joomla\Utilities**
|
> namespace: **VDM\Joomla\Utilities**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
abstract ArrayHelper #Orange {
|
abstract ArrayHelper #Orange {
|
||||||
@ -40,6 +40,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---0a59c65c_9daf_4bc9_baf4_e063ff9e6a8a---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# trait Count (Details)
|
# trait Count (Details)
|
||||||
> namespace: **VDM\Joomla\Abstraction\Registry\Traits**
|
> namespace: **VDM\Joomla\Abstraction\Registry\Traits**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
class Count << (T,Orange) >> #Turquoise {
|
class Count << (T,Orange) >> #Turquoise {
|
||||||
@ -25,6 +25,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---11572d9b_e3d5_4b29_904c_9618d8f2bfd8---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# abstract class FormHelper (Details)
|
# abstract class FormHelper (Details)
|
||||||
> namespace: **VDM\Joomla\Utilities**
|
> namespace: **VDM\Joomla\Utilities**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
abstract FormHelper #Orange {
|
abstract FormHelper #Orange {
|
||||||
@ -72,6 +72,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---1198aecf_84c6_45d2_aea8_d531aa4afdfa---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
58
src/13c2cac1-a70d-42d7-99fc-eb7ac3443069/README.md
Normal file
58
src/13c2cac1-a70d-42d7-99fc-eb7ac3443069/README.md
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
```
|
||||||
|
██████╗ ██████╗ ██╗ ██╗███████╗██████╗
|
||||||
|
██╔══██╗██╔═══██╗██║ ██║██╔════╝██╔══██╗
|
||||||
|
██████╔╝██║ ██║██║ █╗ ██║█████╗ ██████╔╝
|
||||||
|
██╔═══╝ ██║ ██║██║███╗██║██╔══╝ ██╔══██╗
|
||||||
|
██║ ╚██████╔╝╚███╔███╔╝███████╗██║ ██║
|
||||||
|
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
|
||||||
|
```
|
||||||
|
# abstract class ClassHelper (Details)
|
||||||
|
> namespace: **VDM\Joomla\Utilities**
|
||||||
|
|
||||||
|
```uml
|
||||||
|
@startuml
|
||||||
|
abstract ClassHelper #Orange {
|
||||||
|
+ {static} exists(string $className, string $component, ...) : bool
|
||||||
|
}
|
||||||
|
|
||||||
|
note right of ClassHelper::exists
|
||||||
|
Ensures that a class in the namespace is available.
|
||||||
|
If the class is not already loaded, it attempts to load it via the specified autoloader.
|
||||||
|
|
||||||
|
since: 3.2.2
|
||||||
|
return: bool
|
||||||
|
|
||||||
|
arguments:
|
||||||
|
string $className
|
||||||
|
string $component
|
||||||
|
string $autoloaderPath
|
||||||
|
end note
|
||||||
|
|
||||||
|
@enduml
|
||||||
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---13c2cac1_a70d_42d7_99fc_eb7ac3443069---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
|
---
|
||||||
|
```
|
||||||
|
██╗ ██████╗██████╗
|
||||||
|
██║██╔════╝██╔══██╗
|
||||||
|
██║██║ ██████╔╝
|
||||||
|
██ ██║██║ ██╔══██╗
|
||||||
|
╚█████╔╝╚██████╗██████╔╝
|
||||||
|
╚════╝ ╚═════╝╚═════╝
|
||||||
|
```
|
||||||
|
> Build with [Joomla Component Builder](https://git.vdm.dev/joomla/Component-Builder)
|
||||||
|
|
55
src/13c2cac1-a70d-42d7-99fc-eb7ac3443069/code.php
Normal file
55
src/13c2cac1-a70d-42d7-99fc-eb7ac3443069/code.php
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package Joomla.Component.Builder
|
||||||
|
*
|
||||||
|
* @created 3rd September, 2020
|
||||||
|
* @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\Utilities;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class Helper for JCB Powers
|
||||||
|
*
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
abstract class ClassHelper
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Ensures that a class in the namespace is available.
|
||||||
|
* If the class is not already loaded, it attempts to load it via the specified autoloader.
|
||||||
|
*
|
||||||
|
* @param string $className The fully qualified name of the class to check.
|
||||||
|
* @param string $component The component name where the autoloader resides.
|
||||||
|
* @param string $autoloaderPath The path to the autoloader file within the component.
|
||||||
|
*
|
||||||
|
* @return bool True if the class exists or was successfully loaded, false otherwise.
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
public static function exists(string $className, string $component, string $autoloaderPath): bool
|
||||||
|
{
|
||||||
|
if (!class_exists($className, true))
|
||||||
|
{
|
||||||
|
// Construct the path to the autoloader file
|
||||||
|
$autoloaderFile = JPATH_ADMINISTRATOR . '/components/com_' . $component . '/' . $autoloaderPath;
|
||||||
|
|
||||||
|
if (file_exists($autoloaderFile))
|
||||||
|
{
|
||||||
|
require_once $autoloaderFile;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check again if the class now exists after requiring the autoloader
|
||||||
|
if (!class_exists($className, true))
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
31
src/13c2cac1-a70d-42d7-99fc-eb7ac3443069/code.power
Normal file
31
src/13c2cac1-a70d-42d7-99fc-eb7ac3443069/code.power
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
/**
|
||||||
|
* Ensures that a class in the namespace is available.
|
||||||
|
* If the class is not already loaded, it attempts to load it via the specified autoloader.
|
||||||
|
*
|
||||||
|
* @param string $className The fully qualified name of the class to check.
|
||||||
|
* @param string $component The component name where the autoloader resides.
|
||||||
|
* @param string $autoloaderPath The path to the autoloader file within the component.
|
||||||
|
*
|
||||||
|
* @return bool True if the class exists or was successfully loaded, false otherwise.
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
public static function exists(string $className, string $component, string $autoloaderPath): bool
|
||||||
|
{
|
||||||
|
if (!class_exists($className, true))
|
||||||
|
{
|
||||||
|
// Construct the path to the autoloader file
|
||||||
|
$autoloaderFile = JPATH_ADMINISTRATOR . '/components/com_' . $component . '/' . $autoloaderPath;
|
||||||
|
|
||||||
|
if (file_exists($autoloaderFile))
|
||||||
|
{
|
||||||
|
require_once $autoloaderFile;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check again if the class now exists after requiring the autoloader
|
||||||
|
if (!class_exists($className, true))
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
19
src/13c2cac1-a70d-42d7-99fc-eb7ac3443069/settings.json
Normal file
19
src/13c2cac1-a70d-42d7-99fc-eb7ac3443069/settings.json
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"add_head": "0",
|
||||||
|
"add_licensing_template": "2",
|
||||||
|
"extends": "",
|
||||||
|
"guid": "13c2cac1-a70d-42d7-99fc-eb7ac3443069",
|
||||||
|
"implements": null,
|
||||||
|
"load_selection": null,
|
||||||
|
"name": "ClassHelper",
|
||||||
|
"power_version": "1.0.0",
|
||||||
|
"system_name": "Utilities Class Helper",
|
||||||
|
"type": "abstract class",
|
||||||
|
"use_selection": null,
|
||||||
|
"extendsinterfaces": null,
|
||||||
|
"namespace": "[[[NamespacePrefix]]]\\Joomla\\Utilities.ClassHelper",
|
||||||
|
"description": "Class Helper for JCB Powers\r\n\r\n@since 3.2.2",
|
||||||
|
"licensing_template": "\/**\r\n * @package Joomla.Component.Builder\r\n *\r\n * @created 3rd September, 2020\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": ""
|
||||||
|
}
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# abstract class Grep (Details)
|
# abstract class Grep (Details)
|
||||||
> namespace: **VDM\Joomla\Abstraction**
|
> namespace: **VDM\Joomla\Abstraction**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
abstract Grep #Orange {
|
abstract Grep #Orange {
|
||||||
@ -18,13 +18,32 @@ abstract Grep #Orange {
|
|||||||
# Contents $contents
|
# Contents $contents
|
||||||
# CMSApplication $app
|
# CMSApplication $app
|
||||||
+ __construct(Contents $contents, array $paths, ...)
|
+ __construct(Contents $contents, array $paths, ...)
|
||||||
+ getRemotePowersGuid() : ?array
|
+ get(string $guid, ?array $order = null, ...) : ?object
|
||||||
|
+ exists(string $guid, ?object $repo = null, ...) : bool
|
||||||
|
+ getRemoteGuid() : ?array
|
||||||
+ setBranchField(string $field) : void
|
+ setBranchField(string $field) : void
|
||||||
+ get(string $guid, ?array $order = null) : ?object
|
+ setBranchDefaultName(?string $name) : void
|
||||||
# {abstract} remoteIndex(object $path) : void
|
+ setIndexPath(string $indexPath) : void
|
||||||
# getFunctionName(string $name) : ?string
|
+ getRemoteIndex(string $guid) : ?object
|
||||||
# init() : void
|
# {abstract} setRemoteIndexMessage(string $message, string $path, ...) : void
|
||||||
+ getBranchField() : string
|
# getFunctionName(string $name, string $type = 'search') : ?string
|
||||||
|
# searchSingleRepo(string $guid, array $order, ...) : ?object
|
||||||
|
# searchAllRepos(string $guid, array $order) : ?object
|
||||||
|
# itemExistsInRepo(string $guid, object $repo, ...) : bool
|
||||||
|
# itemExistsInAllRepos(string $guid, array $order) : bool
|
||||||
|
# getBranchField() : string
|
||||||
|
# getBranchDefaultName() : ?string
|
||||||
|
# getBranchName(object $item) : ?string
|
||||||
|
# getIndexPath() : string
|
||||||
|
# itemExists(string $guid, object $repo, ...) : bool
|
||||||
|
# existsLocally(string $guid) : ?object
|
||||||
|
# existsRemotely(string $guid) : ?object
|
||||||
|
# existsLocal(string $guid, object $path) : bool
|
||||||
|
# existsRemote(string $guid, object $path) : bool
|
||||||
|
# indexRemote(object $path) : void
|
||||||
|
# indexLocal(object $path) : void
|
||||||
|
# initializeInstances() : void
|
||||||
|
# loadRemoteFile(string $organisation, string $repository, ...) : mixed
|
||||||
}
|
}
|
||||||
|
|
||||||
note right of Grep::__construct
|
note right of Grep::__construct
|
||||||
@ -39,8 +58,32 @@ note right of Grep::__construct
|
|||||||
?CMSApplication $app = null
|
?CMSApplication $app = null
|
||||||
end note
|
end note
|
||||||
|
|
||||||
note left of Grep::getRemotePowersGuid
|
note left of Grep::get
|
||||||
Get all remote powers GUID's
|
Get an item
|
||||||
|
|
||||||
|
since: 3.2.2
|
||||||
|
return: ?object
|
||||||
|
|
||||||
|
arguments:
|
||||||
|
string $guid
|
||||||
|
?array $order = null
|
||||||
|
?object $repo = null
|
||||||
|
end note
|
||||||
|
|
||||||
|
note right of Grep::exists
|
||||||
|
Check if an item exists in any repo or in a specific repo.
|
||||||
|
|
||||||
|
since: 3.2.2
|
||||||
|
return: bool
|
||||||
|
|
||||||
|
arguments:
|
||||||
|
string $guid
|
||||||
|
?object $repo = null
|
||||||
|
?array $order = null
|
||||||
|
end note
|
||||||
|
|
||||||
|
note left of Grep::getRemoteGuid
|
||||||
|
Get all remote GUID's
|
||||||
|
|
||||||
since: 3.2.0
|
since: 3.2.0
|
||||||
return: ?array
|
return: ?array
|
||||||
@ -53,18 +96,39 @@ note right of Grep::setBranchField
|
|||||||
return: void
|
return: void
|
||||||
end note
|
end note
|
||||||
|
|
||||||
note left of Grep::get
|
note left of Grep::setBranchDefaultName
|
||||||
Get a power
|
Set the DEFAULT branch name (only used if branch field is not found)
|
||||||
|
|
||||||
since: 3.2.0
|
since: 3.2.2
|
||||||
|
return: void
|
||||||
|
end note
|
||||||
|
|
||||||
|
note right of Grep::setIndexPath
|
||||||
|
Set the index path
|
||||||
|
|
||||||
|
since: 3.2.2
|
||||||
|
return: void
|
||||||
|
end note
|
||||||
|
|
||||||
|
note left of Grep::getRemoteIndex
|
||||||
|
Get the index of a repo
|
||||||
|
|
||||||
|
since: 3.2.2
|
||||||
return: ?object
|
return: ?object
|
||||||
end note
|
end note
|
||||||
|
|
||||||
note right of Grep::remoteIndex
|
note right of Grep::setRemoteIndexMessage
|
||||||
Load the remote repository index of powers
|
Set repository messages and errors based on given conditions.
|
||||||
|
|
||||||
since: 3.2.0
|
since: 3.2.0
|
||||||
return: void
|
return: void
|
||||||
|
|
||||||
|
arguments:
|
||||||
|
string $message
|
||||||
|
string $path
|
||||||
|
string $repository
|
||||||
|
string $organisation
|
||||||
|
?string $base
|
||||||
end note
|
end note
|
||||||
|
|
||||||
note left of Grep::getFunctionName
|
note left of Grep::getFunctionName
|
||||||
@ -74,23 +138,163 @@ note left of Grep::getFunctionName
|
|||||||
return: ?string
|
return: ?string
|
||||||
end note
|
end note
|
||||||
|
|
||||||
note right of Grep::init
|
note right of Grep::searchSingleRepo
|
||||||
Set path details
|
Search a single repository for an item
|
||||||
|
|
||||||
since: 3.2.0
|
since: 3.2.2
|
||||||
return: void
|
return: ?object
|
||||||
|
|
||||||
|
arguments:
|
||||||
|
string $guid
|
||||||
|
array $order
|
||||||
|
object $repo
|
||||||
end note
|
end note
|
||||||
|
|
||||||
note left of Grep::getBranchField
|
note left of Grep::searchAllRepos
|
||||||
|
Search all repositories for an item
|
||||||
|
|
||||||
|
since: 3.2.2
|
||||||
|
return: ?object
|
||||||
|
end note
|
||||||
|
|
||||||
|
note right of Grep::itemExistsInRepo
|
||||||
|
Check if an item exists in a specific repository.
|
||||||
|
|
||||||
|
since: 3.2.2
|
||||||
|
return: bool
|
||||||
|
|
||||||
|
arguments:
|
||||||
|
string $guid
|
||||||
|
object $repo
|
||||||
|
array $order
|
||||||
|
end note
|
||||||
|
|
||||||
|
note left of Grep::itemExistsInAllRepos
|
||||||
|
Check if an item exists in any of the repositories.
|
||||||
|
|
||||||
|
since: 3.2.2
|
||||||
|
return: bool
|
||||||
|
end note
|
||||||
|
|
||||||
|
note right of Grep::getBranchField
|
||||||
Get the branch field
|
Get the branch field
|
||||||
|
|
||||||
since: 3.2.2
|
since: 3.2.2
|
||||||
return: string
|
return: string
|
||||||
end note
|
end note
|
||||||
|
|
||||||
|
note left of Grep::getBranchDefaultName
|
||||||
|
Get the branch default name
|
||||||
|
|
||||||
|
since: 3.2.2
|
||||||
|
return: ?string
|
||||||
|
end note
|
||||||
|
|
||||||
|
note right of Grep::getBranchName
|
||||||
|
Get the branch name
|
||||||
|
|
||||||
|
since: 3.2.2
|
||||||
|
return: ?string
|
||||||
|
end note
|
||||||
|
|
||||||
|
note left of Grep::getIndexPath
|
||||||
|
Get the index path
|
||||||
|
|
||||||
|
since: 3.2.2
|
||||||
|
return: string
|
||||||
|
end note
|
||||||
|
|
||||||
|
note right of Grep::itemExists
|
||||||
|
Check if an item exists in a specific repo and target.
|
||||||
|
|
||||||
|
since: 3.2.2
|
||||||
|
return: bool
|
||||||
|
|
||||||
|
arguments:
|
||||||
|
string $guid
|
||||||
|
object $repo
|
||||||
|
string $target
|
||||||
|
end note
|
||||||
|
|
||||||
|
note left of Grep::existsLocally
|
||||||
|
Check if item exists locally
|
||||||
|
|
||||||
|
since: 3.2.2
|
||||||
|
return: ?object
|
||||||
|
end note
|
||||||
|
|
||||||
|
note right of Grep::existsRemotely
|
||||||
|
Check if item exists remotely
|
||||||
|
|
||||||
|
since: 3.2.2
|
||||||
|
return: ?object
|
||||||
|
end note
|
||||||
|
|
||||||
|
note left of Grep::existsLocal
|
||||||
|
Check if item exists locally
|
||||||
|
|
||||||
|
since: 3.2.2
|
||||||
|
return: bool
|
||||||
|
end note
|
||||||
|
|
||||||
|
note right of Grep::existsRemote
|
||||||
|
Check if item exists remotely
|
||||||
|
|
||||||
|
since: 3.2.2
|
||||||
|
return: bool
|
||||||
|
end note
|
||||||
|
|
||||||
|
note left of Grep::indexRemote
|
||||||
|
Load the remote repository index of powers
|
||||||
|
|
||||||
|
since: 3.2.0
|
||||||
|
return: void
|
||||||
|
end note
|
||||||
|
|
||||||
|
note right of Grep::indexLocal
|
||||||
|
Load the local repository index of powers
|
||||||
|
|
||||||
|
since: 3.2.0
|
||||||
|
return: void
|
||||||
|
end note
|
||||||
|
|
||||||
|
note left of Grep::initializeInstances
|
||||||
|
Set path details
|
||||||
|
|
||||||
|
since: 3.2.0
|
||||||
|
return: void
|
||||||
|
end note
|
||||||
|
|
||||||
|
note right of Grep::loadRemoteFile
|
||||||
|
Load the remote file
|
||||||
|
|
||||||
|
since: 3.2.0
|
||||||
|
return: mixed
|
||||||
|
|
||||||
|
arguments:
|
||||||
|
string $organisation
|
||||||
|
string $repository
|
||||||
|
string $path
|
||||||
|
?string $branch
|
||||||
|
end note
|
||||||
|
|
||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---1401a167_0ce4_4f4a_afee_2d8b02ed339b---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -13,9 +13,12 @@ namespace VDM\Joomla\Abstraction;
|
|||||||
|
|
||||||
|
|
||||||
use Joomla\CMS\Factory;
|
use Joomla\CMS\Factory;
|
||||||
|
use Joomla\CMS\Language\Text;
|
||||||
use Joomla\CMS\Filesystem\Folder;
|
use Joomla\CMS\Filesystem\Folder;
|
||||||
use Joomla\CMS\Application\CMSApplication;
|
use Joomla\CMS\Application\CMSApplication;
|
||||||
use VDM\Joomla\Gitea\Repository\Contents;
|
use VDM\Joomla\Gitea\Repository\Contents;
|
||||||
|
use VDM\Joomla\Utilities\FileHelper;
|
||||||
|
use VDM\Joomla\Utilities\JsonHelper;
|
||||||
use VDM\Joomla\Interfaces\GrepInterface;
|
use VDM\Joomla\Interfaces\GrepInterface;
|
||||||
|
|
||||||
|
|
||||||
@ -24,7 +27,7 @@ use VDM\Joomla\Interfaces\GrepInterface;
|
|||||||
*
|
*
|
||||||
* The Grep feature will try to find your power in the repositories listed in the global
|
* 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
|
* 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]
|
* Super powers of JCB. All searches are performed according the [algorithm:cascading]
|
||||||
* See documentation for more details: https://git.vdm.dev/joomla/super-powers/wiki
|
* See documentation for more details: https://git.vdm.dev/joomla/super-powers/wiki
|
||||||
*
|
*
|
||||||
* @since 3.2.1
|
* @since 3.2.1
|
||||||
@ -34,7 +37,7 @@ abstract class Grep implements GrepInterface
|
|||||||
/**
|
/**
|
||||||
* The local path
|
* The local path
|
||||||
*
|
*
|
||||||
* @var string
|
* @var string|null
|
||||||
* @since 3.2.0
|
* @since 3.2.0
|
||||||
**/
|
**/
|
||||||
public ?string $path;
|
public ?string $path;
|
||||||
@ -42,7 +45,7 @@ abstract class Grep implements GrepInterface
|
|||||||
/**
|
/**
|
||||||
* All approved paths
|
* All approved paths
|
||||||
*
|
*
|
||||||
* @var array
|
* @var array|null
|
||||||
* @since 3.2.0
|
* @since 3.2.0
|
||||||
**/
|
**/
|
||||||
public ?array $paths;
|
public ?array $paths;
|
||||||
@ -63,6 +66,22 @@ abstract class Grep implements GrepInterface
|
|||||||
**/
|
**/
|
||||||
protected string $branch_field = 'read_branch';
|
protected string $branch_field = 'read_branch';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The target default branch name
|
||||||
|
*
|
||||||
|
* @var string|null
|
||||||
|
* @since 3.2.2
|
||||||
|
**/
|
||||||
|
protected ?string $branch_name = null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The index file path
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
protected string $index_path = 'index.json';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gitea Repository Contents
|
* Gitea Repository Contents
|
||||||
*
|
*
|
||||||
@ -92,21 +111,65 @@ abstract class Grep implements GrepInterface
|
|||||||
*/
|
*/
|
||||||
public function __construct(Contents $contents, array $paths, ?string $path = null, ?CMSApplication $app = null)
|
public function __construct(Contents $contents, array $paths, ?string $path = null, ?CMSApplication $app = null)
|
||||||
{
|
{
|
||||||
$this->paths = $paths;
|
|
||||||
$this->contents = $contents;
|
$this->contents = $contents;
|
||||||
|
$this->paths = $paths;
|
||||||
$this->path = $path;
|
$this->path = $path;
|
||||||
$this->app = $app ?: Factory::getApplication();
|
$this->app = $app ?: Factory::getApplication();
|
||||||
|
|
||||||
$this->init();
|
$this->initializeInstances();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get all remote powers GUID's
|
* Get an item
|
||||||
|
*
|
||||||
|
* @param string $guid The global unique id of the item
|
||||||
|
* @param array|null $order The search order
|
||||||
|
* @param object|null $repo The repository object to search. If null, all repos will be searched.
|
||||||
|
*
|
||||||
|
* @return object|null
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
public function get(string $guid, ?array $order = null, ?object $repo = null): ?object
|
||||||
|
{
|
||||||
|
$order = $order ?? $this->order;
|
||||||
|
|
||||||
|
if ($repo !== null)
|
||||||
|
{
|
||||||
|
return $this->searchSingleRepo($guid, $order, $repo);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->searchAllRepos($guid, $order);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if an item exists in any repo or in a specific repo.
|
||||||
|
*
|
||||||
|
* @param string $guid The unique identifier for the item.
|
||||||
|
* @param object|null $repo The repository object to check against. If null, all repos will be checked.
|
||||||
|
* @param array|null $order The order of the targets to check. If null, the default order will be used.
|
||||||
|
*
|
||||||
|
* @return bool True if the item exists, false otherwise.
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
public function exists(string $guid, ?object $repo = null, ?array $order = null): bool
|
||||||
|
{
|
||||||
|
$order = $order ?? $this->order;
|
||||||
|
|
||||||
|
if ($repo !== null)
|
||||||
|
{
|
||||||
|
return $this->itemExistsInRepo($guid, $repo, $order);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->itemExistsInAllRepos($guid, $order);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get all remote GUID's
|
||||||
*
|
*
|
||||||
* @return array|null
|
* @return array|null
|
||||||
* @since 3.2.0
|
* @since 3.2.0
|
||||||
*/
|
*/
|
||||||
public function getRemotePowersGuid(): ?array
|
public function getRemoteGuid(): ?array
|
||||||
{
|
{
|
||||||
if (!is_array($this->paths) || $this->paths === [])
|
if (!is_array($this->paths) || $this->paths === [])
|
||||||
{
|
{
|
||||||
@ -117,7 +180,7 @@ abstract class Grep implements GrepInterface
|
|||||||
foreach ($this->paths as $path)
|
foreach ($this->paths as $path)
|
||||||
{
|
{
|
||||||
// Get remote index
|
// Get remote index
|
||||||
$this->remoteIndex($path);
|
$this->indexRemote($path);
|
||||||
|
|
||||||
if (isset($path->index) && is_object($path->index))
|
if (isset($path->index) && is_object($path->index))
|
||||||
{
|
{
|
||||||
@ -131,7 +194,7 @@ abstract class Grep implements GrepInterface
|
|||||||
/**
|
/**
|
||||||
* Set the branch field
|
* Set the branch field
|
||||||
*
|
*
|
||||||
* @param string $field The global unique id of the power
|
* @param string $field The field to use to get the branch name from the data set
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
* @since 3.2.2
|
* @since 3.2.2
|
||||||
@ -142,28 +205,113 @@ abstract class Grep implements GrepInterface
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get a power
|
* Set the DEFAULT branch name (only used if branch field is not found)
|
||||||
*
|
*
|
||||||
* @param string $guid The global unique id of the power
|
* @param string|null $name The default branch to use if no name could be found
|
||||||
* @param array|null $order The search order
|
*
|
||||||
|
* @return void
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
public function setBranchDefaultName(?string $name): void
|
||||||
|
{
|
||||||
|
$this->branch_name = $name;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the index path
|
||||||
|
*
|
||||||
|
* @param string $indexPath The repository index path
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
public function setIndexPath(string $indexPath): void
|
||||||
|
{
|
||||||
|
$this->index_path = $indexPath;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the index of a repo
|
||||||
|
*
|
||||||
|
* @param string $guid The unique identifier for the repo.
|
||||||
*
|
*
|
||||||
* @return object|null
|
* @return object|null
|
||||||
* @since 3.2.0
|
* @since 3.2.2
|
||||||
*/
|
*/
|
||||||
public function get(string $guid, ?array $order = null): ?object
|
public function getRemoteIndex(string $guid): ?object
|
||||||
{
|
{
|
||||||
if ($order === null)
|
if (!is_array($this->paths) || $this->paths === [] || empty($guid))
|
||||||
{
|
{
|
||||||
$order = $this->order;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
// we can only search if we have paths
|
foreach ($this->paths as $path)
|
||||||
if (is_array($this->paths) && $this->paths !== [])
|
|
||||||
{
|
{
|
||||||
foreach ($order as $target)
|
if (!isset($path->guid) || $guid !== $path->guid)
|
||||||
{
|
{
|
||||||
if (($function_name = $this->getFunctionName($target)) !== null &&
|
continue;
|
||||||
($power = $this->{$function_name}($guid)) !== null)
|
}
|
||||||
|
|
||||||
|
// Get remote index
|
||||||
|
$this->indexRemote($path);
|
||||||
|
|
||||||
|
if (isset($path->index) && is_object($path->index))
|
||||||
|
{
|
||||||
|
return $path->index;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set repository messages and errors based on given conditions.
|
||||||
|
*
|
||||||
|
* @param string $message The message to set (if error)
|
||||||
|
* @param string $path Path value
|
||||||
|
* @param string $repository Repository name
|
||||||
|
* @param string $organisation Organisation name
|
||||||
|
* @param string|null $base Base URL
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
* @since 3.2.0
|
||||||
|
*/
|
||||||
|
abstract protected function setRemoteIndexMessage(string $message, string $path, string $repository, string $organisation, ?string $base): void;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get function name
|
||||||
|
*
|
||||||
|
* @param string $name The targeted area name
|
||||||
|
* @param string $type The type of function name
|
||||||
|
*
|
||||||
|
* @return string|null
|
||||||
|
* @since 3.2.0
|
||||||
|
*/
|
||||||
|
protected function getFunctionName(string $name, string $type = 'search'): ?string
|
||||||
|
{
|
||||||
|
$function_name = $type . ucfirst(strtolower($name));
|
||||||
|
|
||||||
|
return method_exists($this, $function_name) ? $function_name : null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Search a single repository for an item
|
||||||
|
*
|
||||||
|
* @param string $guid The unique identifier for the item.
|
||||||
|
* @param array $order The order of the targets to check.
|
||||||
|
* @param object $repo The repository object to check against.
|
||||||
|
*
|
||||||
|
* @return object|null
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
protected function searchSingleRepo(string $guid, array $order, object $repo): ?object
|
||||||
|
{
|
||||||
|
foreach ($order as $target)
|
||||||
|
{
|
||||||
|
if ($this->itemExists($guid, $repo, $target))
|
||||||
|
{
|
||||||
|
$functionName = $this->getFunctionName($target, 'get');
|
||||||
|
if ($functionName !== null && ($power = $this->{$functionName}($repo, $guid)) !== null)
|
||||||
{
|
{
|
||||||
return $power;
|
return $power;
|
||||||
}
|
}
|
||||||
@ -173,6 +321,251 @@ abstract class Grep implements GrepInterface
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Search all repositories for an item
|
||||||
|
*
|
||||||
|
* @param string $guid The unique identifier for the item.
|
||||||
|
* @param object $repo The repository object to check against.
|
||||||
|
*
|
||||||
|
* @return object|null
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
protected function searchAllRepos(string $guid, array $order): ?object
|
||||||
|
{
|
||||||
|
if (is_array($this->paths) && $this->paths !== [])
|
||||||
|
{
|
||||||
|
foreach ($order as $target)
|
||||||
|
{
|
||||||
|
$functionName = $this->getFunctionName($target);
|
||||||
|
if ($functionName !== null && ($power = $this->{$functionName}($guid)) !== null)
|
||||||
|
{
|
||||||
|
return $power;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if an item exists in a specific repository.
|
||||||
|
*
|
||||||
|
* @param string $guid The unique identifier for the item.
|
||||||
|
* @param object $repo The repository object to check against.
|
||||||
|
* @param array $order The order of the targets to check.
|
||||||
|
*
|
||||||
|
* @return bool True if the item exists, false otherwise.
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
protected function itemExistsInRepo(string $guid, object $repo, array $order): bool
|
||||||
|
{
|
||||||
|
foreach ($order as $target)
|
||||||
|
{
|
||||||
|
if ($this->itemExists($guid, $repo, $target))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if an item exists in any of the repositories.
|
||||||
|
*
|
||||||
|
* @param string $guid The unique identifier for the item.
|
||||||
|
* @param array $order The order of the targets to check.
|
||||||
|
*
|
||||||
|
* @return bool True if the item exists, false otherwise.
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
protected function itemExistsInAllRepos(string $guid, array $order): bool
|
||||||
|
{
|
||||||
|
// We can only search if we have paths
|
||||||
|
if (is_array($this->paths) && $this->paths !== [])
|
||||||
|
{
|
||||||
|
foreach ($order as $target)
|
||||||
|
{
|
||||||
|
foreach ($this->paths as $path)
|
||||||
|
{
|
||||||
|
if ($this->itemExists($guid, $path, $target))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the branch field
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
protected function getBranchField(): string
|
||||||
|
{
|
||||||
|
return $this->branch_field;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the branch default name
|
||||||
|
*
|
||||||
|
* @return string|null
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
protected function getBranchDefaultName(): ?string
|
||||||
|
{
|
||||||
|
return $this->branch_name;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the branch name
|
||||||
|
*
|
||||||
|
* @param object $item The item path
|
||||||
|
*
|
||||||
|
* @return string|null
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
protected function getBranchName(object $item): ?string
|
||||||
|
{
|
||||||
|
// get the branch field name
|
||||||
|
$branch_field = $this->getBranchField();
|
||||||
|
|
||||||
|
return $item->{$branch_field} ?? $this->getBranchDefaultName();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the index path
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
protected function getIndexPath(): string
|
||||||
|
{
|
||||||
|
return $this->index_path;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if an item exists in a specific repo and target.
|
||||||
|
*
|
||||||
|
* @param string $guid The unique identifier for the item.
|
||||||
|
* @param object $repo The repository object to check against.
|
||||||
|
* @param string $target The target to check within the repo.
|
||||||
|
*
|
||||||
|
* @return bool True if the item exists, false otherwise.
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
protected function itemExists(string $guid, object &$repo, string $target): bool
|
||||||
|
{
|
||||||
|
if (($function_name = $this->getFunctionName($target, 'index')) !== null)
|
||||||
|
{
|
||||||
|
$this->{$function_name}($repo);
|
||||||
|
|
||||||
|
if (($function_name = $this->getFunctionName($target, 'exists')) !== null &&
|
||||||
|
$this->{$function_name}($guid, $repo))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if item exists locally
|
||||||
|
*
|
||||||
|
* @param string $guid The global unique id of the item
|
||||||
|
*
|
||||||
|
* @return object|null return path object
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
protected function existsLocally(string $guid): ?object
|
||||||
|
{
|
||||||
|
// we can only search if we have paths
|
||||||
|
if ($this->path && $this->paths)
|
||||||
|
{
|
||||||
|
foreach ($this->paths as $path)
|
||||||
|
{
|
||||||
|
// get local index
|
||||||
|
$this->indexLocal($path);
|
||||||
|
|
||||||
|
if ($this->existsLocal($guid, $path))
|
||||||
|
{
|
||||||
|
return $path;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if item exists remotely
|
||||||
|
*
|
||||||
|
* @param string $guid The global unique id of the item
|
||||||
|
*
|
||||||
|
* @return object|null return path object
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
protected function existsRemotely(string $guid): ?object
|
||||||
|
{
|
||||||
|
// we can only search if we have paths
|
||||||
|
if ($this->paths)
|
||||||
|
{
|
||||||
|
foreach ($this->paths as $path)
|
||||||
|
{
|
||||||
|
// get local index
|
||||||
|
$this->indexRemote($path);
|
||||||
|
|
||||||
|
if ($this->existsRemote($guid, $path))
|
||||||
|
{
|
||||||
|
return $path;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if item exists locally
|
||||||
|
*
|
||||||
|
* @param string $guid The global unique id of the item
|
||||||
|
* @param object $path The path object
|
||||||
|
*
|
||||||
|
* @return bool true if it exists
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
protected function existsLocal(string $guid, object $path): bool
|
||||||
|
{
|
||||||
|
if (!empty($path->local) && isset($path->local->{$guid}))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if item exists remotely
|
||||||
|
*
|
||||||
|
* @param string $guid The global unique id of the item
|
||||||
|
* @param object $path The path object
|
||||||
|
*
|
||||||
|
* @return bool true if it exists
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
protected function existsRemote(string $guid, object $path): bool
|
||||||
|
{
|
||||||
|
if (!empty($path->index) && isset($path->index->{$guid}))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Load the remote repository index of powers
|
* Load the remote repository index of powers
|
||||||
*
|
*
|
||||||
@ -181,21 +574,55 @@ abstract class Grep implements GrepInterface
|
|||||||
* @return void
|
* @return void
|
||||||
* @since 3.2.0
|
* @since 3.2.0
|
||||||
*/
|
*/
|
||||||
abstract protected function remoteIndex(object &$path): void;
|
protected function indexRemote(object &$path): void
|
||||||
|
{
|
||||||
|
if (isset($path->index))
|
||||||
|
{
|
||||||
|
return; // already set
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
// load the base and token if set
|
||||||
|
$this->contents->load_($path->base ?? null, $path->token ?? null);
|
||||||
|
$path->index = $this->contents->get($path->organisation, $path->repository, $this->getIndexPath(), $this->getBranchName($path));
|
||||||
|
}
|
||||||
|
catch (\Exception $e)
|
||||||
|
{
|
||||||
|
$path->index = null;
|
||||||
|
$this->setRemoteIndexMessage($e->getMessage(), $path->path, $path->repository, $path->organisation, $path->base ?? null);
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
// reset back to the global base and token
|
||||||
|
$this->contents->reset_();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get function name
|
* Load the local repository index of powers
|
||||||
*
|
*
|
||||||
* @param string $name The targeted function name
|
* @param object $path The repository path details
|
||||||
*
|
*
|
||||||
* @return string|null
|
* @return void
|
||||||
* @since 3.2.0
|
* @since 3.2.0
|
||||||
*/
|
*/
|
||||||
protected function getFunctionName(string $name): ?string
|
protected function indexLocal(object &$path): void
|
||||||
{
|
{
|
||||||
$function_name = 'search' . ucfirst(strtolower($name));
|
if (isset($path->local) || !isset($path->full_path))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
return method_exists($this, $function_name) ? $function_name : null;
|
if (($content = FileHelper::getContent($path->full_path . '/' . $this->getIndexPath(), null)) !== null &&
|
||||||
|
JsonHelper::check($content))
|
||||||
|
{
|
||||||
|
$path->local = json_decode($content);
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$path->local = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -204,7 +631,7 @@ abstract class Grep implements GrepInterface
|
|||||||
* @return void
|
* @return void
|
||||||
* @since 3.2.0
|
* @since 3.2.0
|
||||||
*/
|
*/
|
||||||
protected function init(): void
|
protected function initializeInstances(): void
|
||||||
{
|
{
|
||||||
if (is_array($this->paths) && $this->paths !== [])
|
if (is_array($this->paths) && $this->paths !== [])
|
||||||
{
|
{
|
||||||
@ -216,12 +643,14 @@ abstract class Grep implements GrepInterface
|
|||||||
// build the path
|
// build the path
|
||||||
$path->path = trim($path->organisation) . '/' . trim($path->repository);
|
$path->path = trim($path->organisation) . '/' . trim($path->repository);
|
||||||
|
|
||||||
// update the branch
|
// get the branch field name
|
||||||
$branch_field = $this->getBranchField();
|
$branch_field = $this->getBranchField();
|
||||||
$branch = $path->{$branch_field} ?? null;
|
// get the branch name
|
||||||
|
$branch = $this->getBranchName($path);
|
||||||
|
|
||||||
if ($branch === 'default' || empty($branch))
|
if ($branch === 'default' || empty($branch))
|
||||||
{
|
{
|
||||||
|
// will allow us to target the default branch as set by the git system
|
||||||
$path->{$branch_field} = null;
|
$path->{$branch_field} = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -240,14 +669,33 @@ abstract class Grep implements GrepInterface
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the branch field
|
* Load the remote file
|
||||||
*
|
*
|
||||||
* @return string
|
* @param string $organisation The repository organisation
|
||||||
* @since 3.2.2
|
* @param string $repository The repository name
|
||||||
|
* @param string $path The repository path to file
|
||||||
|
* @param string|null $branch The repository branch name
|
||||||
|
*
|
||||||
|
* @return mixed
|
||||||
|
* @since 3.2.0
|
||||||
*/
|
*/
|
||||||
public function getBranchField(): string
|
protected function loadRemoteFile(string $organisation, string $repository, string $path, ?string $branch)
|
||||||
{
|
{
|
||||||
return $this->branch_field;
|
try
|
||||||
|
{
|
||||||
|
$data = $this->contents->get($organisation, $repository, $path, $branch);
|
||||||
|
}
|
||||||
|
catch (\Exception $e)
|
||||||
|
{
|
||||||
|
$this->app->enqueueMessage(
|
||||||
|
Text::sprintf('COM_COMPONENTBUILDER_PFILE_AT_BSSB_GAVE_THE_FOLLOWING_ERRORBR_SP', $this->contents->api(), $path, $e->getMessage()),
|
||||||
|
'Error'
|
||||||
|
);
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $data;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/**
|
/**
|
||||||
* The local path
|
* The local path
|
||||||
*
|
*
|
||||||
* @var string
|
* @var string|null
|
||||||
* @since 3.2.0
|
* @since 3.2.0
|
||||||
**/
|
**/
|
||||||
public ?string $path;
|
public ?string $path;
|
||||||
@ -9,7 +9,7 @@
|
|||||||
/**
|
/**
|
||||||
* All approved paths
|
* All approved paths
|
||||||
*
|
*
|
||||||
* @var array
|
* @var array|null
|
||||||
* @since 3.2.0
|
* @since 3.2.0
|
||||||
**/
|
**/
|
||||||
public ?array $paths;
|
public ?array $paths;
|
||||||
@ -30,6 +30,22 @@
|
|||||||
**/
|
**/
|
||||||
protected string $branch_field = 'read_branch';
|
protected string $branch_field = 'read_branch';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The target default branch name
|
||||||
|
*
|
||||||
|
* @var string|null
|
||||||
|
* @since 3.2.2
|
||||||
|
**/
|
||||||
|
protected ?string $branch_name = null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The index file path
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
protected string $index_path = 'index.json';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gitea Repository Contents
|
* Gitea Repository Contents
|
||||||
*
|
*
|
||||||
@ -59,21 +75,65 @@
|
|||||||
*/
|
*/
|
||||||
public function __construct(Contents $contents, array $paths, ?string $path = null, ?CMSApplication $app = null)
|
public function __construct(Contents $contents, array $paths, ?string $path = null, ?CMSApplication $app = null)
|
||||||
{
|
{
|
||||||
$this->paths = $paths;
|
|
||||||
$this->contents = $contents;
|
$this->contents = $contents;
|
||||||
|
$this->paths = $paths;
|
||||||
$this->path = $path;
|
$this->path = $path;
|
||||||
$this->app = $app ?: Factory::getApplication();
|
$this->app = $app ?: Factory::getApplication();
|
||||||
|
|
||||||
$this->init();
|
$this->initializeInstances();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get all remote powers GUID's
|
* Get an item
|
||||||
|
*
|
||||||
|
* @param string $guid The global unique id of the item
|
||||||
|
* @param array|null $order The search order
|
||||||
|
* @param object|null $repo The repository object to search. If null, all repos will be searched.
|
||||||
|
*
|
||||||
|
* @return object|null
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
public function get(string $guid, ?array $order = null, ?object $repo = null): ?object
|
||||||
|
{
|
||||||
|
$order = $order ?? $this->order;
|
||||||
|
|
||||||
|
if ($repo !== null)
|
||||||
|
{
|
||||||
|
return $this->searchSingleRepo($guid, $order, $repo);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->searchAllRepos($guid, $order);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if an item exists in any repo or in a specific repo.
|
||||||
|
*
|
||||||
|
* @param string $guid The unique identifier for the item.
|
||||||
|
* @param object|null $repo The repository object to check against. If null, all repos will be checked.
|
||||||
|
* @param array|null $order The order of the targets to check. If null, the default order will be used.
|
||||||
|
*
|
||||||
|
* @return bool True if the item exists, false otherwise.
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
public function exists(string $guid, ?object $repo = null, ?array $order = null): bool
|
||||||
|
{
|
||||||
|
$order = $order ?? $this->order;
|
||||||
|
|
||||||
|
if ($repo !== null)
|
||||||
|
{
|
||||||
|
return $this->itemExistsInRepo($guid, $repo, $order);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->itemExistsInAllRepos($guid, $order);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get all remote GUID's
|
||||||
*
|
*
|
||||||
* @return array|null
|
* @return array|null
|
||||||
* @since 3.2.0
|
* @since 3.2.0
|
||||||
*/
|
*/
|
||||||
public function getRemotePowersGuid(): ?array
|
public function getRemoteGuid(): ?array
|
||||||
{
|
{
|
||||||
if (!is_array($this->paths) || $this->paths === [])
|
if (!is_array($this->paths) || $this->paths === [])
|
||||||
{
|
{
|
||||||
@ -84,7 +144,7 @@
|
|||||||
foreach ($this->paths as $path)
|
foreach ($this->paths as $path)
|
||||||
{
|
{
|
||||||
// Get remote index
|
// Get remote index
|
||||||
$this->remoteIndex($path);
|
$this->indexRemote($path);
|
||||||
|
|
||||||
if (isset($path->index) && is_object($path->index))
|
if (isset($path->index) && is_object($path->index))
|
||||||
{
|
{
|
||||||
@ -98,7 +158,7 @@
|
|||||||
/**
|
/**
|
||||||
* Set the branch field
|
* Set the branch field
|
||||||
*
|
*
|
||||||
* @param string $field The global unique id of the power
|
* @param string $field The field to use to get the branch name from the data set
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
* @since 3.2.2
|
* @since 3.2.2
|
||||||
@ -109,28 +169,113 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get a power
|
* Set the DEFAULT branch name (only used if branch field is not found)
|
||||||
*
|
*
|
||||||
* @param string $guid The global unique id of the power
|
* @param string|null $name The default branch to use if no name could be found
|
||||||
* @param array|null $order The search order
|
*
|
||||||
|
* @return void
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
public function setBranchDefaultName(?string $name): void
|
||||||
|
{
|
||||||
|
$this->branch_name = $name;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the index path
|
||||||
|
*
|
||||||
|
* @param string $indexPath The repository index path
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
public function setIndexPath(string $indexPath): void
|
||||||
|
{
|
||||||
|
$this->index_path = $indexPath;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the index of a repo
|
||||||
|
*
|
||||||
|
* @param string $guid The unique identifier for the repo.
|
||||||
*
|
*
|
||||||
* @return object|null
|
* @return object|null
|
||||||
* @since 3.2.0
|
* @since 3.2.2
|
||||||
*/
|
*/
|
||||||
public function get(string $guid, ?array $order = null): ?object
|
public function getRemoteIndex(string $guid): ?object
|
||||||
{
|
{
|
||||||
if ($order === null)
|
if (!is_array($this->paths) || $this->paths === [] || empty($guid))
|
||||||
{
|
{
|
||||||
$order = $this->order;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
// we can only search if we have paths
|
foreach ($this->paths as $path)
|
||||||
if (is_array($this->paths) && $this->paths !== [])
|
|
||||||
{
|
{
|
||||||
foreach ($order as $target)
|
if (!isset($path->guid) || $guid !== $path->guid)
|
||||||
{
|
{
|
||||||
if (($function_name = $this->getFunctionName($target)) !== null &&
|
continue;
|
||||||
($power = $this->{$function_name}($guid)) !== null)
|
}
|
||||||
|
|
||||||
|
// Get remote index
|
||||||
|
$this->indexRemote($path);
|
||||||
|
|
||||||
|
if (isset($path->index) && is_object($path->index))
|
||||||
|
{
|
||||||
|
return $path->index;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set repository messages and errors based on given conditions.
|
||||||
|
*
|
||||||
|
* @param string $message The message to set (if error)
|
||||||
|
* @param string $path Path value
|
||||||
|
* @param string $repository Repository name
|
||||||
|
* @param string $organisation Organisation name
|
||||||
|
* @param string|null $base Base URL
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
* @since 3.2.0
|
||||||
|
*/
|
||||||
|
abstract protected function setRemoteIndexMessage(string $message, string $path, string $repository, string $organisation, ?string $base): void;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get function name
|
||||||
|
*
|
||||||
|
* @param string $name The targeted area name
|
||||||
|
* @param string $type The type of function name
|
||||||
|
*
|
||||||
|
* @return string|null
|
||||||
|
* @since 3.2.0
|
||||||
|
*/
|
||||||
|
protected function getFunctionName(string $name, string $type = 'search'): ?string
|
||||||
|
{
|
||||||
|
$function_name = $type . ucfirst(strtolower($name));
|
||||||
|
|
||||||
|
return method_exists($this, $function_name) ? $function_name : null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Search a single repository for an item
|
||||||
|
*
|
||||||
|
* @param string $guid The unique identifier for the item.
|
||||||
|
* @param array $order The order of the targets to check.
|
||||||
|
* @param object $repo The repository object to check against.
|
||||||
|
*
|
||||||
|
* @return object|null
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
protected function searchSingleRepo(string $guid, array $order, object $repo): ?object
|
||||||
|
{
|
||||||
|
foreach ($order as $target)
|
||||||
|
{
|
||||||
|
if ($this->itemExists($guid, $repo, $target))
|
||||||
|
{
|
||||||
|
$functionName = $this->getFunctionName($target, 'get');
|
||||||
|
if ($functionName !== null && ($power = $this->{$functionName}($repo, $guid)) !== null)
|
||||||
{
|
{
|
||||||
return $power;
|
return $power;
|
||||||
}
|
}
|
||||||
@ -140,6 +285,251 @@
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Search all repositories for an item
|
||||||
|
*
|
||||||
|
* @param string $guid The unique identifier for the item.
|
||||||
|
* @param object $repo The repository object to check against.
|
||||||
|
*
|
||||||
|
* @return object|null
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
protected function searchAllRepos(string $guid, array $order): ?object
|
||||||
|
{
|
||||||
|
if (is_array($this->paths) && $this->paths !== [])
|
||||||
|
{
|
||||||
|
foreach ($order as $target)
|
||||||
|
{
|
||||||
|
$functionName = $this->getFunctionName($target);
|
||||||
|
if ($functionName !== null && ($power = $this->{$functionName}($guid)) !== null)
|
||||||
|
{
|
||||||
|
return $power;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if an item exists in a specific repository.
|
||||||
|
*
|
||||||
|
* @param string $guid The unique identifier for the item.
|
||||||
|
* @param object $repo The repository object to check against.
|
||||||
|
* @param array $order The order of the targets to check.
|
||||||
|
*
|
||||||
|
* @return bool True if the item exists, false otherwise.
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
protected function itemExistsInRepo(string $guid, object $repo, array $order): bool
|
||||||
|
{
|
||||||
|
foreach ($order as $target)
|
||||||
|
{
|
||||||
|
if ($this->itemExists($guid, $repo, $target))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if an item exists in any of the repositories.
|
||||||
|
*
|
||||||
|
* @param string $guid The unique identifier for the item.
|
||||||
|
* @param array $order The order of the targets to check.
|
||||||
|
*
|
||||||
|
* @return bool True if the item exists, false otherwise.
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
protected function itemExistsInAllRepos(string $guid, array $order): bool
|
||||||
|
{
|
||||||
|
// We can only search if we have paths
|
||||||
|
if (is_array($this->paths) && $this->paths !== [])
|
||||||
|
{
|
||||||
|
foreach ($order as $target)
|
||||||
|
{
|
||||||
|
foreach ($this->paths as $path)
|
||||||
|
{
|
||||||
|
if ($this->itemExists($guid, $path, $target))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the branch field
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
protected function getBranchField(): string
|
||||||
|
{
|
||||||
|
return $this->branch_field;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the branch default name
|
||||||
|
*
|
||||||
|
* @return string|null
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
protected function getBranchDefaultName(): ?string
|
||||||
|
{
|
||||||
|
return $this->branch_name;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the branch name
|
||||||
|
*
|
||||||
|
* @param object $item The item path
|
||||||
|
*
|
||||||
|
* @return string|null
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
protected function getBranchName(object $item): ?string
|
||||||
|
{
|
||||||
|
// get the branch field name
|
||||||
|
$branch_field = $this->getBranchField();
|
||||||
|
|
||||||
|
return $item->{$branch_field} ?? $this->getBranchDefaultName();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the index path
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
protected function getIndexPath(): string
|
||||||
|
{
|
||||||
|
return $this->index_path;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if an item exists in a specific repo and target.
|
||||||
|
*
|
||||||
|
* @param string $guid The unique identifier for the item.
|
||||||
|
* @param object $repo The repository object to check against.
|
||||||
|
* @param string $target The target to check within the repo.
|
||||||
|
*
|
||||||
|
* @return bool True if the item exists, false otherwise.
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
protected function itemExists(string $guid, object &$repo, string $target): bool
|
||||||
|
{
|
||||||
|
if (($function_name = $this->getFunctionName($target, 'index')) !== null)
|
||||||
|
{
|
||||||
|
$this->{$function_name}($repo);
|
||||||
|
|
||||||
|
if (($function_name = $this->getFunctionName($target, 'exists')) !== null &&
|
||||||
|
$this->{$function_name}($guid, $repo))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if item exists locally
|
||||||
|
*
|
||||||
|
* @param string $guid The global unique id of the item
|
||||||
|
*
|
||||||
|
* @return object|null return path object
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
protected function existsLocally(string $guid): ?object
|
||||||
|
{
|
||||||
|
// we can only search if we have paths
|
||||||
|
if ($this->path && $this->paths)
|
||||||
|
{
|
||||||
|
foreach ($this->paths as $path)
|
||||||
|
{
|
||||||
|
// get local index
|
||||||
|
$this->indexLocal($path);
|
||||||
|
|
||||||
|
if ($this->existsLocal($guid, $path))
|
||||||
|
{
|
||||||
|
return $path;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if item exists remotely
|
||||||
|
*
|
||||||
|
* @param string $guid The global unique id of the item
|
||||||
|
*
|
||||||
|
* @return object|null return path object
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
protected function existsRemotely(string $guid): ?object
|
||||||
|
{
|
||||||
|
// we can only search if we have paths
|
||||||
|
if ($this->paths)
|
||||||
|
{
|
||||||
|
foreach ($this->paths as $path)
|
||||||
|
{
|
||||||
|
// get local index
|
||||||
|
$this->indexRemote($path);
|
||||||
|
|
||||||
|
if ($this->existsRemote($guid, $path))
|
||||||
|
{
|
||||||
|
return $path;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if item exists locally
|
||||||
|
*
|
||||||
|
* @param string $guid The global unique id of the item
|
||||||
|
* @param object $path The path object
|
||||||
|
*
|
||||||
|
* @return bool true if it exists
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
protected function existsLocal(string $guid, object $path): bool
|
||||||
|
{
|
||||||
|
if (!empty($path->local) && isset($path->local->{$guid}))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if item exists remotely
|
||||||
|
*
|
||||||
|
* @param string $guid The global unique id of the item
|
||||||
|
* @param object $path The path object
|
||||||
|
*
|
||||||
|
* @return bool true if it exists
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
protected function existsRemote(string $guid, object $path): bool
|
||||||
|
{
|
||||||
|
if (!empty($path->index) && isset($path->index->{$guid}))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Load the remote repository index of powers
|
* Load the remote repository index of powers
|
||||||
*
|
*
|
||||||
@ -148,21 +538,55 @@
|
|||||||
* @return void
|
* @return void
|
||||||
* @since 3.2.0
|
* @since 3.2.0
|
||||||
*/
|
*/
|
||||||
abstract protected function remoteIndex(object &$path): void;
|
protected function indexRemote(object &$path): void
|
||||||
|
{
|
||||||
|
if (isset($path->index))
|
||||||
|
{
|
||||||
|
return; // already set
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
// load the base and token if set
|
||||||
|
$this->contents->load_($path->base ?? null, $path->token ?? null);
|
||||||
|
$path->index = $this->contents->get($path->organisation, $path->repository, $this->getIndexPath(), $this->getBranchName($path));
|
||||||
|
}
|
||||||
|
catch (\Exception $e)
|
||||||
|
{
|
||||||
|
$path->index = null;
|
||||||
|
$this->setRemoteIndexMessage($e->getMessage(), $path->path, $path->repository, $path->organisation, $path->base ?? null);
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
// reset back to the global base and token
|
||||||
|
$this->contents->reset_();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get function name
|
* Load the local repository index of powers
|
||||||
*
|
*
|
||||||
* @param string $name The targeted function name
|
* @param object $path The repository path details
|
||||||
*
|
*
|
||||||
* @return string|null
|
* @return void
|
||||||
* @since 3.2.0
|
* @since 3.2.0
|
||||||
*/
|
*/
|
||||||
protected function getFunctionName(string $name): ?string
|
protected function indexLocal(object &$path): void
|
||||||
{
|
{
|
||||||
$function_name = 'search' . ucfirst(strtolower($name));
|
if (isset($path->local) || !isset($path->full_path))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
return method_exists($this, $function_name) ? $function_name : null;
|
if (($content = FileHelper::getContent($path->full_path . '/' . $this->getIndexPath(), null)) !== null &&
|
||||||
|
JsonHelper::check($content))
|
||||||
|
{
|
||||||
|
$path->local = json_decode($content);
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$path->local = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -171,7 +595,7 @@
|
|||||||
* @return void
|
* @return void
|
||||||
* @since 3.2.0
|
* @since 3.2.0
|
||||||
*/
|
*/
|
||||||
protected function init(): void
|
protected function initializeInstances(): void
|
||||||
{
|
{
|
||||||
if (is_array($this->paths) && $this->paths !== [])
|
if (is_array($this->paths) && $this->paths !== [])
|
||||||
{
|
{
|
||||||
@ -183,12 +607,14 @@
|
|||||||
// build the path
|
// build the path
|
||||||
$path->path = trim($path->organisation) . '/' . trim($path->repository);
|
$path->path = trim($path->organisation) . '/' . trim($path->repository);
|
||||||
|
|
||||||
// update the branch
|
// get the branch field name
|
||||||
$branch_field = $this->getBranchField();
|
$branch_field = $this->getBranchField();
|
||||||
$branch = $path->{$branch_field} ?? null;
|
// get the branch name
|
||||||
|
$branch = $this->getBranchName($path);
|
||||||
|
|
||||||
if ($branch === 'default' || empty($branch))
|
if ($branch === 'default' || empty($branch))
|
||||||
{
|
{
|
||||||
|
// will allow us to target the default branch as set by the git system
|
||||||
$path->{$branch_field} = null;
|
$path->{$branch_field} = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -207,12 +633,31 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the branch field
|
* Load the remote file
|
||||||
*
|
*
|
||||||
* @return string
|
* @param string $organisation The repository organisation
|
||||||
* @since 3.2.2
|
* @param string $repository The repository name
|
||||||
|
* @param string $path The repository path to file
|
||||||
|
* @param string|null $branch The repository branch name
|
||||||
|
*
|
||||||
|
* @return mixed
|
||||||
|
* @since 3.2.0
|
||||||
*/
|
*/
|
||||||
public function getBranchField(): string
|
protected function loadRemoteFile(string $organisation, string $repository, string $path, ?string $branch)
|
||||||
{
|
{
|
||||||
return $this->branch_field;
|
try
|
||||||
|
{
|
||||||
|
$data = $this->contents->get($organisation, $repository, $path, $branch);
|
||||||
|
}
|
||||||
|
catch (\Exception $e)
|
||||||
|
{
|
||||||
|
$this->app->enqueueMessage(
|
||||||
|
Text::sprintf('<p>File at <b>%s/%s</b> gave the following error!<br />%s</p>', $this->contents->api(), $path, $e->getMessage()),
|
||||||
|
'Error'
|
||||||
|
);
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $data;
|
||||||
}
|
}
|
@ -15,12 +15,20 @@
|
|||||||
"use_selection0": {
|
"use_selection0": {
|
||||||
"use": "8d1baef6-fcad-49a9-848f-428009cdb989",
|
"use": "8d1baef6-fcad-49a9-848f-428009cdb989",
|
||||||
"as": "default"
|
"as": "default"
|
||||||
|
},
|
||||||
|
"use_selection1": {
|
||||||
|
"use": "a223b31e-ea1d-4cdf-92ae-5f9becffaff0",
|
||||||
|
"as": "default"
|
||||||
|
},
|
||||||
|
"use_selection2": {
|
||||||
|
"use": "4b225c51-d293-48e4-b3f6-5136cf5c3f18",
|
||||||
|
"as": "default"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"extendsinterfaces": null,
|
"extendsinterfaces": null,
|
||||||
"namespace": "[[[NamespacePrefix]]]\\Joomla\\Abstraction.Grep",
|
"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",
|
"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 [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",
|
"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;",
|
"head": "use Joomla\\CMS\\Factory;\r\nuse Joomla\\CMS\\Language\\Text;\r\nuse Joomla\\CMS\\Filesystem\\Folder;\r\nuse Joomla\\CMS\\Application\\CMSApplication;",
|
||||||
"composer": ""
|
"composer": ""
|
||||||
}
|
}
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# abstract class MathHelper (Details)
|
# abstract class MathHelper (Details)
|
||||||
> namespace: **VDM\Joomla\Utilities**
|
> namespace: **VDM\Joomla\Utilities**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
abstract MathHelper #Orange {
|
abstract MathHelper #Orange {
|
||||||
@ -39,6 +39,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---152c8793_8b75_4715_996a_257b9f65451c---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# class Table (Details)
|
# class Table (Details)
|
||||||
> namespace: **VDM\Joomla\Service**
|
> namespace: **VDM\Joomla\Service**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
class Table #Gold {
|
class Table #Gold {
|
||||||
@ -41,6 +41,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---19b2ba92_1655_4384_acfb_979c80de8b6d---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# abstract class StringHelper (Details)
|
# abstract class StringHelper (Details)
|
||||||
> namespace: **VDM\Joomla\Utilities**
|
> namespace: **VDM\Joomla\Utilities**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
abstract StringHelper #Orange {
|
abstract StringHelper #Orange {
|
||||||
@ -96,6 +96,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---1f28cb53_60d9_4db1_b517_3c7dc6b429ef---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# trait InArray (Details)
|
# trait InArray (Details)
|
||||||
> namespace: **VDM\Joomla\Abstraction\Registry\Traits**
|
> namespace: **VDM\Joomla\Abstraction\Registry\Traits**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
class InArray << (T,Orange) >> #Turquoise {
|
class InArray << (T,Orange) >> #Turquoise {
|
||||||
@ -25,6 +25,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---215b35ac_1b26_4838_bbcf_d1fdbbd9353f---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
52
src/217416f6-24cf-41c0-b18e-11086111d447/README.md
Normal file
52
src/217416f6-24cf-41c0-b18e-11086111d447/README.md
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
```
|
||||||
|
██████╗ ██████╗ ██╗ ██╗███████╗██████╗
|
||||||
|
██╔══██╗██╔═══██╗██║ ██║██╔════╝██╔══██╗
|
||||||
|
██████╔╝██║ ██║██║ █╗ ██║█████╗ ██████╔╝
|
||||||
|
██╔═══╝ ██║ ██║██║███╗██║██╔══╝ ██╔══██╗
|
||||||
|
██║ ╚██████╔╝╚███╔███╔╝███████╗██║ ██║
|
||||||
|
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
|
||||||
|
```
|
||||||
|
# interface MainInterface (Details)
|
||||||
|
> namespace: **VDM\Joomla\Interfaces\Readme**
|
||||||
|
|
||||||
|
```uml
|
||||||
|
@startuml
|
||||||
|
interface MainInterface #Lavender {
|
||||||
|
+ get(array $items) : string
|
||||||
|
}
|
||||||
|
|
||||||
|
note right of MainInterface::get
|
||||||
|
Get Main Readme
|
||||||
|
|
||||||
|
since: 3.2.0
|
||||||
|
return: string
|
||||||
|
end note
|
||||||
|
|
||||||
|
@enduml
|
||||||
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---217416f6_24cf_41c0_b18e_11086111d447---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
|
---
|
||||||
|
```
|
||||||
|
██╗ ██████╗██████╗
|
||||||
|
██║██╔════╝██╔══██╗
|
||||||
|
██║██║ ██████╔╝
|
||||||
|
██ ██║██║ ██╔══██╗
|
||||||
|
╚█████╔╝╚██████╗██████╔╝
|
||||||
|
╚════╝ ╚═════╝╚═════╝
|
||||||
|
```
|
||||||
|
> Build with [Joomla Component Builder](https://git.vdm.dev/joomla/Component-Builder)
|
||||||
|
|
32
src/217416f6-24cf-41c0-b18e-11086111d447/code.php
Normal file
32
src/217416f6-24cf-41c0-b18e-11086111d447/code.php
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
<?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\Readme;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Main Readme Interface
|
||||||
|
*
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
interface MainInterface
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Get Main Readme
|
||||||
|
*
|
||||||
|
* @param array $items All items of this repository.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
* @since 3.2.0
|
||||||
|
*/
|
||||||
|
public function get(array $items): string;
|
||||||
|
}
|
||||||
|
|
9
src/217416f6-24cf-41c0-b18e-11086111d447/code.power
Normal file
9
src/217416f6-24cf-41c0-b18e-11086111d447/code.power
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
/**
|
||||||
|
* Get Main Readme
|
||||||
|
*
|
||||||
|
* @param array $items All items of this repository.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
* @since 3.2.0
|
||||||
|
*/
|
||||||
|
public function get(array $items): string;
|
19
src/217416f6-24cf-41c0-b18e-11086111d447/settings.json
Normal file
19
src/217416f6-24cf-41c0-b18e-11086111d447/settings.json
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"add_head": "0",
|
||||||
|
"add_licensing_template": "2",
|
||||||
|
"extends": "",
|
||||||
|
"guid": "217416f6-24cf-41c0-b18e-11086111d447",
|
||||||
|
"implements": null,
|
||||||
|
"load_selection": null,
|
||||||
|
"name": "MainInterface",
|
||||||
|
"power_version": "1.0.0",
|
||||||
|
"system_name": "JCB.Interfaces.Readme.MainInterface",
|
||||||
|
"type": "interface",
|
||||||
|
"use_selection": null,
|
||||||
|
"extendsinterfaces": null,
|
||||||
|
"namespace": "[[[NamespacePrefix]]]\\Joomla\\Interfaces.Readme.MainInterface",
|
||||||
|
"description": "Main Readme Interface\r\n\r\n@since 3.2.2",
|
||||||
|
"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": ""
|
||||||
|
}
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# final class Items (Details)
|
# final class Items (Details)
|
||||||
> namespace: **VDM\Joomla\Data**
|
> namespace: **VDM\Joomla\Data**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
class Items << (F,LightGreen) >> #RoyalBlue {
|
class Items << (F,LightGreen) >> #RoyalBlue {
|
||||||
@ -139,6 +139,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---21bca8a4_5b28_41c4_843e_8097f0ba7cca---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# interface LoadInterface (Details)
|
# interface LoadInterface (Details)
|
||||||
> namespace: **VDM\Joomla\Interfaces**
|
> namespace: **VDM\Joomla\Interfaces**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
interface LoadInterface #Lavender {
|
interface LoadInterface #Lavender {
|
||||||
@ -125,6 +125,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---2ad31f74_f579_499d_b98b_c4f54fd615dd---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# interface Tableinterface (Details)
|
# interface Tableinterface (Details)
|
||||||
> namespace: **VDM\Joomla\Interfaces**
|
> namespace: **VDM\Joomla\Interfaces**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
interface Tableinterface #Lavender {
|
interface Tableinterface #Lavender {
|
||||||
@ -83,6 +83,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---2da6d6c4_eb29_4d69_8bc2_36d96e916adf---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# class Model (Details)
|
# class Model (Details)
|
||||||
> namespace: **VDM\Joomla\Service**
|
> namespace: **VDM\Joomla\Service**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
class Model #Gold {
|
class Model #Gold {
|
||||||
@ -41,6 +41,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---2dcedd6c_c95b_4a37_9cac_95d28faedca3---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# abstract class Factory (Details)
|
# abstract class Factory (Details)
|
||||||
> namespace: **VDM\Joomla\Abstraction**
|
> namespace: **VDM\Joomla\Abstraction**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
abstract Factory #Orange {
|
abstract Factory #Orange {
|
||||||
@ -41,6 +41,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---2e5bf608_de5c_4b00_a20d_47c26aa350d9---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# abstract class ClassfunctionHelper (Details)
|
# abstract class ClassfunctionHelper (Details)
|
||||||
> namespace: **VDM\Joomla\Utilities\String**
|
> namespace: **VDM\Joomla\Utilities\String**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
abstract ClassfunctionHelper #Orange {
|
abstract ClassfunctionHelper #Orange {
|
||||||
@ -25,6 +25,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---30c5b4c2_f75f_4d15_869a_f8bfedd87358---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# interface SubformInterface (Details)
|
# interface SubformInterface (Details)
|
||||||
> namespace: **VDM\Joomla\Interfaces\Data**
|
> namespace: **VDM\Joomla\Interfaces\Data**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
interface SubformInterface #Lavender {
|
interface SubformInterface #Lavender {
|
||||||
@ -61,6 +61,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---34959721_415b_4b5e_8002_3d1fc84b3b2b---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# abstract class PluginHelper (Details)
|
# abstract class PluginHelper (Details)
|
||||||
> namespace: **VDM\Joomla\Utilities\String**
|
> namespace: **VDM\Joomla\Utilities\String**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
abstract PluginHelper #Orange {
|
abstract PluginHelper #Orange {
|
||||||
@ -49,6 +49,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---3cf76fbf_fd95_4a33_878e_7aff6d36b7f6---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# class Delete (Details)
|
# class Delete (Details)
|
||||||
> namespace: **VDM\Joomla\Data\Action**
|
> namespace: **VDM\Joomla\Data\Action**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
class Delete #Gold {
|
class Delete #Gold {
|
||||||
@ -58,6 +58,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---3fc72954_a303_4cac_b53c_554be38b85e7---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# abstract class ActiveRegistry (Details)
|
# abstract class ActiveRegistry (Details)
|
||||||
> namespace: **VDM\Joomla\Abstraction**
|
> namespace: **VDM\Joomla\Abstraction**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
abstract ActiveRegistry #Orange {
|
abstract ActiveRegistry #Orange {
|
||||||
@ -92,6 +92,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---43134867_5cb8_4280_9be8_309fd2fd135f---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# class Database (Details)
|
# class Database (Details)
|
||||||
> namespace: **VDM\Joomla\Service**
|
> namespace: **VDM\Joomla\Service**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
class Database #Gold {
|
class Database #Gold {
|
||||||
@ -57,6 +57,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---4815e1c7_a433_443d_a112_d1e03d7df84b---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# abstract class ComponentCodeNameHelper (Details)
|
# abstract class ComponentCodeNameHelper (Details)
|
||||||
> namespace: **VDM\Joomla\Utilities\String**
|
> namespace: **VDM\Joomla\Utilities\String**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
abstract ComponentCodeNameHelper #Orange {
|
abstract ComponentCodeNameHelper #Orange {
|
||||||
@ -27,6 +27,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---491dbe41_f26c_4de9_8a95_fcf87b35b56f---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# abstract class JsonHelper (Details)
|
# abstract class JsonHelper (Details)
|
||||||
> namespace: **VDM\Joomla\Utilities**
|
> namespace: **VDM\Joomla\Utilities**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
abstract JsonHelper #Orange {
|
abstract JsonHelper #Orange {
|
||||||
@ -39,6 +39,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---4b225c51_d293_48e4_b3f6_5136cf5c3f18---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# interface SchemaInterface (Details)
|
# interface SchemaInterface (Details)
|
||||||
> namespace: **VDM\Joomla\Interfaces**
|
> namespace: **VDM\Joomla\Interfaces**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
interface SchemaInterface #Lavender {
|
interface SchemaInterface #Lavender {
|
||||||
@ -41,6 +41,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---4dd11b9b_3c64_460b_aaa6_62ba467db7aa---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -6,48 +6,48 @@
|
|||||||
██║ ╚██████╔╝╚███╔███╔╝███████╗██║ ██║
|
██║ ╚██████╔╝╚███╔███╔╝███████╗██║ ██║
|
||||||
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
|
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
|
||||||
```
|
```
|
||||||
# interface RemoteInterface (Details)
|
# interface RemoteGetInterface (Details)
|
||||||
> namespace: **VDM\Joomla\Interfaces\Data**
|
> namespace: **VDM\Joomla\Interfaces\Data**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
interface RemoteInterface #Lavender {
|
interface RemoteGetInterface #Lavender {
|
||||||
+ table(string $table) : self
|
+ table(string $table) : self
|
||||||
+ init() : bool
|
+ init() : bool
|
||||||
+ reset(array $items) : bool
|
+ reset(array $items) : bool
|
||||||
+ load(string $guid, array $order = ['remote', 'local']) : bool
|
+ item(string $guid, array $order = ['remote', 'local']) : bool
|
||||||
+ getTable() : string
|
+ getTable() : string
|
||||||
}
|
}
|
||||||
|
|
||||||
note right of RemoteInterface::table
|
note right of RemoteGetInterface::table
|
||||||
Set the current active table
|
Set the current active table
|
||||||
|
|
||||||
since: 3.2.2
|
since: 3.2.2
|
||||||
return: self
|
return: self
|
||||||
end note
|
end note
|
||||||
|
|
||||||
note right of RemoteInterface::init
|
note right of RemoteGetInterface::init
|
||||||
Init all items not found in database
|
Init all items not found in database
|
||||||
|
|
||||||
since: 3.2.0
|
since: 3.2.0
|
||||||
return: bool
|
return: bool
|
||||||
end note
|
end note
|
||||||
|
|
||||||
note right of RemoteInterface::reset
|
note right of RemoteGetInterface::reset
|
||||||
Reset the items
|
Reset the items
|
||||||
|
|
||||||
since: 3.2.0
|
since: 3.2.0
|
||||||
return: bool
|
return: bool
|
||||||
end note
|
end note
|
||||||
|
|
||||||
note right of RemoteInterface::load
|
note right of RemoteGetInterface::item
|
||||||
Load a item
|
Load an item
|
||||||
|
|
||||||
since: 3.2.2
|
since: 3.2.2
|
||||||
return: bool
|
return: bool
|
||||||
end note
|
end note
|
||||||
|
|
||||||
note right of RemoteInterface::getTable
|
note right of RemoteGetInterface::getTable
|
||||||
Get the current active table
|
Get the current active table
|
||||||
|
|
||||||
since: 3.2.2
|
since: 3.2.2
|
||||||
@ -57,6 +57,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---51de80f2_2868_4c2c_8198_ef79349e9bd7---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -17,7 +17,7 @@ namespace VDM\Joomla\Interfaces\Data;
|
|||||||
*
|
*
|
||||||
* @since 3.2.2
|
* @since 3.2.2
|
||||||
*/
|
*/
|
||||||
interface RemoteInterface
|
interface RemoteGetInterface
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Set the current active table
|
* Set the current active table
|
||||||
@ -48,7 +48,7 @@ interface RemoteInterface
|
|||||||
public function reset(array $items): bool;
|
public function reset(array $items): bool;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Load a item
|
* Load an item
|
||||||
*
|
*
|
||||||
* @param string $guid The global unique id of the item
|
* @param string $guid The global unique id of the item
|
||||||
* @param array $order The search order
|
* @param array $order The search order
|
||||||
@ -56,7 +56,7 @@ interface RemoteInterface
|
|||||||
* @return bool
|
* @return bool
|
||||||
* @since 3.2.2
|
* @since 3.2.2
|
||||||
*/
|
*/
|
||||||
public function load(string $guid, array $order = ['remote', 'local']): bool;
|
public function item(string $guid, array $order = ['remote', 'local']): bool;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the current active table
|
* Get the current active table
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
public function reset(array $items): bool;
|
public function reset(array $items): bool;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Load a item
|
* Load an item
|
||||||
*
|
*
|
||||||
* @param string $guid The global unique id of the item
|
* @param string $guid The global unique id of the item
|
||||||
* @param array $order The search order
|
* @param array $order The search order
|
||||||
@ -35,7 +35,7 @@
|
|||||||
* @return bool
|
* @return bool
|
||||||
* @since 3.2.2
|
* @since 3.2.2
|
||||||
*/
|
*/
|
||||||
public function load(string $guid, array $order = ['remote', 'local']): bool;
|
public function item(string $guid, array $order = ['remote', 'local']): bool;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the current active table
|
* Get the current active table
|
||||||
|
@ -5,13 +5,13 @@
|
|||||||
"guid": "51de80f2-2868-4c2c-8198-ef79349e9bd7",
|
"guid": "51de80f2-2868-4c2c-8198-ef79349e9bd7",
|
||||||
"implements": null,
|
"implements": null,
|
||||||
"load_selection": null,
|
"load_selection": null,
|
||||||
"name": "RemoteInterface",
|
"name": "RemoteGetInterface",
|
||||||
"power_version": "1.0.0",
|
"power_version": "1.0.0",
|
||||||
"system_name": "JCB.Interfaces.Remote",
|
"system_name": "VDM.Interfaces.RemoteGetInterface",
|
||||||
"type": "interface",
|
"type": "interface",
|
||||||
"use_selection": null,
|
"use_selection": null,
|
||||||
"extendsinterfaces": null,
|
"extendsinterfaces": null,
|
||||||
"namespace": "[[[NamespacePrefix]]]\\Joomla\\Interfaces.Data.RemoteInterface",
|
"namespace": "[[[NamespacePrefix]]]\\Joomla\\Interfaces.Data.RemoteGetInterface",
|
||||||
"description": "Load data based on global unique ids from remote system\r\n\r\n@since 3.2.2",
|
"description": "Load data based on global unique ids from remote system\r\n\r\n@since 3.2.2",
|
||||||
"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",
|
"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": "",
|
"head": "",
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
# final class Insert (Details)
|
# final class Insert (Details)
|
||||||
> namespace: **VDM\Joomla\Database**
|
> namespace: **VDM\Joomla\Database**
|
||||||
> extends: **Database**
|
> extends: **Database**
|
||||||
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
class Insert << (F,LightGreen) >> #RoyalBlue {
|
class Insert << (F,LightGreen) >> #RoyalBlue {
|
||||||
@ -98,6 +99,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---524eb8f6_38d4_47dc_92ad_98b94e099ac0---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# trait VarExport (Details)
|
# trait VarExport (Details)
|
||||||
> namespace: **VDM\Joomla\Abstraction\Registry\Traits**
|
> namespace: **VDM\Joomla\Abstraction\Registry\Traits**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
class VarExport << (T,Orange) >> #Turquoise {
|
class VarExport << (T,Orange) >> #Turquoise {
|
||||||
@ -34,6 +34,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---52a1d14f_304a_431c_8fa4_411179942db5---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# abstract class Model (Details)
|
# abstract class Model (Details)
|
||||||
> namespace: **VDM\Joomla\Abstraction**
|
> namespace: **VDM\Joomla\Abstraction**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
abstract Model #Orange {
|
abstract Model #Orange {
|
||||||
@ -180,6 +180,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---584747d1_3a86_453d_b7a3_a2219de8d777---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# trait GetString (Details)
|
# trait GetString (Details)
|
||||||
> namespace: **VDM\Joomla\Abstraction\Registry\Traits**
|
> namespace: **VDM\Joomla\Abstraction\Registry\Traits**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
class GetString << (T,Orange) >> #Turquoise {
|
class GetString << (T,Orange) >> #Turquoise {
|
||||||
@ -25,6 +25,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---59b1a2ea_d77e_4040_ac8c_e65cd8743e9b---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
123
src/5f0205fa-5c43-424a-af7d-abc943c17c8c/README.md
Normal file
123
src/5f0205fa-5c43-424a-af7d-abc943c17c8c/README.md
Normal file
@ -0,0 +1,123 @@
|
|||||||
|
```
|
||||||
|
██████╗ ██████╗ ██╗ ██╗███████╗██████╗
|
||||||
|
██╔══██╗██╔═══██╗██║ ██║██╔════╝██╔══██╗
|
||||||
|
██████╔╝██║ ██║██║ █╗ ██║█████╗ ██████╔╝
|
||||||
|
██╔═══╝ ██║ ██║██║███╗██║██╔══╝ ██╔══██╗
|
||||||
|
██║ ╚██████╔╝╚███╔███╔╝███████╗██║ ██║
|
||||||
|
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
|
||||||
|
```
|
||||||
|
# abstract class SchemaChecker (Details)
|
||||||
|
> namespace: **VDM\Joomla\Abstraction**
|
||||||
|
|
||||||
|
```uml
|
||||||
|
@startuml
|
||||||
|
abstract SchemaChecker #Orange {
|
||||||
|
# ?Table $table
|
||||||
|
# ?Schema $schema
|
||||||
|
# CMSApplication $app
|
||||||
|
+ __construct(?Schema $schema = null, ?Table $table = null, ...)
|
||||||
|
+ run() : void
|
||||||
|
# initializeInstances() : void
|
||||||
|
# setSchemaInstance() : void
|
||||||
|
# setTableInstance() : void
|
||||||
|
# {abstract} getCode() : string
|
||||||
|
# {abstract} getPowerPath() : string
|
||||||
|
# {abstract} getSchemaClass() : string
|
||||||
|
# {abstract} getTableClass() : string
|
||||||
|
}
|
||||||
|
|
||||||
|
note right of SchemaChecker::__construct
|
||||||
|
Constructor.
|
||||||
|
|
||||||
|
since: 3.2.2
|
||||||
|
|
||||||
|
arguments:
|
||||||
|
?Schema $schema = null
|
||||||
|
?Table $table = null
|
||||||
|
?CMSApplication $app = null
|
||||||
|
end note
|
||||||
|
|
||||||
|
note left of SchemaChecker::run
|
||||||
|
Make sure that the database schema is up-to-date.
|
||||||
|
|
||||||
|
since: 3.2.2
|
||||||
|
return: void
|
||||||
|
end note
|
||||||
|
|
||||||
|
note right of SchemaChecker::initializeInstances
|
||||||
|
Initialize the needed class instances if needed
|
||||||
|
|
||||||
|
since: 3.2.2
|
||||||
|
return: void
|
||||||
|
end note
|
||||||
|
|
||||||
|
note left of SchemaChecker::setSchemaInstance
|
||||||
|
set the schema class instance
|
||||||
|
|
||||||
|
since: 3.2.2
|
||||||
|
return: void
|
||||||
|
end note
|
||||||
|
|
||||||
|
note right of SchemaChecker::setTableInstance
|
||||||
|
set the table class instance
|
||||||
|
|
||||||
|
since: 3.2.2
|
||||||
|
return: void
|
||||||
|
end note
|
||||||
|
|
||||||
|
note left of SchemaChecker::getCode
|
||||||
|
Get the targeted component code
|
||||||
|
|
||||||
|
since: 3.2.2
|
||||||
|
return: string
|
||||||
|
end note
|
||||||
|
|
||||||
|
note right of SchemaChecker::getPowerPath
|
||||||
|
Get the targeted component power path
|
||||||
|
|
||||||
|
since: 3.2.2
|
||||||
|
return: string
|
||||||
|
end note
|
||||||
|
|
||||||
|
note left of SchemaChecker::getSchemaClass
|
||||||
|
Get the fully qualified name of the schema class.
|
||||||
|
|
||||||
|
since: 3.2.2
|
||||||
|
return: string
|
||||||
|
end note
|
||||||
|
|
||||||
|
note right of SchemaChecker::getTableClass
|
||||||
|
Get the fully qualified name of the table class.
|
||||||
|
|
||||||
|
since: 3.2.2
|
||||||
|
return: string
|
||||||
|
end note
|
||||||
|
|
||||||
|
@enduml
|
||||||
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---5f0205fa_5c43_424a_af7d_abc943c17c8c---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
|
---
|
||||||
|
```
|
||||||
|
██╗ ██████╗██████╗
|
||||||
|
██║██╔════╝██╔══██╗
|
||||||
|
██║██║ ██████╔╝
|
||||||
|
██ ██║██║ ██╔══██╗
|
||||||
|
╚█████╔╝╚██████╗██████╔╝
|
||||||
|
╚════╝ ╚═════╝╚═════╝
|
||||||
|
```
|
||||||
|
> Build with [Joomla Component Builder](https://git.vdm.dev/joomla/Component-Builder)
|
||||||
|
|
196
src/5f0205fa-5c43-424a-af7d-abc943c17c8c/code.php
Normal file
196
src/5f0205fa-5c43-424a-af7d-abc943c17c8c/code.php
Normal file
@ -0,0 +1,196 @@
|
|||||||
|
<?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 Joomla\CMS\Factory;
|
||||||
|
use Joomla\CMS\Application\CMSApplication;
|
||||||
|
use VDM\Joomla\Interfaces\SchemaInterface as Schema;
|
||||||
|
use VDM\Joomla\Interfaces\Tableinterface as Table;
|
||||||
|
use VDM\Joomla\Utilities\ClassHelper;
|
||||||
|
use VDM\Joomla\Interfaces\SchemaCheckerInterface;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Schema Checker
|
||||||
|
*
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
abstract class SchemaChecker implements SchemaCheckerInterface
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* The Table Class.
|
||||||
|
*
|
||||||
|
* @var Table|null
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
protected ?Table $table;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The Schema Class.
|
||||||
|
*
|
||||||
|
* @var Schema|null
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
protected ?Schema $schema;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Application object.
|
||||||
|
*
|
||||||
|
* @var CMSApplication
|
||||||
|
* @since 3.2.2
|
||||||
|
**/
|
||||||
|
protected CMSApplication $app;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructor.
|
||||||
|
*
|
||||||
|
* @param Schema|null $schema The Schema Class.
|
||||||
|
* @param Table|null $table The Table Class.
|
||||||
|
* @param CMSApplication|null $app The app object.
|
||||||
|
*
|
||||||
|
* @throws \Exception
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
public function __construct(?Schema $schema = null, ?Table $table = null, ?CMSApplication $app = null)
|
||||||
|
{
|
||||||
|
$this->schema = $schema;
|
||||||
|
$this->table = $table;
|
||||||
|
$this->app = $app ?: Factory::getApplication();
|
||||||
|
|
||||||
|
// Validate classes are set
|
||||||
|
// Since this class is often called from outside a container
|
||||||
|
$this->initializeInstances();
|
||||||
|
// I don't care! I have more important thing to do, maybe later... (last updated in 1983 ;)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Make sure that the database schema is up-to-date.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
public function run(): void
|
||||||
|
{
|
||||||
|
if ($this->schema === null)
|
||||||
|
{
|
||||||
|
$this->app->enqueueMessage('We failed to find/load the Schema class', 'warning');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// try to load the update the tables with the schema class
|
||||||
|
try
|
||||||
|
{
|
||||||
|
$messages = $this->schema->update();
|
||||||
|
}
|
||||||
|
catch (\Exception $e)
|
||||||
|
{
|
||||||
|
$this->app->enqueueMessage($e->getMessage(), 'warning');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach ($messages as $message)
|
||||||
|
{
|
||||||
|
$this->app->enqueueMessage($message, 'message');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initialize the needed class instances if needed
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
protected function initializeInstances(): void
|
||||||
|
{
|
||||||
|
if ($this->schema !== null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($this->table === null)
|
||||||
|
{
|
||||||
|
$this->setTableInstance();
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->setSchemaInstance();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* set the schema class instance
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
protected function setSchemaInstance(): void
|
||||||
|
{
|
||||||
|
// make sure the class is loaded
|
||||||
|
if (ClassHelper::exists(
|
||||||
|
$this->getSchemaClass(), $this->getCode(), $this->getPowerPath()
|
||||||
|
))
|
||||||
|
{
|
||||||
|
// instantiate the schema class
|
||||||
|
$this->schema = new ($this->getSchemaClass())($this->table);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* set the table class instance
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
protected function setTableInstance(): void
|
||||||
|
{
|
||||||
|
// make sure the class is loaded
|
||||||
|
if (ClassHelper::exists(
|
||||||
|
$this->getTableClass(), $this->getCode(), $this->getPowerPath()
|
||||||
|
))
|
||||||
|
{
|
||||||
|
// instantiate the table class
|
||||||
|
$this->table = new ($this->getTableClass())();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the targeted component code
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
abstract protected function getCode(): string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the targeted component power path
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
abstract protected function getPowerPath(): string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the fully qualified name of the schema class.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
abstract protected function getSchemaClass(): string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the fully qualified name of the table class.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
abstract protected function getTableClass(): string;
|
||||||
|
}
|
||||||
|
|
165
src/5f0205fa-5c43-424a-af7d-abc943c17c8c/code.power
Normal file
165
src/5f0205fa-5c43-424a-af7d-abc943c17c8c/code.power
Normal file
@ -0,0 +1,165 @@
|
|||||||
|
/**
|
||||||
|
* The Table Class.
|
||||||
|
*
|
||||||
|
* @var Table|null
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
protected ?Table $table;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The Schema Class.
|
||||||
|
*
|
||||||
|
* @var Schema|null
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
protected ?Schema $schema;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Application object.
|
||||||
|
*
|
||||||
|
* @var CMSApplication
|
||||||
|
* @since 3.2.2
|
||||||
|
**/
|
||||||
|
protected CMSApplication $app;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructor.
|
||||||
|
*
|
||||||
|
* @param Schema|null $schema The Schema Class.
|
||||||
|
* @param Table|null $table The Table Class.
|
||||||
|
* @param CMSApplication|null $app The app object.
|
||||||
|
*
|
||||||
|
* @throws \Exception
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
public function __construct(?Schema $schema = null, ?Table $table = null, ?CMSApplication $app = null)
|
||||||
|
{
|
||||||
|
$this->schema = $schema;
|
||||||
|
$this->table = $table;
|
||||||
|
$this->app = $app ?: Factory::getApplication();
|
||||||
|
|
||||||
|
// Validate classes are set
|
||||||
|
// Since this class is often called from outside a container
|
||||||
|
$this->initializeInstances();
|
||||||
|
// I don't care! I have more important thing to do, maybe later... (last updated in 1983 ;)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Make sure that the database schema is up-to-date.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
public function run(): void
|
||||||
|
{
|
||||||
|
if ($this->schema === null)
|
||||||
|
{
|
||||||
|
$this->app->enqueueMessage('We failed to find/load the Schema class', 'warning');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// try to load the update the tables with the schema class
|
||||||
|
try
|
||||||
|
{
|
||||||
|
$messages = $this->schema->update();
|
||||||
|
}
|
||||||
|
catch (\Exception $e)
|
||||||
|
{
|
||||||
|
$this->app->enqueueMessage($e->getMessage(), 'warning');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach ($messages as $message)
|
||||||
|
{
|
||||||
|
$this->app->enqueueMessage($message, 'message');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initialize the needed class instances if needed
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
protected function initializeInstances(): void
|
||||||
|
{
|
||||||
|
if ($this->schema !== null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($this->table === null)
|
||||||
|
{
|
||||||
|
$this->setTableInstance();
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->setSchemaInstance();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* set the schema class instance
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
protected function setSchemaInstance(): void
|
||||||
|
{
|
||||||
|
// make sure the class is loaded
|
||||||
|
if (ClassHelper::exists(
|
||||||
|
$this->getSchemaClass(), $this->getCode(), $this->getPowerPath()
|
||||||
|
))
|
||||||
|
{
|
||||||
|
// instantiate the schema class
|
||||||
|
$this->schema = new ($this->getSchemaClass())($this->table);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* set the table class instance
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
protected function setTableInstance(): void
|
||||||
|
{
|
||||||
|
// make sure the class is loaded
|
||||||
|
if (ClassHelper::exists(
|
||||||
|
$this->getTableClass(), $this->getCode(), $this->getPowerPath()
|
||||||
|
))
|
||||||
|
{
|
||||||
|
// instantiate the table class
|
||||||
|
$this->table = new ($this->getTableClass())();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the targeted component code
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
abstract protected function getCode(): string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the targeted component power path
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
abstract protected function getPowerPath(): string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the fully qualified name of the schema class.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
abstract protected function getSchemaClass(): string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the fully qualified name of the table class.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
abstract protected function getTableClass(): string;
|
@ -2,31 +2,33 @@
|
|||||||
"add_head": "1",
|
"add_head": "1",
|
||||||
"add_licensing_template": "2",
|
"add_licensing_template": "2",
|
||||||
"extends": "",
|
"extends": "",
|
||||||
"guid": "cddcac51-9a46-47c4-ba59-105c70453bd6",
|
"guid": "5f0205fa-5c43-424a-af7d-abc943c17c8c",
|
||||||
"implements": null,
|
"implements": [
|
||||||
|
"b6e9854c-3672-42ec-8843-26c24b4635bd"
|
||||||
|
],
|
||||||
"load_selection": null,
|
"load_selection": null,
|
||||||
"name": "FilterHelper",
|
"name": "SchemaChecker",
|
||||||
"power_version": "1.0.0",
|
"power_version": "1.0.0",
|
||||||
"system_name": "JCB.Utilities.FilterHelper",
|
"system_name": "VDM.SchemaChecker",
|
||||||
"type": "abstract class",
|
"type": "abstract class",
|
||||||
"use_selection": {
|
"use_selection": {
|
||||||
"use_selection0": {
|
"use_selection0": {
|
||||||
"use": "0a59c65c-9daf-4bc9-baf4-e063ff9e6a8a",
|
"use": "4dd11b9b-3c64-460b-aaa6-62ba467db7aa",
|
||||||
"as": "default"
|
"as": "Schema"
|
||||||
},
|
},
|
||||||
"use_selection1": {
|
"use_selection1": {
|
||||||
"use": "4b225c51-d293-48e4-b3f6-5136cf5c3f18",
|
"use": "2da6d6c4-eb29-4d69-8bc2-36d96e916adf",
|
||||||
"as": "default"
|
"as": "Table"
|
||||||
},
|
},
|
||||||
"use_selection2": {
|
"use_selection2": {
|
||||||
"use": "db87c339-5bb6-4291-a7ef-2c48ea1b06bc",
|
"use": "13c2cac1-a70d-42d7-99fc-eb7ac3443069",
|
||||||
"as": "default"
|
"as": "default"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"extendsinterfaces": null,
|
"extendsinterfaces": null,
|
||||||
"namespace": "[[[NamespacePrefix]]]\\Joomla\\Componentbuilder.Utilities.FilterHelper",
|
"namespace": "[[[NamespacePrefix]]]\\Joomla\\Abstraction.SchemaChecker",
|
||||||
"description": "Filter Helper\r\n\r\n@since 3.2.0",
|
"description": "Schema Checker\r\n\r\n@since 3.2.2",
|
||||||
"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",
|
"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\\Language\\Text;",
|
"head": "use Joomla\\CMS\\Factory;\r\nuse Joomla\\CMS\\Application\\CMSApplication;",
|
||||||
"composer": ""
|
"composer": ""
|
||||||
}
|
}
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# abstract class Helper (Details)
|
# abstract class Helper (Details)
|
||||||
> namespace: **VDM\Joomla\Utilities\Component**
|
> namespace: **VDM\Joomla\Utilities\Component**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
abstract Helper #Orange {
|
abstract Helper #Orange {
|
||||||
@ -94,6 +94,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---640b5352_fb09_425f_a26e_cd44eda03f15---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# abstract class Base64Helper (Details)
|
# abstract class Base64Helper (Details)
|
||||||
> namespace: **VDM\Joomla\Utilities**
|
> namespace: **VDM\Joomla\Utilities**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
abstract Base64Helper #Orange {
|
abstract Base64Helper #Orange {
|
||||||
@ -30,6 +30,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---64a6ff6c_069c_4a11_a76b_db5e36c27690---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
# interface Registryinterface (Details)
|
# interface Registryinterface (Details)
|
||||||
> namespace: **VDM\Joomla\Interfaces**
|
> namespace: **VDM\Joomla\Interfaces**
|
||||||
> extends: **Activeregistryinterface**
|
> extends: **Activeregistryinterface**
|
||||||
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
interface Registryinterface #Lavender {
|
interface Registryinterface #Lavender {
|
||||||
@ -73,6 +74,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---64e291c2_11f1_423d_a44d_837cc12cc017---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
52
src/65a0f81a-14fc-4870-9382-b8d830b19937/README.md
Normal file
52
src/65a0f81a-14fc-4870-9382-b8d830b19937/README.md
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
```
|
||||||
|
██████╗ ██████╗ ██╗ ██╗███████╗██████╗
|
||||||
|
██╔══██╗██╔═══██╗██║ ██║██╔════╝██╔══██╗
|
||||||
|
██████╔╝██║ ██║██║ █╗ ██║█████╗ ██████╔╝
|
||||||
|
██╔═══╝ ██║ ██║██║███╗██║██╔══╝ ██╔══██╗
|
||||||
|
██║ ╚██████╔╝╚███╔███╔╝███████╗██║ ██║
|
||||||
|
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
|
||||||
|
```
|
||||||
|
# interface ItemInterface (Details)
|
||||||
|
> namespace: **VDM\Joomla\Interfaces\Readme**
|
||||||
|
|
||||||
|
```uml
|
||||||
|
@startuml
|
||||||
|
interface ItemInterface #Lavender {
|
||||||
|
+ get(object $item) : string
|
||||||
|
}
|
||||||
|
|
||||||
|
note right of ItemInterface::get
|
||||||
|
Get an item readme
|
||||||
|
|
||||||
|
since: 3.2.2
|
||||||
|
return: string
|
||||||
|
end note
|
||||||
|
|
||||||
|
@enduml
|
||||||
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---65a0f81a_14fc_4870_9382_b8d830b19937---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
|
---
|
||||||
|
```
|
||||||
|
██╗ ██████╗██████╗
|
||||||
|
██║██╔════╝██╔══██╗
|
||||||
|
██║██║ ██████╔╝
|
||||||
|
██ ██║██║ ██╔══██╗
|
||||||
|
╚█████╔╝╚██████╗██████╔╝
|
||||||
|
╚════╝ ╚═════╝╚═════╝
|
||||||
|
```
|
||||||
|
> Build with [Joomla Component Builder](https://git.vdm.dev/joomla/Component-Builder)
|
||||||
|
|
32
src/65a0f81a-14fc-4870-9382-b8d830b19937/code.php
Normal file
32
src/65a0f81a-14fc-4870-9382-b8d830b19937/code.php
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
<?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\Readme;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Item Readme Interface
|
||||||
|
*
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
interface ItemInterface
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Get an item readme
|
||||||
|
*
|
||||||
|
* @param object $item An item details.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
public function get(object $item): string;
|
||||||
|
}
|
||||||
|
|
9
src/65a0f81a-14fc-4870-9382-b8d830b19937/code.power
Normal file
9
src/65a0f81a-14fc-4870-9382-b8d830b19937/code.power
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
/**
|
||||||
|
* Get an item readme
|
||||||
|
*
|
||||||
|
* @param object $item An item details.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
public function get(object $item): string;
|
19
src/65a0f81a-14fc-4870-9382-b8d830b19937/settings.json
Normal file
19
src/65a0f81a-14fc-4870-9382-b8d830b19937/settings.json
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"add_head": "0",
|
||||||
|
"add_licensing_template": "2",
|
||||||
|
"extends": "",
|
||||||
|
"guid": "65a0f81a-14fc-4870-9382-b8d830b19937",
|
||||||
|
"implements": null,
|
||||||
|
"load_selection": null,
|
||||||
|
"name": "ItemInterface",
|
||||||
|
"power_version": "1.0.0",
|
||||||
|
"system_name": "VDM.Interfaces.Readme.ItemInterface",
|
||||||
|
"type": "interface",
|
||||||
|
"use_selection": null,
|
||||||
|
"extendsinterfaces": null,
|
||||||
|
"namespace": "[[[NamespacePrefix]]]\\Joomla\\Interfaces.Readme.ItemInterface",
|
||||||
|
"description": "Item Readme Interface\r\n\r\n@since 3.2.2",
|
||||||
|
"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": ""
|
||||||
|
}
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# interface UpdateInterface (Details)
|
# interface UpdateInterface (Details)
|
||||||
> namespace: **VDM\Joomla\Interfaces\Data**
|
> namespace: **VDM\Joomla\Interfaces\Data**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
interface UpdateInterface #Lavender {
|
interface UpdateInterface #Lavender {
|
||||||
@ -84,6 +84,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---68a41264_64c0_441a_a3d8_8a5e557b1883---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# abstract class Database (Details)
|
# abstract class Database (Details)
|
||||||
> namespace: **VDM\Joomla\Abstraction**
|
> namespace: **VDM\Joomla\Abstraction**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
abstract Database #Orange {
|
abstract Database #Orange {
|
||||||
@ -43,6 +43,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---6cbef8f8_4813_48e3_b05a_65e1aea95171---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
77
src/709d7294-9a43-46e2-b64e-d16a16f0eab1/README.md
Normal file
77
src/709d7294-9a43-46e2-b64e-d16a16f0eab1/README.md
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
```
|
||||||
|
██████╗ ██████╗ ██╗ ██╗███████╗██████╗
|
||||||
|
██╔══██╗██╔═══██╗██║ ██║██╔════╝██╔══██╗
|
||||||
|
██████╔╝██║ ██║██║ █╗ ██║█████╗ ██████╔╝
|
||||||
|
██╔═══╝ ██║ ██║██║███╗██║██╔══╝ ██╔══██╗
|
||||||
|
██║ ╚██████╔╝╚███╔███╔╝███████╗██║ ██║
|
||||||
|
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
|
||||||
|
```
|
||||||
|
# final class SchemaChecker (Details)
|
||||||
|
> namespace: **VDM\Joomla\Componentbuilder\Table**
|
||||||
|
> extends: **ExtendingSchemaChecker**
|
||||||
|
|
||||||
|
```uml
|
||||||
|
@startuml
|
||||||
|
class SchemaChecker << (F,LightGreen) >> #RoyalBlue {
|
||||||
|
# getCode() : string
|
||||||
|
# getPowerPath() : string
|
||||||
|
# getSchemaClass() : string
|
||||||
|
# getTableClass() : string
|
||||||
|
}
|
||||||
|
|
||||||
|
note right of SchemaChecker::getCode
|
||||||
|
Get the targeted component code
|
||||||
|
|
||||||
|
since: 3.2.2
|
||||||
|
return: string
|
||||||
|
end note
|
||||||
|
|
||||||
|
note right of SchemaChecker::getPowerPath
|
||||||
|
Get the targeted component power path
|
||||||
|
|
||||||
|
since: 3.2.2
|
||||||
|
return: string
|
||||||
|
end note
|
||||||
|
|
||||||
|
note right of SchemaChecker::getSchemaClass
|
||||||
|
Get the fully qualified name of the schema class.
|
||||||
|
|
||||||
|
since: 3.2.2
|
||||||
|
return: string
|
||||||
|
end note
|
||||||
|
|
||||||
|
note right of SchemaChecker::getTableClass
|
||||||
|
Get the fully qualified name of the table class.
|
||||||
|
|
||||||
|
since: 3.2.2
|
||||||
|
return: string
|
||||||
|
end note
|
||||||
|
|
||||||
|
@enduml
|
||||||
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---709d7294_9a43_46e2_b64e_d16a16f0eab1---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
|
---
|
||||||
|
```
|
||||||
|
██╗ ██████╗██████╗
|
||||||
|
██║██╔════╝██╔══██╗
|
||||||
|
██║██║ ██████╔╝
|
||||||
|
██ ██║██║ ██╔══██╗
|
||||||
|
╚█████╔╝╚██████╗██████╔╝
|
||||||
|
╚════╝ ╚═════╝╚═════╝
|
||||||
|
```
|
||||||
|
> Build with [Joomla Component Builder](https://git.vdm.dev/joomla/Component-Builder)
|
||||||
|
|
72
src/709d7294-9a43-46e2-b64e-d16a16f0eab1/code.php
Normal file
72
src/709d7294-9a43-46e2-b64e-d16a16f0eab1/code.php
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package Joomla.Component.Builder
|
||||||
|
*
|
||||||
|
* @created 4th September, 2022
|
||||||
|
* @author Llewellyn van der Merwe <https://dev.vdm.io>
|
||||||
|
* @git Joomla Component Builder <https://git.vdm.dev/joomla/Component-Builder>
|
||||||
|
* @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.
|
||||||
|
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace VDM\Joomla\Componentbuilder\Table;
|
||||||
|
|
||||||
|
|
||||||
|
use VDM\Joomla\Componentbuilder\Table;
|
||||||
|
use VDM\Joomla\Componentbuilder\Table\Schema;
|
||||||
|
use VDM\Joomla\Interfaces\SchemaCheckerInterface;
|
||||||
|
use VDM\Joomla\Abstraction\SchemaChecker as ExtendingSchemaChecker;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Componentbuilder Tables Schema Checker
|
||||||
|
*
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
final class SchemaChecker extends ExtendingSchemaChecker implements SchemaCheckerInterface
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Get the targeted component code
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
protected function getCode(): string
|
||||||
|
{
|
||||||
|
return 'componentbuilder';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the targeted component power path
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
protected function getPowerPath(): string
|
||||||
|
{
|
||||||
|
return 'src/Helper/PowerloaderHelper.php';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the fully qualified name of the schema class.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
protected function getSchemaClass(): string
|
||||||
|
{
|
||||||
|
return Schema::class;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the fully qualified name of the table class.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
protected function getTableClass(): string
|
||||||
|
{
|
||||||
|
return Table::class;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
43
src/709d7294-9a43-46e2-b64e-d16a16f0eab1/code.power
Normal file
43
src/709d7294-9a43-46e2-b64e-d16a16f0eab1/code.power
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
/**
|
||||||
|
* Get the targeted component code
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
protected function getCode(): string
|
||||||
|
{
|
||||||
|
return '[[[component]]]';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the targeted component power path
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
protected function getPowerPath(): string
|
||||||
|
{
|
||||||
|
return '[[[POWERLOADERPATH]]]';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the fully qualified name of the schema class.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
protected function getSchemaClass(): string
|
||||||
|
{
|
||||||
|
return Schema::class;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the fully qualified name of the table class.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
protected function getTableClass(): string
|
||||||
|
{
|
||||||
|
return Table::class;
|
||||||
|
}
|
30
src/709d7294-9a43-46e2-b64e-d16a16f0eab1/settings.json
Normal file
30
src/709d7294-9a43-46e2-b64e-d16a16f0eab1/settings.json
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
{
|
||||||
|
"add_head": "0",
|
||||||
|
"add_licensing_template": "2",
|
||||||
|
"extends": "5f0205fa-5c43-424a-af7d-abc943c17c8c",
|
||||||
|
"guid": "709d7294-9a43-46e2-b64e-d16a16f0eab1",
|
||||||
|
"implements": [
|
||||||
|
"b6e9854c-3672-42ec-8843-26c24b4635bd"
|
||||||
|
],
|
||||||
|
"load_selection": null,
|
||||||
|
"name": "SchemaChecker",
|
||||||
|
"power_version": "2.0.0",
|
||||||
|
"system_name": "VDM.Table.SchemaChecker",
|
||||||
|
"type": "final class",
|
||||||
|
"use_selection": {
|
||||||
|
"use_selection0": {
|
||||||
|
"use": "bfd1d6d5-56c1-4fe9-9fee-1c5910e1f5d8",
|
||||||
|
"as": "default"
|
||||||
|
},
|
||||||
|
"use_selection1": {
|
||||||
|
"use": "b3d2ec33-76d4-4c3b-bb2c-86ac14a221ce",
|
||||||
|
"as": "default"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"extendsinterfaces": null,
|
||||||
|
"namespace": "[[[NamespacePrefix]]]\\Joomla\\[[[ComponentNamespace]]].Table.SchemaChecker",
|
||||||
|
"description": "[[[Component]]] Tables Schema Checker\r\n\r\n@since 3.2.2",
|
||||||
|
"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": ""
|
||||||
|
}
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# interface UpdateInterface (Details)
|
# interface UpdateInterface (Details)
|
||||||
> namespace: **VDM\Joomla\Interfaces**
|
> namespace: **VDM\Joomla\Interfaces**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
interface UpdateInterface #Lavender {
|
interface UpdateInterface #Lavender {
|
||||||
@ -71,6 +71,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---7179fde6_1e51_4b51_8545_7ca18f74a0f4---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# interface ItemsInterface (Details)
|
# interface ItemsInterface (Details)
|
||||||
> namespace: **VDM\Joomla\Interfaces\Data**
|
> namespace: **VDM\Joomla\Interfaces\Data**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
interface ItemsInterface #Lavender {
|
interface ItemsInterface #Lavender {
|
||||||
@ -70,6 +70,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---7212e4db_371f_4cfd_8122_32e9bb100d83---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -6,12 +6,12 @@
|
|||||||
██║ ╚██████╔╝╚███╔███╔╝███████╗██║ ██║
|
██║ ╚██████╔╝╚███╔███╔╝███████╗██║ ██║
|
||||||
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
|
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
|
||||||
```
|
```
|
||||||
# class Remote (Details)
|
# class Get (Details)
|
||||||
> namespace: **VDM\Joomla\Data**
|
> namespace: **VDM\Joomla\Data\Remote**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
class Remote #Gold {
|
class Get #Gold {
|
||||||
# Grep $grep
|
# Grep $grep
|
||||||
# Item $item
|
# Item $item
|
||||||
# string $table
|
# string $table
|
||||||
@ -19,11 +19,11 @@ class Remote #Gold {
|
|||||||
+ table(string $table) : self
|
+ table(string $table) : self
|
||||||
+ init() : bool
|
+ init() : bool
|
||||||
+ reset(array $items) : bool
|
+ reset(array $items) : bool
|
||||||
+ load(string $guid, array $order = ['remote', 'local'], ...) : bool
|
+ item(string $guid, array $order = ['remote', 'local'], ...) : bool
|
||||||
+ getTable() : string
|
+ getTable() : string
|
||||||
}
|
}
|
||||||
|
|
||||||
note right of Remote::__construct
|
note right of Get::__construct
|
||||||
Constructor.
|
Constructor.
|
||||||
|
|
||||||
since: 3.2.0
|
since: 3.2.0
|
||||||
@ -34,29 +34,29 @@ note right of Remote::__construct
|
|||||||
?string $table = null
|
?string $table = null
|
||||||
end note
|
end note
|
||||||
|
|
||||||
note right of Remote::table
|
note right of Get::table
|
||||||
Set the current active table
|
Set the current active table
|
||||||
|
|
||||||
since: 3.2.2
|
since: 3.2.2
|
||||||
return: self
|
return: self
|
||||||
end note
|
end note
|
||||||
|
|
||||||
note right of Remote::init
|
note right of Get::init
|
||||||
Init all items not found in database
|
Init all items not found in database
|
||||||
|
|
||||||
since: 3.2.0
|
since: 3.2.0
|
||||||
return: bool
|
return: bool
|
||||||
end note
|
end note
|
||||||
|
|
||||||
note right of Remote::reset
|
note right of Get::reset
|
||||||
Reset the items
|
Reset the items
|
||||||
|
|
||||||
since: 3.2.0
|
since: 3.2.0
|
||||||
return: bool
|
return: bool
|
||||||
end note
|
end note
|
||||||
|
|
||||||
note right of Remote::load
|
note right of Get::item
|
||||||
Load a item
|
Load an item
|
||||||
|
|
||||||
since: 3.2.0
|
since: 3.2.0
|
||||||
return: bool
|
return: bool
|
||||||
@ -67,7 +67,7 @@ note right of Remote::load
|
|||||||
?string $action = null
|
?string $action = null
|
||||||
end note
|
end note
|
||||||
|
|
||||||
note right of Remote::getTable
|
note right of Get::getTable
|
||||||
Get the current active table
|
Get the current active table
|
||||||
|
|
||||||
since: 3.2.2
|
since: 3.2.2
|
||||||
@ -77,6 +77,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---728ee726_3f0f_4762_899d_f8c9430cee58---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -9,20 +9,20 @@
|
|||||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||||
*/
|
*/
|
||||||
|
|
||||||
namespace VDM\Joomla\Data;
|
namespace VDM\Joomla\Data\Remote;
|
||||||
|
|
||||||
|
|
||||||
use VDM\Joomla\Interfaces\GrepInterface as Grep;
|
use VDM\Joomla\Interfaces\GrepInterface as Grep;
|
||||||
use VDM\Joomla\Interfaces\Data\ItemInterface as Item;
|
use VDM\Joomla\Interfaces\Data\ItemInterface as Item;
|
||||||
use VDM\Joomla\Interfaces\Data\RemoteInterface;
|
use VDM\Joomla\Interfaces\Data\RemoteGetInterface;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Load data based on global unique ids from remote system
|
* Get data based on global unique ids from remote system
|
||||||
*
|
*
|
||||||
* @since 3.2.0
|
* @since 3.2.0
|
||||||
*/
|
*/
|
||||||
class Remote implements RemoteInterface
|
class Get implements RemoteGetInterface
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* The Grep Class.
|
* The Grep Class.
|
||||||
@ -90,7 +90,7 @@ class Remote implements RemoteInterface
|
|||||||
*/
|
*/
|
||||||
public function init(): bool
|
public function init(): bool
|
||||||
{
|
{
|
||||||
if (($items = $this->grep->getRemotePowersGuid()) !== null)
|
if (($items = $this->grep->getRemoteGuid()) !== null)
|
||||||
{
|
{
|
||||||
foreach($items as $guid)
|
foreach($items as $guid)
|
||||||
{
|
{
|
||||||
@ -126,7 +126,7 @@ class Remote implements RemoteInterface
|
|||||||
|
|
||||||
foreach($items as $guid)
|
foreach($items as $guid)
|
||||||
{
|
{
|
||||||
if (!$this->load($guid, ['remote']))
|
if (!$this->item($guid, ['remote']))
|
||||||
{
|
{
|
||||||
$success = false;
|
$success = false;
|
||||||
}
|
}
|
||||||
@ -136,7 +136,7 @@ class Remote implements RemoteInterface
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Load a item
|
* Load an item
|
||||||
*
|
*
|
||||||
* @param string $guid The global unique id of the item
|
* @param string $guid The global unique id of the item
|
||||||
* @param array $order The search order
|
* @param array $order The search order
|
||||||
@ -145,7 +145,7 @@ class Remote implements RemoteInterface
|
|||||||
* @return bool
|
* @return bool
|
||||||
* @since 3.2.0
|
* @since 3.2.0
|
||||||
*/
|
*/
|
||||||
public function load(string $guid, array $order = ['remote', 'local'], ?string $action = null): bool
|
public function item(string $guid, array $order = ['remote', 'local'], ?string $action = null): bool
|
||||||
{
|
{
|
||||||
if (($item = $this->grep->get($guid, $order)) !== null)
|
if (($item = $this->grep->get($guid, $order)) !== null)
|
||||||
{
|
{
|
||||||
|
@ -64,7 +64,7 @@
|
|||||||
*/
|
*/
|
||||||
public function init(): bool
|
public function init(): bool
|
||||||
{
|
{
|
||||||
if (($items = $this->grep->getRemotePowersGuid()) !== null)
|
if (($items = $this->grep->getRemoteGuid()) !== null)
|
||||||
{
|
{
|
||||||
foreach($items as $guid)
|
foreach($items as $guid)
|
||||||
{
|
{
|
||||||
@ -100,7 +100,7 @@
|
|||||||
|
|
||||||
foreach($items as $guid)
|
foreach($items as $guid)
|
||||||
{
|
{
|
||||||
if (!$this->load($guid, ['remote']))
|
if (!$this->item($guid, ['remote']))
|
||||||
{
|
{
|
||||||
$success = false;
|
$success = false;
|
||||||
}
|
}
|
||||||
@ -110,7 +110,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Load a item
|
* Load an item
|
||||||
*
|
*
|
||||||
* @param string $guid The global unique id of the item
|
* @param string $guid The global unique id of the item
|
||||||
* @param array $order The search order
|
* @param array $order The search order
|
||||||
@ -119,7 +119,7 @@
|
|||||||
* @return bool
|
* @return bool
|
||||||
* @since 3.2.0
|
* @since 3.2.0
|
||||||
*/
|
*/
|
||||||
public function load(string $guid, array $order = ['remote', 'local'], ?string $action = null): bool
|
public function item(string $guid, array $order = ['remote', 'local'], ?string $action = null): bool
|
||||||
{
|
{
|
||||||
if (($item = $this->grep->get($guid, $order)) !== null)
|
if (($item = $this->grep->get($guid, $order)) !== null)
|
||||||
{
|
{
|
||||||
|
@ -7,9 +7,9 @@
|
|||||||
"51de80f2-2868-4c2c-8198-ef79349e9bd7"
|
"51de80f2-2868-4c2c-8198-ef79349e9bd7"
|
||||||
],
|
],
|
||||||
"load_selection": null,
|
"load_selection": null,
|
||||||
"name": "Remote",
|
"name": "Get",
|
||||||
"power_version": "1.0.0",
|
"power_version": "1.0.0",
|
||||||
"system_name": "VDM.Data.Remote",
|
"system_name": "VDM.Data.Remote.Get",
|
||||||
"type": "class",
|
"type": "class",
|
||||||
"use_selection": {
|
"use_selection": {
|
||||||
"use_selection0": {
|
"use_selection0": {
|
||||||
@ -22,8 +22,8 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"extendsinterfaces": null,
|
"extendsinterfaces": null,
|
||||||
"namespace": "[[[NamespacePrefix]]]\\Joomla\\Data.Remote",
|
"namespace": "[[[NamespacePrefix]]]\\Joomla\\Data.Remote.Get",
|
||||||
"description": "Load data based on global unique ids from remote system\r\n\r\n@since 3.2.0",
|
"description": "Get data based on global unique ids from remote system\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",
|
"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": "",
|
"head": "",
|
||||||
"composer": ""
|
"composer": ""
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
# final class Upsert (Details)
|
# final class Upsert (Details)
|
||||||
> namespace: **VDM\Joomla\Model**
|
> namespace: **VDM\Joomla\Model**
|
||||||
> extends: **Model**
|
> extends: **Model**
|
||||||
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
class Upsert << (F,LightGreen) >> #RoyalBlue {
|
class Upsert << (F,LightGreen) >> #RoyalBlue {
|
||||||
@ -57,6 +58,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---7c1fb50f_8fb1_4627_8705_6fedf7182ca5---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# trait ToString (Details)
|
# trait ToString (Details)
|
||||||
> namespace: **VDM\Joomla\Abstraction\Registry\Traits**
|
> namespace: **VDM\Joomla\Abstraction\Registry\Traits**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
class ToString << (T,Orange) >> #Turquoise {
|
class ToString << (T,Orange) >> #Turquoise {
|
||||||
@ -25,6 +25,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---7d494d91_ab60_43cd_aecf_d50e07f7f30e---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
# abstract class Registry (Details)
|
# abstract class Registry (Details)
|
||||||
> namespace: **VDM\Joomla\Abstraction**
|
> namespace: **VDM\Joomla\Abstraction**
|
||||||
> extends: **ActiveRegistry**
|
> extends: **ActiveRegistry**
|
||||||
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
abstract Registry #Orange {
|
abstract Registry #Orange {
|
||||||
@ -82,6 +83,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---7e822c03_1b20_41d1_9427_f5b8d5836af7---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# final class Subform (Details)
|
# final class Subform (Details)
|
||||||
> namespace: **VDM\Joomla\Data**
|
> namespace: **VDM\Joomla\Data**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
class Subform << (F,LightGreen) >> #RoyalBlue {
|
class Subform << (F,LightGreen) >> #RoyalBlue {
|
||||||
@ -125,6 +125,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---85785701_07b2_4f81_bc1e_0f423700c254---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# interface ModelInterface (Details)
|
# interface ModelInterface (Details)
|
||||||
> namespace: **VDM\Joomla\Interfaces**
|
> namespace: **VDM\Joomla\Interfaces**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
interface ModelInterface #Lavender {
|
interface ModelInterface #Lavender {
|
||||||
@ -114,6 +114,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---8aef58c1_3f70_4bd4_b9e4_3f29fcd41cff---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# class Update (Details)
|
# class Update (Details)
|
||||||
> namespace: **VDM\Joomla\Data\Action**
|
> namespace: **VDM\Joomla\Data\Action**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
class Update #Gold {
|
class Update #Gold {
|
||||||
@ -99,6 +99,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---8f83fb79_f92b_4f1f_952b_325f6c22d11e---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# abstract class ObjectHelper (Details)
|
# abstract class ObjectHelper (Details)
|
||||||
> namespace: **VDM\Joomla\Utilities**
|
> namespace: **VDM\Joomla\Utilities**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
abstract ObjectHelper #Orange {
|
abstract ObjectHelper #Orange {
|
||||||
@ -35,6 +35,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---91004529_94a9_4590_b842_e7c6b624ecf5---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# final class Item (Details)
|
# final class Item (Details)
|
||||||
> namespace: **VDM\Joomla\Data**
|
> namespace: **VDM\Joomla\Data**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
class Item << (F,LightGreen) >> #RoyalBlue {
|
class Item << (F,LightGreen) >> #RoyalBlue {
|
||||||
@ -120,6 +120,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---9206082e_a3f7_472e_98b2_de90d06cbdcd---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
# final class Delete (Details)
|
# final class Delete (Details)
|
||||||
> namespace: **VDM\Joomla\Database**
|
> namespace: **VDM\Joomla\Database**
|
||||||
> extends: **Database**
|
> extends: **Database**
|
||||||
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
class Delete << (F,LightGreen) >> #RoyalBlue {
|
class Delete << (F,LightGreen) >> #RoyalBlue {
|
||||||
@ -33,6 +34,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---92291f1f_f248_4ec0_9f2a_3d47c49eeac1---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# interface DeleteInterface (Details)
|
# interface DeleteInterface (Details)
|
||||||
> namespace: **VDM\Joomla\Interfaces**
|
> namespace: **VDM\Joomla\Interfaces**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
interface DeleteInterface #Lavender {
|
interface DeleteInterface #Lavender {
|
||||||
@ -33,6 +33,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---9c3aa650_e536_4eea_a2d4_73cc3e184aa9---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# abstract class GuidHelper (Details)
|
# abstract class GuidHelper (Details)
|
||||||
> namespace: **VDM\Joomla\Utilities**
|
> namespace: **VDM\Joomla\Utilities**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
abstract GuidHelper #Orange {
|
abstract GuidHelper #Orange {
|
||||||
@ -68,6 +68,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---9c513baf_b279_43fd_ae29_a585c8cbc4f0---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
# abstract class Factory (Details)
|
# abstract class Factory (Details)
|
||||||
> namespace: **VDM\Joomla\Data**
|
> namespace: **VDM\Joomla\Data**
|
||||||
> extends: **ExtendingFactory**
|
> extends: **ExtendingFactory**
|
||||||
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
abstract Factory #Orange {
|
abstract Factory #Orange {
|
||||||
@ -25,6 +26,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---9d76b8dc_3883_4755_b11c_131d19ca8a53---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# abstract class FieldHelper (Details)
|
# abstract class FieldHelper (Details)
|
||||||
> namespace: **VDM\Joomla\Utilities\String**
|
> namespace: **VDM\Joomla\Utilities\String**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
abstract FieldHelper #Orange {
|
abstract FieldHelper #Orange {
|
||||||
@ -30,6 +30,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---9ef0eb24_aae4_4f5a_99af_d724db44808f---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# abstract class FileHelper (Details)
|
# abstract class FileHelper (Details)
|
||||||
> namespace: **VDM\Joomla\Utilities**
|
> namespace: **VDM\Joomla\Utilities**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
abstract FileHelper #Orange {
|
abstract FileHelper #Orange {
|
||||||
@ -74,6 +74,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---a223b31e_ea1d_4cdf_92ae_5f9becffaff0---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# class Insert (Details)
|
# class Insert (Details)
|
||||||
> namespace: **VDM\Joomla\Data\Action**
|
> namespace: **VDM\Joomla\Data\Action**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
class Insert #Gold {
|
class Insert #Gold {
|
||||||
@ -99,6 +99,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---a455d916_cfe4_41df_9245_bafb709aacdb---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# class Data (Details)
|
# class Data (Details)
|
||||||
> namespace: **VDM\Joomla\Service**
|
> namespace: **VDM\Joomla\Service**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
class Data #Gold {
|
class Data #Gold {
|
||||||
@ -89,6 +89,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---a5daf189_3345_4b13_8716_c51f686f545b---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# abstract class TypeHelper (Details)
|
# abstract class TypeHelper (Details)
|
||||||
> namespace: **VDM\Joomla\Utilities\String**
|
> namespace: **VDM\Joomla\Utilities\String**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
abstract TypeHelper #Orange {
|
abstract TypeHelper #Orange {
|
||||||
@ -25,6 +25,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---a8935cbe_7701_40dc_bfd5_675f2d600954---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# interface InsertInterface (Details)
|
# interface InsertInterface (Details)
|
||||||
> namespace: **VDM\Joomla\Interfaces**
|
> namespace: **VDM\Joomla\Interfaces**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
interface InsertInterface #Lavender {
|
interface InsertInterface #Lavender {
|
||||||
@ -67,6 +67,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---ad12ca1c_d3ce_4e7f_88c5_c6c92bdedc48---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# interface Activeregistryinterface (Details)
|
# interface Activeregistryinterface (Details)
|
||||||
> namespace: **VDM\Joomla\Interfaces**
|
> namespace: **VDM\Joomla\Interfaces**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
interface Activeregistryinterface #Lavender {
|
interface Activeregistryinterface #Lavender {
|
||||||
@ -81,6 +81,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---af0eedbe_603b_4671_8e5a_28165d88254b---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
# final class Schema (Details)
|
# final class Schema (Details)
|
||||||
> namespace: **VDM\Joomla\Componentbuilder\Table**
|
> namespace: **VDM\Joomla\Componentbuilder\Table**
|
||||||
> extends: **ExtendingSchema**
|
> extends: **ExtendingSchema**
|
||||||
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
class Schema << (F,LightGreen) >> #RoyalBlue {
|
class Schema << (F,LightGreen) >> #RoyalBlue {
|
||||||
@ -32,6 +33,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---b3d2ec33_76d4_4c3b_bb2c_86ac14a221ce---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"extendsinterfaces": null,
|
"extendsinterfaces": null,
|
||||||
"namespace": "[[[NamespacePrefix]]]\\Joomla\\[[[Component]]].Table.Schema",
|
"namespace": "[[[NamespacePrefix]]]\\Joomla\\[[[ComponentNamespace]]].Table.Schema",
|
||||||
"description": "[[[Component]]] Tables Schema\r\n\r\n@since 3.2.1",
|
"description": "[[[Component]]] Tables Schema\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",
|
"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": "",
|
"head": "",
|
||||||
|
52
src/b6e9854c-3672-42ec-8843-26c24b4635bd/README.md
Normal file
52
src/b6e9854c-3672-42ec-8843-26c24b4635bd/README.md
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
```
|
||||||
|
██████╗ ██████╗ ██╗ ██╗███████╗██████╗
|
||||||
|
██╔══██╗██╔═══██╗██║ ██║██╔════╝██╔══██╗
|
||||||
|
██████╔╝██║ ██║██║ █╗ ██║█████╗ ██████╔╝
|
||||||
|
██╔═══╝ ██║ ██║██║███╗██║██╔══╝ ██╔══██╗
|
||||||
|
██║ ╚██████╔╝╚███╔███╔╝███████╗██║ ██║
|
||||||
|
╚═╝ ╚═════╝ ╚══╝╚══╝ ╚══════╝╚═╝ ╚═╝
|
||||||
|
```
|
||||||
|
# interface SchemaCheckerInterface (Details)
|
||||||
|
> namespace: **VDM\Joomla\Interfaces**
|
||||||
|
|
||||||
|
```uml
|
||||||
|
@startuml
|
||||||
|
interface SchemaCheckerInterface #Lavender {
|
||||||
|
+ run() : void
|
||||||
|
}
|
||||||
|
|
||||||
|
note right of SchemaCheckerInterface::run
|
||||||
|
Make sure that the database schema is up-to-date.
|
||||||
|
|
||||||
|
since: 3.2.2
|
||||||
|
return: void
|
||||||
|
end note
|
||||||
|
|
||||||
|
@enduml
|
||||||
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---b6e9854c_3672_42ec_8843_26c24b4635bd---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
|
---
|
||||||
|
```
|
||||||
|
██╗ ██████╗██████╗
|
||||||
|
██║██╔════╝██╔══██╗
|
||||||
|
██║██║ ██████╔╝
|
||||||
|
██ ██║██║ ██╔══██╗
|
||||||
|
╚█████╔╝╚██████╗██████╔╝
|
||||||
|
╚════╝ ╚═════╝╚═════╝
|
||||||
|
```
|
||||||
|
> Build with [Joomla Component Builder](https://git.vdm.dev/joomla/Component-Builder)
|
||||||
|
|
30
src/b6e9854c-3672-42ec-8843-26c24b4635bd/code.php
Normal file
30
src/b6e9854c-3672-42ec-8843-26c24b4635bd/code.php
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
<?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;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Schema Checker Interface
|
||||||
|
*
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
interface SchemaCheckerInterface
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Make sure that the database schema is up-to-date.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
public function run(): void;
|
||||||
|
}
|
||||||
|
|
7
src/b6e9854c-3672-42ec-8843-26c24b4635bd/code.power
Normal file
7
src/b6e9854c-3672-42ec-8843-26c24b4635bd/code.power
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
/**
|
||||||
|
* Make sure that the database schema is up-to-date.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
* @since 3.2.2
|
||||||
|
*/
|
||||||
|
public function run(): void;
|
19
src/b6e9854c-3672-42ec-8843-26c24b4635bd/settings.json
Normal file
19
src/b6e9854c-3672-42ec-8843-26c24b4635bd/settings.json
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"add_head": "0",
|
||||||
|
"add_licensing_template": "2",
|
||||||
|
"extends": "",
|
||||||
|
"guid": "b6e9854c-3672-42ec-8843-26c24b4635bd",
|
||||||
|
"implements": null,
|
||||||
|
"load_selection": null,
|
||||||
|
"name": "SchemaCheckerInterface",
|
||||||
|
"power_version": "1.0.0",
|
||||||
|
"system_name": "VDM.SchemaCheckerInterface",
|
||||||
|
"type": "interface",
|
||||||
|
"use_selection": null,
|
||||||
|
"extendsinterfaces": null,
|
||||||
|
"namespace": "[[[NamespacePrefix]]]\\Joomla\\Interfaces.SchemaCheckerInterface",
|
||||||
|
"description": "Schema Checker Interface\r\n\r\n@since 3.2.2",
|
||||||
|
"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": ""
|
||||||
|
}
|
@ -9,6 +9,7 @@
|
|||||||
# abstract class BaseRegistry (Details)
|
# abstract class BaseRegistry (Details)
|
||||||
> namespace: **VDM\Joomla\Componentbuilder\Abstraction**
|
> namespace: **VDM\Joomla\Componentbuilder\Abstraction**
|
||||||
> extends: **JoomlaRegistry**
|
> extends: **JoomlaRegistry**
|
||||||
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
abstract BaseRegistry #Orange {
|
abstract BaseRegistry #Orange {
|
||||||
@ -57,6 +58,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---b84e947d_2a13_44f7_ac0f_3902ae55ae0c---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
"type": "abstract class",
|
"type": "abstract class",
|
||||||
"use_selection": null,
|
"use_selection": null,
|
||||||
"extendsinterfaces": null,
|
"extendsinterfaces": null,
|
||||||
"namespace": "[[[NamespacePrefix]]]\\Joomla\\Componentbuilder.Abstraction.BaseRegistry",
|
"namespace": "[[[NamespacePrefix]]]\\Joomla\\[[[ComponentNamespace]]].Abstraction.BaseRegistry",
|
||||||
"description": "Registry\r\n\r\nSo we have full control over this class\r\n\r\n@since 3.2.0",
|
"description": "Registry\r\n\r\nSo we have full control over this class\r\n\r\n@since 3.2.0",
|
||||||
"implements_custom": "\\JsonSerializable, \\ArrayAccess, \\IteratorAggregate, \\Countable",
|
"implements_custom": "\\JsonSerializable, \\ArrayAccess, \\IteratorAggregate, \\Countable",
|
||||||
"extends_custom": "JoomlaRegistry",
|
"extends_custom": "JoomlaRegistry",
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
# final class Load (Details)
|
# final class Load (Details)
|
||||||
> namespace: **VDM\Joomla\Model**
|
> namespace: **VDM\Joomla\Model**
|
||||||
> extends: **Model**
|
> extends: **Model**
|
||||||
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
class Load << (F,LightGreen) >> #RoyalBlue {
|
class Load << (F,LightGreen) >> #RoyalBlue {
|
||||||
@ -57,6 +58,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---bb29a833_73f7_4283_9327_bc7e41f0723b---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
```
|
```
|
||||||
# interface MultiSubformInterface (Details)
|
# interface MultiSubformInterface (Details)
|
||||||
> namespace: **VDM\Joomla\Interfaces\Data**
|
> namespace: **VDM\Joomla\Interfaces\Data**
|
||||||
> extends: ****
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
interface MultiSubformInterface #Lavender {
|
interface MultiSubformInterface #Lavender {
|
||||||
@ -65,6 +65,20 @@ end note
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---bb30f709_53d2_446a_ab3d_300fe6de0bc8---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
# final class Table (Details)
|
# final class Table (Details)
|
||||||
> namespace: **VDM\Joomla\Componentbuilder**
|
> namespace: **VDM\Joomla\Componentbuilder**
|
||||||
> extends: **BaseTable**
|
> extends: **BaseTable**
|
||||||
|
|
||||||
```uml
|
```uml
|
||||||
@startuml
|
@startuml
|
||||||
class Table << (F,LightGreen) >> #RoyalBlue {
|
class Table << (F,LightGreen) >> #RoyalBlue {
|
||||||
@ -17,6 +18,20 @@ class Table << (F,LightGreen) >> #RoyalBlue {
|
|||||||
@enduml
|
@enduml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The Power feature in JCB allows you to write PHP classes and their implementations, making it easy to include them in your Joomla project. JCB handles linking, autoloading, namespacing, and folder structure creation for you.
|
||||||
|
|
||||||
|
By using the SPK (Super Power Key) in your custom code (replacing the class name in your code with the SPK), JCB will automatically pull the power from the repository into your project. This makes it available in your JCB instance, allowing you to edit it and include the class in your generated Joomla component.
|
||||||
|
|
||||||
|
JCB uses placeholders like [[[`NamespacePrefix`]]] and [[[`ComponentNamespace`]]] in namespacing to prevent collisions and improve reusability across different JCB systems. You can also set the **JCB powers path** globally or per component under the **Dynamic Integration** tab, providing flexibility and easy maintainability.
|
||||||
|
|
||||||
|
To add this specific Power to your project in JCB:
|
||||||
|
|
||||||
|
> simply use this SPK
|
||||||
|
```
|
||||||
|
Super---bfd1d6d5_56c1_4fe9_9fee_1c5910e1f5d8---Power
|
||||||
|
```
|
||||||
|
> remember to replace the `---` with `___` to activate this Power in your code
|
||||||
|
|
||||||
---
|
---
|
||||||
```
|
```
|
||||||
██╗ ██████╗██████╗
|
██╗ ██████╗██████╗
|
||||||
|
@ -1558,7 +1558,6 @@ final class Table extends BaseTable implements Tableinterface
|
|||||||
'tab_name' => 'publishing',
|
'tab_name' => 'publishing',
|
||||||
'db' => [
|
'db' => [
|
||||||
'type' => 'TEXT',
|
'type' => 'TEXT',
|
||||||
'default' => '',
|
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
'metadesc' => [
|
'metadesc' => [
|
||||||
@ -1570,7 +1569,6 @@ final class Table extends BaseTable implements Tableinterface
|
|||||||
'tab_name' => 'publishing',
|
'tab_name' => 'publishing',
|
||||||
'db' => [
|
'db' => [
|
||||||
'type' => 'TEXT',
|
'type' => 'TEXT',
|
||||||
'default' => '',
|
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
'metadata' => [
|
'metadata' => [
|
||||||
@ -1582,7 +1580,6 @@ final class Table extends BaseTable implements Tableinterface
|
|||||||
'tab_name' => 'publishing',
|
'tab_name' => 'publishing',
|
||||||
'db' => [
|
'db' => [
|
||||||
'type' => 'TEXT',
|
'type' => 'TEXT',
|
||||||
'default' => '',
|
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user