@ -34,6 +34,7 @@ class Fields extends Structure
* Metadate Switch
*
* @var array
* @deprecated 3.3 Use CFactory::_('Registry')->get('builder.meta_data');
*/
public $metadataBuilder = array();
@ -41,6 +42,7 @@ class Fields extends Structure
* View access Switch
*
* @var array
* @deprecated 3.3 Use CFactory::_('Registry')->get('builder.access_switch');
*/
public $accessBuilder = array();
@ -48,6 +50,7 @@ class Fields extends Structure
* edit view tabs counter
*
* @var array
* @deprecated 3.3 Use CFactory::_('Registry')->get('builder.tab_counter');
*/
public $tabCounter = array();
@ -55,6 +58,7 @@ class Fields extends Structure
* layout builder
*
* @var array
* @deprecated 3.3 Use CFactory::_('Registry')->get('builder.layout');
*/
public $layoutBuilder = array();
@ -62,6 +66,7 @@ class Fields extends Structure
* permissions builder
*
* @var array
* @deprecated 3.3 Use CFactory::_('Registry')->get('builder.has_permissions');
*/
public $hasPermissions = array();
@ -83,6 +88,7 @@ class Fields extends Structure
* list of fields that are not being escaped
*
* @var array
* @deprecated 3.3 Use CFactory::_('Registry')->get('builder.do_not_escape');
*/
public $doNotEscape = array();
@ -90,6 +96,7 @@ class Fields extends Structure
* list of classes used in the list view for the fields
*
* @var array
* @deprecated 3.3 Use CFactory::_('Registry')->set('builder.list_field_class');
*/
public $listFieldClass = array();
@ -97,6 +104,7 @@ class Fields extends Structure
* tags builder
*
* @var array
* @deprecated 3.3 Use CFactory::_('Registry')->get('builder.tags');
*/
public $tagsBuilder = array();
@ -104,6 +112,7 @@ class Fields extends Structure
* query builder
*
* @var array
* @deprecated 3.3 Use CFactory::_('Registry')->get('builder.database_tables');
*/
public $queryBuilder = array();
@ -111,6 +120,7 @@ class Fields extends Structure
* unique keys for database field
*
* @var array
* @deprecated 3.3 Use CFactory::_('Registry')->get('builder.database_unique_keys');
*/
public $dbUniqueKeys = array();
@ -118,6 +128,7 @@ class Fields extends Structure
* unique guid swtich
*
* @var array
* @deprecated 3.3 Use CFactory::_('Registry')->get('builder.database_unique_guid');
*/
public $dbUniqueGuid = array();
@ -125,6 +136,7 @@ class Fields extends Structure
* keys for database field
*
* @var array
* @deprecated 3.3 Use CFactory::_('Registry')->get('builder.database_keys');
*/
public $dbKeys = array();
@ -132,6 +144,7 @@ class Fields extends Structure
* history builder
*
* @var array
* @deprecated 3.3 Use CFactory::_('Registry')->get('builder.history');
*/
public $historyBuilder = array();
@ -139,6 +152,7 @@ class Fields extends Structure
* alias builder
*
* @var array
* @deprecated 3.3 CFactory::_('Registry')->get('builder.alias');
*/
public $aliasBuilder = array();
@ -146,6 +160,7 @@ class Fields extends Structure
* title builder
*
* @var array
* @deprecated 3.3 CFactory::_('Registry')->get('builder.title');
*/
public $titleBuilder = array();
@ -161,6 +176,7 @@ class Fields extends Structure
* custom Builder List
*
* @var array
* @deprecated 3.3 Use CFactory::_('Registry')->get('builder.custom_list');
*/
public $customBuilderList = array();
@ -168,6 +184,7 @@ class Fields extends Structure
* Hidden Fields Builder
*
* @var array
* @deprecated 3.3 Use CFactory::_('Registry')->get('builder.hidden_fields');
*/
public $hiddenFieldsBuilder = array();
@ -175,6 +192,7 @@ class Fields extends Structure
* INT Field Builder
*
* @var array
* @deprecated 3.3 Use CFactory::_('Registry')->get('builder.integer_fields');
*/
public $intFieldsBuilder = array();
@ -182,6 +200,7 @@ class Fields extends Structure
* Dynamic Fields Builder
*
* @var array
* @deprecated 3.3 Use CFactory::_('Registry')->get('builder.dynamic_fields');
*/
public $dynamicfieldsBuilder = array();
@ -189,6 +208,7 @@ class Fields extends Structure
* Main text Builder
*
* @var array
* @deprecated 3.3 Use CFactory::_('Registry')->get('builder.main_text_field');
*/
public $maintextBuilder = array();
@ -203,6 +223,7 @@ class Fields extends Structure
* Custom Field Links Builder
*
* @var array
* @deprecated 3.3 Use CFactory::_('Registry')->get('builder.custom_field_links');
*/
public $customFieldLinksBuilder = array();
@ -357,6 +378,7 @@ class Fields extends Structure
* Set Field Names
*
* @var array
* @deprecated 3.3 Use CFactory::_('Registry')->get('builder.field_names');
*/
public $fieldsNames = array();
@ -364,6 +386,7 @@ class Fields extends Structure
* Default Fields set to publishing
*
* @var array
* @deprecated 3.3 Use CFactory::_('Registry')->set('builder.new_publishing_fields');
*/
public $newPublishingFields = array();
@ -371,6 +394,7 @@ class Fields extends Structure
* Default Fields set to publishing
*
* @var array
* @deprecated 3.3 Use CFactory::_('Registry')->get('builder.moved_publishing_fields');
*/
public $movedPublishingFields = array();
@ -395,12 +419,13 @@ class Fields extends Structure
// add metadata to the view
if (isset($view['metadata']) & & $view['metadata'])
{
$this->metadataBuilder[$nameSingleCode] = $nameListCode ;
CFactory::_('Registry')->set('builder.meta_data.' . $nameSingleCode, $nameListCode) ;
}
// add access to the view
if (isset($view['access']) & & $view['access'])
{
$this->accessBuilder[$nameSingleCode] = $nameListCode;
CFactory::_('Registry')->set('builder.access_switch.' . $nameSingleCode, true);
CFactory::_('Registry')->set('builder.access_switch_list.' . $nameListCode, true);
}
// main lang prefix
$langView = CFactory::_('Config')->lang_prefix . '_'
@ -647,7 +672,7 @@ class Fields extends Structure
$fieldSet[] = Indent::_(2) . "<!-- " . Line::_(__Line__, __Class__)
. " Id Field. Type: Text (joomla) -->";
// if id is not set
if (!isset($this->fieldsNames[$nameSingleCode]['id'] ))
if (!CFactory::_('Registry')->isString('builder.field_names.' . $nameSingleCode . '.id' ))
{
$fieldSet[] = Indent::_(2) . "< field " ;
$fieldSet[] = Indent::_(3) . "name=" . '"id"';
@ -661,7 +686,7 @@ class Fields extends Structure
CFactory::_('Utilities.Counter')->field++;
}
// if created is not set
if (!isset($this->fieldsNames[$nameSingleCode]['created'] ))
if (!CFactory::_('Registry')->isString('builder.field_names.' . $nameSingleCode . '.created' ))
{
$fieldSet[] = Indent::_(2) . "<!-- " . Line::_(__Line__, __Class__)
. " Date Created Field. Type: Calendar (joomla) -->";
@ -684,7 +709,7 @@ class Fields extends Structure
CFactory::_('Utilities.Counter')->field++;
}
// if created_by is not set
if (!isset($this->fieldsNames[$nameSingleCode]['created_by'] ))
if (!CFactory::_('Registry')->isString('builder.field_names.' . $nameSingleCode . '.created_by' ))
{
$fieldSet[] = Indent::_(2) . "<!-- " . Line::_(__Line__, __Class__)
. " User Created Field. Type: User (joomla) -->";
@ -704,7 +729,7 @@ class Fields extends Structure
CFactory::_('Utilities.Counter')->field++;
}
// if published is not set
if (!isset($this->fieldsNames[$nameSingleCode]['published'] ))
if (!CFactory::_('Registry')->isString('builder.field_names.' . $nameSingleCode . '.published' ))
{
$fieldSet[] = Indent::_(2) . "<!-- " . Line::_(__Line__, __Class__)
. " Published Field. Type: List (joomla) -->";
@ -731,7 +756,7 @@ class Fields extends Structure
CFactory::_('Utilities.Counter')->field++;
}
// if modified is not set
if (!isset($this->fieldsNames[$nameSingleCode]['modified'] ))
if (!CFactory::_('Registry')->isString('builder.field_names.' . $nameSingleCode . '.modified' ))
{
$fieldSet[] = Indent::_(2) . "<!-- " . Line::_(__Line__, __Class__)
. " Date Modified Field. Type: Calendar (joomla) -->";
@ -746,7 +771,7 @@ class Fields extends Structure
CFactory::_('Utilities.Counter')->field++;
}
// if modified_by is not set
if (!isset($this->fieldsNames[$nameSingleCode]['modified_by'] ))
if (!CFactory::_('Registry')->isString('builder.field_names.' . $nameSingleCode . '.modified_by' ))
{
$fieldSet[] = Indent::_(2) . "<!-- " . Line::_(__Line__, __Class__)
. " User Modified Field. Type: User (joomla) -->";
@ -764,11 +789,8 @@ class Fields extends Structure
CFactory::_('Utilities.Counter')->field++;
}
// check if view has access
if (isset($this->accessBuilder[$nameSingleCode])
& & StringHelper::check(
$this->accessBuilder[$nameSingleCode]
)
& & !isset($this->fieldsNames[$nameSingleCode]['access']))
if (CFactory::_('Registry')->exists('builder.access_switch.' . $nameSingleCode)
& & !CFactory::_('Registry')->isString('builder.field_names.' . $nameSingleCode . '.access'))
{
$fieldSet[] = Indent::_(2) . "<!-- " . Line::_(__Line__, __Class__)
. " Access Field. Type: Accesslevel (joomla) -->";
@ -787,7 +809,7 @@ class Fields extends Structure
CFactory::_('Utilities.Counter')->field++;
}
// if ordering is not set
if (!isset($this->fieldsNames[$nameSingleCode]['ordering'] ))
if (!CFactory::_('Registry')->isString('builder.field_names.' . $nameSingleCode . '.ordering' ))
{
$fieldSet[] = Indent::_(2) . "<!-- " . Line::_(__Line__, __Class__)
. " Ordering Field. Type: Numbers (joomla) -->";
@ -810,7 +832,7 @@ class Fields extends Structure
CFactory::_('Utilities.Counter')->field++;
}
// if version is not set
if (!isset($this->fieldsNames[$nameSingleCode]['version'] ))
if (!CFactory::_('Registry')->isString('builder.field_names.' . $nameSingleCode . '.version' ))
{
$fieldSet[] = Indent::_(2) . "<!-- " . Line::_(__Line__, __Class__)
. " Version Field. Type: Text (joomla) -->";
@ -830,13 +852,10 @@ class Fields extends Structure
CFactory::_('Utilities.Counter')->field++;
}
// check if metadata is added to this view
if (isset($this->metadataBuilder[$nameSingleCode])
& & StringHelper::check(
$this->metadataBuilder[$nameSingleCode]
))
if (CFactory::_('Registry')->isString('builder.meta_data.' . $nameSingleCode))
{
// metakey
if (!isset($this->fieldsNames[$nameSingleCode]['metakey'] ))
if (!CFactory::_('Registry')->isString('builder.field_names.' . $nameSingleCode . '.metakey'))
{
$fieldSet[] = Indent::_(2) . "<!-- " . Line::_(__Line__, __Class__)
. " Metakey Field. Type: Textarea (joomla) -->";
@ -854,7 +873,7 @@ class Fields extends Structure
CFactory::_('Utilities.Counter')->field++;
}
// metadesc
if (!isset($this->fieldsNames[$nameSingleCode]['metadesc'] ))
if (!CFactory::_('Registry')->isString('builder.field_names.' . $nameSingleCode . '.metadesc' ))
{
$fieldSet[] = Indent::_(2) . "<!-- " . Line::_(__Line__, __Class__)
. " Metadesc Field. Type: Textarea (joomla) -->";
@ -874,7 +893,7 @@ class Fields extends Structure
}
// fix the permissions field "title" issue gh-629
// check if the the title is not already set
if (!isset($this->fieldsNames[$nameSingleCode]['title'] )
if (!CFactory::_('Registry')->isString('builder.field_names.' . $nameSingleCode . '.title' )
& & $this->hasPermissionsSet($view, $nameSingleCode))
{
// set the field/tab name
@ -916,14 +935,11 @@ class Fields extends Structure
// close fieldset
$fieldSet[] = Indent::_(1) . "< / fieldset > ";
// check if metadata is added to this view
if (isset($this->metadataBuilder[$nameSingleCode])
& & StringHelper::check(
$this->metadataBuilder[$nameSingleCode]
))
if (CFactory::_('Registry')->isString('builder.meta_data.' . $nameSingleCode))
{
if (!isset($this->fieldsNames[$nameSingleCode]['robots'] )
|| !isset($this->fieldsNames[$nameSingleCode]['rights'] )
|| !isset($this->fieldsNames[$nameSingleCode]['author'] ))
if (!CFactory::_('Registry')->isString('builder.field_names.' . $nameSingleCode . '.robots')
|| !CFactory::_('Registry')->isString('builder.field_names.' . $nameSingleCode . '.rights')
|| !CFactory::_('Registry')->isString('builder.field_names.' . $nameSingleCode . '.author' ))
{
$fieldSet[] = PHP_EOL . Indent::_(1) . "<!-- " . Line::_(
__LINE__,__CLASS__
@ -934,7 +950,7 @@ class Fields extends Structure
$fieldSet[] = Indent::_(3)
. 'label="JGLOBAL_FIELDSET_METADATA_OPTIONS">';
// robots
if (!isset($this->fieldsNames[$nameSingleCode]['robots'] ))
if (!CFactory::_('Registry')->isString('builder.field_names.' . $nameSingleCode . '.robots' ))
{
$fieldSet[] = Indent::_(3) . "<!-- " . Line::_(
__LINE__,__CLASS__
@ -960,7 +976,7 @@ class Fields extends Structure
CFactory::_('Utilities.Counter')->field++;
}
// author
if (!isset($this->fieldsNames[$nameSingleCode]['author'] ))
if (!CFactory::_('Registry')->isString('builder.field_names.' . $nameSingleCode . '.author' ))
{
$fieldSet[] = Indent::_(3) . "<!-- " . Line::_(
__LINE__,__CLASS__
@ -975,7 +991,7 @@ class Fields extends Structure
CFactory::_('Utilities.Counter')->field++;
}
// rights
if (!isset($this->fieldsNames[$nameSingleCode]['rights'] ))
if (!CFactory::_('Registry')->isString('builder.field_names.' . $nameSingleCode . '.rights' ))
{
$fieldSet[] = Indent::_(3) . "<!-- " . Line::_(
__LINE__,__CLASS__
@ -1069,7 +1085,7 @@ class Fields extends Structure
Line::_(__Line__, __Class__) . " Id Field. Type: Text (joomla)"
);
// if id is not set
if (!isset($this->fieldsNames[$nameSingleCode]['id'] ))
if (!CFactory::_('Registry')->isString('builder.field_names.' . $nameSingleCode . '.id' ))
{
$attributes = array(
'name' => 'id',
@ -1087,7 +1103,7 @@ class Fields extends Structure
CFactory::_('Utilities.Counter')->field++;
}
// if created is not set
if (!isset($this->fieldsNames[$nameSingleCode]['created'] ))
if (!CFactory::_('Registry')->isString('builder.field_names.' . $nameSingleCode . '.created' ))
{
$attributes = array(
'name' => 'created',
@ -1109,7 +1125,7 @@ class Fields extends Structure
CFactory::_('Utilities.Counter')->field++;
}
// if created_by is not set
if (!isset($this->fieldsNames[$nameSingleCode]['created_by'] ))
if (!CFactory::_('Registry')->isString('builder.field_names.' . $nameSingleCode . '.created_by' ))
{
$attributes = array(
'name' => 'created_by',
@ -1128,7 +1144,7 @@ class Fields extends Structure
CFactory::_('Utilities.Counter')->field++;
}
// if published is not set
if (!isset($this->fieldsNames[$nameSingleCode]['published'] ))
if (!CFactory::_('Registry')->isString('builder.field_names.' . $nameSingleCode . '.published' ))
{
$attributes = array(
'name' => 'published',
@ -1155,7 +1171,7 @@ class Fields extends Structure
}
}
// if modified is not set
if (!isset($this->fieldsNames[$nameSingleCode]['modified'] ))
if (!CFactory::_('Registry')->isString('builder.field_names.' . $nameSingleCode . '.modified' ))
{
$attributes = array(
'name' => 'modified',
@ -1178,7 +1194,7 @@ class Fields extends Structure
CFactory::_('Utilities.Counter')->field++;
}
// if modified_by is not set
if (!isset($this->fieldsNames[$nameSingleCode]['modified_by'] ))
if (!CFactory::_('Registry')->isString('builder.field_names.' . $nameSingleCode . '.modified_by' ))
{
$attributes = array(
'name' => 'modified_by',
@ -1199,11 +1215,8 @@ class Fields extends Structure
CFactory::_('Utilities.Counter')->field++;
}
// check if view has access
if (isset($this->accessBuilder[$nameSingleCode])
& & StringHelper::check(
$this->accessBuilder[$nameSingleCode]
)
& & !isset($this->fieldsNames[$nameSingleCode]['access']))
if (CFactory::_('Registry')->exists('builder.access_switch.' . $nameSingleCode)
& & !CFactory::_('Registry')->isString('builder.field_names.' . $nameSingleCode . '.access'))
{
$attributes = array(
'name' => 'access',
@ -1224,7 +1237,7 @@ class Fields extends Structure
CFactory::_('Utilities.Counter')->field++;
}
// if ordering is not set
if (!isset($this->fieldsNames[$nameSingleCode]['ordering'] ))
if (!CFactory::_('Registry')->isString('builder.field_names.' . $nameSingleCode . '.ordering' ))
{
$attributes = array(
'name' => 'ordering',
@ -1247,7 +1260,7 @@ class Fields extends Structure
CFactory::_('Utilities.Counter')->field++;
}
// if version is not set
if (!isset($this->fieldsNames[$nameSingleCode]['version'] ))
if (!CFactory::_('Registry')->isString('builder.field_names.' . $nameSingleCode . '.version' ))
{
$attributes = array(
'name' => 'version',
@ -1269,13 +1282,10 @@ class Fields extends Structure
CFactory::_('Utilities.Counter')->field++;
}
// check if metadata is added to this view
if (isset($this->metadataBuilder[$nameSingleCode])
& & StringHelper::check(
$this->metadataBuilder[$nameSingleCode]
))
if (CFactory::_('Registry')->isString('builder.meta_data.' . $nameSingleCode))
{
// metakey
if (!isset($this->fieldsNames[$nameSingleCode]['metakey'] ))
if (!CFactory::_('Registry')->isString('builder.field_names.' . $nameSingleCode . '.metakey'))
{
$attributes = array(
'name' => 'metakey',
@ -1297,7 +1307,7 @@ class Fields extends Structure
CFactory::_('Utilities.Counter')->field++;
}
// metadesc
if (!isset($this->fieldsNames[$nameSingleCode]['metadesc'] ))
if (!CFactory::_('Registry')->isString('builder.field_names.' . $nameSingleCode . '.metadesc' ))
{
$attributes['name'] = 'metadesc';
$attributes['label'] = 'JFIELD_META_DESCRIPTION_LABEL';
@ -1316,7 +1326,7 @@ class Fields extends Structure
}
// fix the permissions field "title" issue gh-629
// check if the the title is not already set
if (!isset($this->fieldsNames[$nameSingleCode]['title'] )
if (!CFactory::_('Registry')->isString('builder.field_names.' . $nameSingleCode . '.title' )
& & $this->hasPermissionsSet($view, $nameSingleCode))
{
// set the field/tab name
@ -1369,14 +1379,11 @@ class Fields extends Structure
}
}
// check if metadata is added to this view
if (isset($this->metadataBuilder[$nameSingleCode])
& & StringHelper::check(
$this->metadataBuilder[$nameSingleCode]
))
if (CFactory::_('Registry')->isString('builder.meta_data.' . $nameSingleCode))
{
if (!isset($this->fieldsNames[$nameSingleCode]['robots'] )
|| !isset($this->fieldsNames[$nameSingleCode]['author'] )
|| !isset($this->fieldsNames[$nameSingleCode]['rights'] ))
if (!CFactory::_('Registry')->isString('builder.field_names.' . $nameSingleCode . '.robots')
|| !CFactory::_('Registry')->isString('builder.field_names.' . $nameSingleCode . '.author')
|| !CFactory::_('Registry')->isString('builder.field_names.' . $nameSingleCode . '.rights' ))
{
ComponentbuilderHelper::xmlComment(
$fieldSetXML, Line::_(__Line__, __Class__) . " Metadata Fields"
@ -1392,7 +1399,7 @@ class Fields extends Structure
'label', 'JGLOBAL_FIELDSET_METADATA_OPTIONS'
);
// robots
if (!isset($this->fieldsNames[$nameSingleCode]['robots'] ))
if (!CFactory::_('Registry')->isString('builder.field_names.' . $nameSingleCode . '.robots' ))
{
ComponentbuilderHelper::xmlComment(
$fieldsFieldSetXML, Line::_(__Line__, __Class__)
@ -1425,7 +1432,7 @@ class Fields extends Structure
}
}
// author
if (!isset($this->fieldsNames[$nameSingleCode]['author'] ))
if (!CFactory::_('Registry')->isString('builder.field_names.' . $nameSingleCode . '.author' ))
{
ComponentbuilderHelper::xmlComment(
$fieldsFieldSetXML, Line::_(__Line__, __Class__)
@ -1446,7 +1453,7 @@ class Fields extends Structure
CFactory::_('Utilities.Counter')->field++;
}
// rights
if (!isset($this->fieldsNames[$nameSingleCode]['rights'] ))
if (!CFactory::_('Registry')->isString('builder.field_names.' . $nameSingleCode . '.rights' ))
{
ComponentbuilderHelper::xmlComment(
$fieldsFieldSetXML, Line::_(__Line__, __Class__)
@ -1488,16 +1495,14 @@ class Fields extends Structure
protected function hasPermissionsSet(& $view, & $nameSingleCode)
{
// first check if we have checked this already
if (!isset($this->hasPermissions[$nameSingleCode] ))
if (!CFactory::_('Registry')->exists('builder.has_permissions.' . $nameSingleCode ))
{
// default is false
$this->hasPermissions[$nameSingleCode] = false;
// when a view has history, it has permissions
// since it tracks the version access
if (isset($view['history']) & & $view['history'] == 1)
{
// set the permission for later
$this->hasPermissions[$nameSingleCode] = true ;
CFactory::_('Registry')->set('builder.has_permissions.' . $nameSingleCode, true) ;
// break out here
return true;
@ -1520,7 +1525,7 @@ class Fields extends Structure
))
{
// set the permission for later
$this->hasPermissions[$nameSingleCode] = true ;
CFactory::_('Registry')->set('builder.has_permissions.' . $nameSingleCode, true) ;
// break out here
return true;
@ -1543,7 +1548,7 @@ class Fields extends Structure
))
{
// set the permission for later
$this->hasPermissions[$nameSingleCode] = true ;
CFactory::_('Registry')->set('builder.has_permissions.' . $nameSingleCode, true) ;
// break out here
return true;
@ -1552,7 +1557,7 @@ class Fields extends Structure
}
}
return $this->hasPermissions[$nameSingleCode] ;
return CFactory::_('Registry')->exists('builder.has_permissions.' . $nameSingleCode) ;
}
/**
@ -1565,7 +1570,7 @@ class Fields extends Structure
*/
public function setFieldsNames(& $view, & $name)
{
$this->fieldsNames[$view][$name] = $name ;
CFactory::_('Registry')->set('builder.field_names.' . $view . '.' . $name, $name) ;
}
/**
@ -3934,21 +3939,15 @@ class Fields extends Structure
// as zero is expected to behave
if ($field['order_edit'] == 0)
{
if (!isset($this->zeroOrderFix[$nameSingleCode]))
{
$this->zeroOrderFix[$nameSingleCode] = array();
}
if (!isset($this->zeroOrderFix[$nameSingleCode][(int) $field['tab']]))
{
$this->zeroOrderFix[$nameSingleCode][(int) $field['tab']]
= -999;
}
else
// get the value
$zero_counter = CFactory::_('Registry')->get('builder.zero_order_fix.' . $nameSingleCode . '.' . $field['tab'], -999);
if ($zero_counter != -999)
{
$this->zeroOrderFix[$nameSingleCode][(int) $field['tab']] ++;
$zero_counter++;
}
$field['order_edit']
= $this->zeroOrderFix[$nameSingleCode][(int) $field['tab']];
$field['order_edit'] = $zero_counter;
// set the value
CFactory::_('Registry')->set('builder.zero_order_fix.' . $nameSingleCode . '.' . $field['tab'], $zero_counter);
}
// get the default fields
$default_fields = CFactory::_('Config')->default_fields;
@ -3956,80 +3955,98 @@ class Fields extends Structure
if (StringHelper::check($tabName)
& & strtolower($tabName) != 'publishing')
{
$this->tabCounter[$nameSingleCode][(int) $field['tab']]
= $tabName;
if (isset($this->layoutBuilder[$nameSingleCode][$tabName][(int) $field['alignment']][(int) $field['order_edit'] ]))
CFactory::_('Registry')->set('builder.tab_counter.' . $nameSingleCode . '.' . $field['tab'], $tabName);
if (CFactory::_('Registry')->exists('builder.layout.' . $nameSingleCode . '.' . $tabName . '.'
. $field['alignment'] . '.' . $field['order_edit' ]))
{
$size = (int) count(
(array) $this->layoutBuilder[$nameSingleCode][$tabName][(int) $field['alignment']]
(array) CFactory::_('Registry')->get('builder.layout.' . $nameSingleCode . '.' . $tabName . '.'
. $field['alignment'])
) + 1;
while (isset($this->layoutBuilder[$nameSingleCode][$tabName][(int) $field['alignment']][$size]))
while (CFactory::_('Registry')->exists('builder.layout.' . $nameSingleCode . '.' . $tabName . '.'
. $field['alignment'] . '.' . $size))
{
$size++;
}
$this->layoutBuilder[$nameSingleCode][$tabName][(int) $field['alignment']][$size]
= $name;
CFactory::_('Registry')->set('builder.layout.'
. $nameSingleCode . '.'
. $tabName . '.'
. $field['alignment'] . '.'
. $size, $name);
}
else
{
$this->layoutBuilder[$nameSingleCode][$tabName][(int) $field['alignment']][(int) $field['order_edit']]
= $name;
CFactory::_('Registry')->set('builder.layout.'
. $nameSingleCode . '.'
. $tabName . '.'
. $field['alignment'] . '.'
. $field['order_edit'], $name);
}
// check if default fields were over written
if (in_array($name, $default_fields))
{
// just to eliminate
$this->movedPublishingFields[$nameSingleCode][$name] = $name ;
CFactory::_('Registry')->set('builder.moved_publishing_fields.' . $nameSingleCode . '.' . $name, true) ;
}
}
elseif ($tabName === 'publishing' || $tabName === 'Publishing')
{
if (!in_array($name, $default_fields))
{
if (isset($this->newPublishingFields[$nameSingleCode][(int) $field['alignment']][(int) $field['order_edit']]))
if (CFactory::_('Registry')->exists('builder.new_publishing_fields.' . $nameSingleCode . '.' .
$field['alignment'] . '.' . $field['order_edit']))
{
$size = (int) count(
(array) $this->newPublishingFields[$nameSingleCode][(int) $field['alignment']]
(array) CFactory::_('Registry')->get('builder.new_publishing_fields.' . $nameSingleCode . '.' .
$field['alignment'])
) + 1;
while (isset($this->newPublishingFields[$nameSingleCode][(int) $field['alignment']][$size]))
while (CFactory::_('Registry')->exists('builder.new_publishing_fields.' . $nameSingleCode . '.' .
$field['alignment'] . '.' . $size))
{
$size++;
}
$this->newPublishingFields[$nameSingleCode][(int) $field['alignment']][$size]
= $name ;
CFactory::_('Registry')->set('builder.new_publishing_fields.' . $nameSingleCode . '.' .
$field['alignment'] . '.' . $size, $name) ;
}
else
{
$this->newPublishingFields[$nameSingleCode][(int) $field['alignment']][(int) $field['order_edit']]
= $name ;
CFactory::_('Registry')->set('builder.new_publishing_fields.' . $nameSingleCode . '.' .
$field['alignment'] . '.' . $field['order_edit'], $name) ;
}
}
}
else
{
$this->tabCounter[$nameSingleCode][1] = 'Details';
if (isset($this->layoutBuilder[$nameSingleCode]['Details'][(int) $field['alignment']][(int) $field['order_edit']]))
CFactory::_('Registry')->set('builder.tab_counter.' . $nameSingleCode . '.1', 'Details');
if (CFactory::_('Registry')->exists('builder.layout.' . $nameSingleCode . '.Details.'
. $field['alignment'] . '.' . $field['order_edit']))
{
$size = (int) count(
(array) $this->layoutBuilder[$nameSingleCode]['Details'][(int) $field['alignment']]
(array) CFactory::_('Registry')->get('builder.layout.' . $nameSingleCode . '.Details.'
. $field['alignment'])
) + 1;
while (isset($this->layoutBuilder[$nameSingleCode]['Details'][(int) $field['alignment']][$size]))
while (CFactory::_('Registry')->exists('builder.layout.' . $nameSingleCode . '.Details.'
. $field['alignment'] . '.' . $size))
{
$size++;
}
$this->layoutBuilder[$nameSingleCode]['Details'][(int) $field['alignment']][$size]
= $name;
CFactory::_('Registry')->set('builder.layout.'
. $nameSingleCode . '.Details.'
. $field['alignment'] . '.'
. $size, $name);
}
else
{
$this->layoutBuilder[$nameSingleCode]['Details'][(int) $field['alignment']][(int) $field['order_edit']]
= $name;
CFactory::_('Registry')->set('builder.layout.'
. $nameSingleCode . '.Details.'
. $field['alignment'] . '.'
. $field['order_edit'], $name);
}
// check if default fields were over written
// check if default fields were overwritten
if (in_array($name, $default_fields))
{
// just to eliminate
$this->movedPublishingFields[$nameSingleCode][$name] = $name ;
CFactory::_('Registry')->set('builder.moved_publishing_fields.' . $nameSingleCode . '.' . $name, true) ;
}
}
}
@ -4518,8 +4535,7 @@ class Fields extends Structure
);
if (StringHelper::check($listclass))
{
$this->listFieldClass[$nameListCode][$fieldAttributes['name']]
= $listclass;
CFactory::_('Registry')->set('builder.list_field_class.' . $nameListCode . '.' . $fieldAttributes['name'], $listclass);
}
// check if we find reason to remove this field from being escaped
$escaped = GetHelper::between(
@ -4527,8 +4543,8 @@ class Fields extends Structure
);
if (StringHelper::check($escaped))
{
$this->doNotEscape[$nameListCode][]
= $fieldAttributes['name'] ;
CFactory::_('Registry')->set('builder.do_not_escape.' .
$nameListCode . '.' . $fieldAttributes['name'], true) ;
}
// check if we have display switch for dynamic placement
$display = GetHelper::between(
@ -4590,7 +4606,7 @@ class Fields extends Structure
if ($typeName === 'tag')
{
// set tags for this view but don't load to DB
$this->tagsBuilder[$nameSingleCode] = $nameSingleCode ;
CFactory::_('Registry')->set('builder.tags.' . $nameSingleCode, true) ;
}
// dbSwitch
$dbSwitch = true;
@ -4608,8 +4624,8 @@ class Fields extends Structure
$textKeys = array('TEXT', 'TINYTEXT', 'MEDIUMTEXT', 'LONGTEXT',
'BLOB', 'TINYBLOB', 'MEDIUMBLOB', 'LONGBLOB');
// build the query values
$this->queryBuilder[$nameSingleCode][$name]['type']
= $field['settings']->datatype;
CFactory::_('Registry')->set('builder.database_tables.' . $nameSingleCode . '.' . $name . '.type',
$field['settings']->datatype) ;
// check if this is a number
if (in_array($field['settings']->datatype, $numberKeys))
{
@ -4639,26 +4655,26 @@ class Fields extends Structure
// check if this is not text
if (!in_array($field['settings']->datatype, $textKeys))
{
$this->queryBuilder[$nameSingleCode][$name]['lenght']
= $field['settings']->datalenght;
$this->queryBuilder[$nameSingleCode][$name]['lenght_other']