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)
|
||||
|
||||
- **abstract class ActiveRegistry** | [Details](src/43134867-5cb8-4280-9be8-309fd2fd135f) | [Code](src/43134867-5cb8-4280-9be8-309fd2fd135f/code.php) | [Settings](src/43134867-5cb8-4280-9be8-309fd2fd135f/settings.json) | Super__43134867_5cb8_4280_9be8_309fd2fd135f__Power
|
||||
- **abstract class BaseConfig** | [Details](src/ffbd4e1f-a342-4080-ab7d-1de3741bf319) | [Code](src/ffbd4e1f-a342-4080-ab7d-1de3741bf319/code.php) | [Settings](src/ffbd4e1f-a342-4080-ab7d-1de3741bf319/settings.json) | Super__ffbd4e1f_a342_4080_ab7d_1de3741bf319__Power
|
||||
- **abstract class BaseTable** | [Details](src/e0f6ddbe-2a35-4537-942c-faff2ebd04f6) | [Code](src/e0f6ddbe-2a35-4537-942c-faff2ebd04f6/code.php) | [Settings](src/e0f6ddbe-2a35-4537-942c-faff2ebd04f6/settings.json) | Super__e0f6ddbe_2a35_4537_942c_faff2ebd04f6__Power
|
||||
- **abstract class Database** | [Details](src/6cbef8f8-4813-48e3-b05a-65e1aea95171) | [Code](src/6cbef8f8-4813-48e3-b05a-65e1aea95171/code.php) | [Settings](src/6cbef8f8-4813-48e3-b05a-65e1aea95171/settings.json) | Super__6cbef8f8_4813_48e3_b05a_65e1aea95171__Power
|
||||
- **abstract class 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 Grep** | [Details](src/1401a167-0ce4-4f4a-afee-2d8b02ed339b) | [Code](src/1401a167-0ce4-4f4a-afee-2d8b02ed339b/code.php) | [Settings](src/1401a167-0ce4-4f4a-afee-2d8b02ed339b/settings.json) | Super__1401a167_0ce4_4f4a_afee_2d8b02ed339b__Power
|
||||
- **abstract class Model** | [Details](src/584747d1-3a86-453d-b7a3-a2219de8d777) | [Code](src/584747d1-3a86-453d-b7a3-a2219de8d777/code.php) | [Settings](src/584747d1-3a86-453d-b7a3-a2219de8d777/settings.json) | Super__584747d1_3a86_453d_b7a3_a2219de8d777__Power
|
||||
- **abstract class Registry** | [Details](src/7e822c03-1b20-41d1-9427-f5b8d5836af7) | [Code](src/7e822c03-1b20-41d1-9427-f5b8d5836af7/code.php) | [Settings](src/7e822c03-1b20-41d1-9427-f5b8d5836af7/settings.json) | Super__7e822c03_1b20_41d1_9427_f5b8d5836af7__Power
|
||||
- **abstract class Schema** | [Details](src/f3c04c28-bce4-422e-be93-7d163e4e342b) | [Code](src/f3c04c28-bce4-422e-be93-7d163e4e342b/code.php) | [Settings](src/f3c04c28-bce4-422e-be93-7d163e4e342b/settings.json) | Super__f3c04c28_bce4_422e_be93_7d163e4e342b__Power
|
||||
- **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) | 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) | 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) | 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) | 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) | 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) | 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) | 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) | 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)
|
||||
|
||||
- **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)
|
||||
|
||||
- **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
|
||||
- **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 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 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 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
|
||||
- **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
|
||||
- **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) | 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) | 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) | 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) | SPK: `Super---85785701_07b2_4f81_bc1e_0f423700c254---Power`
|
||||
- **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 Insert** | [Details](src/524eb8f6-38d4-47dc-92ad-98b94e099ac0) | [Code](src/524eb8f6-38d4-47dc-92ad-98b94e099ac0/code.php) | [Settings](src/524eb8f6-38d4-47dc-92ad-98b94e099ac0/settings.json) | Super__524eb8f6_38d4_47dc_92ad_98b94e099ac0__Power
|
||||
- **final class Load** | [Details](src/06f8eada-d59b-441c-b287-0aea1793da5a) | [Code](src/06f8eada-d59b-441c-b287-0aea1793da5a/code.php) | [Settings](src/06f8eada-d59b-441c-b287-0aea1793da5a/settings.json) | Super__06f8eada_d59b_441c_b287_0aea1793da5a__Power
|
||||
- **final class Update** | [Details](src/cce56585-58b0-4f72-a92c-e2635ea52d83) | [Code](src/cce56585-58b0-4f72-a92c-e2635ea52d83/code.php) | [Settings](src/cce56585-58b0-4f72-a92c-e2635ea52d83/settings.json) | Super__cce56585_58b0_4f72_a92c_e2635ea52d83__Power
|
||||
- **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) | 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) | 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) | SPK: `Super---cce56585_58b0_4f72_a92c_e2635ea52d83---Power`
|
||||
- **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 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 FactoryInterface** | [Details](src/caf33c5d-858c-4f9a-894f-ab302ec5445a) | [Code](src/caf33c5d-858c-4f9a-894f-ab302ec5445a/code.php) | [Settings](src/caf33c5d-858c-4f9a-894f-ab302ec5445a/settings.json) | Super__caf33c5d_858c_4f9a_894f_ab302ec5445a__Power
|
||||
- **interface GrepInterface** | [Details](src/c182506a-ab84-439c-b962-1e606b58d545) | [Code](src/c182506a-ab84-439c-b962-1e606b58d545/code.php) | [Settings](src/c182506a-ab84-439c-b962-1e606b58d545/settings.json) | Super__c182506a_ab84_439c_b962_1e606b58d545__Power
|
||||
- **interface InsertInterface** | [Details](src/ad12ca1c-d3ce-4e7f-88c5-c6c92bdedc48) | [Code](src/ad12ca1c-d3ce-4e7f-88c5-c6c92bdedc48/code.php) | [Settings](src/ad12ca1c-d3ce-4e7f-88c5-c6c92bdedc48/settings.json) | Super__ad12ca1c_d3ce_4e7f_88c5_c6c92bdedc48__Power
|
||||
- **interface LoadInterface** | [Details](src/2ad31f74-f579-499d-b98b-c4f54fd615dd) | [Code](src/2ad31f74-f579-499d-b98b-c4f54fd615dd/code.php) | [Settings](src/2ad31f74-f579-499d-b98b-c4f54fd615dd/settings.json) | Super__2ad31f74_f579_499d_b98b_c4f54fd615dd__Power
|
||||
- **interface ModelInterface** | [Details](src/8aef58c1-3f70-4bd4-b9e4-3f29fcd41cff) | [Code](src/8aef58c1-3f70-4bd4-b9e4-3f29fcd41cff/code.php) | [Settings](src/8aef58c1-3f70-4bd4-b9e4-3f29fcd41cff/settings.json) | Super__8aef58c1_3f70_4bd4_b9e4_3f29fcd41cff__Power
|
||||
- **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 SchemaInterface** | [Details](src/4dd11b9b-3c64-460b-aaa6-62ba467db7aa) | [Code](src/4dd11b9b-3c64-460b-aaa6-62ba467db7aa/code.php) | [Settings](src/4dd11b9b-3c64-460b-aaa6-62ba467db7aa/settings.json) | Super__4dd11b9b_3c64_460b_aaa6_62ba467db7aa__Power
|
||||
- **interface Tableinterface** | [Details](src/2da6d6c4-eb29-4d69-8bc2-36d96e916adf) | [Code](src/2da6d6c4-eb29-4d69-8bc2-36d96e916adf/code.php) | [Settings](src/2da6d6c4-eb29-4d69-8bc2-36d96e916adf/settings.json) | Super__2da6d6c4_eb29_4d69_8bc2_36d96e916adf__Power
|
||||
- **interface UpdateInterface** | [Details](src/7179fde6-1e51-4b51-8545-7ca18f74a0f4) | [Code](src/7179fde6-1e51-4b51-8545-7ca18f74a0f4/code.php) | [Settings](src/7179fde6-1e51-4b51-8545-7ca18f74a0f4/settings.json) | Super__7179fde6_1e51_4b51_8545_7ca18f74a0f4__Power
|
||||
- **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) | 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) | 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) | 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) | 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) | 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) | 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) | SPK: `Super---64e291c2_11f1_423d_a44d_837cc12cc017---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 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 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)
|
||||
|
||||
- **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 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 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) | SPK: `Super---7c1fb50f_8fb1_4627_8705_6fedf7182ca5---Power`
|
||||
- **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 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 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 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 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) | 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) | 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) | SPK: `Super---19b2ba92_1655_4384_acfb_979c80de8b6d---Power`
|
||||
- **Namespace**: [VDM\Joomla\Utilities](#vdm-joomla-utilities)
|
||||
|
||||
- **abstract class ArrayHelper** | [Details](src/0a59c65c-9daf-4bc9-baf4-e063ff9e6a8a) | [Code](src/0a59c65c-9daf-4bc9-baf4-e063ff9e6a8a/code.php) | [Settings](src/0a59c65c-9daf-4bc9-baf4-e063ff9e6a8a/settings.json) | Super__0a59c65c_9daf_4bc9_baf4_e063ff9e6a8a__Power
|
||||
- **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 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 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 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 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 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 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 MathHelper** | [Details](src/152c8793-8b75-4715-996a-257b9f65451c) | [Code](src/152c8793-8b75-4715-996a-257b9f65451c/code.php) | [Settings](src/152c8793-8b75-4715-996a-257b9f65451c/settings.json) | Super__152c8793_8b75_4715_996a_257b9f65451c__Power
|
||||
- **abstract class ObjectHelper** | [Details](src/91004529-94a9-4590-b842-e7c6b624ecf5) | [Code](src/91004529-94a9-4590-b842-e7c6b624ecf5/code.php) | [Settings](src/91004529-94a9-4590-b842-e7c6b624ecf5/settings.json) | Super__91004529_94a9_4590_b842_e7c6b624ecf5__Power
|
||||
- **abstract class StringHelper** | [Details](src/1f28cb53-60d9-4db1-b517-3c7dc6b429ef) | [Code](src/1f28cb53-60d9-4db1-b517-3c7dc6b429ef/code.php) | [Settings](src/1f28cb53-60d9-4db1-b517-3c7dc6b429ef/settings.json) | Super__1f28cb53_60d9_4db1_b517_3c7dc6b429ef__Power
|
||||
- **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) | SPK: `Super---64a6ff6c_069c_4a11_a76b_db5e36c27690---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 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 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 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 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 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 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 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 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)
|
||||
|
||||
- **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)
|
||||
|
||||
- **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)
|
||||
|
||||
- **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 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 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 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 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) | 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) | 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) | 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)
|
||||
|
||||
- **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 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 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 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 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 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 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 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 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 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) | 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) | 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) | 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) | 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) | SPK: `Super---bb30f709_53d2_446a_ab3d_300fe6de0bc8---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 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 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)
|
||||
|
||||
- **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)
|
||||
|
||||
- **abstract class ClassfunctionHelper** | [Details](src/30c5b4c2-f75f-4d15-869a-f8bfedd87358) | [Code](src/30c5b4c2-f75f-4d15-869a-f8bfedd87358/code.php) | [Settings](src/30c5b4c2-f75f-4d15-869a-f8bfedd87358/settings.json) | Super__30c5b4c2_f75f_4d15_869a_f8bfedd87358__Power
|
||||
- **abstract class ComponentCodeNameHelper** | [Details](src/491dbe41-f26c-4de9-8a95-fcf87b35b56f) | [Code](src/491dbe41-f26c-4de9-8a95-fcf87b35b56f/code.php) | [Settings](src/491dbe41-f26c-4de9-8a95-fcf87b35b56f/settings.json) | Super__491dbe41_f26c_4de9_8a95_fcf87b35b56f__Power
|
||||
- **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 NamespaceHelper** | [Details](src/ce8cf834-6bac-44fb-941c-861f7e046cc0) | [Code](src/ce8cf834-6bac-44fb-941c-861f7e046cc0/code.php) | [Settings](src/ce8cf834-6bac-44fb-941c-861f7e046cc0/settings.json) | Super__ce8cf834_6bac_44fb_941c_861f7e046cc0__Power
|
||||
- **abstract class PluginHelper** | [Details](src/3cf76fbf-fd95-4a33-878e-7aff6d36b7f6) | [Code](src/3cf76fbf-fd95-4a33-878e-7aff6d36b7f6/code.php) | [Settings](src/3cf76fbf-fd95-4a33-878e-7aff6d36b7f6/settings.json) | Super__3cf76fbf_fd95_4a33_878e_7aff6d36b7f6__Power
|
||||
- **abstract class TypeHelper** | [Details](src/a8935cbe-7701-40dc-bfd5-675f2d600954) | [Code](src/a8935cbe-7701-40dc-bfd5-675f2d600954/code.php) | [Settings](src/a8935cbe-7701-40dc-bfd5-675f2d600954/settings.json) | Super__a8935cbe_7701_40dc_bfd5_675f2d600954__Power
|
||||
- **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) | 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) | 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) | 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) | 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) | SPK: `Super---a8935cbe_7701_40dc_bfd5_675f2d600954---Power`
|
||||
- **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 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 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 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 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 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 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 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) | 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) | 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) | 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) | 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) | 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) | 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)
|
||||
> namespace: **VDM\Joomla\Data\Action**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
class Load #Gold {
|
||||
@ -112,6 +112,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Interfaces\Data**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
interface InsertInterface #Lavender {
|
||||
@ -84,6 +84,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Interfaces\Data**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
interface ItemInterface #Lavender {
|
||||
@ -75,6 +75,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Database**
|
||||
> extends: **Database**
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
class Load << (F,LightGreen) >> #RoyalBlue {
|
||||
@ -179,6 +180,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Utilities**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
abstract ArrayHelper #Orange {
|
||||
@ -40,6 +40,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Abstraction\Registry\Traits**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
class Count << (T,Orange) >> #Turquoise {
|
||||
@ -25,6 +25,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Utilities**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
abstract FormHelper #Orange {
|
||||
@ -72,6 +72,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Abstraction**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
abstract Grep #Orange {
|
||||
@ -18,13 +18,32 @@ abstract Grep #Orange {
|
||||
# Contents $contents
|
||||
# CMSApplication $app
|
||||
+ __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
|
||||
+ get(string $guid, ?array $order = null) : ?object
|
||||
# {abstract} remoteIndex(object $path) : void
|
||||
# getFunctionName(string $name) : ?string
|
||||
# init() : void
|
||||
+ getBranchField() : string
|
||||
+ setBranchDefaultName(?string $name) : void
|
||||
+ setIndexPath(string $indexPath) : void
|
||||
+ getRemoteIndex(string $guid) : ?object
|
||||
# {abstract} setRemoteIndexMessage(string $message, string $path, ...) : void
|
||||
# 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
|
||||
@ -39,8 +58,32 @@ note right of Grep::__construct
|
||||
?CMSApplication $app = null
|
||||
end note
|
||||
|
||||
note left of Grep::getRemotePowersGuid
|
||||
Get all remote powers GUID's
|
||||
note left of Grep::get
|
||||
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
|
||||
return: ?array
|
||||
@ -53,18 +96,39 @@ note right of Grep::setBranchField
|
||||
return: void
|
||||
end note
|
||||
|
||||
note left of Grep::get
|
||||
Get a power
|
||||
note left of Grep::setBranchDefaultName
|
||||
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
|
||||
end note
|
||||
|
||||
note right of Grep::remoteIndex
|
||||
Load the remote repository index of powers
|
||||
note right of Grep::setRemoteIndexMessage
|
||||
Set repository messages and errors based on given conditions.
|
||||
|
||||
since: 3.2.0
|
||||
return: void
|
||||
|
||||
arguments:
|
||||
string $message
|
||||
string $path
|
||||
string $repository
|
||||
string $organisation
|
||||
?string $base
|
||||
end note
|
||||
|
||||
note left of Grep::getFunctionName
|
||||
@ -74,23 +138,163 @@ note left of Grep::getFunctionName
|
||||
return: ?string
|
||||
end note
|
||||
|
||||
note right of Grep::init
|
||||
Set path details
|
||||
note right of Grep::searchSingleRepo
|
||||
Search a single repository for an item
|
||||
|
||||
since: 3.2.0
|
||||
return: void
|
||||
since: 3.2.2
|
||||
return: ?object
|
||||
|
||||
arguments:
|
||||
string $guid
|
||||
array $order
|
||||
object $repo
|
||||
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
|
||||
|
||||
since: 3.2.2
|
||||
return: string
|
||||
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
|
||||
```
|
||||
|
||||
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\Language\Text;
|
||||
use Joomla\CMS\Filesystem\Folder;
|
||||
use Joomla\CMS\Application\CMSApplication;
|
||||
use VDM\Joomla\Gitea\Repository\Contents;
|
||||
use VDM\Joomla\Utilities\FileHelper;
|
||||
use VDM\Joomla\Utilities\JsonHelper;
|
||||
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
|
||||
* 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
|
||||
*
|
||||
* @since 3.2.1
|
||||
@ -34,7 +37,7 @@ abstract class Grep implements GrepInterface
|
||||
/**
|
||||
* The local path
|
||||
*
|
||||
* @var string
|
||||
* @var string|null
|
||||
* @since 3.2.0
|
||||
**/
|
||||
public ?string $path;
|
||||
@ -42,7 +45,7 @@ abstract class Grep implements GrepInterface
|
||||
/**
|
||||
* All approved paths
|
||||
*
|
||||
* @var array
|
||||
* @var array|null
|
||||
* @since 3.2.0
|
||||
**/
|
||||
public ?array $paths;
|
||||
@ -63,6 +66,22 @@ abstract class Grep implements GrepInterface
|
||||
**/
|
||||
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
|
||||
*
|
||||
@ -92,21 +111,65 @@ abstract class Grep implements GrepInterface
|
||||
*/
|
||||
public function __construct(Contents $contents, array $paths, ?string $path = null, ?CMSApplication $app = null)
|
||||
{
|
||||
$this->paths = $paths;
|
||||
$this->contents = $contents;
|
||||
$this->paths = $paths;
|
||||
$this->path = $path;
|
||||
$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
|
||||
* @since 3.2.0
|
||||
*/
|
||||
public function getRemotePowersGuid(): ?array
|
||||
public function getRemoteGuid(): ?array
|
||||
{
|
||||
if (!is_array($this->paths) || $this->paths === [])
|
||||
{
|
||||
@ -117,7 +180,7 @@ abstract class Grep implements GrepInterface
|
||||
foreach ($this->paths as $path)
|
||||
{
|
||||
// Get remote index
|
||||
$this->remoteIndex($path);
|
||||
$this->indexRemote($path);
|
||||
|
||||
if (isset($path->index) && is_object($path->index))
|
||||
{
|
||||
@ -131,7 +194,7 @@ abstract class Grep implements GrepInterface
|
||||
/**
|
||||
* 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
|
||||
* @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 array|null $order The search order
|
||||
* @param string|null $name The default branch to use if no name could be found
|
||||
*
|
||||
* @return object|null
|
||||
* @since 3.2.0
|
||||
* @return void
|
||||
* @since 3.2.2
|
||||
*/
|
||||
public function get(string $guid, ?array $order = null): ?object
|
||||
public function setBranchDefaultName(?string $name): void
|
||||
{
|
||||
if ($order === null)
|
||||
{
|
||||
$order = $this->order;
|
||||
$this->branch_name = $name;
|
||||
}
|
||||
|
||||
// we can only search if we have paths
|
||||
if (is_array($this->paths) && $this->paths !== [])
|
||||
/**
|
||||
* 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
|
||||
* @since 3.2.2
|
||||
*/
|
||||
public function getRemoteIndex(string $guid): ?object
|
||||
{
|
||||
if (!is_array($this->paths) || $this->paths === [] || empty($guid))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
foreach ($this->paths as $path)
|
||||
{
|
||||
if (!isset($path->guid) || $guid !== $path->guid)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// 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 (($function_name = $this->getFunctionName($target)) !== null &&
|
||||
($power = $this->{$function_name}($guid)) !== null)
|
||||
if ($this->itemExists($guid, $repo, $target))
|
||||
{
|
||||
$functionName = $this->getFunctionName($target, 'get');
|
||||
if ($functionName !== null && ($power = $this->{$functionName}($repo, $guid)) !== null)
|
||||
{
|
||||
return $power;
|
||||
}
|
||||
@ -173,6 +321,251 @@ abstract class Grep implements GrepInterface
|
||||
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
|
||||
*
|
||||
@ -181,21 +574,55 @@ abstract class Grep implements GrepInterface
|
||||
* @return void
|
||||
* @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
|
||||
*/
|
||||
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
|
||||
* @since 3.2.0
|
||||
*/
|
||||
protected function init(): void
|
||||
protected function initializeInstances(): void
|
||||
{
|
||||
if (is_array($this->paths) && $this->paths !== [])
|
||||
{
|
||||
@ -216,12 +643,14 @@ abstract class Grep implements GrepInterface
|
||||
// build the path
|
||||
$path->path = trim($path->organisation) . '/' . trim($path->repository);
|
||||
|
||||
// update the branch
|
||||
// get the branch field name
|
||||
$branch_field = $this->getBranchField();
|
||||
$branch = $path->{$branch_field} ?? null;
|
||||
// get the branch name
|
||||
$branch = $this->getBranchName($path);
|
||||
|
||||
if ($branch === 'default' || empty($branch))
|
||||
{
|
||||
// will allow us to target the default branch as set by the git system
|
||||
$path->{$branch_field} = null;
|
||||
}
|
||||
|
||||
@ -240,14 +669,33 @@ abstract class Grep implements GrepInterface
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the branch field
|
||||
* Load the remote file
|
||||
*
|
||||
* @return string
|
||||
* @since 3.2.2
|
||||
* @param string $organisation The repository organisation
|
||||
* @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
|
||||
*
|
||||
* @var string
|
||||
* @var string|null
|
||||
* @since 3.2.0
|
||||
**/
|
||||
public ?string $path;
|
||||
@ -9,7 +9,7 @@
|
||||
/**
|
||||
* All approved paths
|
||||
*
|
||||
* @var array
|
||||
* @var array|null
|
||||
* @since 3.2.0
|
||||
**/
|
||||
public ?array $paths;
|
||||
@ -30,6 +30,22 @@
|
||||
**/
|
||||
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
|
||||
*
|
||||
@ -59,21 +75,65 @@
|
||||
*/
|
||||
public function __construct(Contents $contents, array $paths, ?string $path = null, ?CMSApplication $app = null)
|
||||
{
|
||||
$this->paths = $paths;
|
||||
$this->contents = $contents;
|
||||
$this->paths = $paths;
|
||||
$this->path = $path;
|
||||
$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
|
||||
* @since 3.2.0
|
||||
*/
|
||||
public function getRemotePowersGuid(): ?array
|
||||
public function getRemoteGuid(): ?array
|
||||
{
|
||||
if (!is_array($this->paths) || $this->paths === [])
|
||||
{
|
||||
@ -84,7 +144,7 @@
|
||||
foreach ($this->paths as $path)
|
||||
{
|
||||
// Get remote index
|
||||
$this->remoteIndex($path);
|
||||
$this->indexRemote($path);
|
||||
|
||||
if (isset($path->index) && is_object($path->index))
|
||||
{
|
||||
@ -98,7 +158,7 @@
|
||||
/**
|
||||
* 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
|
||||
* @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 array|null $order The search order
|
||||
* @param string|null $name The default branch to use if no name could be found
|
||||
*
|
||||
* @return object|null
|
||||
* @since 3.2.0
|
||||
* @return void
|
||||
* @since 3.2.2
|
||||
*/
|
||||
public function get(string $guid, ?array $order = null): ?object
|
||||
public function setBranchDefaultName(?string $name): void
|
||||
{
|
||||
if ($order === null)
|
||||
{
|
||||
$order = $this->order;
|
||||
$this->branch_name = $name;
|
||||
}
|
||||
|
||||
// we can only search if we have paths
|
||||
if (is_array($this->paths) && $this->paths !== [])
|
||||
/**
|
||||
* 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
|
||||
* @since 3.2.2
|
||||
*/
|
||||
public function getRemoteIndex(string $guid): ?object
|
||||
{
|
||||
if (!is_array($this->paths) || $this->paths === [] || empty($guid))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
foreach ($this->paths as $path)
|
||||
{
|
||||
if (!isset($path->guid) || $guid !== $path->guid)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// 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 (($function_name = $this->getFunctionName($target)) !== null &&
|
||||
($power = $this->{$function_name}($guid)) !== null)
|
||||
if ($this->itemExists($guid, $repo, $target))
|
||||
{
|
||||
$functionName = $this->getFunctionName($target, 'get');
|
||||
if ($functionName !== null && ($power = $this->{$functionName}($repo, $guid)) !== null)
|
||||
{
|
||||
return $power;
|
||||
}
|
||||
@ -140,6 +285,251 @@
|
||||
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
|
||||
*
|
||||
@ -148,21 +538,55 @@
|
||||
* @return void
|
||||
* @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
|
||||
*/
|
||||
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
|
||||
* @since 3.2.0
|
||||
*/
|
||||
protected function init(): void
|
||||
protected function initializeInstances(): void
|
||||
{
|
||||
if (is_array($this->paths) && $this->paths !== [])
|
||||
{
|
||||
@ -183,12 +607,14 @@
|
||||
// build the path
|
||||
$path->path = trim($path->organisation) . '/' . trim($path->repository);
|
||||
|
||||
// update the branch
|
||||
// get the branch field name
|
||||
$branch_field = $this->getBranchField();
|
||||
$branch = $path->{$branch_field} ?? null;
|
||||
// get the branch name
|
||||
$branch = $this->getBranchName($path);
|
||||
|
||||
if ($branch === 'default' || empty($branch))
|
||||
{
|
||||
// will allow us to target the default branch as set by the git system
|
||||
$path->{$branch_field} = null;
|
||||
}
|
||||
|
||||
@ -207,12 +633,31 @@
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the branch field
|
||||
* Load the remote file
|
||||
*
|
||||
* @return string
|
||||
* @since 3.2.2
|
||||
* @param string $organisation The repository organisation
|
||||
* @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": "8d1baef6-fcad-49a9-848f-428009cdb989",
|
||||
"as": "default"
|
||||
},
|
||||
"use_selection1": {
|
||||
"use": "a223b31e-ea1d-4cdf-92ae-5f9becffaff0",
|
||||
"as": "default"
|
||||
},
|
||||
"use_selection2": {
|
||||
"use": "4b225c51-d293-48e4-b3f6-5136cf5c3f18",
|
||||
"as": "default"
|
||||
}
|
||||
},
|
||||
"extendsinterfaces": null,
|
||||
"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",
|
||||
"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": ""
|
||||
}
|
@ -8,7 +8,7 @@
|
||||
```
|
||||
# abstract class MathHelper (Details)
|
||||
> namespace: **VDM\Joomla\Utilities**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
abstract MathHelper #Orange {
|
||||
@ -39,6 +39,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Service**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
class Table #Gold {
|
||||
@ -41,6 +41,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Utilities**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
abstract StringHelper #Orange {
|
||||
@ -96,6 +96,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Abstraction\Registry\Traits**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
class InArray << (T,Orange) >> #Turquoise {
|
||||
@ -25,6 +25,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Data**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
class Items << (F,LightGreen) >> #RoyalBlue {
|
||||
@ -139,6 +139,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Interfaces**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
interface LoadInterface #Lavender {
|
||||
@ -125,6 +125,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Interfaces**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
interface Tableinterface #Lavender {
|
||||
@ -83,6 +83,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Service**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
class Model #Gold {
|
||||
@ -41,6 +41,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Abstraction**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
abstract Factory #Orange {
|
||||
@ -41,6 +41,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Utilities\String**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
abstract ClassfunctionHelper #Orange {
|
||||
@ -25,6 +25,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Interfaces\Data**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
interface SubformInterface #Lavender {
|
||||
@ -61,6 +61,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Utilities\String**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
abstract PluginHelper #Orange {
|
||||
@ -49,6 +49,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Data\Action**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
class Delete #Gold {
|
||||
@ -58,6 +58,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Abstraction**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
abstract ActiveRegistry #Orange {
|
||||
@ -92,6 +92,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Service**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
class Database #Gold {
|
||||
@ -57,6 +57,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Utilities\String**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
abstract ComponentCodeNameHelper #Orange {
|
||||
@ -27,6 +27,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Utilities**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
abstract JsonHelper #Orange {
|
||||
@ -39,6 +39,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Interfaces**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
interface SchemaInterface #Lavender {
|
||||
@ -41,6 +41,20 @@ 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---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**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
interface RemoteInterface #Lavender {
|
||||
interface RemoteGetInterface #Lavender {
|
||||
+ table(string $table) : self
|
||||
+ init() : bool
|
||||
+ reset(array $items) : bool
|
||||
+ load(string $guid, array $order = ['remote', 'local']) : bool
|
||||
+ item(string $guid, array $order = ['remote', 'local']) : bool
|
||||
+ getTable() : string
|
||||
}
|
||||
|
||||
note right of RemoteInterface::table
|
||||
note right of RemoteGetInterface::table
|
||||
Set the current active table
|
||||
|
||||
since: 3.2.2
|
||||
return: self
|
||||
end note
|
||||
|
||||
note right of RemoteInterface::init
|
||||
note right of RemoteGetInterface::init
|
||||
Init all items not found in database
|
||||
|
||||
since: 3.2.0
|
||||
return: bool
|
||||
end note
|
||||
|
||||
note right of RemoteInterface::reset
|
||||
note right of RemoteGetInterface::reset
|
||||
Reset the items
|
||||
|
||||
since: 3.2.0
|
||||
return: bool
|
||||
end note
|
||||
|
||||
note right of RemoteInterface::load
|
||||
Load a item
|
||||
note right of RemoteGetInterface::item
|
||||
Load an item
|
||||
|
||||
since: 3.2.2
|
||||
return: bool
|
||||
end note
|
||||
|
||||
note right of RemoteInterface::getTable
|
||||
note right of RemoteGetInterface::getTable
|
||||
Get the current active table
|
||||
|
||||
since: 3.2.2
|
||||
@ -57,6 +57,20 @@ 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---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
|
||||
*/
|
||||
interface RemoteInterface
|
||||
interface RemoteGetInterface
|
||||
{
|
||||
/**
|
||||
* Set the current active table
|
||||
@ -48,7 +48,7 @@ interface RemoteInterface
|
||||
public function reset(array $items): bool;
|
||||
|
||||
/**
|
||||
* Load a item
|
||||
* Load an item
|
||||
*
|
||||
* @param string $guid The global unique id of the item
|
||||
* @param array $order The search order
|
||||
@ -56,7 +56,7 @@ interface RemoteInterface
|
||||
* @return bool
|
||||
* @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
|
||||
|
@ -27,7 +27,7 @@
|
||||
public function reset(array $items): bool;
|
||||
|
||||
/**
|
||||
* Load a item
|
||||
* Load an item
|
||||
*
|
||||
* @param string $guid The global unique id of the item
|
||||
* @param array $order The search order
|
||||
@ -35,7 +35,7 @@
|
||||
* @return bool
|
||||
* @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
|
||||
|
@ -5,13 +5,13 @@
|
||||
"guid": "51de80f2-2868-4c2c-8198-ef79349e9bd7",
|
||||
"implements": null,
|
||||
"load_selection": null,
|
||||
"name": "RemoteInterface",
|
||||
"name": "RemoteGetInterface",
|
||||
"power_version": "1.0.0",
|
||||
"system_name": "JCB.Interfaces.Remote",
|
||||
"system_name": "VDM.Interfaces.RemoteGetInterface",
|
||||
"type": "interface",
|
||||
"use_selection": 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",
|
||||
"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": "",
|
||||
|
@ -9,6 +9,7 @@
|
||||
# final class Insert (Details)
|
||||
> namespace: **VDM\Joomla\Database**
|
||||
> extends: **Database**
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
class Insert << (F,LightGreen) >> #RoyalBlue {
|
||||
@ -98,6 +99,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Abstraction\Registry\Traits**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
class VarExport << (T,Orange) >> #Turquoise {
|
||||
@ -34,6 +34,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Abstraction**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
abstract Model #Orange {
|
||||
@ -180,6 +180,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Abstraction\Registry\Traits**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
class GetString << (T,Orange) >> #Turquoise {
|
||||
@ -25,6 +25,20 @@ 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---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_licensing_template": "2",
|
||||
"extends": "",
|
||||
"guid": "cddcac51-9a46-47c4-ba59-105c70453bd6",
|
||||
"implements": null,
|
||||
"guid": "5f0205fa-5c43-424a-af7d-abc943c17c8c",
|
||||
"implements": [
|
||||
"b6e9854c-3672-42ec-8843-26c24b4635bd"
|
||||
],
|
||||
"load_selection": null,
|
||||
"name": "FilterHelper",
|
||||
"name": "SchemaChecker",
|
||||
"power_version": "1.0.0",
|
||||
"system_name": "JCB.Utilities.FilterHelper",
|
||||
"system_name": "VDM.SchemaChecker",
|
||||
"type": "abstract class",
|
||||
"use_selection": {
|
||||
"use_selection0": {
|
||||
"use": "0a59c65c-9daf-4bc9-baf4-e063ff9e6a8a",
|
||||
"as": "default"
|
||||
"use": "4dd11b9b-3c64-460b-aaa6-62ba467db7aa",
|
||||
"as": "Schema"
|
||||
},
|
||||
"use_selection1": {
|
||||
"use": "4b225c51-d293-48e4-b3f6-5136cf5c3f18",
|
||||
"as": "default"
|
||||
"use": "2da6d6c4-eb29-4d69-8bc2-36d96e916adf",
|
||||
"as": "Table"
|
||||
},
|
||||
"use_selection2": {
|
||||
"use": "db87c339-5bb6-4291-a7ef-2c48ea1b06bc",
|
||||
"use": "13c2cac1-a70d-42d7-99fc-eb7ac3443069",
|
||||
"as": "default"
|
||||
}
|
||||
},
|
||||
"extendsinterfaces": null,
|
||||
"namespace": "[[[NamespacePrefix]]]\\Joomla\\Componentbuilder.Utilities.FilterHelper",
|
||||
"description": "Filter Helper\r\n\r\n@since 3.2.0",
|
||||
"namespace": "[[[NamespacePrefix]]]\\Joomla\\Abstraction.SchemaChecker",
|
||||
"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",
|
||||
"head": "use Joomla\\CMS\\Factory;\r\nuse Joomla\\CMS\\Language\\Text;",
|
||||
"head": "use Joomla\\CMS\\Factory;\r\nuse Joomla\\CMS\\Application\\CMSApplication;",
|
||||
"composer": ""
|
||||
}
|
@ -8,7 +8,7 @@
|
||||
```
|
||||
# abstract class Helper (Details)
|
||||
> namespace: **VDM\Joomla\Utilities\Component**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
abstract Helper #Orange {
|
||||
@ -94,6 +94,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Utilities**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
abstract Base64Helper #Orange {
|
||||
@ -30,6 +30,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Interfaces**
|
||||
> extends: **Activeregistryinterface**
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
interface Registryinterface #Lavender {
|
||||
@ -73,6 +74,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Interfaces\Data**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
interface UpdateInterface #Lavender {
|
||||
@ -84,6 +84,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Abstraction**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
abstract Database #Orange {
|
||||
@ -43,6 +43,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Interfaces**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
interface UpdateInterface #Lavender {
|
||||
@ -71,6 +71,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Interfaces\Data**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
interface ItemsInterface #Lavender {
|
||||
@ -70,6 +70,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Data**
|
||||
> extends: ****
|
||||
# class Get (Details)
|
||||
> namespace: **VDM\Joomla\Data\Remote**
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
class Remote #Gold {
|
||||
class Get #Gold {
|
||||
# Grep $grep
|
||||
# Item $item
|
||||
# string $table
|
||||
@ -19,11 +19,11 @@ class Remote #Gold {
|
||||
+ table(string $table) : self
|
||||
+ init() : bool
|
||||
+ reset(array $items) : bool
|
||||
+ load(string $guid, array $order = ['remote', 'local'], ...) : bool
|
||||
+ item(string $guid, array $order = ['remote', 'local'], ...) : bool
|
||||
+ getTable() : string
|
||||
}
|
||||
|
||||
note right of Remote::__construct
|
||||
note right of Get::__construct
|
||||
Constructor.
|
||||
|
||||
since: 3.2.0
|
||||
@ -34,29 +34,29 @@ note right of Remote::__construct
|
||||
?string $table = null
|
||||
end note
|
||||
|
||||
note right of Remote::table
|
||||
note right of Get::table
|
||||
Set the current active table
|
||||
|
||||
since: 3.2.2
|
||||
return: self
|
||||
end note
|
||||
|
||||
note right of Remote::init
|
||||
note right of Get::init
|
||||
Init all items not found in database
|
||||
|
||||
since: 3.2.0
|
||||
return: bool
|
||||
end note
|
||||
|
||||
note right of Remote::reset
|
||||
note right of Get::reset
|
||||
Reset the items
|
||||
|
||||
since: 3.2.0
|
||||
return: bool
|
||||
end note
|
||||
|
||||
note right of Remote::load
|
||||
Load a item
|
||||
note right of Get::item
|
||||
Load an item
|
||||
|
||||
since: 3.2.0
|
||||
return: bool
|
||||
@ -67,7 +67,7 @@ note right of Remote::load
|
||||
?string $action = null
|
||||
end note
|
||||
|
||||
note right of Remote::getTable
|
||||
note right of Get::getTable
|
||||
Get the current active table
|
||||
|
||||
since: 3.2.2
|
||||
@ -77,6 +77,20 @@ 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---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
|
||||
*/
|
||||
|
||||
namespace VDM\Joomla\Data;
|
||||
namespace VDM\Joomla\Data\Remote;
|
||||
|
||||
|
||||
use VDM\Joomla\Interfaces\GrepInterface as Grep;
|
||||
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
|
||||
*/
|
||||
class Remote implements RemoteInterface
|
||||
class Get implements RemoteGetInterface
|
||||
{
|
||||
/**
|
||||
* The Grep Class.
|
||||
@ -90,7 +90,7 @@ class Remote implements RemoteInterface
|
||||
*/
|
||||
public function init(): bool
|
||||
{
|
||||
if (($items = $this->grep->getRemotePowersGuid()) !== null)
|
||||
if (($items = $this->grep->getRemoteGuid()) !== null)
|
||||
{
|
||||
foreach($items as $guid)
|
||||
{
|
||||
@ -126,7 +126,7 @@ class Remote implements RemoteInterface
|
||||
|
||||
foreach($items as $guid)
|
||||
{
|
||||
if (!$this->load($guid, ['remote']))
|
||||
if (!$this->item($guid, ['remote']))
|
||||
{
|
||||
$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 array $order The search order
|
||||
@ -145,7 +145,7 @@ class Remote implements RemoteInterface
|
||||
* @return bool
|
||||
* @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)
|
||||
{
|
||||
|
@ -64,7 +64,7 @@
|
||||
*/
|
||||
public function init(): bool
|
||||
{
|
||||
if (($items = $this->grep->getRemotePowersGuid()) !== null)
|
||||
if (($items = $this->grep->getRemoteGuid()) !== null)
|
||||
{
|
||||
foreach($items as $guid)
|
||||
{
|
||||
@ -100,7 +100,7 @@
|
||||
|
||||
foreach($items as $guid)
|
||||
{
|
||||
if (!$this->load($guid, ['remote']))
|
||||
if (!$this->item($guid, ['remote']))
|
||||
{
|
||||
$success = false;
|
||||
}
|
||||
@ -110,7 +110,7 @@
|
||||
}
|
||||
|
||||
/**
|
||||
* Load a item
|
||||
* Load an item
|
||||
*
|
||||
* @param string $guid The global unique id of the item
|
||||
* @param array $order The search order
|
||||
@ -119,7 +119,7 @@
|
||||
* @return bool
|
||||
* @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)
|
||||
{
|
||||
|
@ -7,9 +7,9 @@
|
||||
"51de80f2-2868-4c2c-8198-ef79349e9bd7"
|
||||
],
|
||||
"load_selection": null,
|
||||
"name": "Remote",
|
||||
"name": "Get",
|
||||
"power_version": "1.0.0",
|
||||
"system_name": "VDM.Data.Remote",
|
||||
"system_name": "VDM.Data.Remote.Get",
|
||||
"type": "class",
|
||||
"use_selection": {
|
||||
"use_selection0": {
|
||||
@ -22,8 +22,8 @@
|
||||
}
|
||||
},
|
||||
"extendsinterfaces": null,
|
||||
"namespace": "[[[NamespacePrefix]]]\\Joomla\\Data.Remote",
|
||||
"description": "Load data based on global unique ids from remote system\r\n\r\n@since 3.2.0",
|
||||
"namespace": "[[[NamespacePrefix]]]\\Joomla\\Data.Remote.Get",
|
||||
"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",
|
||||
"head": "",
|
||||
"composer": ""
|
||||
|
@ -9,6 +9,7 @@
|
||||
# final class Upsert (Details)
|
||||
> namespace: **VDM\Joomla\Model**
|
||||
> extends: **Model**
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
class Upsert << (F,LightGreen) >> #RoyalBlue {
|
||||
@ -57,6 +58,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Abstraction\Registry\Traits**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
class ToString << (T,Orange) >> #Turquoise {
|
||||
@ -25,6 +25,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Abstraction**
|
||||
> extends: **ActiveRegistry**
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
abstract Registry #Orange {
|
||||
@ -82,6 +83,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Data**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
class Subform << (F,LightGreen) >> #RoyalBlue {
|
||||
@ -125,6 +125,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Interfaces**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
interface ModelInterface #Lavender {
|
||||
@ -114,6 +114,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Data\Action**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
class Update #Gold {
|
||||
@ -99,6 +99,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Utilities**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
abstract ObjectHelper #Orange {
|
||||
@ -35,6 +35,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Data**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
class Item << (F,LightGreen) >> #RoyalBlue {
|
||||
@ -120,6 +120,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Database**
|
||||
> extends: **Database**
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
class Delete << (F,LightGreen) >> #RoyalBlue {
|
||||
@ -33,6 +34,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Interfaces**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
interface DeleteInterface #Lavender {
|
||||
@ -33,6 +33,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Utilities**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
abstract GuidHelper #Orange {
|
||||
@ -68,6 +68,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Data**
|
||||
> extends: **ExtendingFactory**
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
abstract Factory #Orange {
|
||||
@ -25,6 +26,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Utilities\String**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
abstract FieldHelper #Orange {
|
||||
@ -30,6 +30,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Utilities**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
abstract FileHelper #Orange {
|
||||
@ -74,6 +74,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Data\Action**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
class Insert #Gold {
|
||||
@ -99,6 +99,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Service**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
class Data #Gold {
|
||||
@ -89,6 +89,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Utilities\String**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
abstract TypeHelper #Orange {
|
||||
@ -25,6 +25,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Interfaces**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
interface InsertInterface #Lavender {
|
||||
@ -67,6 +67,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Interfaces**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
interface Activeregistryinterface #Lavender {
|
||||
@ -81,6 +81,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Componentbuilder\Table**
|
||||
> extends: **ExtendingSchema**
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
class Schema << (F,LightGreen) >> #RoyalBlue {
|
||||
@ -32,6 +33,20 @@ 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---b3d2ec33_76d4_4c3b_bb2c_86ac14a221ce---Power
|
||||
```
|
||||
> remember to replace the `---` with `___` to activate this Power in your code
|
||||
|
||||
---
|
||||
```
|
||||
██╗ ██████╗██████╗
|
||||
|
@ -18,7 +18,7 @@
|
||||
}
|
||||
},
|
||||
"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",
|
||||
"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": "",
|
||||
|
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)
|
||||
> namespace: **VDM\Joomla\Componentbuilder\Abstraction**
|
||||
> extends: **JoomlaRegistry**
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
abstract BaseRegistry #Orange {
|
||||
@ -57,6 +58,20 @@ 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---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",
|
||||
"use_selection": 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",
|
||||
"implements_custom": "\\JsonSerializable, \\ArrayAccess, \\IteratorAggregate, \\Countable",
|
||||
"extends_custom": "JoomlaRegistry",
|
||||
|
@ -9,6 +9,7 @@
|
||||
# final class Load (Details)
|
||||
> namespace: **VDM\Joomla\Model**
|
||||
> extends: **Model**
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
class Load << (F,LightGreen) >> #RoyalBlue {
|
||||
@ -57,6 +58,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Interfaces\Data**
|
||||
> extends: ****
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
interface MultiSubformInterface #Lavender {
|
||||
@ -65,6 +65,20 @@ 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---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)
|
||||
> namespace: **VDM\Joomla\Componentbuilder**
|
||||
> extends: **BaseTable**
|
||||
|
||||
```uml
|
||||
@startuml
|
||||
class Table << (F,LightGreen) >> #RoyalBlue {
|
||||
@ -17,6 +18,20 @@ class Table << (F,LightGreen) >> #RoyalBlue {
|
||||
@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',
|
||||
'db' => [
|
||||
'type' => 'TEXT',
|
||||
'default' => '',
|
||||
],
|
||||
],
|
||||
'metadesc' => [
|
||||
@ -1570,7 +1569,6 @@ final class Table extends BaseTable implements Tableinterface
|
||||
'tab_name' => 'publishing',
|
||||
'db' => [
|
||||
'type' => 'TEXT',
|
||||
'default' => '',
|
||||
],
|
||||
],
|
||||
'metadata' => [
|
||||
@ -1582,7 +1580,6 @@ final class Table extends BaseTable implements Tableinterface
|
||||
'tab_name' => 'publishing',
|
||||
'db' => [
|
||||
'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