From 306a9b96133cb4cb9f29e5478b231ef30e75dec3 Mon Sep 17 00:00:00 2001 From: Llewellyn van der Merwe Date: Mon, 30 Oct 2017 20:50:56 +0200 Subject: [PATCH] updated the compiler to first check if array values is set --- README.md | 4 +- admin/README.txt | 4 +- admin/helpers/compiler.php | 13 +- admin/helpers/compiler/a_Get.php | 9 +- admin/helpers/compiler/c_Fields.php | 29 +- admin/helpers/compiler/e_Interpretation.php | 4 +- admin/helpers/compiler/f_Infusion.php | 8 +- .../joomla_component/settings_fullwidth.php | 2 +- .../joomla_component/settings_right.php | 4 +- admin/models/custom_codes.php | 2 +- admin/models/fields.php | 2 +- admin/models/fields/ftps.php | 171 ---- admin/models/forms/joomla_component.xml | 856 +++++++++--------- admin/models/help_documents.php | 2 +- admin/models/joomla_component.php | 84 +- admin/models/joomla_components.php | 28 +- admin/models/layouts.php | 2 +- admin/sql/install.mysql.utf8.sql | 28 +- script.php | 8 +- 19 files changed, 551 insertions(+), 709 deletions(-) delete mode 100644 admin/models/fields/ftps.php diff --git a/README.md b/README.md index e2f38abfa..eee083dbb 100644 --- a/README.md +++ b/README.md @@ -115,8 +115,8 @@ Component Builder is mapped as a component in itself on my local development env + *Version*: 2.6.0 + *Copyright*: Copyright (C) 2015. All Rights Reserved + *License*: GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html -+ *Line count*: **159673** -+ *File count*: **1000** ++ *Line count*: **159502** ++ *File count*: **999** + *Folder count*: **165** > This **component** was build with a Joomla [Automated Component Builder](http://vdm.bz/component-builder). diff --git a/admin/README.txt b/admin/README.txt index e2f38abfa..eee083dbb 100644 --- a/admin/README.txt +++ b/admin/README.txt @@ -115,8 +115,8 @@ Component Builder is mapped as a component in itself on my local development env + *Version*: 2.6.0 + *Copyright*: Copyright (C) 2015. All Rights Reserved + *License*: GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html -+ *Line count*: **159673** -+ *File count*: **1000** ++ *Line count*: **159502** ++ *File count*: **999** + *Folder count*: **165** > This **component** was build with a Joomla [Automated Component Builder](http://vdm.bz/component-builder). diff --git a/admin/helpers/compiler.php b/admin/helpers/compiler.php index 099568465..c1a5cc9bf 100644 --- a/admin/helpers/compiler.php +++ b/admin/helpers/compiler.php @@ -684,9 +684,20 @@ class Compiler extends Infusion protected function loadEscapedCode($file, $target, $lineBites) { + // get comment type + if ($target['comment_type'] == 1) + { + $commentType = "// "; + $_commentType = ""; + } + else + { + $commentType = ""; + } // escape the code $code = explode(PHP_EOL, $target['code']); - $code = PHP_EOL."// " .implode(PHP_EOL."// ",$code). PHP_EOL; + $code = PHP_EOL . $commentType . implode($_commentType . PHP_EOL . $commentType, $code) . $_commentType . PHP_EOL; // get place holders $placeholder = $this->getPlaceHolder((int) $target['comment_type'].$target['type'], $target['id']); // build the data diff --git a/admin/helpers/compiler/a_Get.php b/admin/helpers/compiler/a_Get.php index 901a94f24..2df139004 100644 --- a/admin/helpers/compiler/a_Get.php +++ b/admin/helpers/compiler/a_Get.php @@ -888,8 +888,9 @@ class Get } // build update SQL - if ($old_component = $this->getHistoryWatch('joomla_component', $this->componentID) || - $old_admin_views = $this->getHistoryWatch('component_admin_views', $component->addadmin_views_id)) + $old_admin_views = $this->getHistoryWatch('component_admin_views', $component->addadmin_views_id); + $old_component = $this->getHistoryWatch('joomla_component', $this->componentID); + if ($old_component || $old_admin_views) { if (ComponentbuilderHelper::checkObject($old_admin_views)) { @@ -4385,10 +4386,10 @@ class Get { switch($commentType) { - case 1: + case 1: // the PHP & JS type $startReplace .= '/*'.$id.'*/'; break; - case 2: + case 2: // the HTML type $startReplace .= ''; break; } diff --git a/admin/helpers/compiler/c_Fields.php b/admin/helpers/compiler/c_Fields.php index 97dcf8693..33014b0bc 100644 --- a/admin/helpers/compiler/c_Fields.php +++ b/admin/helpers/compiler/c_Fields.php @@ -1805,7 +1805,7 @@ class Fields extends Structure // build unique keys of this view for db $this->dbUniqueKeys[$viewName][] = $name; } - elseif (($field['settings']->indexes == 2 || $field['alias'] || $field['title'] || $typeName === 'category') && !in_array($field['settings']->datatype, $textKeys)) + elseif (($field['settings']->indexes == 2 || (isset($field['alias']) && $field['alias']) || (isset($field['title']) && $field['title']) || $typeName === 'category') && !in_array($field['settings']->datatype, $textKeys)) { // build keys of this view for db $this->dbKeys[$viewName][] = $name; @@ -1817,12 +1817,12 @@ class Fields extends Structure $this->historyBuilder[$viewName] = $viewName; } // set Alias (only one title per view) - if ($field['alias']) + if (isset($field['alias']) && $field['alias']) { $this->aliasBuilder[$viewName] = $name; } // set Titles (only one title per view) - if ($field['title']) + if (isset($field['title']) && $field['title']) { $this->titleBuilder[$viewName] = $name; } @@ -1855,17 +1855,17 @@ class Fields extends Structure } } // build the list values - if ($field['list'] == 1 && $typeName != 'repeatable' && $typeName != 'subform') + if ((isset($field['list']) && $field['list'] == 1) && $typeName != 'repeatable' && $typeName != 'subform') { // load to list builder $this->listBuilder[$listViewName][] = array( 'type' => $typeName, 'code' => $name, 'lang' => $listLangName, - 'title' => ($field['title']) ? true : false, - 'alias' => ($field['alias']) ? true : false, - 'link' => ($field['link']) ? true : false, - 'sort' => ($field['sort']) ? true : false, + 'title' => (isset($field['title']) && $field['title']) ? true : false, + 'alias' => (isset($field['alias']) && $field['alias']) ? true : false, + 'link' => (isset($field['link']) && $field['link']) ? true : false, + 'sort' => (isset($field['sort']) && $field['sort']) ? true : false, 'custom' => $custom, 'multiple' => $multiple, 'options' => $options); @@ -2004,7 +2004,7 @@ class Fields extends Structure } // load the json list display fix - if ($field['list'] == 1 && $typeName != 'repeatable' && $typeName != 'subform') + if ((isset($field['list']) && $field['list'] == 1) && $typeName != 'repeatable' && $typeName != 'subform') { if (ComponentbuilderHelper::checkArray($options)) { @@ -2031,22 +2031,23 @@ class Fields extends Structure // check if field should be added to uikit $this->buildSiteFieldData($viewName, $name, 'uikit', $typeName); // load the selection translation fix - if (ComponentbuilderHelper::checkArray($options) && $field['list'] == 1 && $typeName != 'repeatable' && $typeName != 'subform') + if (ComponentbuilderHelper::checkArray($options) && (isset($field['list']) && $field['list'] == 1) && $typeName != 'repeatable' && $typeName != 'subform') { $this->selectionTranslationFixBuilder[$listViewName][$name] = $options; } // build the sort values - if ($field['sort'] == 1 && $field['list'] == 1 && (!$multiple && $typeName != 'checkbox' && $typeName != 'checkboxes' && $typeName != 'repeatable' && $typeName != 'subform')) + if ((isset($field['sort']) && $field['sort'] == 1) && (isset($field['list']) && $field['list'] == 1) && (!$multiple && $typeName != 'checkbox' && $typeName != 'checkboxes' && $typeName != 'repeatable' && $typeName != 'subform')) { $this->sortBuilder[$listViewName][] = array('type' => $typeName, 'code' => $name, 'lang' => $listLangName, 'custom' => $custom, 'options' => $options); } // build the search values - if ($field['search'] == 1) + if (isset($field['search']) && $field['search'] == 1) { - $this->searchBuilder[$listViewName][] = array('type' => $typeName, 'code' => $name, 'custom' => $custom, 'list' => $field['list']); + $_list = (!isset($field['list'])) ? $field['list'] : 0; + $this->searchBuilder[$listViewName][] = array('type' => $typeName, 'code' => $name, 'custom' => $custom, 'list' => $_list); } // build the filter values - if ($field['filter'] == 1 && $field['list'] == 1 && (!$multiple && $typeName != 'checkbox' && $typeName != 'checkboxes' && $typeName != 'repeatable' && $typeName != 'subform')) + if ((isset($field['filter']) && $field['filter'] == 1) && (isset($field['list']) && $field['list'] == 1) && (!$multiple && $typeName != 'checkbox' && $typeName != 'checkboxes' && $typeName != 'repeatable' && $typeName != 'subform')) { $this->filterBuilder[$listViewName][] = array('type' => $typeName, 'code' => $name, 'lang' => $listLangName, 'database' => $viewName, 'function' => ComponentbuilderHelper::safeString($name, 'F'), 'custom' => $custom, 'options' => $options); } diff --git a/admin/helpers/compiler/e_Interpretation.php b/admin/helpers/compiler/e_Interpretation.php index 81b64a9dc..ebe79cc51 100644 --- a/admin/helpers/compiler/e_Interpretation.php +++ b/admin/helpers/compiler/e_Interpretation.php @@ -11607,7 +11607,7 @@ class Interpretation extends Fields $this->langContent[$this->lang][$langKey] = $langName; $counter++; } - if ($view['dashboard_list'] == 1) + if (isset($view['dashboard_list']) && $view['dashboard_list'] == 1) { $type = ComponentbuilderHelper::imageInfo($view['settings']->icon); if ($type) @@ -14004,7 +14004,7 @@ function vdm_dkim() { foreach ($menuControllers as $menuController) { // add menu controll view that has menus options - if ($view[$menuController]) + if (isset($view[$menuController]) && $view[$menuController]) { $targetView_ = 'views.'; if ($menuController === 'dashboard_add') diff --git a/admin/helpers/compiler/f_Infusion.php b/admin/helpers/compiler/f_Infusion.php index 4434db261..f4ad7de3f 100644 --- a/admin/helpers/compiler/f_Infusion.php +++ b/admin/helpers/compiler/f_Infusion.php @@ -414,7 +414,7 @@ class Infusion extends Interpretation $this->placeholders['[[[VIEWS]]]'] = $viewsName_u; // set the export/import option - if ($view['port']) + if (isset($view['port']) && $view['port']) { $this->eximportView[$viewName_list] = true; if (1 == $view['settings']->add_custom_import) @@ -430,7 +430,7 @@ class Infusion extends Interpretation } // set Autocheckin function - if ($view['checkin'] == 1) + if (isset($view['checkin']) && $view['checkin'] == 1) { // ###AUTOCHECKIN### <<>> $this->fileContentDynamic[$viewName_list]['###AUTOCHECKIN###'] @@ -933,12 +933,12 @@ class Infusion extends Interpretation $this->setLockLicensePer($view['settings']->code, $this->target); // set the site default view - if ($view['default_view'] == 1) + if (isset($view['default_view']) && $view['default_view'] == 1) { $this->fileContentStatic['###SITE_DEFAULT_VIEW###'] = $view['settings']->code; } // add site menu - if ($view['menu'] == 1) + if (isset($view['menu']) && $view['menu'] == 1) { // ###SITE_MENU_XML### <<>> $this->fileContentDynamic[$view['settings']->code]['###SITE_MENU_XML###'] = $this->setCustomViewMenu($view); diff --git a/admin/layouts/joomla_component/settings_fullwidth.php b/admin/layouts/joomla_component/settings_fullwidth.php index 1963643e4..5eef11dee 100644 --- a/admin/layouts/joomla_component/settings_fullwidth.php +++ b/admin/layouts/joomla_component/settings_fullwidth.php @@ -30,7 +30,7 @@ defined('_JEXEC') or die('Restricted access'); $form = $displayData->getForm(); $fields = $displayData->get('fields') ?: array( - 'spacer_hr_d', + 'spacer_hr_f', 'note_on_contributors', 'addcontributors', 'emptycontributors', diff --git a/admin/layouts/joomla_component/settings_right.php b/admin/layouts/joomla_component/settings_right.php index d8b95f366..567ff02b1 100644 --- a/admin/layouts/joomla_component/settings_right.php +++ b/admin/layouts/joomla_component/settings_right.php @@ -31,10 +31,10 @@ $form = $displayData->getForm(); $fields = $displayData->get('fields') ?: array( 'note_component_files_folders', - 'spacer_hr_e', + 'spacer_hr_d', 'to_ignore_note', 'toignore', - 'spacer_hr_f', + 'spacer_hr_e', 'jcb_export_package_note', 'export_key', 'export_package_link', diff --git a/admin/models/custom_codes.php b/admin/models/custom_codes.php index 23fd0c9c5..81b96fadd 100644 --- a/admin/models/custom_codes.php +++ b/admin/models/custom_codes.php @@ -280,7 +280,7 @@ class ComponentbuilderModelCustom_codes extends JModelList else { $search = $db->quote('%' . $db->escape($search) . '%'); - $query->where('(a.component LIKE '.$search.' OR g.system_name LIKE '.$search.' OR a.path LIKE '.$search.' OR a.comment_type LIKE '.$search.' OR a.function_name LIKE '.$search.' OR a.system_name LIKE '.$search.')'); + $query->where('(a.component LIKE '.$search.' OR a.path LIKE '.$search.' OR a.comment_type LIKE '.$search.' OR a.function_name LIKE '.$search.' OR a.system_name LIKE '.$search.')'); } } diff --git a/admin/models/fields.php b/admin/models/fields.php index a21bf98e3..78ddc31d0 100644 --- a/admin/models/fields.php +++ b/admin/models/fields.php @@ -312,7 +312,7 @@ class ComponentbuilderModelFields extends JModelList else { $search = $db->quote('%' . $db->escape($search) . '%'); - $query->where('(a.name LIKE '.$search.' OR a.fieldtype LIKE '.$search.' OR g.name LIKE '.$search.' OR a.datatype LIKE '.$search.' OR a.indexes LIKE '.$search.' OR a.null_switch LIKE '.$search.' OR a.xml LIKE '.$search.' OR a.catid LIKE '.$search.' OR a.store LIKE '.$search.')'); + $query->where('(a.name LIKE '.$search.' OR a.fieldtype LIKE '.$search.' OR a.datatype LIKE '.$search.' OR a.indexes LIKE '.$search.' OR a.null_switch LIKE '.$search.' OR a.xml LIKE '.$search.' OR a.catid LIKE '.$search.' OR a.store LIKE '.$search.')'); } } diff --git a/admin/models/fields/ftps.php b/admin/models/fields/ftps.php deleted file mode 100644 index ccbe8f783..000000000 --- a/admin/models/fields/ftps.php +++ /dev/null @@ -1,171 +0,0 @@ - - @copyright Copyright (C) 2015. All Rights Reserved - @license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html - - Builds Complex Joomla Components - -/-----------------------------------------------------------------------------------------------------------------------------*/ - -// No direct access to this file -defined('_JEXEC') or die('Restricted access'); - -// import the list field type -jimport('joomla.form.helper'); -JFormHelper::loadFieldClass('list'); - -/** - * Ftps Form Field class for the Componentbuilder component - */ -class JFormFieldFtps extends JFormFieldList -{ - /** - * The ftps field type. - * - * @var string - */ - public $type = 'ftps'; - /** - * Override to add new button - * - * @return string The field input markup. - * - * @since 3.2 - */ - protected function getInput() - { - // see if we should add buttons - $setButton = $this->getAttribute('button'); - // get html - $html = parent::getInput(); - // if true set button - if ($setButton === 'true') - { - $button = array(); - $script = array(); - $buttonName = $this->getAttribute('name'); - // get the input from url - $app = JFactory::getApplication(); - $jinput = $app->input; - // get the view name & id - $values = $jinput->getArray(array( - 'id' => 'int', - 'view' => 'word' - )); - // check if new item - $ref = ''; - $refJ = ''; - if (!is_null($values['id']) && strlen($values['view'])) - { - // only load referal if not new item. - $ref = '&ref=' . $values['view'] . '&refid=' . $values['id']; - $refJ = '&ref=' . $values['view'] . '&refid=' . $values['id']; - } - $user = JFactory::getUser(); - // only add if user allowed to create ftp - if ($user->authorise('ftp.create', 'com_componentbuilder') && $app->isAdmin()) // TODO for now only in admin area. - { - // build Create button - $buttonNamee = trim($buttonName); - $buttonNamee = preg_replace('/_+/', ' ', $buttonNamee); - $buttonNamee = preg_replace('/\s+/', ' ', $buttonNamee); - $buttonNamee = preg_replace("/[^A-Za-z ]/", '', $buttonNamee); - $buttonNamee = ucfirst(strtolower($buttonNamee)); - $button[] = ' - '; - } - // only add if user allowed to edit ftp - if (($buttonName === 'ftp' || $buttonName === 'ftps') && $user->authorise('ftp.edit', 'com_componentbuilder') && $app->isAdmin()) // TODO for now only in admin area. - { - // build edit button - $buttonNamee = trim($buttonName); - $buttonNamee = preg_replace('/_+/', ' ', $buttonNamee); - $buttonNamee = preg_replace('/\s+/', ' ', $buttonNamee); - $buttonNamee = preg_replace("/[^A-Za-z ]/", '', $buttonNamee); - $buttonNamee = ucfirst(strtolower($buttonNamee)); - $button[] = ''; - // build script - $script[] = " - jQuery(document).ready(function() { - jQuery('#adminForm').on('change', '#jform_".$buttonName."',function (e) { - e.preventDefault(); - var ".$buttonName."Value = jQuery('#jform_".$buttonName."').val(); - ".$buttonName."Button(".$buttonName."Value); - }); - var ".$buttonName."Value = jQuery('#jform_".$buttonName."').val(); - ".$buttonName."Button(".$buttonName."Value); - }); - function ".$buttonName."Button(value) { - if (value > 0) { - // hide the create button - jQuery('#".$buttonName."Create').hide(); - // show edit button - jQuery('#".$buttonName."Edit').show(); - var url = 'index.php?option=com_componentbuilder&view=ftps&task=ftp.edit&id='+value+'".$refJ."'; - jQuery('#".$buttonName."Edit').attr('href', url); - } else { - // show the create button - jQuery('#".$buttonName."Create').show(); - // hide edit button - jQuery('#".$buttonName."Edit').hide(); - } - }"; - } - // check if button was created for ftp field. - if (is_array($button) && count($button) > 0) - { - // Load the needed script. - $document = JFactory::getDocument(); - $document->addScriptDeclaration(implode(' ',$script)); - // return the button attached to input field. - return '
' .$html . implode('',$button).'
'; - } - } - return $html; - } - - /** - * Method to get a list of options for a list input. - * - * @return array An array of JHtml options. - */ - public function getOptions() - { - $db = JFactory::getDBO(); - $query = $db->getQuery(true); - $query->select($db->quoteName(array('a.id','a.name'),array('id','sales_server_ftp_name'))); - $query->from($db->quoteName('#__componentbuilder_ftp', 'a')); - $query->where($db->quoteName('a.published') . ' >= 1'); - $query->order('a.name ASC'); - $db->setQuery((string)$query); - $items = $db->loadObjectList(); - $options = array(); - if ($items) - { - $options[] = JHtml::_('select.option', '', 'Select an option'); - foreach($items as $item) - { - $options[] = JHtml::_('select.option', $item->id, $item->sales_server_ftp_name); - } - } - return $options; - } -} diff --git a/admin/models/forms/joomla_component.xml b/admin/models/forms/joomla_component.xml index bb76f2977..638d6dec0 100644 --- a/admin/models/forms/joomla_component.xml +++ b/admin/models/forms/joomla_component.xml @@ -196,16 +196,14 @@ message="Error! Please add author name here." hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_AUTHOR_HINT" /> - - - + - + + type="radio" + name="add_css" + label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_CSS_LABEL" + class="btn-group btn-group-yesno" + default="0" + required="true"> + + + + - + @@ -266,19 +265,75 @@ hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_COPYRIGHT_HINT" required="true" /> - + + + + + + + + + + + + + + + + + + + + + COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO - - - - - - - - - - - - - - - - - - + - + @@ -370,44 +376,18 @@ - + - - - - - - - - - - - - - + - + COM_COMPONENTBUILDER_JOOMLA_COMPONENT_FTP + + - - - - - - + + COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO - + + + COM_COMPONENTBUILDER_JOOMLA_COMPONENT_VTWO @@ -517,11 +490,11 @@ - + @@ -533,11 +506,11 @@ - + @@ -560,19 +533,20 @@ message="Error! Please add some secret key here." hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_WHMCS_KEY_HINT" /> - + + type="radio" + name="add_javascript" + label="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_ADD_JAVASCRIPT_LABEL" + class="btn-group btn-group-yesno" + default="0" + required="true"> + + + + - - + + - + @@ -637,17 +600,17 @@ description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_BOM_DESCRIPTION" hide_default="true" /> - + @@ -658,28 +621,18 @@ description="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_IMAGE_DESCRIPTION" directory="" /> - + - - - - - - - - - + + + + + + COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO + + + + + + + + - - + + @@ -793,8 +793,8 @@ hint="COM_COMPONENTBUILDER_JOOMLA_COMPONENT_PHP_ADMIN_EVENT_HINT" required="true" /> - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + COM_COMPONENTBUILDER_JOOMLA_COMPONENT_NO - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -1190,12 +1190,12 @@ - - + + - - + + quote('%' . $db->escape($search) . '%'); - $query->where('(a.title LIKE '.$search.' OR a.type LIKE '.$search.' OR a.location LIKE '.$search.' OR a.admin_view LIKE '.$search.' OR g. LIKE '.$search.' OR a.site_view LIKE '.$search.' OR h. LIKE '.$search.')'); + $query->where('(a.title LIKE '.$search.' OR a.type LIKE '.$search.' OR a.location LIKE '.$search.' OR a.admin_view LIKE '.$search.' OR a.site_view LIKE '.$search.')'); } } diff --git a/admin/models/joomla_component.php b/admin/models/joomla_component.php index 2f73861a9..0e06300c9 100644 --- a/admin/models/joomla_component.php +++ b/admin/models/joomla_component.php @@ -108,22 +108,16 @@ class ComponentbuilderModelJoomla_component extends JModelAdmin $item->addcontributors = $addcontributors->toArray(); } - if (!empty($item->php_preflight_update)) + if (!empty($item->php_postflight_install)) { - // base64 Decode php_preflight_update. - $item->php_preflight_update = base64_decode($item->php_preflight_update); + // base64 Decode php_postflight_install. + $item->php_postflight_install = base64_decode($item->php_postflight_install); } - if (!empty($item->sql)) + if (!empty($item->readme)) { - // base64 Decode sql. - $item->sql = base64_decode($item->sql); - } - - if (!empty($item->php_postflight_update)) - { - // base64 Decode php_postflight_update. - $item->php_postflight_update = base64_decode($item->php_postflight_update); + // base64 Decode readme. + $item->readme = base64_decode($item->readme); } if (!empty($item->php_preflight_install)) @@ -132,22 +126,28 @@ class ComponentbuilderModelJoomla_component extends JModelAdmin $item->php_preflight_install = base64_decode($item->php_preflight_install); } - if (!empty($item->php_postflight_install)) - { - // base64 Decode php_postflight_install. - $item->php_postflight_install = base64_decode($item->php_postflight_install); - } - if (!empty($item->php_method_uninstall)) { // base64 Decode php_method_uninstall. $item->php_method_uninstall = base64_decode($item->php_method_uninstall); } - if (!empty($item->readme)) + if (!empty($item->php_preflight_update)) { - // base64 Decode readme. - $item->readme = base64_decode($item->readme); + // base64 Decode php_preflight_update. + $item->php_preflight_update = base64_decode($item->php_preflight_update); + } + + if (!empty($item->php_postflight_update)) + { + // base64 Decode php_postflight_update. + $item->php_postflight_update = base64_decode($item->php_postflight_update); + } + + if (!empty($item->sql)) + { + // base64 Decode sql. + $item->sql = base64_decode($item->sql); } if (!empty($item->php_helper_both)) @@ -1196,22 +1196,16 @@ class ComponentbuilderModelJoomla_component extends JModelAdmin $data['addcontributors'] = ''; } - // Set the php_preflight_update string to base64 string. - if (isset($data['php_preflight_update'])) + // Set the php_postflight_install string to base64 string. + if (isset($data['php_postflight_install'])) { - $data['php_preflight_update'] = base64_encode($data['php_preflight_update']); + $data['php_postflight_install'] = base64_encode($data['php_postflight_install']); } - // Set the sql string to base64 string. - if (isset($data['sql'])) + // Set the readme string to base64 string. + if (isset($data['readme'])) { - $data['sql'] = base64_encode($data['sql']); - } - - // Set the php_postflight_update string to base64 string. - if (isset($data['php_postflight_update'])) - { - $data['php_postflight_update'] = base64_encode($data['php_postflight_update']); + $data['readme'] = base64_encode($data['readme']); } // Set the php_preflight_install string to base64 string. @@ -1220,22 +1214,28 @@ class ComponentbuilderModelJoomla_component extends JModelAdmin $data['php_preflight_install'] = base64_encode($data['php_preflight_install']); } - // Set the php_postflight_install string to base64 string. - if (isset($data['php_postflight_install'])) - { - $data['php_postflight_install'] = base64_encode($data['php_postflight_install']); - } - // Set the php_method_uninstall string to base64 string. if (isset($data['php_method_uninstall'])) { $data['php_method_uninstall'] = base64_encode($data['php_method_uninstall']); } - // Set the readme string to base64 string. - if (isset($data['readme'])) + // Set the php_preflight_update string to base64 string. + if (isset($data['php_preflight_update'])) { - $data['readme'] = base64_encode($data['readme']); + $data['php_preflight_update'] = base64_encode($data['php_preflight_update']); + } + + // Set the php_postflight_update string to base64 string. + if (isset($data['php_postflight_update'])) + { + $data['php_postflight_update'] = base64_encode($data['php_postflight_update']); + } + + // Set the sql string to base64 string. + if (isset($data['sql'])) + { + $data['sql'] = base64_encode($data['sql']); } // Set the php_helper_both string to base64 string. diff --git a/admin/models/joomla_components.php b/admin/models/joomla_components.php index f1b29e975..f0c7d0f37 100644 --- a/admin/models/joomla_components.php +++ b/admin/models/joomla_components.php @@ -1494,25 +1494,25 @@ class ComponentbuilderModelJoomla_components extends JModelList continue; } - // decode php_preflight_update - $item->php_preflight_update = base64_decode($item->php_preflight_update); - // decode sql - $item->sql = base64_decode($item->sql); - // decode php_postflight_update - $item->php_postflight_update = base64_decode($item->php_postflight_update); + // decode php_postflight_install + $item->php_postflight_install = base64_decode($item->php_postflight_install); + // decode readme + $item->readme = base64_decode($item->readme); + // decode php_preflight_install + $item->php_preflight_install = base64_decode($item->php_preflight_install); + // decode php_method_uninstall + $item->php_method_uninstall = base64_decode($item->php_method_uninstall); if ($basickey && !is_numeric($item->whmcs_key) && $item->whmcs_key === base64_encode(base64_decode($item->whmcs_key, true))) { // decrypt whmcs_key $item->whmcs_key = $basic->decryptString($item->whmcs_key); } - // decode php_preflight_install - $item->php_preflight_install = base64_decode($item->php_preflight_install); - // decode php_postflight_install - $item->php_postflight_install = base64_decode($item->php_postflight_install); - // decode php_method_uninstall - $item->php_method_uninstall = base64_decode($item->php_method_uninstall); - // decode readme - $item->readme = base64_decode($item->readme); + // decode php_preflight_update + $item->php_preflight_update = base64_decode($item->php_preflight_update); + // decode php_postflight_update + $item->php_postflight_update = base64_decode($item->php_postflight_update); + // decode sql + $item->sql = base64_decode($item->sql); // decode php_helper_both $item->php_helper_both = base64_decode($item->php_helper_both); // decode php_helper_admin diff --git a/admin/models/layouts.php b/admin/models/layouts.php index ae29f5eb3..56b2a5814 100644 --- a/admin/models/layouts.php +++ b/admin/models/layouts.php @@ -195,7 +195,7 @@ class ComponentbuilderModelLayouts extends JModelList else { $search = $db->quote('%' . $db->escape($search) . '%'); - $query->where('(a.name LIKE '.$search.' OR a.alias LIKE '.$search.' OR a.description LIKE '.$search.' OR a.dynamic_get LIKE '.$search.' OR g.name LIKE '.$search.')'); + $query->where('(a.name LIKE '.$search.' OR a.alias LIKE '.$search.' OR a.description LIKE '.$search.' OR a.dynamic_get LIKE '.$search.')'); } } diff --git a/admin/sql/install.mysql.utf8.sql b/admin/sql/install.mysql.utf8.sql index 873232a0e..58b0e1611 100644 --- a/admin/sql/install.mysql.utf8.sql +++ b/admin/sql/install.mysql.utf8.sql @@ -93,25 +93,24 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_joomla_component` ( KEY `idx_state` (`published`), KEY `idx_system_name` (`system_name`), KEY `idx_name_code` (`name_code`), - KEY `idx_add_placeholders` (`add_placeholders`), - KEY `idx_add_javascript` (`add_javascript`), - KEY `idx_debug_linenr` (`debug_linenr`), KEY `idx_mvc_versiondate` (`mvc_versiondate`), - KEY `idx_addfootable` (`addfootable`), - KEY `idx_add_php_helper_admin` (`add_php_helper_admin`), - KEY `idx_add_update_server` (`add_update_server`), - KEY `idx_add_php_helper_site` (`add_php_helper_site`), - KEY `idx_creatuserhelper` (`creatuserhelper`), - KEY `idx_add_php_helper_both` (`add_php_helper_both`), - KEY `idx_add_license` (`add_license`), - KEY `idx_add_admin_event` (`add_admin_event`), - KEY `idx_license_type` (`license_type`), - KEY `idx_add_site_event` (`add_site_event`), KEY `idx_add_css` (`add_css`), + KEY `idx_add_admin_event` (`add_admin_event`), + KEY `idx_add_placeholders` (`add_placeholders`), + KEY `idx_add_php_helper_both` (`add_php_helper_both`), + KEY `idx_add_site_event` (`add_site_event`), + KEY `idx_debug_linenr` (`debug_linenr`), + KEY `idx_creatuserhelper` (`creatuserhelper`), KEY `idx_update_server_target` (`update_server_target`), + KEY `idx_add_license` (`add_license`), + KEY `idx_addfootable` (`addfootable`), + KEY `idx_license_type` (`license_type`), + KEY `idx_add_php_helper_admin` (`add_php_helper_admin`), + KEY `idx_add_php_helper_site` (`add_php_helper_site`), + KEY `idx_add_javascript` (`add_javascript`), + KEY `idx_add_update_server` (`add_update_server`), KEY `idx_adduikit` (`adduikit`), KEY `idx_add_email_helper` (`add_email_helper`), - KEY `idx_emptycontributors` (`emptycontributors`), KEY `idx_add_php_preflight_install` (`add_php_preflight_install`), KEY `idx_add_php_preflight_update` (`add_php_preflight_update`), KEY `idx_add_php_postflight_install` (`add_php_postflight_install`), @@ -119,6 +118,7 @@ CREATE TABLE IF NOT EXISTS `#__componentbuilder_joomla_component` ( KEY `idx_add_php_method_uninstall` (`add_php_method_uninstall`), KEY `idx_add_sql` (`add_sql`), KEY `idx_addreadme` (`addreadme`), + KEY `idx_emptycontributors` (`emptycontributors`), KEY `idx_add_sales_server` (`add_sales_server`) ) ENGINE=MyISAM AUTO_INCREMENT=0 DEFAULT CHARSET=utf8; diff --git a/script.php b/script.php index 6b9878ae4..9e1978a1b 100644 --- a/script.php +++ b/script.php @@ -2862,9 +2862,9 @@ class com_componentbuilderInstallerScript $joomla_component->type_title = 'Componentbuilder Joomla_component'; $joomla_component->type_alias = 'com_componentbuilder.joomla_component'; $joomla_component->table = '{"special": {"dbtable": "#__componentbuilder_joomla_component","key": "id","type": "Joomla_component","prefix": "componentbuilderTable","config": "array()"},"common": {"dbtable": "#__ucm_content","key": "ucm_id","type": "Corecontent","prefix": "JTable","config": "array()"}}'; - $joomla_component->field_mappings = '{"common": {"core_content_item_id": "id","core_title": "system_name","core_state": "published","core_alias": "null","core_created_time": "created","core_modified_time": "modified","core_body": "readme","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": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "metakey","core_metadesc": "metadesc","core_catid": "null","core_xreference": "null","asset_id": "asset_id"},"special": {"system_name":"system_name","name_code":"name_code","component_version":"component_version","short_description":"short_description","companyname":"companyname","author":"author","add_placeholders":"add_placeholders","php_preflight_update":"php_preflight_update","description":"description","add_javascript":"add_javascript","copyright":"copyright","sql":"sql","debug_linenr":"debug_linenr","mvc_versiondate":"mvc_versiondate","name":"name","addfootable":"addfootable","php_postflight_update":"php_postflight_update","add_php_helper_admin":"add_php_helper_admin","add_update_server":"add_update_server","add_php_helper_site":"add_php_helper_site","sales_server_ftp":"sales_server_ftp","email":"email","creatuserhelper":"creatuserhelper","website":"website","add_php_helper_both":"add_php_helper_both","add_license":"add_license","add_admin_event":"add_admin_event","license_type":"license_type","add_site_event":"add_site_event","add_css":"add_css","whmcs_key":"whmcs_key","php_preflight_install":"php_preflight_install","whmcs_url":"whmcs_url","php_postflight_install":"php_postflight_install","license":"license","php_method_uninstall":"php_method_uninstall","bom":"bom","readme":"readme","image":"image","update_server_target":"update_server_target","not_required":"not_required","update_server_ftp":"update_server_ftp","buildcomp":"buildcomp","adduikit":"adduikit","add_email_helper":"add_email_helper","php_helper_both":"php_helper_both","php_helper_admin":"php_helper_admin","php_admin_event":"php_admin_event","php_helper_site":"php_helper_site","php_site_event":"php_site_event","javascript":"javascript","emptycontributors":"emptycontributors","css":"css","number":"number","add_php_preflight_install":"add_php_preflight_install","add_php_preflight_update":"add_php_preflight_update","add_php_postflight_install":"add_php_postflight_install","add_php_postflight_update":"add_php_postflight_update","toignore":"toignore","add_php_method_uninstall":"add_php_method_uninstall","add_sql":"add_sql","addreadme":"addreadme","export_key":"export_key","export_package_link":"export_package_link","update_server":"update_server","export_buy_link":"export_buy_link","add_sales_server":"add_sales_server","buildcompsql":"buildcompsql"}}'; + $joomla_component->field_mappings = '{"common": {"core_content_item_id": "id","core_title": "system_name","core_state": "published","core_alias": "null","core_created_time": "created","core_modified_time": "modified","core_body": "readme","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": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "metakey","core_metadesc": "metadesc","core_catid": "null","core_xreference": "null","asset_id": "asset_id"},"special": {"system_name":"system_name","name_code":"name_code","component_version":"component_version","short_description":"short_description","companyname":"companyname","author":"author","mvc_versiondate":"mvc_versiondate","add_css":"add_css","description":"description","add_admin_event":"add_admin_event","copyright":"copyright","php_postflight_install":"php_postflight_install","add_placeholders":"add_placeholders","add_php_helper_both":"add_php_helper_both","readme":"readme","add_site_event":"add_site_event","debug_linenr":"debug_linenr","php_preflight_install":"php_preflight_install","creatuserhelper":"creatuserhelper","php_method_uninstall":"php_method_uninstall","email":"email","update_server_target":"update_server_target","website":"website","add_license":"add_license","addfootable":"addfootable","license_type":"license_type","add_php_helper_admin":"add_php_helper_admin","add_php_helper_site":"add_php_helper_site","whmcs_key":"whmcs_key","add_javascript":"add_javascript","whmcs_url":"whmcs_url","license":"license","php_preflight_update":"php_preflight_update","bom":"bom","php_postflight_update":"php_postflight_update","image":"image","sql":"sql","update_server_ftp":"update_server_ftp","add_update_server":"add_update_server","buildcomp":"buildcomp","not_required":"not_required","sales_server_ftp":"sales_server_ftp","name":"name","adduikit":"adduikit","add_email_helper":"add_email_helper","php_helper_both":"php_helper_both","php_helper_admin":"php_helper_admin","php_admin_event":"php_admin_event","php_helper_site":"php_helper_site","php_site_event":"php_site_event","javascript":"javascript","toignore":"toignore","css":"css","add_php_preflight_install":"add_php_preflight_install","add_php_preflight_update":"add_php_preflight_update","export_key":"export_key","add_php_postflight_install":"add_php_postflight_install","export_package_link":"export_package_link","add_php_postflight_update":"add_php_postflight_update","export_buy_link":"export_buy_link","add_php_method_uninstall":"add_php_method_uninstall","add_sql":"add_sql","addreadme":"addreadme","emptycontributors":"emptycontributors","update_server":"update_server","number":"number","add_sales_server":"add_sales_server","buildcompsql":"buildcompsql"}}'; $joomla_component->router = 'ComponentbuilderHelperRoute::getJoomla_componentRoute'; - $joomla_component->content_history_options = '{"formFile": "administrator/components/com_componentbuilder/models/forms/joomla_component.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","add_placeholders","add_javascript","debug_linenr","mvc_versiondate","addfootable","add_php_helper_admin","add_update_server","add_php_helper_site","sales_server_ftp","creatuserhelper","add_php_helper_both","add_license","add_admin_event","license_type","add_site_event","add_css","update_server_target","not_required","update_server_ftp","buildcomp","adduikit","add_email_helper","emptycontributors","number","add_php_preflight_install","add_php_preflight_update","add_php_postflight_install","add_php_postflight_update","add_php_method_uninstall","add_sql","addreadme","add_sales_server"],"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": "sales_server_ftp","targetTable": "#__componentbuilder_ftp","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "update_server_ftp","targetTable": "#__componentbuilder_ftp","targetColumn": "id","displayColumn": "name"}]}'; + $joomla_component->content_history_options = '{"formFile": "administrator/components/com_componentbuilder/models/forms/joomla_component.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","mvc_versiondate","add_css","add_admin_event","add_placeholders","add_php_helper_both","add_site_event","debug_linenr","creatuserhelper","update_server_target","add_license","addfootable","license_type","add_php_helper_admin","add_php_helper_site","add_javascript","update_server_ftp","add_update_server","buildcomp","not_required","sales_server_ftp","adduikit","add_email_helper","add_php_preflight_install","add_php_preflight_update","add_php_postflight_install","add_php_postflight_update","add_php_method_uninstall","add_sql","addreadme","emptycontributors","number","add_sales_server"],"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": "update_server_ftp","targetTable": "#__componentbuilder_ftp","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "sales_server_ftp","targetTable": "#__componentbuilder_ftp","targetColumn": "id","displayColumn": "name"}]}'; // Set the object into the content types table. $joomla_component_Inserted = $db->insertObject('#__content_types', $joomla_component); @@ -3224,9 +3224,9 @@ class com_componentbuilderInstallerScript $joomla_component->type_title = 'Componentbuilder Joomla_component'; $joomla_component->type_alias = 'com_componentbuilder.joomla_component'; $joomla_component->table = '{"special": {"dbtable": "#__componentbuilder_joomla_component","key": "id","type": "Joomla_component","prefix": "componentbuilderTable","config": "array()"},"common": {"dbtable": "#__ucm_content","key": "ucm_id","type": "Corecontent","prefix": "JTable","config": "array()"}}'; - $joomla_component->field_mappings = '{"common": {"core_content_item_id": "id","core_title": "system_name","core_state": "published","core_alias": "null","core_created_time": "created","core_modified_time": "modified","core_body": "readme","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": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "metakey","core_metadesc": "metadesc","core_catid": "null","core_xreference": "null","asset_id": "asset_id"},"special": {"system_name":"system_name","name_code":"name_code","component_version":"component_version","short_description":"short_description","companyname":"companyname","author":"author","add_placeholders":"add_placeholders","php_preflight_update":"php_preflight_update","description":"description","add_javascript":"add_javascript","copyright":"copyright","sql":"sql","debug_linenr":"debug_linenr","mvc_versiondate":"mvc_versiondate","name":"name","addfootable":"addfootable","php_postflight_update":"php_postflight_update","add_php_helper_admin":"add_php_helper_admin","add_update_server":"add_update_server","add_php_helper_site":"add_php_helper_site","sales_server_ftp":"sales_server_ftp","email":"email","creatuserhelper":"creatuserhelper","website":"website","add_php_helper_both":"add_php_helper_both","add_license":"add_license","add_admin_event":"add_admin_event","license_type":"license_type","add_site_event":"add_site_event","add_css":"add_css","whmcs_key":"whmcs_key","php_preflight_install":"php_preflight_install","whmcs_url":"whmcs_url","php_postflight_install":"php_postflight_install","license":"license","php_method_uninstall":"php_method_uninstall","bom":"bom","readme":"readme","image":"image","update_server_target":"update_server_target","not_required":"not_required","update_server_ftp":"update_server_ftp","buildcomp":"buildcomp","adduikit":"adduikit","add_email_helper":"add_email_helper","php_helper_both":"php_helper_both","php_helper_admin":"php_helper_admin","php_admin_event":"php_admin_event","php_helper_site":"php_helper_site","php_site_event":"php_site_event","javascript":"javascript","emptycontributors":"emptycontributors","css":"css","number":"number","add_php_preflight_install":"add_php_preflight_install","add_php_preflight_update":"add_php_preflight_update","add_php_postflight_install":"add_php_postflight_install","add_php_postflight_update":"add_php_postflight_update","toignore":"toignore","add_php_method_uninstall":"add_php_method_uninstall","add_sql":"add_sql","addreadme":"addreadme","export_key":"export_key","export_package_link":"export_package_link","update_server":"update_server","export_buy_link":"export_buy_link","add_sales_server":"add_sales_server","buildcompsql":"buildcompsql"}}'; + $joomla_component->field_mappings = '{"common": {"core_content_item_id": "id","core_title": "system_name","core_state": "published","core_alias": "null","core_created_time": "created","core_modified_time": "modified","core_body": "readme","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": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "metakey","core_metadesc": "metadesc","core_catid": "null","core_xreference": "null","asset_id": "asset_id"},"special": {"system_name":"system_name","name_code":"name_code","component_version":"component_version","short_description":"short_description","companyname":"companyname","author":"author","mvc_versiondate":"mvc_versiondate","add_css":"add_css","description":"description","add_admin_event":"add_admin_event","copyright":"copyright","php_postflight_install":"php_postflight_install","add_placeholders":"add_placeholders","add_php_helper_both":"add_php_helper_both","readme":"readme","add_site_event":"add_site_event","debug_linenr":"debug_linenr","php_preflight_install":"php_preflight_install","creatuserhelper":"creatuserhelper","php_method_uninstall":"php_method_uninstall","email":"email","update_server_target":"update_server_target","website":"website","add_license":"add_license","addfootable":"addfootable","license_type":"license_type","add_php_helper_admin":"add_php_helper_admin","add_php_helper_site":"add_php_helper_site","whmcs_key":"whmcs_key","add_javascript":"add_javascript","whmcs_url":"whmcs_url","license":"license","php_preflight_update":"php_preflight_update","bom":"bom","php_postflight_update":"php_postflight_update","image":"image","sql":"sql","update_server_ftp":"update_server_ftp","add_update_server":"add_update_server","buildcomp":"buildcomp","not_required":"not_required","sales_server_ftp":"sales_server_ftp","name":"name","adduikit":"adduikit","add_email_helper":"add_email_helper","php_helper_both":"php_helper_both","php_helper_admin":"php_helper_admin","php_admin_event":"php_admin_event","php_helper_site":"php_helper_site","php_site_event":"php_site_event","javascript":"javascript","toignore":"toignore","css":"css","add_php_preflight_install":"add_php_preflight_install","add_php_preflight_update":"add_php_preflight_update","export_key":"export_key","add_php_postflight_install":"add_php_postflight_install","export_package_link":"export_package_link","add_php_postflight_update":"add_php_postflight_update","export_buy_link":"export_buy_link","add_php_method_uninstall":"add_php_method_uninstall","add_sql":"add_sql","addreadme":"addreadme","emptycontributors":"emptycontributors","update_server":"update_server","number":"number","add_sales_server":"add_sales_server","buildcompsql":"buildcompsql"}}'; $joomla_component->router = 'ComponentbuilderHelperRoute::getJoomla_componentRoute'; - $joomla_component->content_history_options = '{"formFile": "administrator/components/com_componentbuilder/models/forms/joomla_component.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","add_placeholders","add_javascript","debug_linenr","mvc_versiondate","addfootable","add_php_helper_admin","add_update_server","add_php_helper_site","sales_server_ftp","creatuserhelper","add_php_helper_both","add_license","add_admin_event","license_type","add_site_event","add_css","update_server_target","not_required","update_server_ftp","buildcomp","adduikit","add_email_helper","emptycontributors","number","add_php_preflight_install","add_php_preflight_update","add_php_postflight_install","add_php_postflight_update","add_php_method_uninstall","add_sql","addreadme","add_sales_server"],"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": "sales_server_ftp","targetTable": "#__componentbuilder_ftp","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "update_server_ftp","targetTable": "#__componentbuilder_ftp","targetColumn": "id","displayColumn": "name"}]}'; + $joomla_component->content_history_options = '{"formFile": "administrator/components/com_componentbuilder/models/forms/joomla_component.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","mvc_versiondate","add_css","add_admin_event","add_placeholders","add_php_helper_both","add_site_event","debug_linenr","creatuserhelper","update_server_target","add_license","addfootable","license_type","add_php_helper_admin","add_php_helper_site","add_javascript","update_server_ftp","add_update_server","buildcomp","not_required","sales_server_ftp","adduikit","add_email_helper","add_php_preflight_install","add_php_preflight_update","add_php_postflight_install","add_php_postflight_update","add_php_method_uninstall","add_sql","addreadme","emptycontributors","number","add_sales_server"],"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": "update_server_ftp","targetTable": "#__componentbuilder_ftp","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "sales_server_ftp","targetTable": "#__componentbuilder_ftp","targetColumn": "id","displayColumn": "name"}]}'; // Check if joomla_component type is already in content_type DB. $joomla_component_id = null;