Mode some improvements to the new relation area. Fixed the notice message regarding the linked fields.

This commit is contained in:
Llewellyn van der Merwe 2018-05-31 12:31:44 +02:00
parent 640c96ce38
commit 01149bfb7c
No known key found for this signature in database
GPG Key ID: CAD7B16D27AF28C5
6 changed files with 119 additions and 35 deletions

View File

@ -125,11 +125,11 @@ Watch the [proposed development workflow](https://vdm.bz/proposed-development-wo
+ *Author*: [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com) + *Author*: [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com)
+ *Name*: [Component Builder](https://github.com/vdm-io/Joomla-Component-Builder) + *Name*: [Component Builder](https://github.com/vdm-io/Joomla-Component-Builder)
+ *First Build*: 30th April, 2015 + *First Build*: 30th April, 2015
+ *Last Build*: 30th May, 2018 + *Last Build*: 31st May, 2018
+ *Version*: 2.8.0 + *Version*: 2.8.0
+ *Copyright*: Copyright (C) 2015 - 2018 Vast Development Method. All rights reserved. + *Copyright*: Copyright (C) 2015 - 2018 Vast Development Method. All rights reserved.
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt + *License*: GNU General Public License version 2 or later; see LICENSE.txt
+ *Line count*: **185584** + *Line count*: **185591**
+ *Field count*: **1054** + *Field count*: **1054**
+ *File count*: **1236** + *File count*: **1236**
+ *Folder count*: **197** + *Folder count*: **197**

View File

@ -125,11 +125,11 @@ Watch the [proposed development workflow](https://vdm.bz/proposed-development-wo
+ *Author*: [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com) + *Author*: [Llewellyn van der Merwe](mailto:llewellyn@joomlacomponentbuilder.com)
+ *Name*: [Component Builder](https://github.com/vdm-io/Joomla-Component-Builder) + *Name*: [Component Builder](https://github.com/vdm-io/Joomla-Component-Builder)
+ *First Build*: 30th April, 2015 + *First Build*: 30th April, 2015
+ *Last Build*: 30th May, 2018 + *Last Build*: 31st May, 2018
+ *Version*: 2.8.0 + *Version*: 2.8.0
+ *Copyright*: Copyright (C) 2015 - 2018 Vast Development Method. All rights reserved. + *Copyright*: Copyright (C) 2015 - 2018 Vast Development Method. All rights reserved.
+ *License*: GNU General Public License version 2 or later; see LICENSE.txt + *License*: GNU General Public License version 2 or later; see LICENSE.txt
+ *Line count*: **185584** + *Line count*: **185591**
+ *Field count*: **1054** + *Field count*: **1054**
+ *File count*: **1236** + *File count*: **1236**
+ *Folder count*: **197** + *Folder count*: **197**

View File

@ -191,8 +191,7 @@ class Interpretation extends Fields
* *
* @param int $nr The line number * @param int $nr The line number
* *
* @return void * @return string
*
*/ */
private function setLine($nr) private function setLine($nr)
{ {
@ -254,7 +253,10 @@ class Interpretation extends Fields
} }
/** /**
* @param $view * set Lock License Per
*
* @param type $view
* @param type $target
*/ */
public function setLockLicensePer(&$view, $target) public function setLockLicensePer(&$view, $target)
{ {
@ -280,6 +282,14 @@ class Interpretation extends Fields
} }
} }
/**
* Check statment license locked
*
* @param type $boolMethod
* @param type $thIIS
*
* @return string
*/
public function checkStatmentLicenseLocked($boolMethod, $thIIS = '$this') public function checkStatmentLicenseLocked($boolMethod, $thIIS = '$this')
{ {
$statment[] = PHP_EOL . $this->_t(2) . "if (!" . $thIIS . "->" . $boolMethod . "())"; $statment[] = PHP_EOL . $this->_t(2) . "if (!" . $thIIS . "->" . $boolMethod . "())";
@ -293,6 +303,14 @@ class Interpretation extends Fields
return implode(PHP_EOL, $statment); return implode(PHP_EOL, $statment);
} }
/**
* set Bool License Lock
*
* @param type $boolMethod
* @param type $globalbool
*
* @return string
*/
public function setBoolLicenseLock($boolMethod, $globalbool) public function setBoolLicenseLock($boolMethod, $globalbool)
{ {
$bool[] = PHP_EOL . PHP_EOL . $this->_t(1) . "/**"; $bool[] = PHP_EOL . PHP_EOL . $this->_t(1) . "/**";
@ -325,6 +343,14 @@ class Interpretation extends Fields
return implode(PHP_EOL, $bool); return implode(PHP_EOL, $bool);
} }
/**
* set Helper License Lock
*
* @param type $_VDM
* @param type $target
*
* @return string
*/
public function setHelperLicenseLock($_VDM, $target) public function setHelperLicenseLock($_VDM, $target)
{ {
$helper[] = PHP_EOL . PHP_EOL . $this->_t(1) . "/**"; $helper[] = PHP_EOL . PHP_EOL . $this->_t(1) . "/**";
@ -348,6 +374,13 @@ class Interpretation extends Fields
return implode(PHP_EOL, $helper); return implode(PHP_EOL, $helper);
} }
/**
* set Init License Lock
*
* @param type $_VDM
*
* @return string
*/
public function setInitLicenseLock($_VDM) public function setInitLicenseLock($_VDM)
{ {
$init[] = PHP_EOL . "if (!defined('" . $_VDM . "'))"; $init[] = PHP_EOL . "if (!defined('" . $_VDM . "'))";
@ -362,6 +395,11 @@ class Interpretation extends Fields
return implode(PHP_EOL, $init); return implode(PHP_EOL, $init);
} }
/**
* set WHMCS Cryption
*
* @return string
*/
public function setWHMCSCryption() public function setWHMCSCryption()
{ {
// make sure we have the correct file // make sure we have the correct file
@ -549,6 +587,11 @@ class Interpretation extends Fields
return ''; return '';
} }
/**
* set Get Crypt Key
*
* @return string
*/
public function setGetCryptKey() public function setGetCryptKey()
{ {
// ENCRYPT_FILE // ENCRYPT_FILE
@ -714,6 +757,9 @@ class Interpretation extends Fields
return ''; return '';
} }
/**
* set Version Controller
*/
public function setVersionController() public function setVersionController()
{ {
if (ComponentbuilderHelper::checkArray($this->componentData->version_update) || ComponentbuilderHelper::checkArray($this->updateSQLBuilder)) if (ComponentbuilderHelper::checkArray($this->componentData->version_update) || ComponentbuilderHelper::checkArray($this->updateSQLBuilder))
@ -821,6 +867,12 @@ class Interpretation extends Fields
} }
} }
/**
* set Dynamic Update XML SQL
*
* @param array $updateXML
* @param bool $current_version
*/
public function setDynamicUpdateXMLSQL(&$updateXML, $current_version = false) public function setDynamicUpdateXMLSQL(&$updateXML, $current_version = false)
{ {
// start building the update // start building the update
@ -864,6 +916,13 @@ class Interpretation extends Fields
$this->setUpdateXMLSQL($update_, $updateXML, $addDynamicSQL); $this->setUpdateXMLSQL($update_, $updateXML, $addDynamicSQL);
} }
/**
* set Update XML SQL
*
* @param array $update
* @param array $updateXML
* @param boolean $addDynamicSQL
*/
public function setUpdateXMLSQL(&$update, &$updateXML, &$addDynamicSQL) public function setUpdateXMLSQL(&$update, &$updateXML, &$addDynamicSQL)
{ {
// ensure version naming is correct // ensure version naming is correct
@ -931,6 +990,11 @@ class Interpretation extends Fields
} }
} }
/**
* no Help
*
* @return string
*/
public function noHelp() public function noHelp()
{ {
$help = array(); $help = array();
@ -6496,23 +6560,36 @@ class Interpretation extends Fields
{ {
// set the fields array // set the fields array
$field = array(); $field = array();
// use custom code
$useCustomCode = (isset($this->fieldRelations[$viewName_list][(int) $item['id']]['join_type']) && $this->fieldRelations[$viewName_list][(int) $item['id']]['join_type'] == 2 &&
isset($this->fieldRelations[$viewName_list][(int) $item['id']]['set']) && ComponentbuilderHelper::checkString($this->fieldRelations[$viewName_list][(int) $item['id']]['set']));
// load the main list view field // load the main list view field
$field['[field=' . (int) $item['id'] . ']'] = $this->getListItem($item, $viewName_single, $viewName_list, $itemClass, $doNotEscape, $coreLoad, $core, false, $ref, $escape, $user, $refview); $field['[field=' . (int) $item['id'] . ']'] = $this->getListItem($item, $viewName_single, $viewName_list, $itemClass, $doNotEscape, $coreLoad, $core, false, $ref, $escape, $user, $refview);
// code name
if (isset($item['code']) && $useCustomCode)
{
$field['$item->{' . (int) $item['id'] . '}'] = '$item->' . $item['code'];
}
// now load the relations // now load the relations
foreach ($this->fieldRelations[$viewName_list][(int) $item['id']]['joinfields'] as $join) foreach ($this->fieldRelations[$viewName_list][(int) $item['id']]['joinfields'] as $join)
{ {
$blankClass = ''; $blankClass = '';
if (isset($this->listJoinBuilder[$viewName_list]) && isset($this->listJoinBuilder[$viewName_list][(int) $join])) if (isset($this->listJoinBuilder[$viewName_list]) && isset($this->listJoinBuilder[$viewName_list][(int) $join]))
{ {
// code block
$field['[field=' . (int) $join . ']'] = $this->getListItem($this->listJoinBuilder[$viewName_list][(int) $join], $viewName_single, $viewName_list, $blankClass, $doNotEscape, $coreLoad, $core, false, $ref, $escape, $user, $refview); $field['[field=' . (int) $join . ']'] = $this->getListItem($this->listJoinBuilder[$viewName_list][(int) $join], $viewName_single, $viewName_list, $blankClass, $doNotEscape, $coreLoad, $core, false, $ref, $escape, $user, $refview);
// code name
if (isset($this->listJoinBuilder[$viewName_list][(int) $join]['code']) && $useCustomCode)
{
$field['$item->{' . (int) $join . '}'] = '$item->' . $this->listJoinBuilder[$viewName_list][(int) $join]['code'];
}
} }
} }
// join based on join type // join based on join type
if (isset($this->fieldRelations[$viewName_list][(int) $item['id']]['join_type']) && $this->fieldRelations[$viewName_list][(int) $item['id']]['join_type'] == 2 && if ($useCustomCode)
isset($this->fieldRelations[$viewName_list][(int) $item['id']]['set']) && ComponentbuilderHelper::checkString($this->fieldRelations[$viewName_list][(int) $item['id']]['set']))
{ {
// custom code // custom code
return PHP_EOL . $this->_t(3) . "<div>" . str_replace(array_keys($field), array_values($field), $this->fieldRelations[$viewName_list][(int) $item['id']]['set']) . PHP_EOL . $this->_t(3) . "</div>"; return PHP_EOL . $this->_t(3) . "<div>" . $this->setPlaceholders(str_replace(array_keys($field), array_values($field), $this->fieldRelations[$viewName_list][(int) $item['id']]['set']), $this->placeholders) . PHP_EOL . $this->_t(3) . "</div>";
} }
elseif (isset($this->fieldRelations[$viewName_list][(int) $item['id']]['set']) && ComponentbuilderHelper::checkString($this->fieldRelations[$viewName_list][(int) $item['id']]['set'])) elseif (isset($this->fieldRelations[$viewName_list][(int) $item['id']]['set']) && ComponentbuilderHelper::checkString($this->fieldRelations[$viewName_list][(int) $item['id']]['set']))
{ {
@ -6520,7 +6597,7 @@ class Interpretation extends Fields
return PHP_EOL . $this->_t(3) . "<div>" . implode($this->fieldRelations[$viewName_list][(int) $item['id']]['set'], $field) . PHP_EOL . $this->_t(3) . "</div>"; return PHP_EOL . $this->_t(3) . "<div>" . implode($this->fieldRelations[$viewName_list][(int) $item['id']]['set'], $field) . PHP_EOL . $this->_t(3) . "</div>";
} }
// default // default
return PHP_EOL . $this->_t(3) . "<div>" . implode(' ', $field) . PHP_EOL . $this->_t(3) . "</div>"; return PHP_EOL . $this->_t(3) . "<div>" . implode('', $field) . PHP_EOL . $this->_t(3) . "</div>";
} }
return $this->getListItem($item, $viewName_single, $viewName_list, $itemClass, $doNotEscape, $coreLoad, $core, $class, $ref, $escape, $user, $refview); return $this->getListItem($item, $viewName_single, $viewName_list, $itemClass, $doNotEscape, $coreLoad, $core, $class, $ref, $escape, $user, $refview);
} }

