diff --git a/README.md b/README.md
index b60e50426..b4c6b07c4 100644
--- a/README.md
+++ b/README.md
@@ -144,11 +144,11 @@ TODO
+ *Author*: [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com)
+ *Name*: [Component Builder](https://github.com/vdm-io/Joomla-Component-Builder)
+ *First Build*: 30th April, 2015
-+ *Last Build*: 29th May, 2020
++ *Last Build*: 30th May, 2020
+ *Version*: 2.11.2
+ *Copyright*: Copyright (C) 2015 - 2020 Vast Development Method. All rights reserved.
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
-+ *Line count*: **282456**
++ *Line count*: **282524**
+ *Field count*: **1522**
+ *File count*: **1785**
+ *Folder count*: **295**
diff --git a/admin/README.txt b/admin/README.txt
index b60e50426..b4c6b07c4 100644
--- a/admin/README.txt
+++ b/admin/README.txt
@@ -144,11 +144,11 @@ TODO
+ *Author*: [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com)
+ *Name*: [Component Builder](https://github.com/vdm-io/Joomla-Component-Builder)
+ *First Build*: 30th April, 2015
-+ *Last Build*: 29th May, 2020
++ *Last Build*: 30th May, 2020
+ *Version*: 2.11.2
+ *Copyright*: Copyright (C) 2015 - 2020 Vast Development Method. All rights reserved.
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt
-+ *Line count*: **282456**
++ *Line count*: **282524**
+ *Field count*: **1522**
+ *File count*: **1785**
+ *Folder count*: **295**
diff --git a/admin/helpers/compiler/c_Fields.php b/admin/helpers/compiler/c_Fields.php
index a6f365590..bb99927e2 100644
--- a/admin/helpers/compiler/c_Fields.php
+++ b/admin/helpers/compiler/c_Fields.php
@@ -4112,7 +4112,7 @@ class Fields extends Structure
{
$this->setScriptMediaSwitch[$typeName] = $typeName;
}
- // setup gategory for this view
+ // setup category for this view
if ($dbSwitch && $typeName === 'category')
{
if (isset($this->catOtherName[$view_name_list])
@@ -4134,13 +4134,37 @@ class Fields extends Structure
$field['settings']->xml, 'extension="', '"'
), $this->placeholders
);
- // if they left out the extention for some reason
+ // if they left out the extension for some reason
if (!ComponentbuilderHelper::checkString($_extension))
{
$_extension = 'com_' . $this->componentCodeName . '.'
. $otherView;
}
- // load the category builder
+ // check the context (does our target match)
+ if (strpos($_extension, '.') !== false)
+ {
+ $target_view = trim(explode('.', $_extension)[1]);
+ // from my understanding the target extension view and the otherView must align
+ // so I will here check that it does, and if not raise an error message to fix this
+ if ($target_view !== $otherView)
+ {
+ $target_extension = trim(explode('.', $_extension)[0]);
+ $correction = $target_extension . '.' . $otherView;
+ $this->app->enqueueMessage(
+ JText::sprintf('
Category targeting view mismatch
+ The
+ category field in (%s) admin view has a mismatching target view.
+
To correct the mismatch, the extension value %s
in the
+ field must be changed to %s
+ for
+ best category integration with Joomla.
+
Please watch
+ this tutorial before proceeding!!!,
+ code fix', $field['field'], $view_name_single, $_extension, $field['field'], $correction), 'Error'
+ );
+ }
+ }
+ // load the category builder - TODO must move all to single view
$this->categoryBuilder[$view_name_list] = array('code' => $name,
'name' => $listLangName,
'extension' => $_extension);
diff --git a/admin/helpers/compiler/e_Interpretation.php b/admin/helpers/compiler/e_Interpretation.php
index f687a3b93..1cbc5af5a 100644
--- a/admin/helpers/compiler/e_Interpretation.php
+++ b/admin/helpers/compiler/e_Interpretation.php
@@ -8476,19 +8476,21 @@ class Interpretation extends Fields
public function getCategoryContentType($view, $views, $component)
{
+ // get the other view
+ $otherView = $this->catCodeBuilder[$view]['view'];
$category = $this->catCodeBuilder[$view]['code'];
$Component = ComponentbuilderHelper::safeString($component, 'F');
$View = ComponentbuilderHelper::safeString($view, 'F');
// build uninstall script for content types
$this->uninstallScriptBuilder[$View . ' ' . $category] = 'com_'
- . $component . '.' . $views . '.category';
+ . $component . '.' . $otherView . '.category';
$this->uninstallScriptContent[$View . ' ' . $category] = $View . ' '
. $category;
// set the title
$array['type_title'] = $Component . ' ' . $View . ' '
. ComponentbuilderHelper::safeString($category, 'F');
// set the alias
- $array['type_alias'] = 'com_' . $component . '.' . $views . '.category';
+ $array['type_alias'] = 'com_' . $component . '.' . $otherView . '.category';
// set the table
$array['table']
= '{"special":{"dbtable":"#__categories","key":"id","type":"Category","prefix":"JTable","config":"array()"},"common":{"dbtable":"#__ucm_content","key":"ucm_id","type":"Corecontent","prefix":"JTable","config":"array()"}}';
@@ -11450,13 +11452,10 @@ class Interpretation extends Fields
// if to be linked
if ($item['type'] === 'category' && !$item['title'])
{
- // get the other view
- $otherViews = $this->catCodeBuilder[$viewName_single]['views'];
-
// return the link to category
return 'index.php?option=com_categories&task=category.edit&id='
- . $item['code'] . '; ?>&extension=com_'
- . $this->componentCodeName . '.' . $otherViews;
+ . $item['code'] . '; ?>&extension='
+ . $this->categoryBuilder[$viewName_list]['extension'];
}
elseif ($item['type'] === 'user' && !$item['title'])
{
@@ -11517,11 +11516,10 @@ class Interpretation extends Fields
if ($item['type'] === 'category' && !$item['title'])
{
// get the other view
- $otherViews = $this->catCodeBuilder[$viewName_single]['views'];
-
+ $otherView = $this->catCodeBuilder[$viewName_single]['view'];
// return the authority to category
return $user . "->authorise('core.edit', 'com_"
- . $this->componentCodeName . "." . $otherViews
+ . $this->componentCodeName . "." . $otherView
. ".category.' . (int)\$item->" . $item['code'] . ")";
}
elseif ($item['type'] === 'user' && !$item['title'])
@@ -17459,6 +17457,10 @@ class Interpretation extends Fields
$otherViews = $viewName_list;
$otherView = $viewName_single;
}
+ // set the OtherView value
+ $this->fileContentDynamic['category' . $otherView][$this->hhh
+ . 'otherview' . $this->hhh]
+ = $otherView;
// load the category helper details in not already loaded
if (!isset(
$this->fileContentDynamic['category' . $otherView][$this->hhh
@@ -17593,7 +17595,7 @@ class Interpretation extends Fields
. " If the category has been passed in the URL check it.";
$allow[] = $this->_t(3)
. "\$allow = \$user->authorise('core.create', \$this->option . '."
- . $otherViews . ".category.' . \$categoryId);";
+ . $otherView . ".category.' . \$categoryId);";
$allow[] = $this->_t(2) . "}";
$allow[] = PHP_EOL . $this->_t(2) . "if (\$allow === null)";
$allow[] = $this->_t(2) . "{";
@@ -18168,6 +18170,8 @@ class Interpretation extends Fields
) . " Check for existing item.";
$getForm[] = $this->_t(2) . "//" . $this->setLine(__LINE__)
. " Modify the form based on Edit State access controls.";
+ // get the other view
+ $otherView = $this->catCodeBuilder[$viewName_single]['view'];
// check if the item has permissions.
if ($coreLoad && isset($core['core.edit.state'])
&& isset($this->permissionBuilder[$core['core.edit.state']])
@@ -18185,7 +18189,7 @@ class Interpretation extends Fields
. $viewName_single . ".' . (int) \$id))";
$getForm[] = $this->_t(3)
. "|| (isset(\$catid) && \$catid != 0 && !\$user->authorise('core.edit.state', 'com_"
- . $component . "." . $viewName_list
+ . $component . "." . $otherView
. ".category.' . (int) \$catid))";
$getForm[] = $this->_t(3)
. "|| (\$id == 0 && !\$user->authorise('"
@@ -18199,7 +18203,7 @@ class Interpretation extends Fields
. $component . "." . $viewName_single . ".' . (int) \$id))";
$getForm[] = $this->_t(3)
. "|| (isset(\$catid) && \$catid != 0 && !\$user->authorise('core.edit.state', 'com_"
- . $component . "." . $viewName_list
+ . $component . "." . $otherView
. ".category.' . (int) \$catid))";
$getForm[] = $this->_t(3)
. "|| (\$id == 0 && !\$user->authorise('core.edit.state', 'com_"
@@ -18728,7 +18732,7 @@ class Interpretation extends Fields
$allow[] = PHP_EOL . $this->_t(3) . "\$user = JFactory::getUser();";
$allow[] = $this->_t(3)
. "\$allow = \$user->authorise('core.delete', 'com_"
- . $component . "." . $otherViews
+ . $component . "." . $otherView
. ".category.' . (int) \$record->catid);";
// check if the item has permissions.
if ($coreLoad
@@ -18882,7 +18886,7 @@ class Interpretation extends Fields
$allow[] = $this->_t(2) . "{";
$allow[] = $this->_t(3)
. "\$catpermission = \$user->authorise('core.edit.state', 'com_"
- . $component . "." . $otherViews
+ . $component . "." . $otherView
. ".category.' . (int) \$record->catid);";
$allow[] = $this->_t(3)
. "if (!\$catpermission && !is_null(\$catpermission))";
diff --git a/admin/helpers/componentbuilder.php b/admin/helpers/componentbuilder.php
index cf7d9cd02..433fc969a 100644
--- a/admin/helpers/componentbuilder.php
+++ b/admin/helpers/componentbuilder.php
@@ -6033,12 +6033,12 @@ abstract class ComponentbuilderHelper
if ($user->authorise('field.access', 'com_componentbuilder') && $user->authorise('field.submenu', 'com_componentbuilder'))
{
JHtmlSidebar::addEntry(JText::_('COM_COMPONENTBUILDER_SUBMENU_FIELDS'), 'index.php?option=com_componentbuilder&view=fields', $submenu === 'fields');
- JHtmlSidebar::addEntry(JText::_('COM_COMPONENTBUILDER_FIELD_FIELDS_CATEGORIES'), 'index.php?option=com_categories&view=categories&extension=com_componentbuilder.fields', $submenu === 'categories.fields');
+ JHtmlSidebar::addEntry(JText::_('COM_COMPONENTBUILDER_FIELD_FIELDS_CATEGORIES'), 'index.php?option=com_categories&view=categories&extension=com_componentbuilder.field', $submenu === 'categories.field');
}
if ($user->authorise('fieldtype.access', 'com_componentbuilder') && $user->authorise('fieldtype.submenu', 'com_componentbuilder'))
{
JHtmlSidebar::addEntry(JText::_('COM_COMPONENTBUILDER_SUBMENU_FIELDTYPES'), 'index.php?option=com_componentbuilder&view=fieldtypes', $submenu === 'fieldtypes');
- JHtmlSidebar::addEntry(JText::_('COM_COMPONENTBUILDER_FIELDTYPE_FIELDTYPES_CATEGORIES'), 'index.php?option=com_categories&view=categories&extension=com_componentbuilder.fieldtypes', $submenu === 'categories.fieldtypes');
+ JHtmlSidebar::addEntry(JText::_('COM_COMPONENTBUILDER_FIELDTYPE_FIELDTYPES_CATEGORIES'), 'index.php?option=com_categories&view=categories&extension=com_componentbuilder.fieldtype', $submenu === 'categories.fieldtype');
}
if ($user->authorise('language_translation.access', 'com_componentbuilder') && $user->authorise('language_translation.submenu', 'com_componentbuilder'))
{
diff --git a/admin/layouts/fieldtype/fields_fullwidth.php b/admin/layouts/fieldtype/fields_fullwidth.php
index 4ab41c6b1..b8fba47f6 100644
--- a/admin/layouts/fieldtype/fields_fullwidth.php
+++ b/admin/layouts/fieldtype/fields_fullwidth.php
@@ -118,8 +118,8 @@ $can = ComponentbuilderHelper::getActions('field');
store); ?>
- authorise('core.edit', 'com_componentbuilder.fields.category.' . (int)$item->catid)): ?>
- escape($item->category_title); ?>
+ authorise('core.edit', 'com_componentbuilder.field.category.' . (int)$item->catid)): ?>
+ escape($item->category_title); ?>
escape($item->category_title); ?>
diff --git a/admin/models/forms/field.xml b/admin/models/forms/field.xml
index 2f3a39fea..211698f6d 100644
--- a/admin/models/forms/field.xml
+++ b/admin/models/forms/field.xml
@@ -227,8 +227,7 @@
type="category"
name="catid"
label="COM_COMPONENTBUILDER_FIELD_CATID_LABEL"
- extension="com_componentbuilder.fields"
- default=""
+ extension="com_componentbuilder.field"
description="COM_COMPONENTBUILDER_FIELD_CATID_DESCRIPTION"
class="inputbox"
/>
diff --git a/admin/models/forms/fieldtype.xml b/admin/models/forms/fieldtype.xml
index ac00e85e6..e456efeb4 100644
--- a/admin/models/forms/fieldtype.xml
+++ b/admin/models/forms/fieldtype.xml
@@ -449,7 +449,7 @@
type="category"
name="catid"
label="COM_COMPONENTBUILDER_FIELDTYPE_CATID_LABEL"
- extension="com_componentbuilder.fieldtypes"
+ extension="com_componentbuilder.fieldtype"
default=""
description="COM_COMPONENTBUILDER_FIELDTYPE_CATID_DESCRIPTION"
class="inputbox"
diff --git a/admin/views/fields/tmpl/default_body.php b/admin/views/fields/tmpl/default_body.php
index e79c51bd9..382ce7d16 100644
--- a/admin/views/fields/tmpl/default_body.php
+++ b/admin/views/fields/tmpl/default_body.php
@@ -95,8 +95,8 @@ $edit = "index.php?option=com_componentbuilder&view=fields&task=field.edit";
|
- user->authorise('core.edit', 'com_componentbuilder.fields.category.' . (int)$item->catid)): ?>
- escape($item->category_title); ?>
+ user->authorise('core.edit', 'com_componentbuilder.field.category.' . (int)$item->catid)): ?>
+ escape($item->category_title); ?>
escape($item->category_title); ?>
diff --git a/admin/views/fields/view.html.php b/admin/views/fields/view.html.php
index 2beec06b4..3fc356eba 100644
--- a/admin/views/fields/view.html.php
+++ b/admin/views/fields/view.html.php
@@ -196,7 +196,7 @@ class ComponentbuilderViewFields extends JViewLegacy
JHtmlSidebar::addFilter(
JText::_('JOPTION_SELECT_CATEGORY'),
'filter_category_id',
- JHtml::_('select.options', JHtml::_('category.options', 'com_componentbuilder.fields'), 'value', 'text', $this->state->get('filter.category_id'))
+ JHtml::_('select.options', JHtml::_('category.options', 'com_componentbuilder.field'), 'value', 'text', $this->state->get('filter.category_id'))
);
if ($this->canBatch && $this->canCreate && $this->canEdit)
@@ -205,7 +205,7 @@ class ComponentbuilderViewFields extends JViewLegacy
JHtmlBatch_::addListSelection(
JText::_('COM_COMPONENTBUILDER_KEEP_ORIGINAL_CATEGORY'),
'batch[category]',
- JHtml::_('select.options', JHtml::_('category.options', 'com_componentbuilder.fields'), 'value', 'text')
+ JHtml::_('select.options', JHtml::_('category.options', 'com_componentbuilder.field'), 'value', 'text')
);
}
diff --git a/admin/views/fieldtypes/tmpl/default_body.php b/admin/views/fieldtypes/tmpl/default_body.php
index 0c4d65319..887e1812f 100644
--- a/admin/views/fieldtypes/tmpl/default_body.php
+++ b/admin/views/fieldtypes/tmpl/default_body.php
@@ -77,8 +77,8 @@ $edit = "index.php?option=com_componentbuilder&view=fieldtypes&task=fieldtype.ed
|
- user->authorise('core.edit', 'com_componentbuilder.fieldtypes.category.' . (int)$item->catid)): ?>
- escape($item->category_title); ?>
+ user->authorise('core.edit', 'com_componentbuilder.fieldtype.category.' . (int)$item->catid)): ?>
+ escape($item->category_title); ?>
escape($item->category_title); ?>
diff --git a/admin/views/fieldtypes/view.html.php b/admin/views/fieldtypes/view.html.php
index 075cdb23f..fac139380 100644
--- a/admin/views/fieldtypes/view.html.php
+++ b/admin/views/fieldtypes/view.html.php
@@ -191,7 +191,7 @@ class ComponentbuilderViewFieldtypes extends JViewLegacy
JHtmlSidebar::addFilter(
JText::_('JOPTION_SELECT_CATEGORY'),
'filter_category_id',
- JHtml::_('select.options', JHtml::_('category.options', 'com_componentbuilder.fieldtypes'), 'value', 'text', $this->state->get('filter.category_id'))
+ JHtml::_('select.options', JHtml::_('category.options', 'com_componentbuilder.fieldtype'), 'value', 'text', $this->state->get('filter.category_id'))
);
if ($this->canBatch && $this->canCreate && $this->canEdit)
@@ -200,7 +200,7 @@ class ComponentbuilderViewFieldtypes extends JViewLegacy
JHtmlBatch_::addListSelection(
JText::_('COM_COMPONENTBUILDER_KEEP_ORIGINAL_CATEGORY'),
'batch[category]',
- JHtml::_('select.options', JHtml::_('category.options', 'com_componentbuilder.fieldtypes'), 'value', 'text')
+ JHtml::_('select.options', JHtml::_('category.options', 'com_componentbuilder.fieldtype'), 'value', 'text')
);
}
}
diff --git a/componentbuilder.xml b/componentbuilder.xml
index f96061588..d4551f41b 100644
--- a/componentbuilder.xml
+++ b/componentbuilder.xml
@@ -1,7 +1,7 @@
COM_COMPONENTBUILDER
- 29th May, 2020
+ 30th May, 2020
Llewellyn van der Merwe
llewellyn@joomlacomponentbuilder.com
http://www.joomlacomponentbuilder.com
diff --git a/script.php b/script.php
index 817b584db..a6775ed6a 100644
--- a/script.php
+++ b/script.php
@@ -1516,7 +1516,7 @@ class com_componentbuilderInstallerScript
$query->select($db->quoteName('type_id'));
$query->from($db->quoteName('#__content_types'));
// Where Field catid alias is found
- $query->where( $db->quoteName('type_alias') . ' = '. $db->quote('com_componentbuilder.fields.category') );
+ $query->where( $db->quoteName('type_alias') . ' = '. $db->quote('com_componentbuilder.field.category') );
$db->setQuery($query);
// Execute query to see if alias is found
$db->execute();
@@ -1527,7 +1527,7 @@ class com_componentbuilderInstallerScript
// Since there are load the needed field_catid type ids
$field_catid_ids = $db->loadColumn();
// Remove Field catid from the content type table
- $field_catid_condition = array( $db->quoteName('type_alias') . ' = '. $db->quote('com_componentbuilder.fields.category') );
+ $field_catid_condition = array( $db->quoteName('type_alias') . ' = '. $db->quote('com_componentbuilder.field.category') );
// Create a new query object.
$query = $db->getQuery(true);
$query->delete($db->quoteName('#__content_types'));
@@ -1538,11 +1538,11 @@ class com_componentbuilderInstallerScript
if ($field_catid_done)
{
// If succesfully remove Field catid add queued success message.
- $app->enqueueMessage(JText::_('The (com_componentbuilder.fields.category) type alias was removed from the #__content_type table'));
+ $app->enqueueMessage(JText::_('The (com_componentbuilder.field.category) type alias was removed from the #__content_type table'));
}
// Remove Field catid items from the contentitem tag map table
- $field_catid_condition = array( $db->quoteName('type_alias') . ' = '. $db->quote('com_componentbuilder.fields.category') );
+ $field_catid_condition = array( $db->quoteName('type_alias') . ' = '. $db->quote('com_componentbuilder.field.category') );
// Create a new query object.
$query = $db->getQuery(true);
$query->delete($db->quoteName('#__contentitem_tag_map'));
@@ -1553,11 +1553,11 @@ class com_componentbuilderInstallerScript
if ($field_catid_done)
{
// If succesfully remove Field catid add queued success message.
- $app->enqueueMessage(JText::_('The (com_componentbuilder.fields.category) type alias was removed from the #__contentitem_tag_map table'));
+ $app->enqueueMessage(JText::_('The (com_componentbuilder.field.category) type alias was removed from the #__contentitem_tag_map table'));
}
// Remove Field catid items from the ucm content table
- $field_catid_condition = array( $db->quoteName('core_type_alias') . ' = ' . $db->quote('com_componentbuilder.fields.category') );
+ $field_catid_condition = array( $db->quoteName('core_type_alias') . ' = ' . $db->quote('com_componentbuilder.field.category') );
// Create a new query object.
$query = $db->getQuery(true);
$query->delete($db->quoteName('#__ucm_content'));
@@ -1568,7 +1568,7 @@ class com_componentbuilderInstallerScript
if ($field_catid_done)
{
// If succesfully remove Field catid add queued success message.
- $app->enqueueMessage(JText::_('The (com_componentbuilder.fields.category) type alias was removed from the #__ucm_content table'));
+ $app->enqueueMessage(JText::_('The (com_componentbuilder.field.category) type alias was removed from the #__ucm_content table'));
}
// Make sure that all the Field catid items are cleared from DB
@@ -1688,7 +1688,7 @@ class com_componentbuilderInstallerScript
$query->select($db->quoteName('type_id'));
$query->from($db->quoteName('#__content_types'));
// Where Fieldtype catid alias is found
- $query->where( $db->quoteName('type_alias') . ' = '. $db->quote('com_componentbuilder.fieldtypes.category') );
+ $query->where( $db->quoteName('type_alias') . ' = '. $db->quote('com_componentbuilder.fieldtype.category') );
$db->setQuery($query);
// Execute query to see if alias is found
$db->execute();
@@ -1699,7 +1699,7 @@ class com_componentbuilderInstallerScript
// Since there are load the needed fieldtype_catid type ids
$fieldtype_catid_ids = $db->loadColumn();
// Remove Fieldtype catid from the content type table
- $fieldtype_catid_condition = array( $db->quoteName('type_alias') . ' = '. $db->quote('com_componentbuilder.fieldtypes.category') );
+ $fieldtype_catid_condition = array( $db->quoteName('type_alias') . ' = '. $db->quote('com_componentbuilder.fieldtype.category') );
// Create a new query object.
$query = $db->getQuery(true);
$query->delete($db->quoteName('#__content_types'));
@@ -1710,11 +1710,11 @@ class com_componentbuilderInstallerScript
if ($fieldtype_catid_done)
{
// If succesfully remove Fieldtype catid add queued success message.
- $app->enqueueMessage(JText::_('The (com_componentbuilder.fieldtypes.category) type alias was removed from the #__content_type table'));
+ $app->enqueueMessage(JText::_('The (com_componentbuilder.fieldtype.category) type alias was removed from the #__content_type table'));
}
// Remove Fieldtype catid items from the contentitem tag map table
- $fieldtype_catid_condition = array( $db->quoteName('type_alias') . ' = '. $db->quote('com_componentbuilder.fieldtypes.category') );
+ $fieldtype_catid_condition = array( $db->quoteName('type_alias') . ' = '. $db->quote('com_componentbuilder.fieldtype.category') );
// Create a new query object.
$query = $db->getQuery(true);
$query->delete($db->quoteName('#__contentitem_tag_map'));
@@ -1725,11 +1725,11 @@ class com_componentbuilderInstallerScript
if ($fieldtype_catid_done)
{
// If succesfully remove Fieldtype catid add queued success message.
- $app->enqueueMessage(JText::_('The (com_componentbuilder.fieldtypes.category) type alias was removed from the #__contentitem_tag_map table'));
+ $app->enqueueMessage(JText::_('The (com_componentbuilder.fieldtype.category) type alias was removed from the #__contentitem_tag_map table'));
}
// Remove Fieldtype catid items from the ucm content table
- $fieldtype_catid_condition = array( $db->quoteName('core_type_alias') . ' = ' . $db->quote('com_componentbuilder.fieldtypes.category') );
+ $fieldtype_catid_condition = array( $db->quoteName('core_type_alias') . ' = ' . $db->quote('com_componentbuilder.fieldtype.category') );
// Create a new query object.
$query = $db->getQuery(true);
$query->delete($db->quoteName('#__ucm_content'));
@@ -1740,7 +1740,7 @@ class com_componentbuilderInstallerScript
if ($fieldtype_catid_done)
{
// If succesfully remove Fieldtype catid add queued success message.
- $app->enqueueMessage(JText::_('The (com_componentbuilder.fieldtypes.category) type alias was removed from the #__ucm_content table'));
+ $app->enqueueMessage(JText::_('The (com_componentbuilder.fieldtype.category) type alias was removed from the #__ucm_content table'));
}
// Make sure that all the Fieldtype catid items are cleared from DB
@@ -5890,6 +5890,75 @@ class com_componentbuilderInstallerScript
JFile::delete($wiki_menu);
}
}
+ // target version less then or equal to 2.11.2
+ if (count($this->JCBversion) == 3 && $this->JCBversion[0] <= 2 && ($this->JCBversion[1] < 11 || ($this->JCBversion[1] == 11 && $this->JCBversion[2] <= 2)))
+ {
+ // we need to make a database correction for the field categories and the fieldtype categories
+ $fix_categories = array(
+ 'com_componentbuilder.fields' => 'com_componentbuilder.field',
+ 'com_componentbuilder.fieldtypes' => 'com_componentbuilder.fieldtype'
+ );
+ // targeted tables (to fix all places categories are mapped into Joomla)
+ $fix_tables = array(
+ 'content_types' => array(
+ 'id' => 'type_id',
+ 'key' => 'type_alias',
+ 'suffix' => '.category'),
+ 'contentitem_tag_map' => array(
+ 'id' => 'type_id',
+ 'key' => 'type_alias',
+ 'suffix' => '.category'),
+ 'ucm_content' => array(
+ 'id' => 'core_content_id',
+ 'key' => 'core_type_alias',
+ 'suffix' => '.category'),
+ 'categories' => array(
+ 'id' => 'id',
+ 'key' => 'extension',
+ 'suffix' => '')
+ );
+
+ // the script that does the work
+ foreach ($fix_categories as $fix => $category)
+ {
+ // loop over the targeted tables
+ foreach ($fix_tables as $_table => $_update)
+ {
+ // Create a new query object.
+ $query = $db->getQuery(true);
+ // get all type_ids
+ $query->select($db->quoteName($_update['id']));
+ $query->from($db->quoteName('#__' . $_table));
+ $query->where( $db->quoteName($_update['key']) . ' = ' . $db->quote($fix . $_update['suffix']));
+ // Reset the query using our newly populated query object.
+ $db->setQuery($query);
+ $db->execute();
+ if ($db->getNumRows())
+ {
+
+ // all these must be updated
+ $ids = $db->loadColumn();
+ // Fields to update.
+ $fields = array(
+ $db->quoteName($_update['key']) . ' = ' . $db->quote($category . $_update['suffix'])
+ );
+ // Conditions for which records should be updated.
+ $conditions = array(
+ $db->quoteName($_update['id']) . ' IN (' . implode(', ', $ids) . ')'
+ );
+ $query->update($db->quoteName('#__' . $_table))->set($fields)->where($conditions);
+ $db->setQuery($query);
+ $result = $db->execute();
+ // on success
+ if ($result)
+ {
+ $app->enqueueMessage("Updated #__$_table - " . $_update['key'] . " from $fix" . $_update['suffix'] . " to $category" . $_update['suffix'] . "! ", 'Notice');
+ }
+
+ }
+ }
+ }
+ }
}
}
@@ -6136,7 +6205,7 @@ class com_componentbuilderInstallerScript
// Create the field category content type object.
$field_category = new stdClass();
$field_category->type_title = 'Componentbuilder Field Catid';
- $field_category->type_alias = 'com_componentbuilder.fields.category';
+ $field_category->type_alias = 'com_componentbuilder.field.category';
$field_category->table = '{"special":{"dbtable":"#__categories","key":"id","type":"Category","prefix":"JTable","config":"array()"},"common":{"dbtable":"#__ucm_content","key":"ucm_id","type":"Corecontent","prefix":"JTable","config":"array()"}}';
$field_category->field_mappings = '{"common":{"core_content_item_id":"id","core_title":"title","core_state":"published","core_alias":"alias","core_created_time":"created_time","core_modified_time":"modified_time","core_body":"description", "core_hits":"hits","core_publish_up":"null","core_publish_down":"null","core_access":"access", "core_params":"params", "core_featured":"null", "core_metadata":"metadata", "core_language":"language", "core_images":"null", "core_urls":"null", "core_version":"version", "core_ordering":"null", "core_metakey":"metakey", "core_metadesc":"metadesc", "core_catid":"parent_id", "core_xreference":"null", "asset_id":"asset_id"}, "special":{"parent_id":"parent_id","lft":"lft","rgt":"rgt","level":"level","path":"path","extension":"extension","note":"note"}}';
$field_category->router = 'ComponentbuilderHelperRoute::getCategoryRoute';
@@ -6160,7 +6229,7 @@ class com_componentbuilderInstallerScript
// Create the fieldtype category content type object.
$fieldtype_category = new stdClass();
$fieldtype_category->type_title = 'Componentbuilder Fieldtype Catid';
- $fieldtype_category->type_alias = 'com_componentbuilder.fieldtypes.category';
+ $fieldtype_category->type_alias = 'com_componentbuilder.fieldtype.category';
$fieldtype_category->table = '{"special":{"dbtable":"#__categories","key":"id","type":"Category","prefix":"JTable","config":"array()"},"common":{"dbtable":"#__ucm_content","key":"ucm_id","type":"Corecontent","prefix":"JTable","config":"array()"}}';
$fieldtype_category->field_mappings = '{"common":{"core_content_item_id":"id","core_title":"title","core_state":"published","core_alias":"alias","core_created_time":"created_time","core_modified_time":"modified_time","core_body":"description", "core_hits":"hits","core_publish_up":"null","core_publish_down":"null","core_access":"access", "core_params":"params", "core_featured":"null", "core_metadata":"metadata", "core_language":"language", "core_images":"null", "core_urls":"null", "core_version":"version", "core_ordering":"null", "core_metakey":"metakey", "core_metadesc":"metadesc", "core_catid":"parent_id", "core_xreference":"null", "asset_id":"asset_id"}, "special":{"parent_id":"parent_id","lft":"lft","rgt":"rgt","level":"level","path":"path","extension":"extension","note":"note"}}';
$fieldtype_category->router = 'ComponentbuilderHelperRoute::getCategoryRoute';
@@ -7850,7 +7919,7 @@ class com_componentbuilderInstallerScript
// Create the field category content type object.
$field_category = new stdClass();
$field_category->type_title = 'Componentbuilder Field Catid';
- $field_category->type_alias = 'com_componentbuilder.fields.category';
+ $field_category->type_alias = 'com_componentbuilder.field.category';
$field_category->table = '{"special":{"dbtable":"#__categories","key":"id","type":"Category","prefix":"JTable","config":"array()"},"common":{"dbtable":"#__ucm_content","key":"ucm_id","type":"Corecontent","prefix":"JTable","config":"array()"}}';
$field_category->field_mappings = '{"common":{"core_content_item_id":"id","core_title":"title","core_state":"published","core_alias":"alias","core_created_time":"created_time","core_modified_time":"modified_time","core_body":"description", "core_hits":"hits","core_publish_up":"null","core_publish_down":"null","core_access":"access", "core_params":"params", "core_featured":"null", "core_metadata":"metadata", "core_language":"language", "core_images":"null", "core_urls":"null", "core_version":"version", "core_ordering":"null", "core_metakey":"metakey", "core_metadesc":"metadesc", "core_catid":"parent_id", "core_xreference":"null", "asset_id":"asset_id"}, "special":{"parent_id":"parent_id","lft":"lft","rgt":"rgt","level":"level","path":"path","extension":"extension","note":"note"}}';
$field_category->router = 'ComponentbuilderHelperRoute::getCategoryRoute';
@@ -7908,7 +7977,7 @@ class com_componentbuilderInstallerScript
// Create the fieldtype category content type object.
$fieldtype_category = new stdClass();
$fieldtype_category->type_title = 'Componentbuilder Fieldtype Catid';
- $fieldtype_category->type_alias = 'com_componentbuilder.fieldtypes.category';
+ $fieldtype_category->type_alias = 'com_componentbuilder.fieldtype.category';
$fieldtype_category->table = '{"special":{"dbtable":"#__categories","key":"id","type":"Category","prefix":"JTable","config":"array()"},"common":{"dbtable":"#__ucm_content","key":"ucm_id","type":"Corecontent","prefix":"JTable","config":"array()"}}';
$fieldtype_category->field_mappings = '{"common":{"core_content_item_id":"id","core_title":"title","core_state":"published","core_alias":"alias","core_created_time":"created_time","core_modified_time":"modified_time","core_body":"description", "core_hits":"hits","core_publish_up":"null","core_publish_down":"null","core_access":"access", "core_params":"params", "core_featured":"null", "core_metadata":"metadata", "core_language":"language", "core_images":"null", "core_urls":"null", "core_version":"version", "core_ordering":"null", "core_metakey":"metakey", "core_metadesc":"metadesc", "core_catid":"parent_id", "core_xreference":"null", "asset_id":"asset_id"}, "special":{"parent_id":"parent_id","lft":"lft","rgt":"rgt","level":"level","path":"path","extension":"extension","note":"note"}}';
$fieldtype_category->router = 'ComponentbuilderHelperRoute::getCategoryRoute';
diff --git a/site/helpers/route.php b/site/helpers/route.php
index 341ed01c4..441972641 100644
--- a/site/helpers/route.php
+++ b/site/helpers/route.php
@@ -85,8 +85,8 @@ abstract class ComponentbuilderHelperRoute
}
$views = array(
- "com_componentbuilder.fields" => "field",
- "com_componentbuilder.fieldtypes" => "fieldtype");
+ "com_componentbuilder.field" => "field",
+ "com_componentbuilder.fieldtype" => "fieldtype");
$view = $views[$category->extension];
if ($id < 1 || !($category instanceof JCategoryNode))
|