diff --git a/README.md b/README.md index 43a03d6..7b312a5 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Component Builder Package (v5.0.1-alpha4) +# Component Builder Package (v5.0.1-alpha5) The Joomla Component Builder Package that bundles JCB Component and all the plugins and features available into one package for easy install and update of your JCB system for Joomla 5. diff --git a/install_component_builder.php b/install_component_builder.php new file mode 100644 index 0000000..8bb8ec4 --- /dev/null +++ b/install_component_builder.php @@ -0,0 +1,142 @@ + + * @git 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 + */ + +// No direct access to this file +defined('_JEXEC') or die('Restricted access'); + +use Joomla\CMS\Factory; + +/** + * Script File of Componentbuilder Package + */ +class pkg_component_builderInstallerScript +{ + /** + * Called after any type of action + * + * @return boolean True on success + */ + public function postflight($type, $parent) + { + // enable the JCB plugins + $this->enableJCBPlugins(); + + // only run these if we have an update + if ('update' == $type) + { + // update the update server location + $this->updateServerLocation(); + } + } + + /** + * Update server location + * + * @return void + */ + protected function updateServerLocation() + { + $location = "https://git.vdm.dev/joomla/Component-Builder/raw/branch/5.x/componentbuilder_update_server.xml"; + $elements = ['pkg_component_builder', 'com_componentbuilder']; + + // Get the Package Update Site Details + foreach ($elements as $element) + { + if (($sites = $this->getUpdateSites($element)) !== null) + { + foreach ($sites as $site) + { + if ($site->location !== $location) + { + // Update the update site location + $site->location = $location; + Factory::getDbo()->updateObject('#__update_sites', $site, 'update_site_id'); + } + } + } + } + } + + /** + * Get Update Sites + * + * @return array|null + */ + protected function getUpdateSites(string $element): ?array + { + // Get The Database object + $db = Factory::getDbo(); + + // Get the Package Update Site Details + $query = $db->getQuery(true); + $query->select($db->quoteName(array('s.location', 's.update_site_id'))); + $query->from($db->quoteName('#__update_sites', 's')); + $query->join('LEFT', $db->quoteName('#__update_sites_extensions', 'u') . ' ON ' . $db->quoteName('s.update_site_id') . ' = ' . $db->quoteName('u.update_site_id')); + $query->join('LEFT', $db->quoteName('#__extensions', 'e') . ' ON ' . $db->quoteName('u.extension_id') . ' = ' . $db->quoteName('e.extension_id')); + $query->where($db->quoteName('e.element') . ' = ' . $db->quote($element)); + $db->setQuery($query); + $db->execute(); + + if ($db->getNumRows()) + { + return $db->loadObjectList(); + } + return null; + } + + /** + * Enable all JCB Plugins + * + * @return void + */ + protected function enableJCBPlugins() + { + // Get The Database object + $db = Factory::getDbo(); + // enable all JCB plugins Always! + $plugins = [ + 'componentbuilderadminheaderstabs', + 'componentbuildercomponentdashboardheaderstabs', + 'componentbuildercomponentheaderstabs', + 'componentbuildercustomadminheaderstabs', + 'componentbuilderlanguagetabs', + 'componentbuildersiteheaderstabs', + 'componentbuilderdynamicgetheaderstabs', + 'componentbuilderprivacytabs', + 'componentbuilderfieldorderingtabs', + 'componentbuilderactionlogcompiler', + 'componentbuilderexportcompiler', + 'componentbuilderfieldorderingcompiler', + 'componentbuilderheaderscompiler', + 'componentbuilderlanguagepackaging', + 'componentbuilderpowersautoloadercompiler', + 'componentbuilderprivacycompiler' + ]; + + // Create a new query object. + $query = $db->getQuery(true); + // we must update the enabled field + $fields = [ + $db->quoteName('enabled') . ' = 1' + ]; + // Conditions for which records should be updated. + $conditions = [ + $db->quoteName('element') . ' IN (' . implode(',', array_map([$db, 'quote'], $plugins)) . ')' + ]; + // load the update query + $query->update($db->quoteName('#__extensions'))->set($fields)->where($conditions); + // Reset the query using our newly populated query object. + $db->setQuery($query); + + $db->execute(); + } +} + diff --git a/pkg_component_builder.xml b/pkg_component_builder.xml index 61e20de..ade24f3 100644 --- a/pkg_component_builder.xml +++ b/pkg_component_builder.xml @@ -2,7 +2,7 @@ PKG_COMPONENT_BUILDER component_builder - 5.0.1-alpha4 + 5.0.1-alpha5 June 2024 Llewellyn van der Merwe joomla@vdm.io diff --git a/src/joomla__Component-Builder__5.x.zip b/src/joomla__Component-Builder__5.x.zip index c1e5f49..43474d6 100644 Binary files a/src/joomla__Component-Builder__5.x.zip and b/src/joomla__Component-Builder__5.x.zip differ diff --git a/src/joomla__plg_content_componentbuilderadminheaderstabs__5.x.zip b/src/joomla__plg_content_componentbuilderadminheaderstabs__5.x.zip index 1f233e3..44d878e 100644 Binary files a/src/joomla__plg_content_componentbuilderadminheaderstabs__5.x.zip and b/src/joomla__plg_content_componentbuilderadminheaderstabs__5.x.zip differ diff --git a/src/joomla__plg_content_componentbuildercomponentdashboardheaderstabs__5.x.zip b/src/joomla__plg_content_componentbuildercomponentdashboardheaderstabs__5.x.zip index ae170e8..2921f84 100644 Binary files a/src/joomla__plg_content_componentbuildercomponentdashboardheaderstabs__5.x.zip and b/src/joomla__plg_content_componentbuildercomponentdashboardheaderstabs__5.x.zip differ diff --git a/src/joomla__plg_content_componentbuildercomponentheaderstabs__5.x.zip b/src/joomla__plg_content_componentbuildercomponentheaderstabs__5.x.zip index f94be84..c171303 100644 Binary files a/src/joomla__plg_content_componentbuildercomponentheaderstabs__5.x.zip and b/src/joomla__plg_content_componentbuildercomponentheaderstabs__5.x.zip differ diff --git a/src/joomla__plg_content_componentbuildercustomadminheaderstabs__5.x.zip b/src/joomla__plg_content_componentbuildercustomadminheaderstabs__5.x.zip index 5c0ec5c..e71d318 100644 Binary files a/src/joomla__plg_content_componentbuildercustomadminheaderstabs__5.x.zip and b/src/joomla__plg_content_componentbuildercustomadminheaderstabs__5.x.zip differ diff --git a/src/joomla__plg_content_componentbuilderdynamicgetheaderstabs__5.x.zip b/src/joomla__plg_content_componentbuilderdynamicgetheaderstabs__5.x.zip index c1513a9..12ec63f 100644 Binary files a/src/joomla__plg_content_componentbuilderdynamicgetheaderstabs__5.x.zip and b/src/joomla__plg_content_componentbuilderdynamicgetheaderstabs__5.x.zip differ diff --git a/src/joomla__plg_content_componentbuilderfieldorderingtabs__5.x.zip b/src/joomla__plg_content_componentbuilderfieldorderingtabs__5.x.zip index af8216c..7f52103 100644 Binary files a/src/joomla__plg_content_componentbuilderfieldorderingtabs__5.x.zip and b/src/joomla__plg_content_componentbuilderfieldorderingtabs__5.x.zip differ diff --git a/src/joomla__plg_content_componentbuilderlanguagetabs__5.x.zip b/src/joomla__plg_content_componentbuilderlanguagetabs__5.x.zip index 4cc9d14..b96e9a1 100644 Binary files a/src/joomla__plg_content_componentbuilderlanguagetabs__5.x.zip and b/src/joomla__plg_content_componentbuilderlanguagetabs__5.x.zip differ diff --git a/src/joomla__plg_content_componentbuilderprivacytabs__5.x.zip b/src/joomla__plg_content_componentbuilderprivacytabs__5.x.zip index 55aebb3..d1e0b04 100644 Binary files a/src/joomla__plg_content_componentbuilderprivacytabs__5.x.zip and b/src/joomla__plg_content_componentbuilderprivacytabs__5.x.zip differ diff --git a/src/joomla__plg_content_componentbuildersiteheaderstabs__5.x.zip b/src/joomla__plg_content_componentbuildersiteheaderstabs__5.x.zip index 7861bc8..11c28a9 100644 Binary files a/src/joomla__plg_content_componentbuildersiteheaderstabs__5.x.zip and b/src/joomla__plg_content_componentbuildersiteheaderstabs__5.x.zip differ diff --git a/src/joomla__plg_extension_componentbuilderactionlogcompiler__5.x.zip b/src/joomla__plg_extension_componentbuilderactionlogcompiler__5.x.zip index 7963b6f..eb580bb 100644 Binary files a/src/joomla__plg_extension_componentbuilderactionlogcompiler__5.x.zip and b/src/joomla__plg_extension_componentbuilderactionlogcompiler__5.x.zip differ diff --git a/src/joomla__plg_extension_componentbuilderexportcompiler__5.x.zip b/src/joomla__plg_extension_componentbuilderexportcompiler__5.x.zip index e302a0b..a432443 100644 Binary files a/src/joomla__plg_extension_componentbuilderexportcompiler__5.x.zip and b/src/joomla__plg_extension_componentbuilderexportcompiler__5.x.zip differ diff --git a/src/joomla__plg_extension_componentbuilderfieldorderingcompiler__5.x.zip b/src/joomla__plg_extension_componentbuilderfieldorderingcompiler__5.x.zip index a9df7a2..4d48afd 100644 Binary files a/src/joomla__plg_extension_componentbuilderfieldorderingcompiler__5.x.zip and b/src/joomla__plg_extension_componentbuilderfieldorderingcompiler__5.x.zip differ diff --git a/src/joomla__plg_extension_componentbuilderheaderscompiler__5.x.zip b/src/joomla__plg_extension_componentbuilderheaderscompiler__5.x.zip index 20f5509..fa40104 100644 Binary files a/src/joomla__plg_extension_componentbuilderheaderscompiler__5.x.zip and b/src/joomla__plg_extension_componentbuilderheaderscompiler__5.x.zip differ diff --git a/src/joomla__plg_extension_componentbuilderlanguagepackaging__5.x.zip b/src/joomla__plg_extension_componentbuilderlanguagepackaging__5.x.zip index b465972..9049933 100644 Binary files a/src/joomla__plg_extension_componentbuilderlanguagepackaging__5.x.zip and b/src/joomla__plg_extension_componentbuilderlanguagepackaging__5.x.zip differ diff --git a/src/joomla__plg_extension_componentbuilderpowersautoloadercompiler__5.x.zip b/src/joomla__plg_extension_componentbuilderpowersautoloadercompiler__5.x.zip index f661eb6..ec3460c 100644 Binary files a/src/joomla__plg_extension_componentbuilderpowersautoloadercompiler__5.x.zip and b/src/joomla__plg_extension_componentbuilderpowersautoloadercompiler__5.x.zip differ diff --git a/src/joomla__plg_extension_componentbuilderprivacycompiler__5.x.zip b/src/joomla__plg_extension_componentbuilderprivacycompiler__5.x.zip index 2852a39..1196198 100644 Binary files a/src/joomla__plg_extension_componentbuilderprivacycompiler__5.x.zip and b/src/joomla__plg_extension_componentbuilderprivacycompiler__5.x.zip differ