Added the getCustomFieldCode, setFieldFilterSet, setFieldFilterListSet, setFilterFieldFile methods to the field compiler area. Refactored few other methods and added setDefaultSidebarFilterHelper, setCategorySidebarFilterHelper, setBatchDisplayHelper, setDefaultBatchHelper, setCategoryBatchHelper methods in the integration area of the compiler. Improved the header ser feature and added the setCategoryBatchHelper method. gh-378
This commit is contained in:
@ -829,7 +829,8 @@ class Get
|
||||
if (isset($config) && count($config))
|
||||
{
|
||||
// we do not yet have this set as an option
|
||||
$config['remove_line_breaks'] = 2; // 2 is global (use the components value)
|
||||
$config['remove_line_breaks']
|
||||
= 2; // 2 is global (use the components value)
|
||||
// load application
|
||||
$this->app = JFactory::getApplication();
|
||||
// Set the params
|
||||
@ -908,13 +909,15 @@ class Get
|
||||
$this->componentContext = $this->componentCodeName . '.'
|
||||
. $this->componentID;
|
||||
// set if language strings line breaks should be removed
|
||||
$global = ((int) ComponentbuilderHelper::getVar(
|
||||
$global = ((int) ComponentbuilderHelper::getVar(
|
||||
'joomla_component', $this->componentID, 'id',
|
||||
'remove_line_breaks'
|
||||
) == 1) ? true : false;
|
||||
$this->removeLineBreaks = ((int) $config['remove_line_breaks'] == 0)
|
||||
$this->removeLineBreaks = ((int) $config['remove_line_breaks']
|
||||
== 0)
|
||||
? false
|
||||
: (((int) $config['remove_line_breaks'] == 1) ? true : $global);
|
||||
: (((int) $config['remove_line_breaks'] == 1) ? true
|
||||
: $global);
|
||||
// set if placeholders should be added to customcode
|
||||
$global = ((int) ComponentbuilderHelper::getVar(
|
||||
'joomla_component', $this->componentID, 'id',
|
||||
@ -1510,15 +1513,18 @@ class Get
|
||||
$array['view']
|
||||
);
|
||||
// set the filter option for this view
|
||||
$this->adminFilterType[$array['settings']->name_list_code] = 1; // Side (old) [default for now]
|
||||
$this->adminFilterType[$array['settings']->name_list_code]
|
||||
= 1; // Side (old) [default for now]
|
||||
if (isset($array['filter'])
|
||||
&& is_numeric(
|
||||
$array['filter']
|
||||
)
|
||||
&& $array['filter'] > 0)
|
||||
{
|
||||
$this->adminFilterType[$array['settings']->name_list_code] = (int) $array['filter'];
|
||||
$this->adminFilterType[$array['settings']->name_list_code]
|
||||
= (int) $array['filter'];
|
||||
}
|
||||
|
||||
return $array;
|
||||
}, array_values($component->addadmin_views)
|
||||
);
|
||||
@ -2099,14 +2105,16 @@ class Get
|
||||
}
|
||||
elseif (!isset($this->langContent[$target][$language]))
|
||||
{
|
||||
$this->langContent[$target][$language] = $this->fixLangString($string);
|
||||
$this->langContent[$target][$language] = $this->fixLangString(
|
||||
$string
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* We need to remove all text breaks from all language strings
|
||||
*
|
||||
* @param string $string The language string
|
||||
* @param string $string The language string
|
||||
*
|
||||
* @return string
|
||||
*
|
||||
@ -2117,6 +2125,7 @@ class Get
|
||||
{
|
||||
return trim(str_replace(array(PHP_EOL, "\r", "\n"), '', $string));
|
||||
}
|
||||
|
||||
return trim($string);
|
||||
}
|
||||
|
||||
@ -2248,8 +2257,9 @@ class Get
|
||||
{
|
||||
$this->customScriptBuilder['token'] = array();
|
||||
}
|
||||
$this->customScriptBuilder['token'][$view->name_single_code] = false;
|
||||
$this->customScriptBuilder['token'][$view->name_list_code] = false;
|
||||
$this->customScriptBuilder['token'][$view->name_single_code]
|
||||
= false;
|
||||
$this->customScriptBuilder['token'][$view->name_list_code] = false;
|
||||
// set some placeholders
|
||||
$this->placeholders[$this->hhh . 'view' . $this->hhh]
|
||||
= $view->name_single_code;
|
||||
@ -2302,7 +2312,8 @@ class Get
|
||||
|
||||
// set custom tabs
|
||||
$this->customTabs[$view->name_single_code] = null;
|
||||
$view->customtabs = (isset($view->customtabs)
|
||||
$view->customtabs
|
||||
= (isset($view->customtabs)
|
||||
&& ComponentbuilderHelper::checkJson($view->customtabs))
|
||||
? json_decode($view->customtabs, true) : null;
|
||||
if (ComponentbuilderHelper::checkArray($view->customtabs))
|
||||
@ -2476,7 +2487,8 @@ class Get
|
||||
) {
|
||||
// set the field details
|
||||
$this->setFieldDetails(
|
||||
$field, $view->name_single_code, $view->name_list_code
|
||||
$field, $view->name_single_code,
|
||||
$view->name_list_code
|
||||
);
|
||||
// check if this field is a default field OR
|
||||
// check if this is none database related field
|
||||
@ -2542,7 +2554,9 @@ class Get
|
||||
foreach ($view->fields as $field)
|
||||
{
|
||||
// so first we lock the field name in
|
||||
$field_name = $this->getFieldName($field, $view->name_list_code);
|
||||
$field_name = $this->getFieldName(
|
||||
$field, $view->name_list_code
|
||||
);
|
||||
// check if the field changed since the last compilation (default fields never change and are always added)
|
||||
if (!isset($ignoreFields[$field['field']])
|
||||
&& ComponentbuilderHelper::checkObject(
|
||||
@ -2567,7 +2581,8 @@ class Get
|
||||
. $field['settings']->history->datalenght_other,
|
||||
$field['settings']->datalenght
|
||||
. $field['settings']->datalenght_other,
|
||||
'field.lenght', $view->name_single_code . '.' . $field_name
|
||||
'field.lenght',
|
||||
$view->name_single_code . '.' . $field_name
|
||||
);
|
||||
}
|
||||
// check if the name changed
|
||||
@ -2611,7 +2626,8 @@ class Get
|
||||
$this->setUpdateSQL(
|
||||
$old_field_name, $field_name,
|
||||
'field.name',
|
||||
$view->name_single_code . '.' . $field_name
|
||||
$view->name_single_code . '.'
|
||||
. $field_name
|
||||
);
|
||||
}
|
||||
elseif ($old_field_name !== $field_name)
|
||||
@ -2624,7 +2640,8 @@ class Get
|
||||
$this->app->enqueueMessage(
|
||||
JText::sprintf(
|
||||
'You have a field called <b>%s</b> that has been added multiple times to the <b>%s</b> view, the name of that field has changed to <b>%s</b>. Normaly we would automaticly add the update SQL to your component, but with multiple fields this does not work automaticly since it could be that noting changed and it just seems like it did. Therefore you will have to do this manualy if it actualy did change!',
|
||||
$field_name, $view->name_single_code,
|
||||
$field_name,
|
||||
$view->name_single_code,
|
||||
$old_field_name
|
||||
), 'Notice'
|
||||
);
|
||||
@ -2646,7 +2663,8 @@ class Get
|
||||
$this->setUpdateSQL(
|
||||
ComponentbuilderHelper::safeString(
|
||||
$old_view->name_single
|
||||
), $view->name_single_code, 'table_name', $view->name_single_code
|
||||
), $view->name_single_code, 'table_name',
|
||||
$view->name_single_code
|
||||
);
|
||||
}
|
||||
// loop the mysql table settings
|
||||
@ -2877,7 +2895,7 @@ class Get
|
||||
// set linked views
|
||||
$this->linkedAdminViews[$view->name_single_code] = null;
|
||||
$view->addlinked_views
|
||||
= (isset($view->addlinked_views)
|
||||
= (isset($view->addlinked_views)
|
||||
&& ComponentbuilderHelper::checkJson($view->addlinked_views))
|
||||
? json_decode($view->addlinked_views, true) : null;
|
||||
if (ComponentbuilderHelper::checkArray($view->addlinked_views))
|
||||
@ -2989,7 +3007,9 @@ class Get
|
||||
);
|
||||
|
||||
// check if we have template or layouts to load
|
||||
$this->setTemplateAndLayoutData($view->{$scripter}, $view->name_single_code);
|
||||
$this->setTemplateAndLayoutData(
|
||||
$view->{$scripter}, $view->name_single_code
|
||||
);
|
||||
|
||||
unset($view->{$scripter});
|
||||
}
|
||||
@ -3023,7 +3043,9 @@ class Get
|
||||
);
|
||||
|
||||
// check if we have template or layouts to load
|
||||
$this->setTemplateAndLayoutData($view->{$button_code_field}, $view->name_single_code);
|
||||
$this->setTemplateAndLayoutData(
|
||||
$view->{$button_code_field}, $view->name_single_code
|
||||
);
|
||||
}
|
||||
}
|
||||
// set the button array
|
||||
@ -3053,7 +3075,7 @@ class Get
|
||||
{
|
||||
// update GUI mapper field
|
||||
$guiMapper['field'] = $importScripter;
|
||||
$guiMapper['type'] = 'php';
|
||||
$guiMapper['type'] = 'php';
|
||||
// Make sure html gets HTML comment for placeholder
|
||||
if ('html_import_view' === $importScripter)
|
||||
{
|
||||
@ -3083,8 +3105,9 @@ class Get
|
||||
if (isset($view->add_php_ajax) && $view->add_php_ajax == 1)
|
||||
{
|
||||
// insure the token is added to edit view atleast
|
||||
$this->customScriptBuilder['token'][$view->name_single_code] = true;
|
||||
$addAjaxSite = false;
|
||||
$this->customScriptBuilder['token'][$view->name_single_code]
|
||||
= true;
|
||||
$addAjaxSite = false;
|
||||
if (isset($this->siteEditView[$id]) && $this->siteEditView[$id])
|
||||
{
|
||||
// we should add this site ajax to front ajax
|
||||
@ -3166,9 +3189,12 @@ class Get
|
||||
if (ComponentbuilderHelper::checkArray($alias_fields))
|
||||
{
|
||||
// load the field names
|
||||
$this->customAliasBuilder[$view->name_single_code] = (array) array_map(
|
||||
$this->customAliasBuilder[$view->name_single_code]
|
||||
= (array) array_map(
|
||||
function ($field) use (&$view) {
|
||||
return $this->getFieldName($field, $view->name_list_code);
|
||||
return $this->getFieldName(
|
||||
$field, $view->name_list_code
|
||||
);
|
||||
}, $alias_fields
|
||||
);
|
||||
}
|
||||
@ -3182,7 +3208,9 @@ class Get
|
||||
{
|
||||
// build and add the SQL dump
|
||||
$this->customScriptBuilder['sql'][$view->name_single_code]
|
||||
= $this->buildSqlDump($view->tables, $view->name_single_code, $id);
|
||||
= $this->buildSqlDump(
|
||||
$view->tables, $view->name_single_code, $id
|
||||
);
|
||||
unset($view->tables);
|
||||
}
|
||||
elseif ($view->source == 2 && isset($view->sql))
|
||||
@ -6447,6 +6475,7 @@ class Get
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -8797,7 +8826,7 @@ class Get
|
||||
$addScriptTypes = array('install', 'update',
|
||||
'uninstall');
|
||||
// the next are php placeholders
|
||||
$guiMapper['type'] = 'php';
|
||||
$guiMapper['type'] = 'php';
|
||||
foreach ($addScriptMethods as $scriptMethod)
|
||||
{
|
||||
foreach ($addScriptTypes as $scriptType)
|
||||
@ -9279,7 +9308,7 @@ class Get
|
||||
);
|
||||
// set description
|
||||
$this->placeholders[$this->hhh . 'DESCRIPTION' . $this->hhh]
|
||||
= $plugin->description;
|
||||
= $plugin->description;
|
||||
$plugin->description = '<p>' . $plugin->description
|
||||
. '</p>';
|
||||
}
|
||||
@ -9765,13 +9794,16 @@ class Get
|
||||
);
|
||||
unset(
|
||||
$this->placeholders[$this->hhh . 'VERSION'
|
||||
. $this->hhh]);
|
||||
. $this->hhh]
|
||||
);
|
||||
unset(
|
||||
$this->placeholders[$this->hhh . 'DESCRIPTION'
|
||||
. $this->hhh]);
|
||||
. $this->hhh]
|
||||
);
|
||||
unset(
|
||||
$this->placeholders[$this->hhh . 'PLUGIN_NAME'
|
||||
. $this->hhh]);
|
||||
. $this->hhh]
|
||||
);
|
||||
|
||||
$this->joomlaPlugins[$id] = $plugin;
|
||||
|
||||
@ -10432,19 +10464,26 @@ class Get
|
||||
if (strpos($script, 'LOCKBASE64((((') !== false)
|
||||
{
|
||||
// get the strings
|
||||
$values = ComponentbuilderHelper::getAllBetween($script, 'LOCKBASE64((((', '))))');
|
||||
$values = ComponentbuilderHelper::getAllBetween(
|
||||
$script, 'LOCKBASE64((((', '))))'
|
||||
);
|
||||
$locker = array();
|
||||
// convert them
|
||||
foreach($values as $value)
|
||||
foreach ($values as $value)
|
||||
{
|
||||
$locker['LOCKBASE64((((' . $value . '))))'] = "base64_decode( preg_replace('/\s+/', ''," .
|
||||
$locker['LOCKBASE64((((' . $value . '))))']
|
||||
= "base64_decode( preg_replace('/\s+/', ''," .
|
||||
PHP_EOL . $this->_t(2) . "'" .
|
||||
wordwrap(base64_encode($value), 64, PHP_EOL . $this->_t(2), true) .
|
||||
wordwrap(
|
||||
base64_encode($value), 64, PHP_EOL . $this->_t(2), true
|
||||
) .
|
||||
"'))";
|
||||
}
|
||||
|
||||
// update the script
|
||||
return $this->setPlaceholders($script, $locker);
|
||||
}
|
||||
|
||||
return $script;
|
||||
}
|
||||
|
||||
|
@ -2634,11 +2634,13 @@ class Structure extends Get
|
||||
{
|
||||
// get the fields ids
|
||||
$ids = array_map(
|
||||
'trim', explode(
|
||||
',', ComponentbuilderHelper::getBetween(
|
||||
$multi_field['settings']->xml, 'fields="', '"'
|
||||
)
|
||||
)
|
||||
'trim',
|
||||
explode(
|
||||
',',
|
||||
ComponentbuilderHelper::getBetween(
|
||||
$multi_field['settings']->xml, 'fields="', '"'
|
||||
)
|
||||
)
|
||||
);
|
||||
if (ComponentbuilderHelper::checkArray($ids))
|
||||
{
|
||||
|
@ -5003,16 +5003,28 @@ class Fields extends Structure
|
||||
&& $typeName != 'repeatable'
|
||||
&& $typeName != 'subform'))
|
||||
{
|
||||
$this->filterBuilder[$nameListCode][] = array('type' => $typeName,
|
||||
'multi' => $field['filter'],
|
||||
'code' => $name,
|
||||
'lang' => $listLangName,
|
||||
'database' => $nameSingleCode,
|
||||
'function' => ComponentbuilderHelper::safeString(
|
||||
$name, 'F'
|
||||
),
|
||||
'custom' => $custom,
|
||||
'options' => $options);
|
||||
// this pains me... but to avoid collusion
|
||||
$filter_type_code = ComponentbuilderHelper::safeString(
|
||||
$name . $field['filter'] . $typeName
|
||||
);
|
||||
$filter_type_code = preg_replace('/_+/', '', $filter_type_code);
|
||||
$filter_function_name = ComponentbuilderHelper::safeString(
|
||||
$name, 'F'
|
||||
);
|
||||
// add the filter details
|
||||
$this->filterBuilder[$nameListCode][] = array(
|
||||
'id' => (int) $field['field'],
|
||||
'type' => $typeName,
|
||||
'multi' => $field['filter'],
|
||||
'code' => $name,
|
||||
'label' => $langLabel,
|
||||
'lang' => $listLangName,
|
||||
'database' => $nameSingleCode,
|
||||
'function' => $filter_function_name,
|
||||
'custom' => $custom,
|
||||
'options' => $options,
|
||||
'filter_type' => $filter_type_code
|
||||
);
|
||||
}
|
||||
|
||||
// build the layout
|
||||
@ -5148,7 +5160,7 @@ class Fields extends Structure
|
||||
}
|
||||
// start loading the field type
|
||||
$this->fileContentDynamic['customfield_' . $data['type']] = array();
|
||||
// JPREFIX <<DYNAMIC>>>
|
||||
// JPREFIX <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic['customfield_' . $data['type']][$this->hhh
|
||||
. 'JPREFIX' . $this->hhh]
|
||||
= $jprefix;
|
||||
@ -5414,6 +5426,275 @@ class Fields extends Structure
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* This is just to get the code.
|
||||
* Don't use this to build the field
|
||||
*
|
||||
* @param array $custom The field complete data set
|
||||
*
|
||||
* @return array with the code
|
||||
*
|
||||
*/
|
||||
public function getCustomFieldCode($custom)
|
||||
{
|
||||
// the code bucket
|
||||
$code_bucket = array(
|
||||
'JFORM_TYPE_HEADER' => '',
|
||||
'JFORM_TYPE_PHP' => ''
|
||||
);
|
||||
// set tab and break replacements
|
||||
$tabBreak = array(
|
||||
'\t' => $this->_t(1),
|
||||
'\n' => PHP_EOL
|
||||
);
|
||||
// load the other PHP options
|
||||
foreach (ComponentbuilderHelper::$phpFieldArray as $x)
|
||||
{
|
||||
// reset the php bucket
|
||||
$phpBucket = '';
|
||||
// only set if available
|
||||
if (isset($custom['php' . $x])
|
||||
&& ComponentbuilderHelper::checkArray(
|
||||
$custom['php' . $x]
|
||||
))
|
||||
{
|
||||
foreach ($custom['php' . $x] as $line => $code)
|
||||
{
|
||||
if (ComponentbuilderHelper::checkString($code))
|
||||
{
|
||||
$phpBucket .= PHP_EOL . $this->setPlaceholders(
|
||||
$code, $tabBreak
|
||||
);
|
||||
}
|
||||
}
|
||||
// check if this is header text
|
||||
if ('HEADER' === $x)
|
||||
{
|
||||
$code_bucket['JFORM_TYPE_HEADER']
|
||||
.= PHP_EOL . $phpBucket;
|
||||
}
|
||||
else
|
||||
{
|
||||
// JFORM_TYPE_PHP <<<DYNAMIC>>>
|
||||
$code_bucket['JFORM_TYPE_PHP']
|
||||
.= PHP_EOL . $phpBucket;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $code_bucket;
|
||||
}
|
||||
|
||||
/**
|
||||
* set the Filter Field set of a view
|
||||
*
|
||||
* @param string $nameSingleCode The single view name
|
||||
* @param string $nameListCode The list view name
|
||||
*
|
||||
* @return string The fields set in xml
|
||||
*
|
||||
*/
|
||||
public function setFieldFilterSet(&$nameSingleCode, &$nameListCode)
|
||||
{
|
||||
// check if this is the above/new filter option
|
||||
if (isset($this->adminFilterType[$nameListCode])
|
||||
&& $this->adminFilterType[$nameListCode] == 2
|
||||
&& isset($this->filterBuilder[$nameListCode])
|
||||
&& ComponentbuilderHelper::checkArray(
|
||||
$this->filterBuilder[$nameListCode]
|
||||
))
|
||||
{
|
||||
// we first create the file
|
||||
$target = array('admin' => 'filter_' . $nameListCode);
|
||||
$this->buildDynamique(
|
||||
$target, 'filter'
|
||||
);
|
||||
// now build the XML
|
||||
$field_filter_sets = array();
|
||||
$field_filter_sets[] = $this->_t(1) . '<fields name="filter">';
|
||||
// we first add the search
|
||||
$field_filter_sets[] = $this->_t(2) . '<field';
|
||||
$field_filter_sets[] = $this->_t(3) . 'type="text"';
|
||||
$field_filter_sets[] = $this->_t(3) . 'name="search"';
|
||||
$field_filter_sets[] = $this->_t(3) . 'inputmode="search"';
|
||||
$field_filter_sets[] = $this->_t(3)
|
||||
. 'label="COM_CONTENT_FILTER_SEARCH_LABEL"';
|
||||
$field_filter_sets[] = $this->_t(3)
|
||||
. 'description="COM_CONTENT_FILTER_SEARCH_DESC"';
|
||||
$field_filter_sets[] = $this->_t(3) . 'hint="JSEARCH_FILTER"';
|
||||
$field_filter_sets[] = $this->_t(2) . '/>';
|
||||
// add the published filter if published is not set
|
||||
if (!isset($this->fieldsNames[$nameSingleCode]['published']))
|
||||
{
|
||||
$field_filter_sets[] = $this->_t(2) . '<field';
|
||||
$field_filter_sets[] = $this->_t(3) . 'type="status"';
|
||||
$field_filter_sets[] = $this->_t(3) . 'name="published"';
|
||||
$field_filter_sets[] = $this->_t(3)
|
||||
. 'label="COM_CONTENT_FILTER_PUBLISHED"';
|
||||
$field_filter_sets[] = $this->_t(3)
|
||||
. 'description="COM_CONTENT_FILTER_PUBLISHED_DESC"';
|
||||
$field_filter_sets[] = $this->_t(3)
|
||||
. 'onchange="this.form.submit();"';
|
||||
$field_filter_sets[] = $this->_t(2) . '>';
|
||||
$field_filter_sets[] = $this->_t(3)
|
||||
. '<option value="">JOPTION_SELECT_PUBLISHED</option>';
|
||||
$field_filter_sets[] = $this->_t(2) . '</field>';
|
||||
}
|
||||
// add the access filter if this view has access
|
||||
// and if access manually is not set
|
||||
if (isset($this->accessBuilder[$nameSingleCode])
|
||||
&& ComponentbuilderHelper::checkString(
|
||||
$this->accessBuilder[$nameSingleCode]
|
||||
)
|
||||
&& !isset($this->fieldsNames[$nameSingleCode]['access']))
|
||||
{
|
||||
$field_filter_sets[] = $this->_t(2) . '<field';
|
||||
$field_filter_sets[] = $this->_t(3) . 'type="accesslevel"';
|
||||
$field_filter_sets[] = $this->_t(3) . 'name="access"';
|
||||
$field_filter_sets[] = $this->_t(3)
|
||||
. 'label="JOPTION_FILTER_ACCESS"';
|
||||
$field_filter_sets[] = $this->_t(3)
|
||||
. 'description="JOPTION_FILTER_ACCESS_DESC"';
|
||||
$field_filter_sets[] = $this->_t(3) . 'multiple="true"';
|
||||
$field_filter_sets[] = $this->_t(3)
|
||||
. 'class="multipleAccessLevels"';
|
||||
$field_filter_sets[] = $this->_t(3)
|
||||
. 'onchange="this.form.submit();"';
|
||||
$field_filter_sets[] = $this->_t(2) . '/>';
|
||||
}
|
||||
// now add the dynamic fields
|
||||
foreach ($this->filterBuilder[$nameListCode] as $r => &$filter)
|
||||
{
|
||||
if ($filter['type'] != 'category')
|
||||
{
|
||||
$field_filter_sets[] = $this->_t(2) . '<field';
|
||||
// if this is a custom field
|
||||
if (ComponentbuilderHelper::checkArray(
|
||||
$filter['custom']
|
||||
))
|
||||
{
|
||||
// we use the field type from the custom field
|
||||
$field_filter_sets[] = $this->_t(3) . 'type="'
|
||||
. $filter['type'] . '"';
|
||||
// set css classname of this field
|
||||
$filter['class'] = ucfirst($filter['type']);
|
||||
}
|
||||
else
|
||||
{
|
||||
// we use the filter field type that was build
|
||||
$field_filter_sets[] = $this->_t(3) . 'type="'
|
||||
. $filter['filter_type'] . '"';
|
||||
// set css classname of this field
|
||||
$filter['class'] = ucfirst($filter['filter_type']);
|
||||
}
|
||||
$field_filter_sets[] = $this->_t(3) . 'name="'
|
||||
. $filter['code'] . '"';
|
||||
$field_filter_sets[] = $this->_t(3) . 'label="'
|
||||
. $filter['label'] . '"';
|
||||
// if this is a multi field
|
||||
if ($filter['multi'] == 2)
|
||||
{
|
||||
$field_filter_sets[] = $this->_t(3) . 'class="multiple'
|
||||
. $filter['class'] . '"';
|
||||
$field_filter_sets[] = $this->_t(3) . 'multiple="true"';
|
||||
}
|
||||
else
|
||||
{
|
||||
$field_filter_sets[] = $this->_t(3)
|
||||
. 'multiple="false"';
|
||||
}
|
||||
$field_filter_sets[] = $this->_t(3)
|
||||
. 'onchange="this.form.submit();"';
|
||||
$field_filter_sets[] = $this->_t(2) . '/>';
|
||||
}
|
||||
}
|
||||
$field_filter_sets[] = $this->_t(2)
|
||||
. '<input type="hidden" name="form_submited" value="1"/>';
|
||||
$field_filter_sets[] = $this->_t(1) . '</fields>';
|
||||
|
||||
// now update the file
|
||||
return implode(PHP_EOL, $field_filter_sets);
|
||||
}
|
||||
|
||||
return '';
|
||||
}
|
||||
|
||||
/**
|
||||
* set the Filter List set of a view
|
||||
*
|
||||
* @param string $nameSingleCode The single view name
|
||||
* @param string $nameListCode The list view name
|
||||
*
|
||||
* @return string The fields set in xml
|
||||
*
|
||||
*/
|
||||
public function setFieldFilterListSet(&$nameSingleCode, &$nameListCode)
|
||||
{
|
||||
// soon we will add this TODO
|
||||
return '';
|
||||
}
|
||||
|
||||
/**
|
||||
* set Custom Field for Filter
|
||||
*
|
||||
* @param string $getOptions The get options php string/code
|
||||
* @param array $filter The filter details
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
*/
|
||||
public function setFilterFieldFile($getOptions, $filter)
|
||||
{
|
||||
// make sure it is not already been build
|
||||
if (!isset(
|
||||
$this->fileContentDynamic['customfilterfield_'
|
||||
. $filter['filter_type']]
|
||||
)
|
||||
|| !ComponentbuilderHelper::checkArray(
|
||||
$this->fileContentDynamic['customfilterfield_'
|
||||
. $filter['filter_type']]
|
||||
)
|
||||
)
|
||||
{
|
||||
// start loading the field type
|
||||
$this->fileContentDynamic['customfilterfield_'
|
||||
. $filter['filter_type']]
|
||||
= array();
|
||||
// JPREFIX <<DYNAMIC>>>
|
||||
$this->fileContentDynamic['customfilterfield_'
|
||||
. $filter['filter_type']][$this->hhh
|
||||
. 'JPREFIX' . $this->hhh]
|
||||
= 'J';
|
||||
// Type <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic['customfilterfield_'
|
||||
. $filter['filter_type']][$this->hhh
|
||||
. 'Type' . $this->hhh]
|
||||
= ComponentbuilderHelper::safeString(
|
||||
$filter['filter_type'], 'F'
|
||||
);
|
||||
// type <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic['customfilterfield_'
|
||||
. $filter['filter_type']][$this->hhh
|
||||
. 'type' . $this->hhh]
|
||||
= ComponentbuilderHelper::safeString($filter['filter_type']);
|
||||
// JFORM_GETOPTIONS_PHP <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic['customfilterfield_'
|
||||
. $filter['filter_type']][$this->hhh . 'JFORM_GETOPTIONS_PHP'
|
||||
. $this->hhh]
|
||||
= $getOptions;
|
||||
// ADD_BUTTON <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic['customfilterfield_'
|
||||
. $filter['filter_type']][$this->hhh . 'ADD_BUTTON' . $this->hhh]
|
||||
= '';
|
||||
// now build the custom filter field type file
|
||||
$target = array('admin' => 'customfilterfield');
|
||||
$this->buildDynamique(
|
||||
$target, 'fieldlist',
|
||||
$filter['filter_type']
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* set Add Button To List Field (getInput tweak)
|
||||
*
|
||||
|
@ -14596,7 +14596,7 @@ class Interpretation extends Fields
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function setGetItemsModelMethod($nameSingleCode, $nameListCode,
|
||||
public function setGetItemsModelMethod(&$nameSingleCode, &$nameListCode,
|
||||
$config
|
||||
= array('functionName' => 'getExportData',
|
||||
'docDesc' => 'Method to get list export data.',
|
||||
@ -15155,7 +15155,7 @@ class Interpretation extends Fields
|
||||
. $this->hhh];
|
||||
}
|
||||
|
||||
public function setListQuery($nameSingleCode, $nameListCode)
|
||||
public function setListQuery(&$nameSingleCode, &$nameListCode)
|
||||
{
|
||||
// check if this view has category added
|
||||
if (isset($this->categoryBuilder[$nameListCode])
|
||||
@ -17420,31 +17420,41 @@ class Interpretation extends Fields
|
||||
* @return string The php to place in view.html.php
|
||||
*
|
||||
*/
|
||||
public function setFilterFunctions($nameSingleCode, $nameListCode)
|
||||
public function setFilterFieldHelper(&$nameSingleCode, &$nameListCode)
|
||||
{
|
||||
// the old filter type uses these functions
|
||||
if (isset($this->adminFilterType[$nameListCode])
|
||||
&& $this->adminFilterType[$nameListCode] == 1
|
||||
&& isset($this->filterBuilder[$nameListCode])
|
||||
if (isset($this->filterBuilder[$nameListCode])
|
||||
&& ComponentbuilderHelper::checkArray(
|
||||
$this->filterBuilder[$nameListCode]
|
||||
))
|
||||
{
|
||||
// set the function or file path
|
||||
$funtion_path = true;
|
||||
if (isset($this->adminFilterType[$nameListCode])
|
||||
&& $this->adminFilterType[$nameListCode] == 2)
|
||||
{
|
||||
$funtion_path = false;
|
||||
}
|
||||
$function = array();
|
||||
// set component name
|
||||
$component = $this->componentCodeName;
|
||||
$Component = ucfirst($component);
|
||||
foreach ($this->filterBuilder[$nameListCode] as $filter)
|
||||
{
|
||||
if ($filter['type'] != 'category'
|
||||
&& ComponentbuilderHelper::checkArray($filter['custom'])
|
||||
&& $filter['custom']['extends'] === 'user')
|
||||
{
|
||||
$function[] = PHP_EOL . $this->_t(1)
|
||||
. "protected function getThe" . $filter['function']
|
||||
. ComponentbuilderHelper::safeString(
|
||||
$filter['custom']['text'], 'F'
|
||||
) . "Selections()";
|
||||
$function[] = $this->_t(1) . "{";
|
||||
// add if this is a function path
|
||||
if ($funtion_path)
|
||||
{
|
||||
$function[] = PHP_EOL . $this->_t(1)
|
||||
. "protected function getThe" . $filter['function']
|
||||
. ComponentbuilderHelper::safeString(
|
||||
$filter['custom']['text'], 'F'
|
||||
) . "Selections()";
|
||||
$function[] = $this->_t(1) . "{";
|
||||
}
|
||||
$function[] = $this->_t(2) . "//" . $this->setLine(__LINE__)
|
||||
. " Get a db connection.";
|
||||
$function[] = $this->_t(2) . "\$db = JFactory::getDbo();";
|
||||
@ -17498,7 +17508,11 @@ class Interpretation extends Fields
|
||||
$function[] = $this->_t(3) . "return \$filter;";
|
||||
$function[] = $this->_t(2) . "}";
|
||||
$function[] = $this->_t(2) . "return false;";
|
||||
$function[] = $this->_t(1) . "}";
|
||||
// add if this is a function path
|
||||
if ($funtion_path)
|
||||
{
|
||||
$function[] = $this->_t(1) . "}";
|
||||
}
|
||||
|
||||
/* else
|
||||
{
|
||||
@ -17554,10 +17568,14 @@ class Interpretation extends Fields
|
||||
{
|
||||
$translation = true;
|
||||
}
|
||||
$function[] = PHP_EOL . $this->_t(1)
|
||||
. "protected function getThe" . $filter['function']
|
||||
. "Selections()";
|
||||
$function[] = $this->_t(1) . "{";
|
||||
// add if this is a function path
|
||||
if ($funtion_path)
|
||||
{
|
||||
$function[] = PHP_EOL . $this->_t(1)
|
||||
. "protected function getThe" . $filter['function']
|
||||
. "Selections()";
|
||||
$function[] = $this->_t(1) . "{";
|
||||
}
|
||||
$function[] = $this->_t(2) . "//" . $this->setLine(__LINE__)
|
||||
. " Get a db connection.";
|
||||
$function[] = $this->_t(2) . "\$db = JFactory::getDbo();";
|
||||
@ -17620,7 +17638,7 @@ class Interpretation extends Fields
|
||||
$function[] = $this->_t(2) . "{";
|
||||
|
||||
// check if translated value is used
|
||||
if ($translation)
|
||||
if ($funtion_path && $translation)
|
||||
{
|
||||
$function[] = $this->_t(3) . "//" . $this->setLine(
|
||||
__LINE__
|
||||
@ -17628,6 +17646,15 @@ class Interpretation extends Fields
|
||||
$function[] = $this->_t(3)
|
||||
. "\$model = \$this->getModel();";
|
||||
}
|
||||
elseif ($translation)
|
||||
{
|
||||
$function[] = $this->_t(3) . "//" . $this->setLine(
|
||||
__LINE__
|
||||
) . " get " . $nameListCode . "model";
|
||||
$function[] = $this->_t(3)
|
||||
. "\$model = " . $Component . "Helper::getModel('"
|
||||
. $nameListCode . "');";
|
||||
}
|
||||
// check if usergroup as we change to an object query
|
||||
if ($filter['type'] !== 'usergroup')
|
||||
{
|
||||
@ -17698,10 +17725,70 @@ class Interpretation extends Fields
|
||||
$function[] = $this->_t(3) . "return \$_filter;";
|
||||
$function[] = $this->_t(2) . "}";
|
||||
$function[] = $this->_t(2) . "return false;";
|
||||
$function[] = $this->_t(1) . "}";
|
||||
// add if this is a function path
|
||||
if ($funtion_path)
|
||||
{
|
||||
$function[] = $this->_t(1) . "}";
|
||||
}
|
||||
}
|
||||
// we check if this is a multi field
|
||||
// and if there is a blank option
|
||||
// and give a notice that this will cause an issue
|
||||
elseif (!$funtion_path && $filter['type'] != 'category'
|
||||
&& $filter['multi'] == 2
|
||||
&& ComponentbuilderHelper::checkArray($filter['custom']))
|
||||
{
|
||||
//var_dump($filter);
|
||||
//jexit();
|
||||
// get the field code
|
||||
$field_code = $this->getCustomFieldCode(
|
||||
$filter['custom']
|
||||
)['JFORM_TYPE_PHP'];
|
||||
// check for the [JHtml::_('select.option', '',] code
|
||||
if (strpos($field_code, "JHtml::_('select.option', '',")
|
||||
!== false
|
||||
&& strpos($field_code, '($this->multiple === false)')
|
||||
=== false)
|
||||
{
|
||||
// for now we just give an error message (don't fix it)
|
||||
$this->app->enqueueMessage(
|
||||
JText::_('<hr /><h3>Multi Filter Error</h3>'),
|
||||
'Error'
|
||||
);
|
||||
$field_url
|
||||
= "index.php?option=com_componentbuilder&view=fields&task=field.edit&id="
|
||||
. $filter['id'];
|
||||
$field_fix
|
||||
= "<pre>if (\$this->multiple === false) { // <-- this if statement is needed";
|
||||
$field_fix .= PHP_EOL . $this->_t(1)
|
||||
. "\$options[] = JHtml::_('select.option', '', 'Select an option'); // <-- the empty option";
|
||||
$field_fix .= PHP_EOL . "}</pre>";
|
||||
$this->app->enqueueMessage(
|
||||
JText::sprintf(
|
||||
'We detected that you have an empty option in a <a href="%s" target="_blank">custom field (%s)</a> that is used in a multi filter.<br />This will cause a problem, you will need to add the following code to it.<br />%s',
|
||||
$field_url,
|
||||
$filter['code'],
|
||||
$field_fix
|
||||
), 'Error'
|
||||
);
|
||||
}
|
||||
}
|
||||
// divert the code to a file if this is not a funtion path
|
||||
if (!$funtion_path
|
||||
&& ComponentbuilderHelper::checkArray(
|
||||
$function
|
||||
))
|
||||
{
|
||||
// set the filter file
|
||||
$this->setFilterFieldFile(
|
||||
implode(PHP_EOL, $function), $filter
|
||||
);
|
||||
// clear the filter out
|
||||
$function = array();
|
||||
}
|
||||
}
|
||||
if (ComponentbuilderHelper::checkArray($function))
|
||||
// if this is a function path, return the function if set
|
||||
if ($funtion_path && ComponentbuilderHelper::checkArray($function))
|
||||
{
|
||||
// return the function
|
||||
return PHP_EOL . implode(PHP_EOL, $function);
|
||||
@ -17758,15 +17845,26 @@ class Interpretation extends Fields
|
||||
}
|
||||
|
||||
/**
|
||||
* build other filter loading scripts
|
||||
* build sidebar filter loading scripts
|
||||
*
|
||||
* @param string $nameListCode The list view name
|
||||
* @param string $nameSingleCode The single view name
|
||||
* @param string $nameListCode The list view name
|
||||
*
|
||||
* @return string The php to place in view.html.php
|
||||
*
|
||||
*/
|
||||
public function setOtherFilter(&$nameListCode)
|
||||
{
|
||||
public function setFilterFieldSidebarDisplayHelper(&$nameSingleCode,
|
||||
&$nameListCode
|
||||
) {
|
||||
// start the filter bucket
|
||||
$fieldFilters = array();
|
||||
// add the default filter
|
||||
$this->setDefaultSidebarFilterHelper(
|
||||
$fieldFilters, $nameSingleCode, $nameListCode
|
||||
);
|
||||
// add the category filter stuff
|
||||
$this->setCategorySidebarFilterHelper($fieldFilters, $nameListCode);
|
||||
// check if filter fields are added
|
||||
if (isset($this->adminFilterType[$nameListCode])
|
||||
&& $this->adminFilterType[$nameListCode] == 1
|
||||
&& isset($this->filterBuilder[$nameListCode])
|
||||
@ -17775,88 +17873,72 @@ class Interpretation extends Fields
|
||||
))
|
||||
{
|
||||
// get component name
|
||||
$Component = $this->fileContentStatic[$this->hhh . 'Component'
|
||||
$Component = $this->fileContentStatic[$this->hhh . 'Component'
|
||||
. $this->hhh];
|
||||
$otherFilter = array();
|
||||
// load the rest of the filters
|
||||
foreach ($this->filterBuilder[$nameListCode] as $filter)
|
||||
{
|
||||
if ($filter['type'] != 'category'
|
||||
&& ComponentbuilderHelper::checkArray($filter['custom'])
|
||||
&& $filter['custom']['extends'] !== 'user')
|
||||
{
|
||||
$CodeName = ComponentbuilderHelper::safeString(
|
||||
$CodeName = ComponentbuilderHelper::safeString(
|
||||
$filter['code'] . ' ' . $filter['custom']['text'], 'W'
|
||||
);
|
||||
$codeName = $filter['code']
|
||||
$codeName = $filter['code']
|
||||
. ComponentbuilderHelper::safeString(
|
||||
$filter['custom']['text'], 'F'
|
||||
);
|
||||
$type = ComponentbuilderHelper::safeString(
|
||||
$type = ComponentbuilderHelper::safeString(
|
||||
$filter['custom']['type'], 'F'
|
||||
);
|
||||
$otherFilter[] = PHP_EOL . $this->_t(2) . "//"
|
||||
$fieldFilters[] = PHP_EOL . $this->_t(2) . "//"
|
||||
. $this->setLine(__LINE__) . " Set " . $CodeName
|
||||
. " Selection";
|
||||
$otherFilter[] = $this->_t(2) . "\$this->" . $codeName
|
||||
$fieldFilters[] = $this->_t(2) . "\$this->" . $codeName
|
||||
. "Options = JFormHelper::loadFieldType('" . $type
|
||||
. "')->options;";
|
||||
$otherFilter[] = $this->_t(2) . "//" . $this->setLine(
|
||||
$fieldFilters[] = $this->_t(2) . "//" . $this->setLine(
|
||||
__LINE__
|
||||
) . " We do some sanitation for " . $CodeName
|
||||
. " filter";
|
||||
$otherFilter[] = $this->_t(2) . "if (" . $Component
|
||||
$fieldFilters[] = $this->_t(2) . "if (" . $Component
|
||||
. "Helper::checkArray(\$this->" . $codeName
|
||||
. "Options) &&";
|
||||
$otherFilter[] = $this->_t(3) . "isset(\$this->" . $codeName
|
||||
$fieldFilters[] = $this->_t(3) . "isset(\$this->"
|
||||
. $codeName
|
||||
. "Options[0]->value) &&";
|
||||
$otherFilter[] = $this->_t(3) . "!" . $Component
|
||||
$fieldFilters[] = $this->_t(3) . "!" . $Component
|
||||
. "Helper::checkString(\$this->" . $codeName
|
||||
. "Options[0]->value))";
|
||||
$otherFilter[] = $this->_t(2) . "{";
|
||||
$otherFilter[] = $this->_t(3) . "unset(\$this->" . $codeName
|
||||
$fieldFilters[] = $this->_t(2) . "{";
|
||||
$fieldFilters[] = $this->_t(3) . "unset(\$this->"
|
||||
. $codeName
|
||||
. "Options[0]);";
|
||||
$otherFilter[] = $this->_t(2) . "}";
|
||||
$otherFilter[] = $this->_t(2) . "//" . $this->setLine(
|
||||
$fieldFilters[] = $this->_t(2) . "}";
|
||||
$fieldFilters[] = $this->_t(2) . "//" . $this->setLine(
|
||||
__LINE__
|
||||
) . " Only load " . $CodeName
|
||||
. " filter if it has values";
|
||||
$otherFilter[] = $this->_t(2) . "if (" . $Component
|
||||
$fieldFilters[] = $this->_t(2) . "if (" . $Component
|
||||
. "Helper::checkArray(\$this->" . $codeName
|
||||
. "Options))";
|
||||
$otherFilter[] = $this->_t(2) . "{";
|
||||
$otherFilter[] = $this->_t(3) . "//" . $this->setLine(
|
||||
$fieldFilters[] = $this->_t(2) . "{";
|
||||
$fieldFilters[] = $this->_t(3) . "//" . $this->setLine(
|
||||
__LINE__
|
||||
) . " " . $CodeName . " Filter";
|
||||
$otherFilter[] = $this->_t(3) . "JHtmlSidebar::addFilter(";
|
||||
$otherFilter[] = $this->_t(4) . "'- Select '.JText:"
|
||||
$fieldFilters[] = $this->_t(3) . "JHtmlSidebar::addFilter(";
|
||||
$fieldFilters[] = $this->_t(4) . "'- Select '.JText:"
|
||||
. ":_('" . $filter['lang'] . "').' -',";
|
||||
$otherFilter[] = $this->_t(4) . "'filter_" . $filter['code']
|
||||
$fieldFilters[] = $this->_t(4) . "'filter_"
|
||||
. $filter['code']
|
||||
. "',";
|
||||
$otherFilter[] = $this->_t(4)
|
||||
$fieldFilters[] = $this->_t(4)
|
||||
. "JHtml::_('select.options', \$this->" . $codeName
|
||||
. "Options, 'value', 'text', \$this->state->get('filter."
|
||||
. $filter['code'] . "'))";
|
||||
$otherFilter[] = $this->_t(3) . ");";
|
||||
|
||||
$otherFilter[] = PHP_EOL . $this->_t(3)
|
||||
. "if (\$this->canBatch && \$this->canCreate && \$this->canEdit)";
|
||||
$otherFilter[] = $this->_t(3) . "{";
|
||||
$otherFilter[] = $this->_t(4) . "//" . $this->setLine(
|
||||
__LINE__
|
||||
) . " " . $CodeName . " Batch Selection";
|
||||
$otherFilter[] = $this->_t(4)
|
||||
. "JHtmlBatch_::addListSelection(";
|
||||
$otherFilter[] = $this->_t(5) . "'- Keep Original '.JText:"
|
||||
. ":_('" . $filter['lang'] . "').' -',";
|
||||
$otherFilter[] = $this->_t(5) . "'batch[" . $filter['code']
|
||||
. "]',";
|
||||
$otherFilter[] = $this->_t(5)
|
||||
. "JHtml::_('select.options', \$this->" . $codeName
|
||||
. "Options, 'value', 'text')";
|
||||
$otherFilter[] = $this->_t(4) . ");";
|
||||
$otherFilter[] = $this->_t(3) . "}";
|
||||
|
||||
$otherFilter[] = $this->_t(2) . "}";
|
||||
$fieldFilters[] = $this->_t(3) . ");";
|
||||
$fieldFilters[] = $this->_t(2) . "}";
|
||||
}
|
||||
elseif ($filter['type'] != 'category')
|
||||
{
|
||||
@ -17877,82 +17959,384 @@ class Interpretation extends Fields
|
||||
$functionName = "\$this->getThe" . $filter['function']
|
||||
. "Selections();";
|
||||
}
|
||||
$otherFilter[] = PHP_EOL . $this->_t(2) . "//"
|
||||
$fieldFilters[] = PHP_EOL . $this->_t(2) . "//"
|
||||
. $this->setLine(__LINE__) . " Set " . $Codename
|
||||
. " Selection";
|
||||
$otherFilter[] = $this->_t(2) . "\$this->" . $filter['code']
|
||||
$fieldFilters[] = $this->_t(2) . "\$this->"
|
||||
. $filter['code']
|
||||
. "Options = " . $functionName;
|
||||
$otherFilter[] = $this->_t(2) . "//" . $this->setLine(
|
||||
$fieldFilters[] = $this->_t(2) . "//" . $this->setLine(
|
||||
__LINE__
|
||||
) . " We do some sanitation for " . $Codename
|
||||
. " filter";
|
||||
$otherFilter[] = $this->_t(2) . "if (" . $Component
|
||||
$fieldFilters[] = $this->_t(2) . "if (" . $Component
|
||||
. "Helper::checkArray(\$this->" . $filter['code']
|
||||
. "Options) &&";
|
||||
$otherFilter[] = $this->_t(3) . "isset(\$this->"
|
||||
$fieldFilters[] = $this->_t(3) . "isset(\$this->"
|
||||
. $filter['code'] . "Options[0]->value) &&";
|
||||
$otherFilter[] = $this->_t(3) . "!" . $Component
|
||||
$fieldFilters[] = $this->_t(3) . "!" . $Component
|
||||
. "Helper::checkString(\$this->" . $filter['code']
|
||||
. "Options[0]->value))";
|
||||
$otherFilter[] = $this->_t(2) . "{";
|
||||
$otherFilter[] = $this->_t(3) . "unset(\$this->"
|
||||
$fieldFilters[] = $this->_t(2) . "{";
|
||||
$fieldFilters[] = $this->_t(3) . "unset(\$this->"
|
||||
. $filter['code'] . "Options[0]);";
|
||||
$otherFilter[] = $this->_t(2) . "}";
|
||||
$otherFilter[] = $this->_t(2) . "//" . $this->setLine(
|
||||
$fieldFilters[] = $this->_t(2) . "}";
|
||||
$fieldFilters[] = $this->_t(2) . "//" . $this->setLine(
|
||||
__LINE__
|
||||
) . " Only load " . $Codename
|
||||
. " filter if it has values";
|
||||
$otherFilter[] = $this->_t(2) . "if (" . $Component
|
||||
$fieldFilters[] = $this->_t(2) . "if (" . $Component
|
||||
. "Helper::checkArray(\$this->" . $filter['code']
|
||||
. "Options))";
|
||||
$otherFilter[] = $this->_t(2) . "{";
|
||||
$otherFilter[] = $this->_t(3) . "//" . $this->setLine(
|
||||
$fieldFilters[] = $this->_t(2) . "{";
|
||||
$fieldFilters[] = $this->_t(3) . "//" . $this->setLine(
|
||||
__LINE__
|
||||
) . " " . $Codename . " Filter";
|
||||
$otherFilter[] = $this->_t(3) . "JHtmlSidebar::addFilter(";
|
||||
$otherFilter[] = $this->_t(4) . "'- Select '.JText:"
|
||||
$fieldFilters[] = $this->_t(3) . "JHtmlSidebar::addFilter(";
|
||||
$fieldFilters[] = $this->_t(4) . "'- Select '.JText:"
|
||||
. ":_('" . $filter['lang'] . "').' -',";
|
||||
$otherFilter[] = $this->_t(4) . "'filter_" . $filter['code']
|
||||
$fieldFilters[] = $this->_t(4) . "'filter_"
|
||||
. $filter['code']
|
||||
. "',";
|
||||
$otherFilter[] = $this->_t(4)
|
||||
$fieldFilters[] = $this->_t(4)
|
||||
. "JHtml::_('select.options', \$this->"
|
||||
. $filter['code']
|
||||
. "Options, 'value', 'text', \$this->state->get('filter."
|
||||
. $filter['code'] . "'))";
|
||||
$otherFilter[] = $this->_t(3) . ");";
|
||||
$fieldFilters[] = $this->_t(3) . ");";
|
||||
|
||||
$otherFilter[] = PHP_EOL . $this->_t(3)
|
||||
. "if (\$this->canBatch && \$this->canCreate && \$this->canEdit)";
|
||||
$otherFilter[] = $this->_t(3) . "{";
|
||||
$otherFilter[] = $this->_t(4) . "//" . $this->setLine(
|
||||
__LINE__
|
||||
) . " " . $Codename . " Batch Selection";
|
||||
$otherFilter[] = $this->_t(4)
|
||||
. "JHtmlBatch_::addListSelection(";
|
||||
$otherFilter[] = $this->_t(5) . "'- Keep Original '.JText:"
|
||||
. ":_('" . $filter['lang'] . "').' -',";
|
||||
$otherFilter[] = $this->_t(5) . "'batch[" . $filter['code']
|
||||
. "]',";
|
||||
$otherFilter[] = $this->_t(5)
|
||||
. "JHtml::_('select.options', \$this->"
|
||||
. $filter['code'] . "Options, 'value', 'text')";
|
||||
$otherFilter[] = $this->_t(4) . ");";
|
||||
$otherFilter[] = $this->_t(3) . "}";
|
||||
|
||||
$otherFilter[] = $this->_t(2) . "}";
|
||||
$fieldFilters[] = $this->_t(2) . "}";
|
||||
}
|
||||
}
|
||||
if (ComponentbuilderHelper::checkArray($otherFilter))
|
||||
{
|
||||
// return the filter
|
||||
return PHP_EOL . implode(PHP_EOL, $otherFilter);
|
||||
}
|
||||
}
|
||||
// did we find filters
|
||||
if (ComponentbuilderHelper::checkArray($fieldFilters))
|
||||
{
|
||||
// return the filter
|
||||
return PHP_EOL . implode(PHP_EOL, $fieldFilters);
|
||||
}
|
||||
|
||||
return '';
|
||||
}
|
||||
|
||||
public function setCategoryFilter($nameListCode)
|
||||
/**
|
||||
* add default filter helper
|
||||
*
|
||||
* @param array $filter The batch code array
|
||||
* @param string $nameSingleCode The single view name
|
||||
* @param string $nameListCode The list view name
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
*/
|
||||
protected function setDefaultSidebarFilterHelper(&$filter, &$nameSingleCode,
|
||||
&$nameListCode
|
||||
) {
|
||||
// add the default filters if we are on the old filter paths
|
||||
if (isset($this->adminFilterType[$nameListCode])
|
||||
&& $this->adminFilterType[$nameListCode] == 1)
|
||||
{
|
||||
// set batch
|
||||
$filter[] = PHP_EOL . $this->_t(2)
|
||||
. "//" . $this->setLine(__LINE__)
|
||||
. " Only load publish filter if state change is allowed";
|
||||
$filter[] = $this->_t(2)
|
||||
. "if (\$this->canState)";
|
||||
$filter[] = $this->_t(2) . "{";
|
||||
$filter[] = $this->_t(3) . "JHtmlSidebar::addFilter(";
|
||||
$filter[] = $this->_t(4) . "JText:"
|
||||
. ":_('JOPTION_SELECT_PUBLISHED'),";
|
||||
$filter[] = $this->_t(4) . "'filter_published',";
|
||||
$filter[] = $this->_t(4)
|
||||
. "JHtml::_('select.options', JHtml::_('jgrid.publishedOptions'), 'value', 'text', \$this->state->get('filter.published'), true)";
|
||||
$filter[] = $this->_t(3) . ");";
|
||||
$filter[] = $this->_t(2) . "}";
|
||||
// check if view has access
|
||||
if (isset($this->accessBuilder[$nameSingleCode])
|
||||
&& ComponentbuilderHelper::checkString(
|
||||
$this->accessBuilder[$nameSingleCode]
|
||||
)
|
||||
&& !isset($this->fieldsNames[$nameSingleCode]['access']))
|
||||
{
|
||||
$filter[] = PHP_EOL . $this->_t(2) . "JHtmlSidebar::addFilter(";
|
||||
$filter[] = $this->_t(3) . "JText:"
|
||||
. ":_('JOPTION_SELECT_ACCESS'),";
|
||||
$filter[] = $this->_t(3) . "'filter_access',";
|
||||
$filter[] = $this->_t(3)
|
||||
. "JHtml::_('select.options', JHtml::_('access.assetgroups'), 'value', 'text', \$this->state->get('filter.access'))";
|
||||
$filter[] = $this->_t(2) . ");";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* build category sidebar display filter helper
|
||||
*
|
||||
* @param array $filter The filter code array
|
||||
* @param string $nameListCode The list view name
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
*/
|
||||
protected function setCategorySidebarFilterHelper(&$filter, &$nameListCode)
|
||||
{
|
||||
// add the category filter if we are on the old filter paths
|
||||
if (isset($this->adminFilterType[$nameListCode])
|
||||
&& $this->adminFilterType[$nameListCode] == 1
|
||||
&& isset($this->categoryBuilder[$nameListCode])
|
||||
&& ComponentbuilderHelper::checkArray(
|
||||
$this->categoryBuilder[$nameListCode]
|
||||
)
|
||||
&& isset($this->categoryBuilder[$nameListCode]['extension']))
|
||||
{
|
||||
// set filter
|
||||
$filter[] = PHP_EOL . $this->_t(2) . "//"
|
||||
. $this->setLine(__LINE__) . " Category Filter.";
|
||||
$filter[] = $this->_t(2) . "JHtmlSidebar::addFilter(";
|
||||
$filter[] = $this->_t(3) . "JText:"
|
||||
. ":_('JOPTION_SELECT_CATEGORY'),";
|
||||
$filter[] = $this->_t(3) . "'filter_category_id',";
|
||||
$filter[] = $this->_t(3)
|
||||
. "JHtml::_('select.options', JHtml::_('category.options', '"
|
||||
. $this->categoryBuilder[$nameListCode]['extension']
|
||||
. "'), 'value', 'text', \$this->state->get('filter.category_id'))";
|
||||
$filter[] = $this->_t(2) . ");";
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* build batch loading helper scripts
|
||||
*
|
||||
* @param string $nameSingleCode The single view name
|
||||
* @param string $nameListCode The list view name
|
||||
*
|
||||
* @return string The php to place in view.html.php
|
||||
*
|
||||
*/
|
||||
public function setBatchDisplayHelper(&$nameSingleCode, &$nameListCode)
|
||||
{
|
||||
// start the batch bucket
|
||||
$fieldBatch = array();
|
||||
// add the default batch
|
||||
$this->setDefaultBatchHelper($fieldBatch, $nameSingleCode);
|
||||
// add the category filter stuff
|
||||
$this->setCategoryBatchHelper($fieldBatch, $nameListCode);
|
||||
// check if we have other batch options to add
|
||||
if (isset($this->filterBuilder[$nameListCode])
|
||||
&& ComponentbuilderHelper::checkArray(
|
||||
$this->filterBuilder[$nameListCode]
|
||||
))
|
||||
{
|
||||
// check if we should add some help to get the values
|
||||
$get_values = false;
|
||||
if (isset($this->adminFilterType[$nameListCode])
|
||||
&& $this->adminFilterType[$nameListCode] == 2)
|
||||
{
|
||||
// since the old path is not used, we need to add those values here
|
||||
$get_values = true;
|
||||
}
|
||||
// get component name
|
||||
$Component = $this->fileContentStatic[$this->hhh . 'Component'
|
||||
. $this->hhh];
|
||||
// load the rest of the batch options
|
||||
foreach ($this->filterBuilder[$nameListCode] as $filter)
|
||||
{
|
||||
if ($filter['type'] != 'category'
|
||||
&& ComponentbuilderHelper::checkArray($filter['custom'])
|
||||
&& $filter['custom']['extends'] !== 'user')
|
||||
{
|
||||
$CodeName = ComponentbuilderHelper::safeString(
|
||||
$filter['code'] . ' ' . $filter['custom']['text'], 'W'
|
||||
);
|
||||
$codeName = $filter['code']
|
||||
. ComponentbuilderHelper::safeString(
|
||||
$filter['custom']['text'], 'F'
|
||||
);
|
||||
$fieldBatch[] = PHP_EOL . $this->_t(2)
|
||||
. "//" . $this->setLine(__LINE__)
|
||||
. " Only load " . $CodeName
|
||||
. " batch if create, edit, and batch is allowed";
|
||||
$fieldBatch[] = $this->_t(2)
|
||||
. "if (\$this->canBatch && \$this->canCreate && \$this->canEdit)";
|
||||
$fieldBatch[] = $this->_t(2) . "{";
|
||||
// add the get values here
|
||||
if ($get_values)
|
||||
{
|
||||
$type = ComponentbuilderHelper::safeString(
|
||||
$filter['custom']['type'], 'F'
|
||||
);
|
||||
$fieldBatch[] = $this->_t(3) . "//"
|
||||
. $this->setLine(__LINE__) . " Set " . $CodeName
|
||||
. " Selection";
|
||||
$fieldBatch[] = $this->_t(3) . "\$this->" . $codeName
|
||||
. "Options = JFormHelper::loadFieldType('" . $type
|
||||
. "')->options;";
|
||||
$fieldBatch[] = $this->_t(3) . "//" . $this->setLine(
|
||||
__LINE__
|
||||
) . " We do some sanitation for " . $CodeName
|
||||
. " filter";
|
||||
$fieldBatch[] = $this->_t(3) . "if (" . $Component
|
||||
. "Helper::checkArray(\$this->" . $codeName
|
||||
. "Options) &&";
|
||||
$fieldBatch[] = $this->_t(4) . "isset(\$this->"
|
||||
. $codeName
|
||||
. "Options[0]->value) &&";
|
||||
$fieldBatch[] = $this->_t(4) . "!" . $Component
|
||||
. "Helper::checkString(\$this->" . $codeName
|
||||
. "Options[0]->value))";
|
||||
$fieldBatch[] = $this->_t(3) . "{";
|
||||
$fieldBatch[] = $this->_t(4) . "unset(\$this->"
|
||||
. $codeName
|
||||
. "Options[0]);";
|
||||
$fieldBatch[] = $this->_t(3) . "}";
|
||||
}
|
||||
$fieldBatch[] = $this->_t(3) . "//" . $this->setLine(
|
||||
__LINE__
|
||||
) . " " . $CodeName . " Batch Selection";
|
||||
$fieldBatch[] = $this->_t(3)
|
||||
. "JHtmlBatch_::addListSelection(";
|
||||
$fieldBatch[] = $this->_t(4) . "'- Keep Original '.JText:"
|
||||
. ":_('" . $filter['lang'] . "').' -',";
|
||||
$fieldBatch[] = $this->_t(4) . "'batch[" . $filter['code']
|
||||
. "]',";
|
||||
$fieldBatch[] = $this->_t(4)
|
||||
. "JHtml::_('select.options', \$this->" . $codeName
|
||||
. "Options, 'value', 'text')";
|
||||
$fieldBatch[] = $this->_t(3) . ");";
|
||||
$fieldBatch[] = $this->_t(2) . "}";
|
||||
}
|
||||
elseif ($filter['type'] != 'category')
|
||||
{
|
||||
$CodeName = ComponentbuilderHelper::safeString(
|
||||
$filter['code'], 'W'
|
||||
);
|
||||
|
||||
$fieldBatch[] = PHP_EOL . $this->_t(2)
|
||||
. "//" . $this->setLine(__LINE__)
|
||||
. " Only load " . $CodeName
|
||||
. " batch if create, edit, and batch is allowed";
|
||||
$fieldBatch[] = $this->_t(2)
|
||||
. "if (\$this->canBatch && \$this->canCreate && \$this->canEdit)";
|
||||
$fieldBatch[] = $this->_t(2) . "{";
|
||||
// add the get values here
|
||||
if ($get_values)
|
||||
{
|
||||
$fieldBatch[] = $this->_t(3) . "//"
|
||||
. $this->setLine(__LINE__) . " Set " . $CodeName
|
||||
. " Selection";
|
||||
$fieldBatch[] = $this->_t(3) . "\$this->"
|
||||
. $filter['code']
|
||||
. "Options = JFormHelper::loadFieldType('"
|
||||
. $filter['filter_type']
|
||||
. "')->options;";
|
||||
$fieldBatch[] = $this->_t(3) . "//" . $this->setLine(
|
||||
__LINE__
|
||||
) . " We do some sanitation for " . $CodeName
|
||||
. " filter";
|
||||
$fieldBatch[] = $this->_t(3) . "if (" . $Component
|
||||
. "Helper::checkArray(\$this->" . $filter['code']
|
||||
. "Options) &&";
|
||||
$fieldBatch[] = $this->_t(4) . "isset(\$this->"
|
||||
. $filter['code'] . "Options[0]->value) &&";
|
||||
$fieldBatch[] = $this->_t(4) . "!" . $Component
|
||||
. "Helper::checkString(\$this->" . $filter['code']
|
||||
. "Options[0]->value))";
|
||||
$fieldBatch[] = $this->_t(3) . "{";
|
||||
$fieldBatch[] = $this->_t(4) . "unset(\$this->"
|
||||
. $filter['code'] . "Options[0]);";
|
||||
$fieldBatch[] = $this->_t(3) . "}";
|
||||
}
|
||||
$fieldBatch[] = $this->_t(3) . "//" . $this->setLine(
|
||||
__LINE__
|
||||
) . " " . $CodeName . " Batch Selection";
|
||||
$fieldBatch[] = $this->_t(3)
|
||||
. "JHtmlBatch_::addListSelection(";
|
||||
$fieldBatch[] = $this->_t(4) . "'- Keep Original '.JText:"
|
||||
. ":_('" . $filter['lang'] . "').' -',";
|
||||
$fieldBatch[] = $this->_t(4) . "'batch[" . $filter['code']
|
||||
. "]',";
|
||||
$fieldBatch[] = $this->_t(4)
|
||||
. "JHtml::_('select.options', \$this->"
|
||||
. $filter['code'] . "Options, 'value', 'text')";
|
||||
$fieldBatch[] = $this->_t(3) . ");";
|
||||
$fieldBatch[] = $this->_t(2) . "}";
|
||||
}
|
||||
}
|
||||
}
|
||||
// did we find batch options
|
||||
if (ComponentbuilderHelper::checkArray($fieldBatch))
|
||||
{
|
||||
// return the batch
|
||||
return PHP_EOL . implode(PHP_EOL, $fieldBatch);
|
||||
}
|
||||
|
||||
return '';
|
||||
}
|
||||
|
||||
/**
|
||||
* add default batch helper
|
||||
*
|
||||
* @param array $batch The batch code array
|
||||
* @param string $nameSingleCode The single view name
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
*/
|
||||
protected function setDefaultBatchHelper(&$batch, &$nameSingleCode)
|
||||
{
|
||||
// set component name
|
||||
$COPMONENT = ComponentbuilderHelper::safeString(
|
||||
$this->componentData->name_code, 'U'
|
||||
);
|
||||
// set batch
|
||||
$batch[] = PHP_EOL . $this->_t(2)
|
||||
. "//" . $this->setLine(__LINE__)
|
||||
. " Only load published batch if state and batch is allowed";
|
||||
$batch[] = $this->_t(2)
|
||||
. "if (\$this->canState && \$this->canBatch)";
|
||||
$batch[] = $this->_t(2) . "{";
|
||||
$batch[] = $this->_t(3) . "JHtmlBatch_::addListSelection(";
|
||||
$batch[] = $this->_t(4) . "JText:" . ":_('COM_" . $COPMONENT
|
||||
. "_KEEP_ORIGINAL_STATE'),";
|
||||
$batch[] = $this->_t(4) . "'batch[published]',";
|
||||
$batch[] = $this->_t(4)
|
||||
. "JHtml::_('select.options', JHtml::_('jgrid.publishedOptions', array('all' => false)), 'value', 'text', '', true)";
|
||||
$batch[] = $this->_t(3) . ");";
|
||||
$batch[] = $this->_t(2) . "}";
|
||||
// check if view has access
|
||||
if (isset($this->accessBuilder[$nameSingleCode])
|
||||
&& ComponentbuilderHelper::checkString(
|
||||
$this->accessBuilder[$nameSingleCode]
|
||||
)
|
||||
&& !isset($this->fieldsNames[$nameSingleCode]['access']))
|
||||
{
|
||||
$batch[] = PHP_EOL . $this->_t(2)
|
||||
. "//" . $this->setLine(__LINE__)
|
||||
. " Only load access batch if create, edit and batch is allowed";
|
||||
$batch[] = $this->_t(2)
|
||||
. "if (\$this->canBatch && \$this->canCreate && \$this->canEdit)";
|
||||
$batch[] = $this->_t(2) . "{";
|
||||
$batch[] = $this->_t(3) . "JHtmlBatch_::addListSelection(";
|
||||
$batch[] = $this->_t(4) . "JText:" . ":_('COM_" . $COPMONENT
|
||||
. "_KEEP_ORIGINAL_ACCESS'),";
|
||||
$batch[] = $this->_t(4) . "'batch[access]',";
|
||||
$batch[] = $this->_t(4)
|
||||
. "JHtml::_('select.options', JHtml::_('access.assetgroups'), 'value', 'text')";
|
||||
$batch[] = $this->_t(3) . ");";
|
||||
$batch[] = $this->_t(2) . "}";
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* build category batch helper
|
||||
*
|
||||
* @param array $batch The batch code array
|
||||
* @param string $nameListCode The list view name
|
||||
*
|
||||
* @return mixed The php to place in view.html.php
|
||||
*
|
||||
*/
|
||||
protected function setCategoryBatchHelper(&$batch, &$nameListCode)
|
||||
{
|
||||
if (isset($this->categoryBuilder[$nameListCode])
|
||||
&& ComponentbuilderHelper::checkArray(
|
||||
@ -17965,41 +18349,22 @@ class Interpretation extends Fields
|
||||
$this->componentData->name_code, 'U'
|
||||
);
|
||||
// set filter
|
||||
$filter = array();
|
||||
$filter[] = PHP_EOL . PHP_EOL . $this->_t(2) . "//"
|
||||
. $this->setLine(__LINE__) . " Category Filter.";
|
||||
$filter[] = $this->_t(2) . "JHtmlSidebar::addFilter(";
|
||||
$filter[] = $this->_t(3) . "JText:"
|
||||
. ":_('JOPTION_SELECT_CATEGORY'),";
|
||||
$filter[] = $this->_t(3) . "'filter_category_id',";
|
||||
$filter[] = $this->_t(3)
|
||||
. "JHtml::_('select.options', JHtml::_('category.options', '"
|
||||
. $this->categoryBuilder[$nameListCode]['extension']
|
||||
. "'), 'value', 'text', \$this->state->get('filter.category_id'))";
|
||||
$filter[] = $this->_t(2) . ");";
|
||||
|
||||
|
||||
$filter[] = PHP_EOL . $this->_t(2)
|
||||
$batch[] = PHP_EOL . $this->_t(2)
|
||||
. "if (\$this->canBatch && \$this->canCreate && \$this->canEdit)";
|
||||
$filter[] = $this->_t(2) . "{";
|
||||
$filter[] = $this->_t(3) . "//" . $this->setLine(__LINE__)
|
||||
$batch[] = $this->_t(2) . "{";
|
||||
$batch[] = $this->_t(3) . "//" . $this->setLine(__LINE__)
|
||||
. " Category Batch selection.";
|
||||
$filter[] = $this->_t(3) . "JHtmlBatch_::addListSelection(";
|
||||
$filter[] = $this->_t(4) . "JText:" . ":_('COM_" . $COPMONENT
|
||||
$batch[] = $this->_t(3) . "JHtmlBatch_::addListSelection(";
|
||||
$batch[] = $this->_t(4) . "JText:" . ":_('COM_" . $COPMONENT
|
||||
. "_KEEP_ORIGINAL_CATEGORY'),";
|
||||
$filter[] = $this->_t(4) . "'batch[category]',";
|
||||
$filter[] = $this->_t(4)
|
||||
$batch[] = $this->_t(4) . "'batch[category]',";
|
||||
$batch[] = $this->_t(4)
|
||||
. "JHtml::_('select.options', JHtml::_('category.options', '"
|
||||
. $this->categoryBuilder[$nameListCode]['extension']
|
||||
. "'), 'value', 'text')";
|
||||
$filter[] = $this->_t(3) . ");";
|
||||
$filter[] = $this->_t(2) . "}";
|
||||
|
||||
// return the filter
|
||||
return implode(PHP_EOL, $filter);
|
||||
$batch[] = $this->_t(3) . ");";
|
||||
$batch[] = $this->_t(2) . "}";
|
||||
}
|
||||
|
||||
return '';
|
||||
}
|
||||
|
||||
public function setRouterCategoryViews($nameSingleCode, $nameListCode)
|
||||
@ -19731,7 +20096,7 @@ class Interpretation extends Fields
|
||||
* @return string The code for the filter fields array
|
||||
*
|
||||
*/
|
||||
public function setFilterFields(&$nameListCode)
|
||||
public function setFilterFieldsArray(&$nameListCode)
|
||||
{
|
||||
// keep track of all fields already added
|
||||
$donelist = array('id' => true, 'search' => true,
|
||||
@ -20355,8 +20720,9 @@ class Interpretation extends Fields
|
||||
protected function getPopulateStateFilterCode(&$filter, $new_filter,
|
||||
$extra = ''
|
||||
) {
|
||||
$state = '';
|
||||
// add category stuff (may still remove these) TODO
|
||||
if ($filter['type'] === 'category')
|
||||
if (isset($filter['type']) && $filter['type'] === 'category')
|
||||
{
|
||||
$state .= PHP_EOL . PHP_EOL . $this->_t(2)
|
||||
. "\$category = \$app->getUserStateFromRequest(\$this->context . '.filter.category', 'filter_category');";
|
||||
@ -20368,7 +20734,7 @@ class Interpretation extends Fields
|
||||
. "\$this->setState('filter.category_id', \$categoryId);";
|
||||
}
|
||||
// always add the default filter
|
||||
$state = PHP_EOL . PHP_EOL . $this->_t(2) . "\$" . $filter['code']
|
||||
$state .= PHP_EOL . PHP_EOL . $this->_t(2) . "\$" . $filter['code']
|
||||
. " = \$this->getUserStateFromRequest(\$this->context . '.filter."
|
||||
. $filter['code'] . "', 'filter_" . $filter['code']
|
||||
. "'" . $extra . ");";
|
||||
@ -21279,6 +21645,15 @@ class Interpretation extends Fields
|
||||
return $script . $forEachStart . $fix;
|
||||
}
|
||||
|
||||
/**
|
||||
* Build headers for the model/view/controller headers
|
||||
*
|
||||
* @param string $context The name of the context
|
||||
* @param string $viewsCodeName The view or views name
|
||||
*
|
||||
* @return string The php to place in the header
|
||||
*
|
||||
*/
|
||||
public function setClassHeaders($context, $viewsCodeName)
|
||||
{
|
||||
// set the defaults
|
||||
@ -21291,6 +21666,34 @@ class Interpretation extends Fields
|
||||
$headers[] = 'use Joomla\String\StringHelper;';
|
||||
$headers[] = 'use Joomla\Utilities\ArrayHelper;';
|
||||
break;
|
||||
case 'admin.view':
|
||||
case 'custom.admin.view':
|
||||
case 'custom.admin.views':
|
||||
case 'site.admin.view':
|
||||
$headers[]
|
||||
= 'JHtml::addIncludePath(JPATH_COMPONENT.\'/helpers/html\');';
|
||||
$headers[] = 'JHtml::_(\'behavior.tooltip\');';
|
||||
$headers[] = 'JHtml::_(\'behavior.formvalidation\');';
|
||||
$headers[] = 'JHtml::_(\'formbehavior.chosen\', \'select\');';
|
||||
$headers[] = 'JHtml::_(\'behavior.keepalive\');';
|
||||
if ($context === 'site.admin.view')
|
||||
{
|
||||
$headers[] = 'JHtml::_(\'behavior.tabstate\');';
|
||||
$headers[] = 'JHtml::_(\'behavior.calendar\');';
|
||||
}
|
||||
break;
|
||||
case 'admin.views':
|
||||
$headers[] = 'JHtml::_(\'behavior.tooltip\');';
|
||||
$headers[] = 'JHtml::_(\'behavior.multiselect\');';
|
||||
$headers[] = 'JHtml::_(\'dropdown.init\');';
|
||||
// add more headers if the new filter option is used
|
||||
$this->setChosenMultiSelectionHeaders($headers, $viewsCodeName);
|
||||
$headers[] = 'JHtml::_(\'formbehavior.chosen\', \'select\');';
|
||||
break;
|
||||
case 'site.view':
|
||||
case 'site.views':
|
||||
$headers = array();
|
||||
break;
|
||||
default:
|
||||
$headers[] = 'use Joomla\Utilities\ArrayHelper;';
|
||||
break;
|
||||
@ -21301,9 +21704,62 @@ class Interpretation extends Fields
|
||||
array(&$this->componentContext, &$context, &$viewsCodeName,
|
||||
&$headers)
|
||||
);
|
||||
// check if headers were added
|
||||
if (ComponentbuilderHelper::checkArray($headers))
|
||||
{
|
||||
// return the headers
|
||||
return implode(PHP_EOL, $headers);
|
||||
}
|
||||
|
||||
// return the headers
|
||||
return implode(PHP_EOL, $headers);
|
||||
return '';
|
||||
}
|
||||
|
||||
/**
|
||||
* Build chosen multi selection headers for the view
|
||||
*
|
||||
* @param array $headers The headers array
|
||||
* @param string $nameListCode The list view name
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
*/
|
||||
protected function setChosenMultiSelectionHeaders(&$headers, $nameListCode)
|
||||
{
|
||||
// check that the filter type is the new filter option
|
||||
if (isset($this->adminFilterType[$nameListCode])
|
||||
&& $this->adminFilterType[$nameListCode] == 2
|
||||
&& isset($this->filterBuilder[$nameListCode])
|
||||
&& ComponentbuilderHelper::checkArray(
|
||||
$this->filterBuilder[$nameListCode]
|
||||
))
|
||||
{
|
||||
// main lang prefix
|
||||
$lang_ = $this->langPrefix . '_FILTER_';
|
||||
foreach ($this->filterBuilder[$nameListCode] as $filter)
|
||||
{
|
||||
// we need this only for filters that are multi
|
||||
if (isset($filter['multi'])
|
||||
&& $filter['multi'] == 2)
|
||||
{
|
||||
// set the selection string (not ideal)
|
||||
$select_name = "Select " . strip_tags($filter['name']);
|
||||
// set the language
|
||||
$select_lang = $lang_ . ComponentbuilderHelper::safeString(
|
||||
$select_name, 'U'
|
||||
);
|
||||
// set selection lang
|
||||
$this->setLangContent(
|
||||
$this->lang, $select_lang, $select_name
|
||||
);
|
||||
// add the header
|
||||
$headers[]
|
||||
= 'JHtml::_(\'formbehavior.chosen\', \'.multiple'
|
||||
. $filter['class']
|
||||
. '\', null, array(\'placeholder_text_multiple\' => JText::_(\''
|
||||
. $select_lang . '\')));';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected function setModelFieldRelation($item, $nameListCode, $tab)
|
||||
|
@ -631,7 +631,7 @@ class Infusion extends Interpretation
|
||||
$nameSingleCode, $view
|
||||
);
|
||||
}
|
||||
// SITE_VIEW_CONTROLLER_HEADER <<<DYNAMIC>>> add the header details for the model
|
||||
// SITE_ADMIN_VIEW_CONTROLLER_HEADER <<<DYNAMIC>>> add the header details for the controller
|
||||
$this->fileContentDynamic[$nameSingleCode][$this->hhh
|
||||
. 'SITE_ADMIN_VIEW_CONTROLLER_HEADER' . $this->hhh]
|
||||
= $this->setClassHeaders(
|
||||
@ -645,6 +645,13 @@ class Infusion extends Interpretation
|
||||
'site.admin.view.model',
|
||||
$nameSingleCode
|
||||
);
|
||||
// SITE_ADMIN_VIEW_HEADER <<<DYNAMIC>>> add the header details for the view
|
||||
$this->fileContentDynamic[$nameSingleCode][$this->hhh
|
||||
. 'SITE_ADMIN_VIEW_HEADER' . $this->hhh]
|
||||
= $this->setClassHeaders(
|
||||
'site.admin.view',
|
||||
$nameSingleCode
|
||||
);
|
||||
}
|
||||
|
||||
// TABLAYOUTFIELDSARRAY <<<DYNAMIC>>> add the tab layout fields array to the model
|
||||
@ -654,7 +661,7 @@ class Infusion extends Interpretation
|
||||
$nameSingleCode
|
||||
);
|
||||
|
||||
// ADMIN_VIEW_CONTROLLER_HEADER <<<DYNAMIC>>> add the header details for the model
|
||||
// ADMIN_VIEW_CONTROLLER_HEADER <<<DYNAMIC>>> add the header details for the controller
|
||||
$this->fileContentDynamic[$nameSingleCode][$this->hhh
|
||||
. 'ADMIN_VIEW_CONTROLLER_HEADER' . $this->hhh]
|
||||
= $this->setClassHeaders(
|
||||
@ -667,6 +674,12 @@ class Infusion extends Interpretation
|
||||
= $this->setClassHeaders(
|
||||
'admin.view.model', $nameSingleCode
|
||||
);
|
||||
// ADMIN_VIEW_HEADER <<<DYNAMIC>>> add the header details for the view
|
||||
$this->fileContentDynamic[$nameSingleCode][$this->hhh
|
||||
. 'ADMIN_VIEW_HEADER' . $this->hhh]
|
||||
= $this->setClassHeaders(
|
||||
'admin.view', $nameSingleCode
|
||||
);
|
||||
|
||||
// Trigger Event: jcb_ce_onAfterBuildAdminEditViewContent
|
||||
$this->triggerEvent(
|
||||
@ -805,7 +818,7 @@ class Infusion extends Interpretation
|
||||
// FILTER_FIELDS <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$nameListCode][$this->hhh
|
||||
. 'FILTER_FIELDS' . $this->hhh]
|
||||
= $this->setFilterFields(
|
||||
= $this->setFilterFieldsArray(
|
||||
$nameListCode
|
||||
);
|
||||
|
||||
@ -828,13 +841,6 @@ class Infusion extends Interpretation
|
||||
$nameListCode
|
||||
);
|
||||
|
||||
// CATEGORYFILTER <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$nameListCode][$this->hhh
|
||||
. 'CATEGORYFILTER' . $this->hhh]
|
||||
= $this->setCategoryFilter(
|
||||
$nameListCode
|
||||
);
|
||||
|
||||
// CATEGORY_VIEWS
|
||||
if (!isset(
|
||||
$this->fileContentStatic[$this->hhh
|
||||
@ -852,17 +858,44 @@ class Infusion extends Interpretation
|
||||
$nameListCode
|
||||
);
|
||||
|
||||
// OTHERFILTERS <<<DYNAMIC>>>
|
||||
// FILTERFIELDDISPLAYHELPER <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$nameListCode][$this->hhh
|
||||
. 'OTHERFILTERS' . $this->hhh]
|
||||
= $this->setOtherFilter(
|
||||
. 'FILTERFIELDDISPLAYHELPER' . $this->hhh]
|
||||
= $this->setFilterFieldSidebarDisplayHelper(
|
||||
$nameSingleCode,
|
||||
$nameListCode
|
||||
);
|
||||
|
||||
// BATCHDISPLAYHELPER <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$nameListCode][$this->hhh
|
||||
. 'BATCHDISPLAYHELPER' . $this->hhh]
|
||||
= $this->setBatchDisplayHelper(
|
||||
$nameSingleCode,
|
||||
$nameListCode
|
||||
);
|
||||
|
||||
// FILTERFUNCTIONS <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic[$nameListCode][$this->hhh
|
||||
. 'FILTERFUNCTIONS' . $this->hhh]
|
||||
= $this->setFilterFunctions(
|
||||
= $this->setFilterFieldHelper(
|
||||
$nameSingleCode,
|
||||
$nameListCode
|
||||
);
|
||||
|
||||
// FIELDFILTERSETS <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic['filter_'
|
||||
. $nameListCode][$this->hhh
|
||||
. 'FIELDFILTERSETS' . $this->hhh]
|
||||
= $this->setFieldFilterSet(
|
||||
$nameSingleCode,
|
||||
$nameListCode
|
||||
);
|
||||
|
||||
// FIELDLISTSETS <<<DYNAMIC>>>
|
||||
$this->fileContentDynamic['filter_'
|
||||
. $nameListCode][$this->hhh
|
||||
. 'FIELDLISTSETS' . $this->hhh]
|
||||
= $this->setFieldFilterListSet(
|
||||
$nameSingleCode,
|
||||
$nameListCode
|
||||
);
|
||||
@ -988,7 +1021,7 @@ class Infusion extends Interpretation
|
||||
= '';
|
||||
}
|
||||
|
||||
// ADMIN_VIEWS_CONTROLLER_HEADER <<<DYNAMIC>>> add the header details for the model
|
||||
// ADMIN_VIEWS_CONTROLLER_HEADER <<<DYNAMIC>>> add the header details for the controller
|
||||
$this->fileContentDynamic[$nameListCode][$this->hhh
|
||||
. 'ADMIN_VIEWS_CONTROLLER_HEADER' . $this->hhh]
|
||||
= $this->setClassHeaders(
|
||||
@ -1001,6 +1034,12 @@ class Infusion extends Interpretation
|
||||
= $this->setClassHeaders(
|
||||
'admin.views.model', $nameListCode
|
||||
);
|
||||
// ADMIN_VIEWS_HEADER <<<DYNAMIC>>> add the header details for the views
|
||||
$this->fileContentDynamic[$nameListCode][$this->hhh
|
||||
. 'ADMIN_VIEWS_HEADER' . $this->hhh]
|
||||
= $this->setClassHeaders(
|
||||
'admin.views', $nameListCode
|
||||
);
|
||||
|
||||
// Trigger Event: jcb_ce_onAfterBuildAdminListViewContent
|
||||
$this->triggerEvent(
|
||||
@ -1459,7 +1498,7 @@ class Infusion extends Interpretation
|
||||
// set headers based on the main get type
|
||||
if ($view['settings']->main_get->gettype == 1)
|
||||
{
|
||||
// CUSTOM_ADMIN_VIEW_CONTROLLER_HEADER <<<DYNAMIC>>> add the header details for the model
|
||||
// CUSTOM_ADMIN_VIEW_CONTROLLER_HEADER <<<DYNAMIC>>> add the header details for the controller
|
||||
$this->fileContentDynamic[$view['settings']->code][$this->hhh
|
||||
. 'CUSTOM_ADMIN_VIEW_CONTROLLER_HEADER' . $this->hhh]
|
||||
= $this->setClassHeaders(
|
||||
@ -1472,10 +1511,16 @@ class Infusion extends Interpretation
|
||||
= $this->setClassHeaders(
|
||||
'custom.admin.view.model', $view['settings']->code
|
||||
);
|
||||
// CUSTOM_ADMIN_VIEW_HEADER <<<DYNAMIC>>> add the header details for the view
|
||||
$this->fileContentDynamic[$view['settings']->code][$this->hhh
|
||||
. 'CUSTOM_ADMIN_VIEW_HEADER' . $this->hhh]
|
||||
= $this->setClassHeaders(
|
||||
'custom.admin.view', $view['settings']->code
|
||||
);
|
||||
}
|
||||
elseif ($view['settings']->main_get->gettype == 2)
|
||||
{
|
||||
// CUSTOM_ADMIN_VIEWS_CONTROLLER_HEADER <<<DYNAMIC>>> add the header details for the model
|
||||
// CUSTOM_ADMIN_VIEWS_CONTROLLER_HEADER <<<DYNAMIC>>> add the header details for the controller
|
||||
$this->fileContentDynamic[$view['settings']->code][$this->hhh
|
||||
. 'CUSTOM_ADMIN_VIEWS_CONTROLLER_HEADER' . $this->hhh]
|
||||
= $this->setClassHeaders(
|
||||
@ -1488,6 +1533,12 @@ class Infusion extends Interpretation
|
||||
= $this->setClassHeaders(
|
||||
'custom.admin.views.model', $view['settings']->code
|
||||
);
|
||||
// CUSTOM_ADMIN_VIEWS_HEADER <<<DYNAMIC>>> add the header details for the view
|
||||
$this->fileContentDynamic[$view['settings']->code][$this->hhh
|
||||
. 'CUSTOM_ADMIN_VIEWS_HEADER' . $this->hhh]
|
||||
= $this->setClassHeaders(
|
||||
'custom.admin.views', $view['settings']->code
|
||||
);
|
||||
}
|
||||
|
||||
// Trigger Event: jcb_ce_onAfterBuildCustomAdminViewContent
|
||||
@ -1943,6 +1994,12 @@ class Infusion extends Interpretation
|
||||
= $this->setClassHeaders(
|
||||
'site.view.model', $view['settings']->code
|
||||
);
|
||||
// SITE_VIEW_HEADER <<<DYNAMIC>>> add the header details for the view
|
||||
$this->fileContentDynamic[$view['settings']->code][$this->hhh
|
||||
. 'SITE_VIEW_HEADER' . $this->hhh]
|
||||
= $this->setClassHeaders(
|
||||
'site.view', $view['settings']->code
|
||||
);
|
||||
}
|
||||
elseif ($view['settings']->main_get->gettype == 2)
|
||||
{
|
||||
@ -1965,6 +2022,12 @@ class Infusion extends Interpretation
|
||||
= $this->setClassHeaders(
|
||||
'site.views.model', $view['settings']->code
|
||||
);
|
||||
// SITE_VIEWS_HEADER <<<DYNAMIC>>> add the header details for the view
|
||||
$this->fileContentDynamic[$view['settings']->code][$this->hhh
|
||||
. 'SITE_VIEWS_HEADER' . $this->hhh]
|
||||
= $this->setClassHeaders(
|
||||
'site.views', $view['settings']->code
|
||||
);
|
||||
}
|
||||
|
||||
// Trigger Event: jcb_ce_onAfterBuildSiteViewContent
|
||||
|
Reference in New Issue
Block a user