View File

@ -6796,8 +6796,8 @@ COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_ACCESS_THE_SERVER_DETAILS_BS_
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_CLONE_A_COMPONENT_PLEASE_CONTACT_YOUR_SYSTEM_ADMINISTRATOR_FOR_MORE_HELP="You do not have permission to clone a component, please contact your system administrator for more help." COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_CLONE_A_COMPONENT_PLEASE_CONTACT_YOUR_SYSTEM_ADMINISTRATOR_FOR_MORE_HELP="You do not have permission to clone a component, please contact your system administrator for more help."
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_IMPORT_A_COMPONENT_PLEASE_CONTACT_YOUR_SYSTEM_ADMINISTRATOR_FOR_MORE_HELP="You do not have permission to import a component, please contact your system administrator for more help." COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_IMPORT_A_COMPONENT_PLEASE_CONTACT_YOUR_SYSTEM_ADMINISTRATOR_FOR_MORE_HELP="You do not have permission to import a component, please contact your system administrator for more help."
COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_SHARE_THE_SNIPPETS_PLEASE_CONTACT_YOUR_SYSTEM_ADMINISTRATOR_FOR_MORE_HELP="You do not have permission to share the snippets, please contact your system administrator for more help." COM_COMPONENTBUILDER_YOU_DO_NOT_HAVE_PERMISSION_TO_SHARE_THE_SNIPPETS_PLEASE_CONTACT_YOUR_SYSTEM_ADMINISTRATOR_FOR_MORE_HELP="You do not have permission to share the snippets, please contact your system administrator for more help."
COM_COMPONENTBUILDER_YOU_HAVE_S_S_ADDING_MORE_THEN_FIFTY_S_IS_CONSIDERED_BAD_PRACTICE="You have %s %s. Adding more then 50 %s is considered bad practice." COM_COMPONENTBUILDER_YOU_HAVE_S_S_ADDING_MORE_THEN_S_S_IS_CONSIDERED_BAD_PRACTICE="You have %s %s. Adding more then %s %s is considered bad practice."
COM_COMPONENTBUILDER_YOU_HAVE_S_S_ADDING_MORE_THEN_FIFTY_S_IS_CONSIDERED_BAD_PRACTICE_YOUR_S_PAGE_LOAD_IN_JCB_WILL_SLOWDOWN_YOU_SHOULD_CONSIDER_DECOUPLING_SOME_OF_THESE_S="You have %s %s. Adding more then 50 %s is considered bad practice. Your %s page load in JCB will slowdown. You should consider decoupling some of these %s." COM_COMPONENTBUILDER_YOU_HAVE_S_S_ADDING_MORE_THEN_S_S_IS_CONSIDERED_BAD_PRACTICE_YOUR_S_PAGE_LOAD_IN_JCB_WILL_SLOWDOWN_YOU_SHOULD_CONSIDER_DECOUPLING_SOME_OF_THESE_S="You have %s %s. Adding more then %s %s is considered bad practice. Your %s page load in JCB will slowdown. You should consider decoupling some of these %s."
COM_COMPONENTBUILDER_YOU_MUST_ADD_AN_UNIQUE_FUNCTION_NAME="You must add an unique function name." COM_COMPONENTBUILDER_YOU_MUST_ADD_AN_UNIQUE_FUNCTION_NAME="You must add an unique function name."
COM_COMPONENTBUILDER_YOU_MUST_ADD_AN_UNIQUE_VALIDATION_RULE_NAME="You must add an unique validation rule name." COM_COMPONENTBUILDER_YOU_MUST_ADD_AN_UNIQUE_VALIDATION_RULE_NAME="You must add an unique validation rule name."
COM_COMPONENTBUILDER_YOU_MUST_FIRST_LINK_AN_ADMIN_OR_A_CUSTOM_ADMIN_VIEW_TO_THIS_COMPONENT_THEN_YOU_CAN_SELECT_IT_HERE="You must first link an admin or a custom admin view to this component, then you can select it here" COM_COMPONENTBUILDER_YOU_MUST_FIRST_LINK_AN_ADMIN_OR_A_CUSTOM_ADMIN_VIEW_TO_THIS_COMPONENT_THEN_YOU_CAN_SELECT_IT_HERE="You must first link an admin or a custom admin view to this component, then you can select it here"

