From 42e85b3944e3602a3c60f67db97b2005d0a651c1 Mon Sep 17 00:00:00 2001 From: Llewellyn van der Merwe Date: Thu, 23 Aug 2018 23:51:09 +0200 Subject: [PATCH] Added context to site and custom admin views to better target triggered events. Added the redering option in the admin edit view, so to expand forms via plugins. Improved the codename build in site and custom admin view. --- README.md | 10 +- admin/README.txt | 10 +- admin/helpers/compiler/a_Get.php | 23 +++- admin/helpers/compiler/e_Interpretation.php | 33 ++++-- .../en-GB/en-GB.com_componentbuilder.ini | 7 +- .../custom_admin_view/details_above.php | 3 +- admin/models/compiler.php | 4 +- admin/models/custom_admin_view.php | 51 ++++++--- admin/models/custom_admin_views.php | 6 +- admin/models/forms/custom_admin_view.xml | 105 ++++++++++-------- admin/models/site_view.php | 10 ++ admin/sql/install.mysql.utf8.sql | 6 +- admin/sql/updates/mysql/2.8.8.sql | 1 + admin/views/admin_fields/tmpl/edit.php | 4 + .../admin_fields_conditions/tmpl/edit.php | 4 + .../admin_fields_relations/tmpl/edit.php | 4 + admin/views/admin_view/tmpl/edit.php | 4 + .../views/component_admin_views/tmpl/edit.php | 4 + admin/views/component_config/tmpl/edit.php | 4 + .../tmpl/edit.php | 4 + .../tmpl/edit.php | 4 + admin/views/component_dashboard/tmpl/edit.php | 4 + .../component_files_folders/tmpl/edit.php | 4 + .../component_mysql_tweaks/tmpl/edit.php | 4 + .../views/component_site_views/tmpl/edit.php | 4 + admin/views/component_updates/tmpl/edit.php | 4 + admin/views/custom_admin_view/tmpl/edit.php | 4 + .../custom_admin_views/tmpl/default_body.php | 6 +- admin/views/custom_code/tmpl/edit.php | 4 + admin/views/dynamic_get/tmpl/edit.php | 4 + admin/views/field/tmpl/edit.php | 4 + admin/views/fieldtype/tmpl/edit.php | 4 + admin/views/help_document/tmpl/edit.php | 4 + admin/views/joomla_component/tmpl/edit.php | 4 + admin/views/language/tmpl/edit.php | 4 + .../views/language_translation/tmpl/edit.php | 4 + admin/views/layout/tmpl/edit.php | 4 + admin/views/library/tmpl/edit.php | 4 + admin/views/library_config/tmpl/edit.php | 4 + .../library_files_folders_urls/tmpl/edit.php | 4 + admin/views/server/tmpl/edit.php | 4 + admin/views/site_view/tmpl/edit.php | 4 + admin/views/snippet/tmpl/edit.php | 4 + admin/views/snippet_type/tmpl/edit.php | 4 + admin/views/template/tmpl/edit.php | 4 + admin/views/validation_rule/tmpl/edit.php | 4 + componentbuilder.xml | 4 +- componentbuilder_update_server.xml | 17 +++ script.php | 10 +- 49 files changed, 334 insertions(+), 100 deletions(-) create mode 100644 admin/sql/updates/mysql/2.8.8.sql diff --git a/README.md b/README.md index 117da50d0..25f536164 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ The Component Builder for [Joomla](https://extensions.joomla.org/extension/compo Whether you're a seasoned [Joomla](https://extensions.joomla.org/extension/component-builder/) developer, or have just started, Component Builder will safe you lots of time and money. A real must have! -You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.8.8) with **ALL** its features and **ALL** concepts totally open-source and free! +You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.8.9) with **ALL** its features and **ALL** concepts totally open-source and free! > Watch Quick Build of a Hello World component in [JCB on Youtube](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45) @@ -126,12 +126,12 @@ Watch the [proposed development workflow](https://vdm.bz/proposed-development-wo + *Name*: [Component Builder](https://github.com/vdm-io/Joomla-Component-Builder) + *First Build*: 30th April, 2015 + *Last Build*: 23rd August, 2018 -+ *Version*: 2.8.8 ++ *Version*: 2.8.9 + *Copyright*: Copyright (C) 2015 - 2018 Vast Development Method. All rights reserved. + *License*: GNU General Public License version 2 or later; see LICENSE.txt -+ *Line count*: **188906** -+ *Field count*: **1063** -+ *File count*: **1243** ++ *Line count*: **189114** ++ *Field count*: **1064** ++ *File count*: **1244** + *Folder count*: **197** > This **component** was build with a Joomla [Automated Component Builder](http://joomlacomponentbuilder.com). diff --git a/admin/README.txt b/admin/README.txt index 117da50d0..25f536164 100644 --- a/admin/README.txt +++ b/admin/README.txt @@ -9,7 +9,7 @@ The Component Builder for [Joomla](https://extensions.joomla.org/extension/compo Whether you're a seasoned [Joomla](https://extensions.joomla.org/extension/component-builder/) developer, or have just started, Component Builder will safe you lots of time and money. A real must have! -You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.8.8) with **ALL** its features and **ALL** concepts totally open-source and free! +You can install it quite easily and with no limitations. On [github](https://github.com/vdm-io/Joomla-Component-Builder/releases) is the latest release (2.8.9) with **ALL** its features and **ALL** concepts totally open-source and free! > Watch Quick Build of a Hello World component in [JCB on Youtube](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45) @@ -126,12 +126,12 @@ Watch the [proposed development workflow](https://vdm.bz/proposed-development-wo + *Name*: [Component Builder](https://github.com/vdm-io/Joomla-Component-Builder) + *First Build*: 30th April, 2015 + *Last Build*: 23rd August, 2018 -+ *Version*: 2.8.8 ++ *Version*: 2.8.9 + *Copyright*: Copyright (C) 2015 - 2018 Vast Development Method. All rights reserved. + *License*: GNU General Public License version 2 or later; see LICENSE.txt -+ *Line count*: **188906** -+ *Field count*: **1063** -+ *File count*: **1243** ++ *Line count*: **189114** ++ *Field count*: **1064** ++ *File count*: **1244** + *Folder count*: **197** > This **component** was build with a Joomla [Automated Component Builder](http://joomlacomponentbuilder.com). diff --git a/admin/helpers/compiler/a_Get.php b/admin/helpers/compiler/a_Get.php index 38763934e..9a4853e2b 100644 --- a/admin/helpers/compiler/a_Get.php +++ b/admin/helpers/compiler/a_Get.php @@ -2097,6 +2097,16 @@ class Get $view->code = $this->uniqueCode(ComponentbuilderHelper::safeString($view->codename)); $view->Code = ComponentbuilderHelper::safeString($view->code, 'F'); $view->CODE = ComponentbuilderHelper::safeString($view->code, 'U'); + // load context if not set + if (!isset($view->context) || !ComponentbuilderHelper::checkString($view->context)) + { + $view->context = $view->code; + } + else + { + // always make sure context is a safe string + $view->context = ComponentbuilderHelper::safeString($view->context); + } // load the library if (!isset($this->libManager[$this->target])) { @@ -2168,10 +2178,10 @@ class Get } } // set the main get data - $main_get = $this->setGetData(array($view->main_get), $view->code); + $main_get = $this->setGetData(array($view->main_get), $view->code, $view->context); $view->main_get = $main_get[0]; // set the custom_get data - $view->custom_get = $this->setGetData(json_decode($view->custom_get, true), $view->code); + $view->custom_get = $this->setGetData(json_decode($view->custom_get, true), $view->code, $view->context); // set array adding array of scripts $addArray = array('php_view', 'php_jview', 'php_jview_display', 'php_document', 'javascript_file', 'js_document', 'css_document', 'css'); foreach ($addArray as $scripter) @@ -2750,13 +2760,14 @@ class Get /** * Set get Data * - * @param array $ids The ids of the dynamic get + * @param array $ids The ids of the dynamic get * @param string $view_code The view code name + * @param string $context The context for events * * @return oject the get dynamicGet data * */ - public function setGetData($ids, $view_code) + public function setGetData($ids, $view_code, $context) { if (ComponentbuilderHelper::checkArray($ids)) { @@ -2828,6 +2839,7 @@ class Get $result->main_get[0]['selection'] = $this->setDataSelection($result->key, $view_code, $result->view_selection, $result->view_table_main, 'a', '', 'view'); $result->main_get[0]['as'] = 'a'; $result->main_get[0]['key'] = $result->key; + $result->main_get[0]['context'] = $context; unset($result->view_selection); break; case 2: @@ -2835,6 +2847,7 @@ class Get $result->main_get[0]['selection'] = $this->setDataSelection($result->key, $view_code, $result->db_selection, $result->db_table_main, 'a', '', 'db'); $result->main_get[0]['as'] = 'a'; $result->main_get[0]['key'] = $result->key; + $result->main_get[0]['context'] = $context; unset($result->db_selection); break; case 3: @@ -2864,6 +2877,7 @@ class Get $join_field = array_map('trim', explode('.', $option['join_field'])); $option['selection'] = $this->setDataSelection($result->key, $view_code, $option['selection'], $option['view_table'], $option['as'], $option['row_type'], 'view'); $option['key'] = $result->key; + $option['context'] = $context; // load to the getters if ($option['row_type'] == 1) { @@ -2910,6 +2924,7 @@ class Get $join_field = array_map('trim', explode('.', $option1['join_field'])); $option1['selection'] = $this->setDataSelection($result->key, $view_code, $option1['selection'], $option1['db_table'], $option1['as'], $option1['row_type'], 'db'); $option1['key'] = $result->key; + $option1['context'] = $context; // load to the getters if ($option1['row_type'] == 1) { diff --git a/admin/helpers/compiler/e_Interpretation.php b/admin/helpers/compiler/e_Interpretation.php index d66904b4c..291cbb0c0 100644 --- a/admin/helpers/compiler/e_Interpretation.php +++ b/admin/helpers/compiler/e_Interpretation.php @@ -1809,7 +1809,13 @@ class Interpretation extends Fields { $fieldPrepare = ''; $runplugins = false; - $context = 'com_' . $this->fileContentStatic[$this->hhh . 'component' . $this->hhh] . '.' . $code; + // set component + $Component = $this->fileContentStatic[$this->hhh . 'Component' . $this->hhh]; + // set context + $context = (isset($get['context'])) ? $get['context'] : $code; + $context = 'com_' . $this->fileContentStatic[$this->hhh . 'component' . $this->hhh] . '.' . $context; + // load parms builder only once + $params = false; foreach ($checker as $field => $array) { // build load counter @@ -1826,11 +1832,17 @@ class Interpretation extends Fields $runplugins .= PHP_EOL . $tab . $this->_t(1) . "JPluginHelper::importPlugin('content');"; $runplugins .= PHP_EOL . $tab . $this->_t(1) . '$this->_dispatcher = JEventDispatcher::getInstance();'; } + if (!$params) + { + $fieldPrepare .= PHP_EOL . $this->_t(1) . $tab . $this->_t(1) . "//" . $this->setLine(__LINE__) . " Check if item has params, or pass whole item."; + $fieldPrepare .= PHP_EOL . $this->_t(1) . $tab . $this->_t(1) . "\$params = (isset(" . $string . "->params) && " . $Component . "Helper::checkJson(" . $string . "->params)) ? json_decode(" . $string . "->params) : " . $string . ";"; + $params = true; + } $fieldPrepare .= PHP_EOL . $this->_t(1) . $tab . $this->_t(1) . "//" . $this->setLine(__LINE__) . " Make sure the content prepare plugins fire on " . $field; $fieldPrepare .= PHP_EOL . $this->_t(1) . $tab . $this->_t(1) . "\$_" . $field . " = new stdClass();"; $fieldPrepare .= PHP_EOL . $this->_t(1) . $tab . $this->_t(1) . "\$_" . $field . '->text =& ' . $string . '->' . $field . '; //' . $this->setLine(__LINE__) . ' value must be in text'; $fieldPrepare .= PHP_EOL . $this->_t(1) . $tab . $this->_t(1) . "//" . $this->setLine(__LINE__) . " Since all values are now in text (Joomla Limitation), we also add the field name (" . $field . ") to context"; - $fieldPrepare .= PHP_EOL . $this->_t(1) . $tab . $this->_t(1) . '$this->_dispatcher->trigger("onContentPrepare", array(\'' . $context . '.' . $field . '\', &$_' . $field . ', &$this->params, 0));'; // we can improve the params later (TODO) + $fieldPrepare .= PHP_EOL . $this->_t(1) . $tab . $this->_t(1) . '$this->_dispatcher->trigger("onContentPrepare", array(\'' . $context . '.' . $field . '\', &$_' . $field . ', &$params, 0));'; } } // load dispatcher @@ -3206,6 +3218,8 @@ class Interpretation extends Fields $method .= PHP_EOL . $this->_t(2) . "JPluginHelper::importPlugin('content');"; $method .= PHP_EOL . $this->_t(2) . "//" . $this->setLine(__LINE__) . " Setup Event Object."; $method .= PHP_EOL . $this->_t(2) . "\$this->item->event = new stdClass;"; + $method .= PHP_EOL . $this->_t(2) . "//" . $this->setLine(__LINE__) . " Check if item has params, or pass global params"; + $method .= PHP_EOL . $this->_t(2) . "\$params = (isset(\$this->item->params) && " . $this->fileContentStatic[$this->hhh . 'Component' . $this->hhh] . "Helper::checkJson(\$this->item->params)) ? json_decode(\$this->item->params) : \$this->params;"; // load the defaults foreach ($view['settings']->main_get->plugin_events as $plugin_event) { @@ -3219,7 +3233,7 @@ class Interpretation extends Fields else { $method .= PHP_EOL . $this->_t(2) . "//" . $this->setLine(__LINE__) . " " . $plugin_event . " Event Trigger."; - $method .= PHP_EOL . $this->_t(2) . "\$results = \$dispatcher->trigger('" . $plugin_event . "', array('com_" . $this->fileContentStatic[$this->hhh . 'component' . $this->hhh] . ".article', &\$this->item, &\$this->params, 0));"; + $method .= PHP_EOL . $this->_t(2) . "\$results = \$dispatcher->trigger('" . $plugin_event . "', array('com_" . $this->fileContentStatic[$this->hhh . 'component' . $this->hhh] . "." . $view['settings']->context . "', &\$this->item, &\$params, 0));"; $method .= PHP_EOL . $this->_t(2) . '$this->item->event->' . $plugin_event . ' = trim(implode("\n", $results));'; } } @@ -7519,13 +7533,10 @@ class Interpretation extends Fields // set counter $tabCounter++; } - // add joomla field sets if needed - if (isset($view['joomla_fields']) && $view['joomla_fields'] == 1) - { - $body .= PHP_EOL . PHP_EOL . $this->_t(1) . "ignore_fieldsets = array('details','metadata','vdmmetadata','accesscontrol'); ?>"; - $body .= PHP_EOL . $this->_t(1) . "tab_name = '" . $viewName_single . "Tab'; ?>"; - $body .= PHP_EOL . $this->_t(1) . ""; - } + // add option to load forms loded in via plugins + $body .= PHP_EOL . PHP_EOL . $this->_t(1) . "ignore_fieldsets = array('details','metadata','vdmmetadata','accesscontrol'); ?>"; + $body .= PHP_EOL . $this->_t(1) . "tab_name = '" . $viewName_single . "Tab'; ?>"; + $body .= PHP_EOL . $this->_t(1) . ""; // set default publishing tab lang $tabLangName = $langView . '_PUBLISHING'; // add to lang array @@ -7869,7 +7880,7 @@ class Interpretation extends Fields // LAYOUTITEMSTABLE <<>> $this->fileContentDynamic[$viewName_single . '_' . $layoutCodeName][$this->hhh . 'LAYOUTITEMSTABLE' . $this->hhh] = $head . $body; // LAYOUTITEMSHEADER <<>> - $headerscript .= '//' . $this->setLine(__LINE__) . ' set the edit URL'; + $headerscript = '//' . $this->setLine(__LINE__) . ' set the edit URL'; $headerscript .= PHP_EOL . '$edit = "index.php?option=com_' . $this->fileContentStatic[$this->hhh . 'component' . $this->hhh] . '&view=' . $list . '&task=' . $single . '.edit";'; $headerscript .= PHP_EOL . '//' . $this->setLine(__LINE__) . ' set a return value'; $headerscript .= PHP_EOL . '$return = ($id) ? "index.php?option=com_' . $this->fileContentStatic[$this->hhh . 'component' . $this->hhh] . '&view=' . $viewName_single . '&layout=edit&id=" . $id : "";'; diff --git a/admin/language/en-GB/en-GB.com_componentbuilder.ini b/admin/language/en-GB/en-GB.com_componentbuilder.ini index fd7053abd..7c00cacf1 100644 --- a/admin/language/en-GB/en-GB.com_componentbuilder.ini +++ b/admin/language/en-GB/en-GB.com_componentbuilder.ini @@ -914,7 +914,7 @@ COM_COMPONENTBUILDER_ADMIN_VIEW_SYSTEM_NAME_MESSAGE="Error! Please add some text COM_COMPONENTBUILDER_ADMIN_VIEW_TABLE="Table" COM_COMPONENTBUILDER_ADMIN_VIEW_TABLET="Tablet" COM_COMPONENTBUILDER_ADMIN_VIEW_TABLE_LABEL="Select a Table" -COM_COMPONENTBUILDER_ADMIN_VIEW_TAB_DESCRIPTION="Select the tab this field belongs to." +COM_COMPONENTBUILDER_ADMIN_VIEW_TAB_DESCRIPTION="Select the tab this view belongs to." COM_COMPONENTBUILDER_ADMIN_VIEW_TAB_LABEL="Tab" COM_COMPONENTBUILDER_ADMIN_VIEW_TAG="Tag" COM_COMPONENTBUILDER_ADMIN_VIEW_TAGS="Tags" @@ -2810,6 +2810,11 @@ COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_COGS="Cogs" COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_COMMENT="Comment" COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_COMMENTS_TWO="Comments 2" COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_COMPASS="Compass" +COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_CONTEXT="Context" +COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_CONTEXT_DESCRIPTION="Do not add the component name, just the context/view code name that should be used during event triggers, if this view has events. Leaving this blank will default to the Name in Code." +COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_CONTEXT_HINT="article" +COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_CONTEXT_LABEL="Context" +COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_CONTEXT_MESSAGE="Error! Please add context code name here." COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_CONTRACT="Contract" COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_CONTRACT_TWO="Contract 2" COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_CREATED_BY_DESC="The user that created this Custom Admin View." diff --git a/admin/layouts/custom_admin_view/details_above.php b/admin/layouts/custom_admin_view/details_above.php index 674a8e6b1..88bd987fd 100644 --- a/admin/layouts/custom_admin_view/details_above.php +++ b/admin/layouts/custom_admin_view/details_above.php @@ -15,7 +15,8 @@ defined('_JEXEC') or die('Restricted access'); $form = $displayData->getForm(); $fields = array( - 'system_name' + 'system_name', + 'context' ); ?> diff --git a/admin/models/compiler.php b/admin/models/compiler.php index 4561b2de4..7255b7a78 100644 --- a/admin/models/compiler.php +++ b/admin/models/compiler.php @@ -103,11 +103,13 @@ class ComponentbuilderModelCompiler extends JModelList { // Always create a slug for sef URL's $item->slug = (isset($item->alias) && isset($item->id)) ? $item->id.':'.$item->alias : $item->id; + // Check if item has params, or pass whole item. + $params = (isset($item->params) && ComponentbuilderHelper::checkJson($item->params)) ? json_decode($item->params) : $item; // Make sure the content prepare plugins fire on copyright $_copyright = new stdClass(); $_copyright->text =& $item->copyright; // value must be in text // Since all values are now in text (Joomla Limitation), we also add the field name (copyright) to context - $this->_dispatcher->trigger("onContentPrepare", array('com_componentbuilder.compiler.copyright', &$_copyright, &$this->params, 0)); + $this->_dispatcher->trigger("onContentPrepare", array('com_componentbuilder.compiler.copyright', &$_copyright, &$params, 0)); // Checking if copyright has uikit components that must be loaded. $this->uikitComp = ComponentbuilderHelper::getUikitComp($item->copyright,$this->uikitComp); } diff --git a/admin/models/custom_admin_view.php b/admin/models/custom_admin_view.php index 207713899..cbc5db644 100644 --- a/admin/models/custom_admin_view.php +++ b/admin/models/custom_admin_view.php @@ -86,18 +86,18 @@ class ComponentbuilderModelCustom_admin_view extends JModelAdmin $item->metadata = $registry->toArray(); } - if (!empty($item->php_view)) - { - // base64 Decode php_view. - $item->php_view = base64_decode($item->php_view); - } - if (!empty($item->php_jview_display)) { // base64 Decode php_jview_display. $item->php_jview_display = base64_decode($item->php_jview_display); } + if (!empty($item->php_view)) + { + // base64 Decode php_view. + $item->php_view = base64_decode($item->php_view); + } + if (!empty($item->default)) { // base64 Decode default. @@ -974,7 +974,32 @@ class ComponentbuilderModelCustom_admin_view extends JModelAdmin } // always reset the snippets - $data['snippet'] = 0; + $data['snippet'] = 0; + // if system name is empty create from name + if (empty($data['system_name']) || !ComponentbuilderHelper::checkString($data['system_name'])) + { + $data['system_name'] = $data['name']; + } + // if codename is empty create from name + if (empty($data['codename']) || !ComponentbuilderHelper::checkString($data['codename'])) + { + $data['codename'] = ComponentbuilderHelper::safeString($data['name']); + } + else + { + // always make safe string + $data['codename'] = ComponentbuilderHelper::safeString($data['codename']); + } + // if context is empty create from codename + if (empty($data['context']) || !ComponentbuilderHelper::checkString($data['context'])) + { + $data['context'] = $data['codename']; + } + else + { + // always make safe string + $data['context'] = ComponentbuilderHelper::safeString($data['context']); + } // Set the custom_get items to data. if (isset($data['custom_get']) && is_array($data['custom_get'])) @@ -1028,18 +1053,18 @@ class ComponentbuilderModelCustom_admin_view extends JModelAdmin $data['custom_button'] = ''; } - // Set the php_view string to base64 string. - if (isset($data['php_view'])) - { - $data['php_view'] = base64_encode($data['php_view']); - } - // Set the php_jview_display string to base64 string. if (isset($data['php_jview_display'])) { $data['php_jview_display'] = base64_encode($data['php_jview_display']); } + // Set the php_view string to base64 string. + if (isset($data['php_view'])) + { + $data['php_view'] = base64_encode($data['php_view']); + } + // Set the default string to base64 string. if (isset($data['default'])) { diff --git a/admin/models/custom_admin_views.php b/admin/models/custom_admin_views.php index 1e37bf571..90fc465a4 100644 --- a/admin/models/custom_admin_views.php +++ b/admin/models/custom_admin_views.php @@ -233,7 +233,7 @@ class ComponentbuilderModelCustom_admin_views extends JModelList else { $search = $db->quote('%' . $db->escape($search) . '%'); - $query->where('(a.system_name LIKE '.$search.' OR a.name LIKE '.$search.' OR a.description LIKE '.$search.' OR a.main_get LIKE '.$search.' OR g.name LIKE '.$search.' OR a.codename LIKE '.$search.')'); + $query->where('(a.system_name LIKE '.$search.' OR a.name LIKE '.$search.' OR a.description LIKE '.$search.' OR a.main_get LIKE '.$search.' OR g.name LIKE '.$search.' OR a.context LIKE '.$search.' OR a.codename LIKE '.$search.')'); } } @@ -317,10 +317,10 @@ class ComponentbuilderModelCustom_admin_views extends JModelList continue; } - // decode php_view - $item->php_view = base64_decode($item->php_view); // decode php_jview_display $item->php_jview_display = base64_decode($item->php_jview_display); + // decode php_view + $item->php_view = base64_decode($item->php_view); // decode default $item->default = base64_decode($item->default); // decode php_jview diff --git a/admin/models/forms/custom_admin_view.xml b/admin/models/forms/custom_admin_view.xml index 2647dc11e..9cfe1773a 100644 --- a/admin/models/forms/custom_admin_view.xml +++ b/admin/models/forms/custom_admin_view.xml @@ -140,23 +140,6 @@ required="true" button="true" /> - - + + + + + + + + + + COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_NO - - + + + + + + COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_NO - - - - - - - + - - - - + type="text" + name="context" + label="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_CONTEXT_LABEL" + size="40" + maxlength="50" + description="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_CONTEXT_DESCRIPTION" + class="text_area" + filter="WORD" + message="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_CONTEXT_MESSAGE" + hint="COM_COMPONENTBUILDER_CUSTOM_ADMIN_VIEW_CONTEXT_HINT" + /> diff --git a/admin/models/site_view.php b/admin/models/site_view.php index c267f2460..22cb71904 100644 --- a/admin/models/site_view.php +++ b/admin/models/site_view.php @@ -1003,10 +1003,20 @@ class ComponentbuilderModelSite_view extends JModelAdmin { $data['codename'] = ComponentbuilderHelper::safeString($data['name']); } + else + { + // always make safe string + $data['codename'] = ComponentbuilderHelper::safeString($data['codename']); + } // if context is empty create from codename if (empty($data['context']) || !ComponentbuilderHelper::checkString($data['context'])) { $data['context'] = $data['codename']; + } + else + { + // always make safe string + $data['context'] = ComponentbuilderHelper::safeString($data['context']); } // Set the custom_get items to data. diff --git a/admin/sql/install.mysql.utf8.sql b/admin/sql/install.mysql.utf8.sql index e785d28d5..10e190891 100644 --- a/admin/sql/install.mysql.utf8.sql +++ b/admin/sql/install.mysql.utf8.sql @@ -283,6 +283,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_custom_admin_view` ( `add_php_view` TINYINT(1) NOT NULL DEFAULT 0, `ajax_input` TEXT NOT NULL, `codename` VARCHAR(255) NOT NULL DEFAULT '', + `context` VARCHAR(255) NOT NULL DEFAULT '', `css` TEXT NOT NULL, `css_document` TEXT NOT NULL, `custom_button` TEXT NOT NULL, @@ -326,10 +327,11 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_custom_admin_view` ( KEY `idx_state` (`published`), KEY `idx_name` (`name`), KEY `idx_main_get` (`main_get`), - KEY `idx_add_css` (`add_css`), - KEY `idx_add_javascript_file` (`add_javascript_file`), KEY `idx_add_css_document` (`add_css_document`), + KEY `idx_add_css` (`add_css`), KEY `idx_add_js_document` (`add_js_document`), + KEY `idx_add_javascript_file` (`add_javascript_file`), + KEY `idx_context` (`context`), KEY `idx_codename` (`codename`), KEY `idx_add_php_ajax` (`add_php_ajax`), KEY `idx_dynamic_get` (`dynamic_get`), diff --git a/admin/sql/updates/mysql/2.8.8.sql b/admin/sql/updates/mysql/2.8.8.sql new file mode 100644 index 000000000..8727385a0 --- /dev/null +++ b/admin/sql/updates/mysql/2.8.8.sql @@ -0,0 +1 @@ +ALTER TABLE `#__componentbuilder_custom_admin_view` ADD `context` VARCHAR(255) NOT NULL DEFAULT '' AFTER `codename`; diff --git a/admin/views/admin_fields/tmpl/edit.php b/admin/views/admin_fields/tmpl/edit.php index c11ec3246..67ff8e67e 100644 --- a/admin/views/admin_fields/tmpl/edit.php +++ b/admin/views/admin_fields/tmpl/edit.php @@ -59,6 +59,10 @@ $componentParams = JComponentHelper::getParams('com_componentbuilder'); + ignore_fieldsets = array('details','metadata','vdmmetadata','accesscontrol'); ?> + tab_name = 'admin_fieldsTab'; ?> + + canDo->get('admin_fields.delete') || $this->canDo->get('admin_fields.edit.created_by') || $this->canDo->get('admin_fields.edit.state') || $this->canDo->get('admin_fields.edit.created')) : ?>
diff --git a/admin/views/admin_fields_conditions/tmpl/edit.php b/admin/views/admin_fields_conditions/tmpl/edit.php index d46890107..554e0d036 100644 --- a/admin/views/admin_fields_conditions/tmpl/edit.php +++ b/admin/views/admin_fields_conditions/tmpl/edit.php @@ -59,6 +59,10 @@ $componentParams = JComponentHelper::getParams('com_componentbuilder');
+ ignore_fieldsets = array('details','metadata','vdmmetadata','accesscontrol'); ?> + tab_name = 'admin_fields_conditionsTab'; ?> + + canDo->get('admin_fields_conditions.delete') || $this->canDo->get('admin_fields_conditions.edit.created_by') || $this->canDo->get('admin_fields_conditions.edit.state') || $this->canDo->get('admin_fields_conditions.edit.created')) : ?>
diff --git a/admin/views/admin_fields_relations/tmpl/edit.php b/admin/views/admin_fields_relations/tmpl/edit.php index 46ca6cc9c..1b4d890dd 100644 --- a/admin/views/admin_fields_relations/tmpl/edit.php +++ b/admin/views/admin_fields_relations/tmpl/edit.php @@ -59,6 +59,10 @@ $componentParams = JComponentHelper::getParams('com_componentbuilder');
+ ignore_fieldsets = array('details','metadata','vdmmetadata','accesscontrol'); ?> + tab_name = 'admin_fields_relationsTab'; ?> + + canDo->get('admin_fields_relations.delete') || $this->canDo->get('admin_fields_relations.edit.created_by') || $this->canDo->get('admin_fields_relations.edit.state') || $this->canDo->get('admin_fields_relations.edit.created')) : ?>
diff --git a/admin/views/admin_view/tmpl/edit.php b/admin/views/admin_view/tmpl/edit.php index 0ffe6bf08..b5069d8c1 100644 --- a/admin/views/admin_view/tmpl/edit.php +++ b/admin/views/admin_view/tmpl/edit.php @@ -157,6 +157,10 @@ $componentParams = JComponentHelper::getParams('com_componentbuilder');
+ ignore_fieldsets = array('details','metadata','vdmmetadata','accesscontrol'); ?> + tab_name = 'admin_viewTab'; ?> + + canDo->get('admin_view.delete') || $this->canDo->get('admin_view.edit.created_by') || $this->canDo->get('admin_view.edit.state') || $this->canDo->get('admin_view.edit.created')) : ?>
diff --git a/admin/views/component_admin_views/tmpl/edit.php b/admin/views/component_admin_views/tmpl/edit.php index 330ccac50..38c7e3730 100644 --- a/admin/views/component_admin_views/tmpl/edit.php +++ b/admin/views/component_admin_views/tmpl/edit.php @@ -59,6 +59,10 @@ $componentParams = JComponentHelper::getParams('com_componentbuilder');
+ ignore_fieldsets = array('details','metadata','vdmmetadata','accesscontrol'); ?> + tab_name = 'component_admin_viewsTab'; ?> + + canDo->get('component_admin_views.delete') || $this->canDo->get('component_admin_views.edit.created_by') || $this->canDo->get('component_admin_views.edit.state') || $this->canDo->get('component_admin_views.edit.created')) : ?>
diff --git a/admin/views/component_config/tmpl/edit.php b/admin/views/component_config/tmpl/edit.php index d71a0458e..d5fcc6454 100644 --- a/admin/views/component_config/tmpl/edit.php +++ b/admin/views/component_config/tmpl/edit.php @@ -59,6 +59,10 @@ $componentParams = JComponentHelper::getParams('com_componentbuilder');
+ ignore_fieldsets = array('details','metadata','vdmmetadata','accesscontrol'); ?> + tab_name = 'component_configTab'; ?> + + canDo->get('component_config.delete') || $this->canDo->get('component_config.edit.created_by') || $this->canDo->get('component_config.edit.state') || $this->canDo->get('component_config.edit.created')) : ?>
diff --git a/admin/views/component_custom_admin_menus/tmpl/edit.php b/admin/views/component_custom_admin_menus/tmpl/edit.php index 4eea45ba9..f071cf77e 100644 --- a/admin/views/component_custom_admin_menus/tmpl/edit.php +++ b/admin/views/component_custom_admin_menus/tmpl/edit.php @@ -59,6 +59,10 @@ $componentParams = JComponentHelper::getParams('com_componentbuilder');
+ ignore_fieldsets = array('details','metadata','vdmmetadata','accesscontrol'); ?> + tab_name = 'component_custom_admin_menusTab'; ?> + + canDo->get('component_custom_admin_menus.delete') || $this->canDo->get('component_custom_admin_menus.edit.created_by') || $this->canDo->get('component_custom_admin_menus.edit.state') || $this->canDo->get('component_custom_admin_menus.edit.created')) : ?>
diff --git a/admin/views/component_custom_admin_views/tmpl/edit.php b/admin/views/component_custom_admin_views/tmpl/edit.php index 0943ae70b..916427f0c 100644 --- a/admin/views/component_custom_admin_views/tmpl/edit.php +++ b/admin/views/component_custom_admin_views/tmpl/edit.php @@ -59,6 +59,10 @@ $componentParams = JComponentHelper::getParams('com_componentbuilder');
+ ignore_fieldsets = array('details','metadata','vdmmetadata','accesscontrol'); ?> + tab_name = 'component_custom_admin_viewsTab'; ?> + + canDo->get('component_custom_admin_views.delete') || $this->canDo->get('component_custom_admin_views.edit.created_by') || $this->canDo->get('component_custom_admin_views.edit.state') || $this->canDo->get('component_custom_admin_views.edit.created')) : ?>
diff --git a/admin/views/component_dashboard/tmpl/edit.php b/admin/views/component_dashboard/tmpl/edit.php index 99e3c6f36..22681169a 100644 --- a/admin/views/component_dashboard/tmpl/edit.php +++ b/admin/views/component_dashboard/tmpl/edit.php @@ -59,6 +59,10 @@ $componentParams = JComponentHelper::getParams('com_componentbuilder');
+ ignore_fieldsets = array('details','metadata','vdmmetadata','accesscontrol'); ?> + tab_name = 'component_dashboardTab'; ?> + + canDo->get('component_dashboard.delete') || $this->canDo->get('component_dashboard.edit.created_by') || $this->canDo->get('component_dashboard.edit.state') || $this->canDo->get('component_dashboard.edit.created')) : ?>
diff --git a/admin/views/component_files_folders/tmpl/edit.php b/admin/views/component_files_folders/tmpl/edit.php index b66893813..a7464046c 100644 --- a/admin/views/component_files_folders/tmpl/edit.php +++ b/admin/views/component_files_folders/tmpl/edit.php @@ -69,6 +69,10 @@ $componentParams = JComponentHelper::getParams('com_componentbuilder');
+ ignore_fieldsets = array('details','metadata','vdmmetadata','accesscontrol'); ?> + tab_name = 'component_files_foldersTab'; ?> + + canDo->get('component_files_folders.delete') || $this->canDo->get('component_files_folders.edit.created_by') || $this->canDo->get('component_files_folders.edit.state') || $this->canDo->get('component_files_folders.edit.created')) : ?>
diff --git a/admin/views/component_mysql_tweaks/tmpl/edit.php b/admin/views/component_mysql_tweaks/tmpl/edit.php index 86fc86ef4..4c5fdb53d 100644 --- a/admin/views/component_mysql_tweaks/tmpl/edit.php +++ b/admin/views/component_mysql_tweaks/tmpl/edit.php @@ -59,6 +59,10 @@ $componentParams = JComponentHelper::getParams('com_componentbuilder');
+ ignore_fieldsets = array('details','metadata','vdmmetadata','accesscontrol'); ?> + tab_name = 'component_mysql_tweaksTab'; ?> + + canDo->get('component_mysql_tweaks.delete') || $this->canDo->get('component_mysql_tweaks.edit.created_by') || $this->canDo->get('component_mysql_tweaks.edit.state') || $this->canDo->get('component_mysql_tweaks.edit.created')) : ?>
diff --git a/admin/views/component_site_views/tmpl/edit.php b/admin/views/component_site_views/tmpl/edit.php index 9e1826955..342dc5e98 100644 --- a/admin/views/component_site_views/tmpl/edit.php +++ b/admin/views/component_site_views/tmpl/edit.php @@ -59,6 +59,10 @@ $componentParams = JComponentHelper::getParams('com_componentbuilder');
+ ignore_fieldsets = array('details','metadata','vdmmetadata','accesscontrol'); ?> + tab_name = 'component_site_viewsTab'; ?> + + canDo->get('component_site_views.delete') || $this->canDo->get('component_site_views.edit.created_by') || $this->canDo->get('component_site_views.edit.state') || $this->canDo->get('component_site_views.edit.created')) : ?>
diff --git a/admin/views/component_updates/tmpl/edit.php b/admin/views/component_updates/tmpl/edit.php index bbd06afdc..0bf6e38a9 100644 --- a/admin/views/component_updates/tmpl/edit.php +++ b/admin/views/component_updates/tmpl/edit.php @@ -59,6 +59,10 @@ $componentParams = JComponentHelper::getParams('com_componentbuilder');
+ ignore_fieldsets = array('details','metadata','vdmmetadata','accesscontrol'); ?> + tab_name = 'component_updatesTab'; ?> + + canDo->get('component_updates.delete') || $this->canDo->get('component_updates.edit.created_by') || $this->canDo->get('component_updates.edit.state') || $this->canDo->get('component_updates.edit.created')) : ?>
diff --git a/admin/views/custom_admin_view/tmpl/edit.php b/admin/views/custom_admin_view/tmpl/edit.php index 1096eb64a..438e35936 100644 --- a/admin/views/custom_admin_view/tmpl/edit.php +++ b/admin/views/custom_admin_view/tmpl/edit.php @@ -109,6 +109,10 @@ $componentParams = JComponentHelper::getParams('com_componentbuilder');
+ ignore_fieldsets = array('details','metadata','vdmmetadata','accesscontrol'); ?> + tab_name = 'custom_admin_viewTab'; ?> + + canDo->get('core.delete') || $this->canDo->get('core.edit.created_by') || $this->canDo->get('core.edit.state') || $this->canDo->get('core.edit.created')) : ?>
diff --git a/admin/views/custom_admin_views/tmpl/default_body.php b/admin/views/custom_admin_views/tmpl/default_body.php index 3238cb752..2fdf1de94 100644 --- a/admin/views/custom_admin_views/tmpl/default_body.php +++ b/admin/views/custom_admin_views/tmpl/default_body.php @@ -76,7 +76,11 @@ $edit = "index.php?option=com_componentbuilder&view=custom_admin_views&task=cust
: escape($item->name); ?>
: - escape($item->codename); ?> + escape($item->codename); ?>
+ context)): ?> + : + escape($item->context); ?> +
diff --git a/admin/views/custom_code/tmpl/edit.php b/admin/views/custom_code/tmpl/edit.php index 919419944..96124512b 100644 --- a/admin/views/custom_code/tmpl/edit.php +++ b/admin/views/custom_code/tmpl/edit.php @@ -65,6 +65,10 @@ $componentParams = JComponentHelper::getParams('com_componentbuilder');
+ ignore_fieldsets = array('details','metadata','vdmmetadata','accesscontrol'); ?> + tab_name = 'custom_codeTab'; ?> + + canDo->get('custom_code.delete') || $this->canDo->get('custom_code.edit.created_by') || $this->canDo->get('custom_code.edit.state') || $this->canDo->get('custom_code.edit.created')) : ?>
diff --git a/admin/views/dynamic_get/tmpl/edit.php b/admin/views/dynamic_get/tmpl/edit.php index 3869a5745..3feadba4f 100644 --- a/admin/views/dynamic_get/tmpl/edit.php +++ b/admin/views/dynamic_get/tmpl/edit.php @@ -108,6 +108,10 @@ $componentParams = JComponentHelper::getParams('com_componentbuilder');
+ ignore_fieldsets = array('details','metadata','vdmmetadata','accesscontrol'); ?> + tab_name = 'dynamic_getTab'; ?> + + canDo->get('dynamic_get.delete') || $this->canDo->get('core.edit.created_by') || $this->canDo->get('dynamic_get.edit.state') || $this->canDo->get('core.edit.created')) : ?>
diff --git a/admin/views/field/tmpl/edit.php b/admin/views/field/tmpl/edit.php index f4f4f29f8..e41a0c641 100644 --- a/admin/views/field/tmpl/edit.php +++ b/admin/views/field/tmpl/edit.php @@ -96,6 +96,10 @@ $componentParams = JComponentHelper::getParams('com_componentbuilder');
+ ignore_fieldsets = array('details','metadata','vdmmetadata','accesscontrol'); ?> + tab_name = 'fieldTab'; ?> + + canDo->get('field.delete') || $this->canDo->get('core.edit.created_by') || $this->canDo->get('field.edit.state') || $this->canDo->get('core.edit.created')) : ?>
diff --git a/admin/views/fieldtype/tmpl/edit.php b/admin/views/fieldtype/tmpl/edit.php index 42cd45270..d411a5473 100644 --- a/admin/views/fieldtype/tmpl/edit.php +++ b/admin/views/fieldtype/tmpl/edit.php @@ -76,6 +76,10 @@ $componentParams = JComponentHelper::getParams('com_componentbuilder'); + ignore_fieldsets = array('details','metadata','vdmmetadata','accesscontrol'); ?> + tab_name = 'fieldtypeTab'; ?> + + canDo->get('fieldtype.delete') || $this->canDo->get('core.edit.created_by') || $this->canDo->get('fieldtype.edit.state') || $this->canDo->get('core.edit.created')) : ?>
diff --git a/admin/views/help_document/tmpl/edit.php b/admin/views/help_document/tmpl/edit.php index 6c9c248a9..9157aa350 100644 --- a/admin/views/help_document/tmpl/edit.php +++ b/admin/views/help_document/tmpl/edit.php @@ -65,6 +65,10 @@ $componentParams = JComponentHelper::getParams('com_componentbuilder');
+ ignore_fieldsets = array('details','metadata','vdmmetadata','accesscontrol'); ?> + tab_name = 'help_documentTab'; ?> + + canDo->get('help_document.delete') || $this->canDo->get('core.edit.created_by') || $this->canDo->get('help_document.edit.state') || $this->canDo->get('core.edit.created')) : ?>
diff --git a/admin/views/joomla_component/tmpl/edit.php b/admin/views/joomla_component/tmpl/edit.php index 2b3cdf055..c2d07cfec 100644 --- a/admin/views/joomla_component/tmpl/edit.php +++ b/admin/views/joomla_component/tmpl/edit.php @@ -173,6 +173,10 @@ $componentParams = JComponentHelper::getParams('com_componentbuilder');
+ ignore_fieldsets = array('details','metadata','vdmmetadata','accesscontrol'); ?> + tab_name = 'joomla_componentTab'; ?> + + canDo->get('joomla_component.delete') || $this->canDo->get('joomla_component.edit.created_by') || $this->canDo->get('joomla_component.edit.state') || $this->canDo->get('joomla_component.edit.created')) : ?>
diff --git a/admin/views/language/tmpl/edit.php b/admin/views/language/tmpl/edit.php index c8443ee08..56f3548f4 100644 --- a/admin/views/language/tmpl/edit.php +++ b/admin/views/language/tmpl/edit.php @@ -59,6 +59,10 @@ $componentParams = JComponentHelper::getParams('com_componentbuilder');
+ ignore_fieldsets = array('details','metadata','vdmmetadata','accesscontrol'); ?> + tab_name = 'languageTab'; ?> + + canDo->get('language.delete') || $this->canDo->get('core.edit.created_by') || $this->canDo->get('language.edit.state') || $this->canDo->get('core.edit.created')) : ?>
diff --git a/admin/views/language_translation/tmpl/edit.php b/admin/views/language_translation/tmpl/edit.php index 90da99e47..337fa4140 100644 --- a/admin/views/language_translation/tmpl/edit.php +++ b/admin/views/language_translation/tmpl/edit.php @@ -58,6 +58,10 @@ $componentParams = JComponentHelper::getParams('com_componentbuilder');
+ ignore_fieldsets = array('details','metadata','vdmmetadata','accesscontrol'); ?> + tab_name = 'language_translationTab'; ?> + + canDo->get('language_translation.delete') || $this->canDo->get('core.edit.created_by') || $this->canDo->get('language_translation.edit.state') || $this->canDo->get('core.edit.created')) : ?>
diff --git a/admin/views/layout/tmpl/edit.php b/admin/views/layout/tmpl/edit.php index 35ffd456c..9d5a79880 100644 --- a/admin/views/layout/tmpl/edit.php +++ b/admin/views/layout/tmpl/edit.php @@ -75,6 +75,10 @@ $componentParams = JComponentHelper::getParams('com_componentbuilder');
+ ignore_fieldsets = array('details','metadata','vdmmetadata','accesscontrol'); ?> + tab_name = 'layoutTab'; ?> + + canDo->get('core.delete') || $this->canDo->get('core.edit.created_by') || $this->canDo->get('core.edit.state') || $this->canDo->get('core.edit.created')) : ?>
diff --git a/admin/views/library/tmpl/edit.php b/admin/views/library/tmpl/edit.php index 4b1b35500..713866a2c 100644 --- a/admin/views/library/tmpl/edit.php +++ b/admin/views/library/tmpl/edit.php @@ -95,6 +95,10 @@ $componentParams = JComponentHelper::getParams('com_componentbuilder');
+ ignore_fieldsets = array('details','metadata','vdmmetadata','accesscontrol'); ?> + tab_name = 'libraryTab'; ?> + + canDo->get('library.delete') || $this->canDo->get('core.edit.created_by') || $this->canDo->get('library.edit.state') || $this->canDo->get('core.edit.created')) : ?>
diff --git a/admin/views/library_config/tmpl/edit.php b/admin/views/library_config/tmpl/edit.php index 5cf71162f..a48f8b83d 100644 --- a/admin/views/library_config/tmpl/edit.php +++ b/admin/views/library_config/tmpl/edit.php @@ -59,6 +59,10 @@ $componentParams = JComponentHelper::getParams('com_componentbuilder');
+ ignore_fieldsets = array('details','metadata','vdmmetadata','accesscontrol'); ?> + tab_name = 'library_configTab'; ?> + + canDo->get('library_config.delete') || $this->canDo->get('library_config.edit.created_by') || $this->canDo->get('library_config.edit.state') || $this->canDo->get('library_config.edit.created')) : ?>
diff --git a/admin/views/library_files_folders_urls/tmpl/edit.php b/admin/views/library_files_folders_urls/tmpl/edit.php index 4ec500b34..632dd7326 100644 --- a/admin/views/library_files_folders_urls/tmpl/edit.php +++ b/admin/views/library_files_folders_urls/tmpl/edit.php @@ -69,6 +69,10 @@ $componentParams = JComponentHelper::getParams('com_componentbuilder');
+ ignore_fieldsets = array('details','metadata','vdmmetadata','accesscontrol'); ?> + tab_name = 'library_files_folders_urlsTab'; ?> + + canDo->get('library_files_folders_urls.delete') || $this->canDo->get('library_files_folders_urls.edit.created_by') || $this->canDo->get('library_files_folders_urls.edit.state') || $this->canDo->get('library_files_folders_urls.edit.created')) : ?>
diff --git a/admin/views/server/tmpl/edit.php b/admin/views/server/tmpl/edit.php index e4ceb4b5b..7e6528d79 100644 --- a/admin/views/server/tmpl/edit.php +++ b/admin/views/server/tmpl/edit.php @@ -77,6 +77,10 @@ $componentParams = JComponentHelper::getParams('com_componentbuilder'); + ignore_fieldsets = array('details','metadata','vdmmetadata','accesscontrol'); ?> + tab_name = 'serverTab'; ?> + + canDo->get('server.delete') || $this->canDo->get('server.edit.created_by') || $this->canDo->get('server.edit.state') || $this->canDo->get('server.edit.created')) : ?>
diff --git a/admin/views/site_view/tmpl/edit.php b/admin/views/site_view/tmpl/edit.php index 09e3d3f75..811f43ff3 100644 --- a/admin/views/site_view/tmpl/edit.php +++ b/admin/views/site_view/tmpl/edit.php @@ -112,6 +112,10 @@ $componentParams = JComponentHelper::getParams('com_componentbuilder');
+ ignore_fieldsets = array('details','metadata','vdmmetadata','accesscontrol'); ?> + tab_name = 'site_viewTab'; ?> + + canDo->get('core.delete') || $this->canDo->get('core.edit.created_by') || $this->canDo->get('core.edit.state') || $this->canDo->get('core.edit.created')) : ?>
diff --git a/admin/views/snippet/tmpl/edit.php b/admin/views/snippet/tmpl/edit.php index 521e2ba32..656390531 100644 --- a/admin/views/snippet/tmpl/edit.php +++ b/admin/views/snippet/tmpl/edit.php @@ -54,6 +54,10 @@ $componentParams = JComponentHelper::getParams('com_componentbuilder');
+ ignore_fieldsets = array('details','metadata','vdmmetadata','accesscontrol'); ?> + tab_name = 'snippetTab'; ?> + + canDo->get('core.delete') || $this->canDo->get('core.edit.created_by') || $this->canDo->get('core.edit.state') || $this->canDo->get('core.edit.created')) : ?>
diff --git a/admin/views/snippet_type/tmpl/edit.php b/admin/views/snippet_type/tmpl/edit.php index 0dc1e34cf..dddcea0db 100644 --- a/admin/views/snippet_type/tmpl/edit.php +++ b/admin/views/snippet_type/tmpl/edit.php @@ -59,6 +59,10 @@ $componentParams = JComponentHelper::getParams('com_componentbuilder');
+ ignore_fieldsets = array('details','metadata','vdmmetadata','accesscontrol'); ?> + tab_name = 'snippet_typeTab'; ?> + + canDo->get('snippet_type.delete') || $this->canDo->get('core.edit.created_by') || $this->canDo->get('snippet_type.edit.state') || $this->canDo->get('core.edit.created')) : ?>
diff --git a/admin/views/template/tmpl/edit.php b/admin/views/template/tmpl/edit.php index 0345f55cb..558627194 100644 --- a/admin/views/template/tmpl/edit.php +++ b/admin/views/template/tmpl/edit.php @@ -75,6 +75,10 @@ $componentParams = JComponentHelper::getParams('com_componentbuilder');
+ ignore_fieldsets = array('details','metadata','vdmmetadata','accesscontrol'); ?> + tab_name = 'templateTab'; ?> + + canDo->get('core.delete') || $this->canDo->get('core.edit.created_by') || $this->canDo->get('core.edit.state') || $this->canDo->get('core.edit.created')) : ?>
diff --git a/admin/views/validation_rule/tmpl/edit.php b/admin/views/validation_rule/tmpl/edit.php index 951ef51f7..91462a6fc 100644 --- a/admin/views/validation_rule/tmpl/edit.php +++ b/admin/views/validation_rule/tmpl/edit.php @@ -65,6 +65,10 @@ $componentParams = JComponentHelper::getParams('com_componentbuilder');
+ ignore_fieldsets = array('details','metadata','vdmmetadata','accesscontrol'); ?> + tab_name = 'validation_ruleTab'; ?> + + canDo->get('validation_rule.delete') || $this->canDo->get('core.edit.created_by') || $this->canDo->get('validation_rule.edit.state') || $this->canDo->get('core.edit.created')) : ?>
diff --git a/componentbuilder.xml b/componentbuilder.xml index c12bf4435..1804c7599 100644 --- a/componentbuilder.xml +++ b/componentbuilder.xml @@ -7,9 +7,9 @@ http://www.joomlacomponentbuilder.com Copyright (C) 2015 - 2018 Vast Development Method. All rights reserved. GNU General Public License version 2 or later; see LICENSE.txt - 2.8.8 + 2.8.9 Component Builder (v.2.8.8) +

Component Builder (v.2.8.9)

The Component Builder for [Joomla](https://extensions.joomla.org/extension/component-builder/) is highly advanced tool that is truly able to build extremely complex components in a fraction of the time. diff --git a/componentbuilder_update_server.xml b/componentbuilder_update_server.xml index a31da1a5f..1a2f3882e 100644 --- a/componentbuilder_update_server.xml +++ b/componentbuilder_update_server.xml @@ -492,4 +492,21 @@ http://www.joomlacomponentbuilder.com + + Component Builder + Builds Complex Joomla Components + com_componentbuilder + component + 2.8.9 + http://www.joomlacomponentbuilder.com + + http://domain.com/demo.zip + + + stable + + Llewellyn van der Merwe + http://www.joomlacomponentbuilder.com + + \ No newline at end of file diff --git a/script.php b/script.php index f2b8d65f0..1712e5a1a 100644 --- a/script.php +++ b/script.php @@ -3390,9 +3390,9 @@ class com_componentbuilderInstallerScript $custom_admin_view->type_title = 'Componentbuilder Custom_admin_view'; $custom_admin_view->type_alias = 'com_componentbuilder.custom_admin_view'; $custom_admin_view->table = '{"special": {"dbtable": "#__componentbuilder_custom_admin_view","key": "id","type": "Custom_admin_view","prefix": "componentbuilderTable","config": "array()"},"common": {"dbtable": "#__ucm_content","key": "ucm_id","type": "Corecontent","prefix": "JTable","config": "array()"}}'; - $custom_admin_view->field_mappings = '{"common": {"core_content_item_id": "id","core_title": "name","core_state": "published","core_alias": "null","core_created_time": "created","core_modified_time": "modified","core_body": "php_view","core_hits": "hits","core_publish_up": "null","core_publish_down": "null","core_access": "access","core_params": "params","core_featured": "null","core_metadata": "null","core_language": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "null","core_metadesc": "null","core_catid": "null","core_xreference": "null","asset_id": "asset_id"},"special": {"system_name":"system_name","name":"name","description":"description","main_get":"main_get","php_view":"php_view","php_jview_display":"php_jview_display","add_css":"add_css","add_javascript_file":"add_javascript_file","add_css_document":"add_css_document","add_js_document":"add_js_document","default":"default","snippet":"snippet","icon":"icon","php_jview":"php_jview","not_required":"not_required","codename":"codename","custom_get":"custom_get","js_document":"js_document","add_php_ajax":"add_php_ajax","javascript_file":"javascript_file","css_document":"css_document","php_document":"php_document","css":"css","libraries":"libraries","php_ajaxmethod":"php_ajaxmethod","dynamic_get":"dynamic_get","add_php_document":"add_php_document","add_php_view":"add_php_view","add_custom_button":"add_custom_button","add_php_jview_display":"add_php_jview_display","add_php_jview":"add_php_jview","php_controller":"php_controller","php_model":"php_model"}}'; + $custom_admin_view->field_mappings = '{"common": {"core_content_item_id": "id","core_title": "name","core_state": "published","core_alias": "null","core_created_time": "created","core_modified_time": "modified","core_body": "php_jview_display","core_hits": "hits","core_publish_up": "null","core_publish_down": "null","core_access": "access","core_params": "params","core_featured": "null","core_metadata": "null","core_language": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "null","core_metadesc": "null","core_catid": "null","core_xreference": "null","asset_id": "asset_id"},"special": {"system_name":"system_name","name":"name","description":"description","main_get":"main_get","php_jview_display":"php_jview_display","php_view":"php_view","add_css_document":"add_css_document","add_css":"add_css","add_js_document":"add_js_document","add_javascript_file":"add_javascript_file","context":"context","default":"default","snippet":"snippet","icon":"icon","php_jview":"php_jview","not_required":"not_required","codename":"codename","custom_get":"custom_get","js_document":"js_document","add_php_ajax":"add_php_ajax","javascript_file":"javascript_file","css_document":"css_document","php_document":"php_document","css":"css","libraries":"libraries","php_ajaxmethod":"php_ajaxmethod","dynamic_get":"dynamic_get","add_php_document":"add_php_document","add_php_view":"add_php_view","add_custom_button":"add_custom_button","add_php_jview_display":"add_php_jview_display","add_php_jview":"add_php_jview","php_controller":"php_controller","php_model":"php_model"}}'; $custom_admin_view->router = 'ComponentbuilderHelperRoute::getCustom_admin_viewRoute'; - $custom_admin_view->content_history_options = '{"formFile": "administrator/components/com_componentbuilder/models/forms/custom_admin_view.xml","hideFields": ["asset_id","checked_out","checked_out_time","version","not_required"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","main_get","add_css","add_javascript_file","add_css_document","add_js_document","snippet","not_required","add_php_ajax","dynamic_get","add_php_document","add_php_view","add_custom_button","add_php_jview_display","add_php_jview"],"displayLookup": [{"sourceColumn": "created_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "access","targetTable": "#__viewlevels","targetColumn": "id","displayColumn": "title"},{"sourceColumn": "modified_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "main_get","targetTable": "#__componentbuilder_dynamic_get","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "snippet","targetTable": "#__componentbuilder_snippet","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "custom_get","targetTable": "#__componentbuilder_dynamic_get","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "libraries","targetTable": "#__componentbuilder_library","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "dynamic_get","targetTable": "#__componentbuilder_dynamic_get","targetColumn": "id","displayColumn": "name"}]}'; + $custom_admin_view->content_history_options = '{"formFile": "administrator/components/com_componentbuilder/models/forms/custom_admin_view.xml","hideFields": ["asset_id","checked_out","checked_out_time","version","not_required"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","main_get","add_css_document","add_css","add_js_document","add_javascript_file","snippet","not_required","add_php_ajax","dynamic_get","add_php_document","add_php_view","add_custom_button","add_php_jview_display","add_php_jview"],"displayLookup": [{"sourceColumn": "created_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "access","targetTable": "#__viewlevels","targetColumn": "id","displayColumn": "title"},{"sourceColumn": "modified_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "main_get","targetTable": "#__componentbuilder_dynamic_get","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "snippet","targetTable": "#__componentbuilder_snippet","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "custom_get","targetTable": "#__componentbuilder_dynamic_get","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "libraries","targetTable": "#__componentbuilder_library","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "dynamic_get","targetTable": "#__componentbuilder_dynamic_get","targetColumn": "id","displayColumn": "name"}]}'; // Set the object into the content types table. $custom_admin_view_Inserted = $db->insertObject('#__content_types', $custom_admin_view); @@ -3858,9 +3858,9 @@ class com_componentbuilderInstallerScript $custom_admin_view->type_title = 'Componentbuilder Custom_admin_view'; $custom_admin_view->type_alias = 'com_componentbuilder.custom_admin_view'; $custom_admin_view->table = '{"special": {"dbtable": "#__componentbuilder_custom_admin_view","key": "id","type": "Custom_admin_view","prefix": "componentbuilderTable","config": "array()"},"common": {"dbtable": "#__ucm_content","key": "ucm_id","type": "Corecontent","prefix": "JTable","config": "array()"}}'; - $custom_admin_view->field_mappings = '{"common": {"core_content_item_id": "id","core_title": "name","core_state": "published","core_alias": "null","core_created_time": "created","core_modified_time": "modified","core_body": "php_view","core_hits": "hits","core_publish_up": "null","core_publish_down": "null","core_access": "access","core_params": "params","core_featured": "null","core_metadata": "null","core_language": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "null","core_metadesc": "null","core_catid": "null","core_xreference": "null","asset_id": "asset_id"},"special": {"system_name":"system_name","name":"name","description":"description","main_get":"main_get","php_view":"php_view","php_jview_display":"php_jview_display","add_css":"add_css","add_javascript_file":"add_javascript_file","add_css_document":"add_css_document","add_js_document":"add_js_document","default":"default","snippet":"snippet","icon":"icon","php_jview":"php_jview","not_required":"not_required","codename":"codename","custom_get":"custom_get","js_document":"js_document","add_php_ajax":"add_php_ajax","javascript_file":"javascript_file","css_document":"css_document","php_document":"php_document","css":"css","libraries":"libraries","php_ajaxmethod":"php_ajaxmethod","dynamic_get":"dynamic_get","add_php_document":"add_php_document","add_php_view":"add_php_view","add_custom_button":"add_custom_button","add_php_jview_display":"add_php_jview_display","add_php_jview":"add_php_jview","php_controller":"php_controller","php_model":"php_model"}}'; + $custom_admin_view->field_mappings = '{"common": {"core_content_item_id": "id","core_title": "name","core_state": "published","core_alias": "null","core_created_time": "created","core_modified_time": "modified","core_body": "php_jview_display","core_hits": "hits","core_publish_up": "null","core_publish_down": "null","core_access": "access","core_params": "params","core_featured": "null","core_metadata": "null","core_language": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "null","core_metadesc": "null","core_catid": "null","core_xreference": "null","asset_id": "asset_id"},"special": {"system_name":"system_name","name":"name","description":"description","main_get":"main_get","php_jview_display":"php_jview_display","php_view":"php_view","add_css_document":"add_css_document","add_css":"add_css","add_js_document":"add_js_document","add_javascript_file":"add_javascript_file","context":"context","default":"default","snippet":"snippet","icon":"icon","php_jview":"php_jview","not_required":"not_required","codename":"codename","custom_get":"custom_get","js_document":"js_document","add_php_ajax":"add_php_ajax","javascript_file":"javascript_file","css_document":"css_document","php_document":"php_document","css":"css","libraries":"libraries","php_ajaxmethod":"php_ajaxmethod","dynamic_get":"dynamic_get","add_php_document":"add_php_document","add_php_view":"add_php_view","add_custom_button":"add_custom_button","add_php_jview_display":"add_php_jview_display","add_php_jview":"add_php_jview","php_controller":"php_controller","php_model":"php_model"}}'; $custom_admin_view->router = 'ComponentbuilderHelperRoute::getCustom_admin_viewRoute'; - $custom_admin_view->content_history_options = '{"formFile": "administrator/components/com_componentbuilder/models/forms/custom_admin_view.xml","hideFields": ["asset_id","checked_out","checked_out_time","version","not_required"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","main_get","add_css","add_javascript_file","add_css_document","add_js_document","snippet","not_required","add_php_ajax","dynamic_get","add_php_document","add_php_view","add_custom_button","add_php_jview_display","add_php_jview"],"displayLookup": [{"sourceColumn": "created_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "access","targetTable": "#__viewlevels","targetColumn": "id","displayColumn": "title"},{"sourceColumn": "modified_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "main_get","targetTable": "#__componentbuilder_dynamic_get","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "snippet","targetTable": "#__componentbuilder_snippet","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "custom_get","targetTable": "#__componentbuilder_dynamic_get","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "libraries","targetTable": "#__componentbuilder_library","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "dynamic_get","targetTable": "#__componentbuilder_dynamic_get","targetColumn": "id","displayColumn": "name"}]}'; + $custom_admin_view->content_history_options = '{"formFile": "administrator/components/com_componentbuilder/models/forms/custom_admin_view.xml","hideFields": ["asset_id","checked_out","checked_out_time","version","not_required"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","main_get","add_css_document","add_css","add_js_document","add_javascript_file","snippet","not_required","add_php_ajax","dynamic_get","add_php_document","add_php_view","add_custom_button","add_php_jview_display","add_php_jview"],"displayLookup": [{"sourceColumn": "created_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "access","targetTable": "#__viewlevels","targetColumn": "id","displayColumn": "title"},{"sourceColumn": "modified_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "main_get","targetTable": "#__componentbuilder_dynamic_get","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "snippet","targetTable": "#__componentbuilder_snippet","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "custom_get","targetTable": "#__componentbuilder_dynamic_get","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "libraries","targetTable": "#__componentbuilder_library","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "dynamic_get","targetTable": "#__componentbuilder_dynamic_get","targetColumn": "id","displayColumn": "name"}]}'; // Check if custom_admin_view type is already in content_type DB. $custom_admin_view_id = null; @@ -4989,7 +4989,7 @@ class com_componentbuilderInstallerScript echo ' -

Upgrade to Version 2.8.8 Was Successful! Let us know if anything is not working as expected.

'; +

Upgrade to Version 2.8.9 Was Successful! Let us know if anything is not working as expected.

'; } }