View File

@ -233,24 +233,29 @@ class ComponentbuilderModelAjax extends JModelList
return false; return false;
} }
protected $rowNumbers = array(
'admin_fields_conditions' => 80,
'admin_fields' => 50
);
protected $buttonArray = array( protected $buttonArray = array(
'library_config' => 'libraries_config', 'library_config' => 'libraries_config',
'library_files_folders_urls' => 'libraries_files_folders_urls', 'library_files_folders_urls' => 'libraries_files_folders_urls',
'admin_fields' => 'admins_fields', 'admin_fields' => 'admins_fields',
'admin_fields_conditions' => 'admins_fields_conditions', 'admin_fields_conditions' => 'admins_fields_conditions',
'admin_fields_relations' => 'admins_fields_relations', 'admin_fields_relations' => 'admins_fields_relations',
'validation_rule' => 'validation_rules', 'validation_rule' => 'validation_rules',
'field' => 'fields', 'field' => 'fields',
'component_admin_views' => 'components_admin_views' , 'component_admin_views' => 'components_admin_views' ,
'component_site_views' => 'components_site_views', 'component_site_views' => 'components_site_views',
'component_custom_admin_views' => 'components_custom_views', 'component_custom_admin_views' => 'components_custom_views',
'component_updates' => 'components_updates', 'component_updates' => 'components_updates',
'component_mysql_tweaks' => 'components_mysql_tweaks', 'component_mysql_tweaks' => 'components_mysql_tweaks',
'component_custom_admin_menus' => 'components_custom_admin_menus', 'component_custom_admin_menus' => 'components_custom_admin_menus',
'component_config' => 'components_config', 'component_config' => 'components_config',
'component_dashboard' => 'components_dashboard', 'component_dashboard' => 'components_dashboard',
'component_files_folders' => 'components_files_folders', 'component_files_folders' => 'components_files_folders',
'language' => true); 'language' => true);
public function getButton($type, $size) public function getButton($type, $size)
{ {
@ -702,15 +707,17 @@ class ComponentbuilderModelAjax extends JModelList
$this->checkRepeatableConversion($fieldsData, $fieldName, $id, $idName); $this->checkRepeatableConversion($fieldsData, $fieldName, $id, $idName);
// get the table // get the table
$table = $this->getSubformTable($type, $fieldsData); $table = $this->getSubformTable($type, $fieldsData);
// get row number
$number = (isset($this->rowNumbers[$type]) && $this->rowNumbers[$type]) ? $this->rowNumbers[$type] : false;
// set notice of bad practice // set notice of bad practice
$notice = ''; $notice = '';
if ($idName === 'admin_view' && isset($this->rowNumber) && $this->rowNumber > 50) if ($number && isset($this->rowNumber) && $this->rowNumber > $number)
{ {
$notice = '<div class="alert alert-warning">' . JText::sprintf('COM_COMPONENTBUILDER_YOU_HAVE_S_S_ADDING_MORE_THEN_FIFTY_S_IS_CONSIDERED_BAD_PRACTICE_YOUR_S_PAGE_LOAD_IN_JCB_WILL_SLOWDOWN_YOU_SHOULD_CONSIDER_DECOUPLING_SOME_OF_THESE_S', $this->rowNumber, $typeName, $typeName, $typeName, $typeName) . '</div>'; $notice = '<div class="alert alert-warning">' . JText::sprintf('COM_COMPONENTBUILDER_YOU_HAVE_S_S_ADDING_MORE_THEN_S_S_IS_CONSIDERED_BAD_PRACTICE_YOUR_S_PAGE_LOAD_IN_JCB_WILL_SLOWDOWN_YOU_SHOULD_CONSIDER_DECOUPLING_SOME_OF_THESE_S', $this->rowNumber, $typeName, $number, $typeName, $typeName, $typeName) . '</div>';
} }
elseif ($idName === 'admin_view' && isset($this->rowNumber)) elseif ($number && isset($this->rowNumber))
{ {
$notice = '<div class="alert alert-info">' . JText::sprintf('COM_COMPONENTBUILDER_YOU_HAVE_S_S_ADDING_MORE_THEN_FIFTY_S_IS_CONSIDERED_BAD_PRACTICE', $this->rowNumber, $typeName, $typeName) . '</div>'; $notice = '<div class="alert alert-info">' . JText::sprintf('COM_COMPONENTBUILDER_YOU_HAVE_S_S_ADDING_MORE_THEN_S_S_IS_CONSIDERED_BAD_PRACTICE', $this->rowNumber, $typeName, $number, $typeName) . '</div>';
} }
// return table // return table
return $notice.$table; return $notice.$table;

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<extension type="component" version="3.2" method="upgrade"> <extension type="component" version="3.2" method="upgrade">
<name>COM_COMPONENTBUILDER</name> <name>COM_COMPONENTBUILDER</name>
<creationDate>30th May, 2018</creationDate> <creationDate>31st May, 2018</creationDate>
<author>Llewellyn van der Merwe</author> <author>Llewellyn van der Merwe</author>
<authorEmail>llewellyn@joomlacomponentbuilder.com</authorEmail> <authorEmail>llewellyn@joomlacomponentbuilder.com</authorEmail>
<authorUrl>http://www.joomlacomponentbuilder.com</authorUrl> <authorUrl>http://www.joomlacomponentbuilder.com</authorUrl>