Added string manipulation back as a field building method, to insure JCB always works well accross shared server invironments. We did not remove the SimpleXMLElement method, but kept both options with a global selection option and internal error handeling. Resolved gh-197

This commit is contained in:
2018-03-18 06:28:54 +02:00
parent e715fa1614
commit 42ae72d97e
42 changed files with 15004 additions and 11887 deletions

View File

@ -4,217 +4,221 @@
addfieldpath="/administrator/components/com_componentbuilder/models/fields"
>
<fieldset name="details">
<!-- Default Fields.-->
<!-- Id Field. Type: Text (joomla)-->
<field name="id"
type="text"
class="readonly"
label="JGLOBAL_FIELD_ID_LABEL"
description="JGLOBAL_FIELD_ID_DESC"
size="10"
default="0" />
<!-- Date Created Field. Type: Calendar (joomla)-->
<field name="created"
type="calendar"
label="COM_COMPONENTBUILDER_LAYOUT_CREATED_DATE_LABEL"
description="COM_COMPONENTBUILDER_LAYOUT_CREATED_DATE_DESC"
size="22"
format="%Y-%m-%d %H:%M:%S"
filter="user_utc" />
<!-- User Created Field. Type: User (joomla)-->
<field name="created_by"
type="user"
label="COM_COMPONENTBUILDER_LAYOUT_CREATED_BY_LABEL"
description="COM_COMPONENTBUILDER_LAYOUT_CREATED_BY_DESC" />
<!-- Published Field. Type: List (joomla)-->
<field name="published"
type="list"
label="JSTATUS">
<option value="1">JPUBLISHED</option>
<option value="0">JUNPUBLISHED</option>
<option value="2">JARCHIVED</option>
<option value="-2">JTRASHED</option>
</field>
<!-- Date Modified Field. Type: Calendar (joomla)-->
<field name="modified"
type="calendar"
class="readonly"
label="COM_COMPONENTBUILDER_LAYOUT_MODIFIED_DATE_LABEL"
description="COM_COMPONENTBUILDER_LAYOUT_MODIFIED_DATE_DESC"
size="22"
readonly="true"
format="%Y-%m-%d %H:%M:%S"
filter="user_utc" />
<!-- User Modified Field. Type: User (joomla)-->
<field name="modified_by"
type="user"
label="COM_COMPONENTBUILDER_LAYOUT_MODIFIED_BY_LABEL"
description="COM_COMPONENTBUILDER_LAYOUT_MODIFIED_BY_DESC"
class="readonly"
readonly="true"
filter="unset" />
<!-- Access Field. Type: Accesslevel (joomla)-->
<field name="access"
type="accesslevel"
label="JFIELD_ACCESS_LABEL"
description="JFIELD_ACCESS_DESC"
default="1"
required="false" />
<!-- Ordering Field. Type: Numbers (joomla)-->
<field name="ordering"
type="number"
class="inputbox validate-ordering"
label="COM_COMPONENTBUILDER_LAYOUT_ORDERING_LABEL"
description=""
default="0"
size="6"
required="false" />
<!-- Version Field. Type: Text (joomla)-->
<field name="version"
type="text"
class="readonly"
label="COM_COMPONENTBUILDER_LAYOUT_VERSION_LABEL"
description="COM_COMPONENTBUILDER_LAYOUT_VERSION_DESC"
size="6"
readonly="true"
filter="unset" />
<!-- Dynamic Fields.-->
<!-- Name Field. Type: Text. (joomla)-->
<field type="text"
name="name"
label="COM_COMPONENTBUILDER_LAYOUT_NAME_LABEL"
size="40"
maxlength="150"
description="COM_COMPONENTBUILDER_LAYOUT_NAME_DESCRIPTION"
class="text_area"
readonly="false"
disabled="false"
required="true"
filter="STRING"
message="COM_COMPONENTBUILDER_LAYOUT_NAME_MESSAGE"
hint="COM_COMPONENTBUILDER_LAYOUT_NAME_HINT" />
<!-- Alias Field. Type: Text. (joomla)-->
<field type="text"
name="alias"
label="COM_COMPONENTBUILDER_LAYOUT_ALIAS_LABEL"
size="40"
maxlength="50"
description="COM_COMPONENTBUILDER_LAYOUT_ALIAS_DESCRIPTION"
class="text_area"
filter="CMD"
message="COM_COMPONENTBUILDER_LAYOUT_ALIAS_MESSAGE"
hint="COM_COMPONENTBUILDER_LAYOUT_ALIAS_HINT" />
<!-- Description Field. Type: Text. (joomla)-->
<field type="text"
name="description"
label="COM_COMPONENTBUILDER_LAYOUT_DESCRIPTION_LABEL"
size="80"
maxlength="150"
description="COM_COMPONENTBUILDER_LAYOUT_DESCRIPTION_DESCRIPTION"
class="text_area"
readonly="false"
disabled="false"
required="true"
filter="STRING"
message="COM_COMPONENTBUILDER_LAYOUT_DESCRIPTION_MESSAGE"
hint="COM_COMPONENTBUILDER_LAYOUT_DESCRIPTION_HINT" />
<!-- Dynamic_get Field. Type: Dynamicget. (custom)-->
<field type="dynamicget"
name="dynamic_get"
label="COM_COMPONENTBUILDER_LAYOUT_DYNAMIC_GET_LABEL"
description="COM_COMPONENTBUILDER_LAYOUT_DYNAMIC_GET_DESCRIPTION"
multiple="false"
required="false"
button="true" />
<!-- Snippet Field. Type: Snippets. (custom)-->
<field type="snippets"
name="snippet"
label="COM_COMPONENTBUILDER_LAYOUT_SNIPPET_LABEL"
description="COM_COMPONENTBUILDER_LAYOUT_SNIPPET_DESCRIPTION"
class="list_class"
multiple="false"
required="false"
button="true" />
<!-- Php_view Field. Type: Textarea. (joomla)-->
<field type="textarea"
name="php_view"
label="COM_COMPONENTBUILDER_LAYOUT_PHP_VIEW_LABEL"
rows="17"
cols="5"
description="COM_COMPONENTBUILDER_LAYOUT_PHP_VIEW_DESCRIPTION"
class="text_area span12"
filter="raw"
hint="COM_COMPONENTBUILDER_LAYOUT_PHP_VIEW_HINT"
required="true" />
<!-- Add_php_view Field. Type: Radio. (joomla)-->
<field type="radio"
name="add_php_view"
label="COM_COMPONENTBUILDER_LAYOUT_ADD_PHP_VIEW_LABEL"
class="btn-group btn-group-yesno"
default="0"
required="true">
<!-- Option Set.-->
<option value="1">COM_COMPONENTBUILDER_LAYOUT_YES</option>
<option value="0">COM_COMPONENTBUILDER_LAYOUT_NO</option>
</field>
<!-- Dynamic_values Field. Type: Note. A None Database Field. (joomla)-->
<field type="note"
name="dynamic_values"
label="COM_COMPONENTBUILDER_LAYOUT_DYNAMIC_VALUES_LABEL"
description="COM_COMPONENTBUILDER_LAYOUT_DYNAMIC_VALUES_DESCRIPTION"
heading="h4"
class="dynamic_values" />
<!-- Not_required Field. Type: Hidden. (joomla)-->
<field type="hidden"
name="not_required"
default="[]" />
<!-- Layout Field. Type: Textarea. (joomla)-->
<field type="textarea"
name="layout"
label="COM_COMPONENTBUILDER_LAYOUT_LAYOUT_LABEL"
rows="20"
cols="15"
class="text_area span12"
filter="raw"
hint="COM_COMPONENTBUILDER_LAYOUT_LAYOUT_HINT"
required="true" />
<!-- Note_snippet_usage Field. Type: Note. A None Database Field. (joomla)-->
<field type="note"
name="note_snippet_usage"
label="COM_COMPONENTBUILDER_LAYOUT_NOTE_SNIPPET_USAGE_LABEL"
heading="h4"
class="snippet-usage note_snippet_usage" />
<!-- Note_uikit_snippet Field. Type: Note. A None Database Field. (joomla)-->
<field type="note"
name="note_uikit_snippet"
label="COM_COMPONENTBUILDER_LAYOUT_NOTE_UIKIT_SNIPPET_LABEL"
heading="h4"
class="snippet-code note_uikit_snippet" />
<!-- Note_add_language_string Field. Type: Note. A None Database Field. (joomla)-->
<field type="note"
name="note_add_language_string"
label="COM_COMPONENTBUILDER_LAYOUT_NOTE_ADD_LANGUAGE_STRING_LABEL"
description="COM_COMPONENTBUILDER_LAYOUT_NOTE_ADD_LANGUAGE_STRING_DESCRIPTION"
heading="h4"
class="note_add_language_string" />
<!-- Libraries Field. Type: Libraries. (custom)-->
<field type="libraries"
name="libraries"
label="COM_COMPONENTBUILDER_LAYOUT_LIBRARIES_LABEL"
description="COM_COMPONENTBUILDER_LAYOUT_LIBRARIES_DESCRIPTION"
class="list_class"
multiple="true"
default="0"
required="false"
button="true" />
<!-- Note_libraries_selection Field. Type: Note. A None Database Field. (joomla)-->
<field type="note"
name="note_libraries_selection"
label="COM_COMPONENTBUILDER_LAYOUT_NOTE_LIBRARIES_SELECTION_LABEL"
description="COM_COMPONENTBUILDER_LAYOUT_NOTE_LIBRARIES_SELECTION_DESCRIPTION"
heading="h4"
class="alert alert-info note_libraries_selection" />
</fieldset>
<!-- Default Fields. -->
<!-- Id Field. Type: Text (joomla) -->
<field
name="id"
type="text" class="readonly" label="JGLOBAL_FIELD_ID_LABEL"
description ="JGLOBAL_FIELD_ID_DESC" size="10" default="0"
readonly="true"
/>
<!-- Date Created Field. Type: Calendar (joomla) -->
<field
name="created"
type="calendar"
label="COM_COMPONENTBUILDER_LAYOUT_CREATED_DATE_LABEL"
description="COM_COMPONENTBUILDER_LAYOUT_CREATED_DATE_DESC"
size="22"
format="%Y-%m-%d %H:%M:%S"
filter="user_utc"
/>
<!-- User Created Field. Type: User (joomla) -->
<field
name="created_by"
type="user"
label="COM_COMPONENTBUILDER_LAYOUT_CREATED_BY_LABEL"
description="COM_COMPONENTBUILDER_LAYOUT_CREATED_BY_DESC"
/>
<!-- Published Field. Type: List (joomla) -->
<field name="published" type="list" label="JSTATUS"
description="JFIELD_PUBLISHED_DESC" class="chzn-color-state"
filter="intval" size="1" default="1" >
<option value="1">
JPUBLISHED</option>
<option value="0">
JUNPUBLISHED</option>
<option value="2">
JARCHIVED</option>
<option value="-2">
JTRASHED</option>
</field>
<!-- Date Modified Field. Type: Calendar (joomla) -->
<field name="modified" type="calendar" class="readonly"
label="COM_COMPONENTBUILDER_LAYOUT_MODIFIED_DATE_LABEL" description="COM_COMPONENTBUILDER_LAYOUT_MODIFIED_DATE_DESC"
size="22" readonly="true" format="%Y-%m-%d %H:%M:%S" filter="user_utc" />
<!-- User Modified Field. Type: User (joomla) -->
<field name="modified_by" type="user"
label="COM_COMPONENTBUILDER_LAYOUT_MODIFIED_BY_LABEL"
description="COM_COMPONENTBUILDER_LAYOUT_MODIFIED_BY_DESC"
class="readonly"
readonly="true"
filter="unset"
/>
<!-- Access Field. Type: Accesslevel (joomla) -->
<field name="access"
type="accesslevel"
label="JFIELD_ACCESS_LABEL"
description="JFIELD_ACCESS_DESC"
default="1"
required="false"
/>
<!-- Ordering Field. Type: Numbers (joomla) -->
<field
name="ordering"
type="number"
class="inputbox validate-ordering"
label="COM_COMPONENTBUILDER_LAYOUT_ORDERING_LABEL"
description=""
default="0"
size="6"
required="false"
/>
<!-- Version Field. Type: Text (joomla) -->
<field
name="version"
type="text"
class="readonly"
label="COM_COMPONENTBUILDER_LAYOUT_VERSION_LABEL"
description="COM_COMPONENTBUILDER_LAYOUT_VERSION_DESC"
size="6"
readonly="true"
filter="unset"
/>
<!-- Dynamic Fields. -->
<!-- Name Field. Type: Text. (joomla) -->
<field
type="text"
name="name"
label="COM_COMPONENTBUILDER_LAYOUT_NAME_LABEL"
size="40"
maxlength="150"
description="COM_COMPONENTBUILDER_LAYOUT_NAME_DESCRIPTION"
class="text_area"
readonly="false"
disabled="false"
required="true"
filter="STRING"
message="COM_COMPONENTBUILDER_LAYOUT_NAME_MESSAGE"
hint="COM_COMPONENTBUILDER_LAYOUT_NAME_HINT"
/>
<!-- Alias Field. Type: Text. (joomla) -->
<field
type="text"
name="alias"
label="COM_COMPONENTBUILDER_LAYOUT_ALIAS_LABEL"
size="40"
maxlength="50"
description="COM_COMPONENTBUILDER_LAYOUT_ALIAS_DESCRIPTION"
class="text_area"
filter="CMD"
message="COM_COMPONENTBUILDER_LAYOUT_ALIAS_MESSAGE"
hint="COM_COMPONENTBUILDER_LAYOUT_ALIAS_HINT"
/>
<!-- Description Field. Type: Text. (joomla) -->
<field
type="text"
name="description"
label="COM_COMPONENTBUILDER_LAYOUT_DESCRIPTION_LABEL"
size="80"
maxlength="150"
description="COM_COMPONENTBUILDER_LAYOUT_DESCRIPTION_DESCRIPTION"
class="text_area"
readonly="false"
disabled="false"
required="true"
filter="STRING"
message="COM_COMPONENTBUILDER_LAYOUT_DESCRIPTION_MESSAGE"
hint="COM_COMPONENTBUILDER_LAYOUT_DESCRIPTION_HINT"
/>
<!-- Dynamic_get Field. Type: Dynamicget. (custom) -->
<field
type="dynamicget"
name="dynamic_get"
label="COM_COMPONENTBUILDER_LAYOUT_DYNAMIC_GET_LABEL"
description="COM_COMPONENTBUILDER_LAYOUT_DYNAMIC_GET_DESCRIPTION"
multiple="false"
required="false"
button="true"
/>
<!-- Snippet Field. Type: Snippets. (custom) -->
<field
type="snippets"
name="snippet"
label="COM_COMPONENTBUILDER_LAYOUT_SNIPPET_LABEL"
description="COM_COMPONENTBUILDER_LAYOUT_SNIPPET_DESCRIPTION"
class="list_class"
multiple="false"
required="false"
button="true"
/>
<!-- Php_view Field. Type: Textarea. (joomla) -->
<field
type="textarea"
name="php_view"
label="COM_COMPONENTBUILDER_LAYOUT_PHP_VIEW_LABEL"
rows="17"
cols="5"
description="COM_COMPONENTBUILDER_LAYOUT_PHP_VIEW_DESCRIPTION"
class="text_area span12"
filter="raw"
hint="COM_COMPONENTBUILDER_LAYOUT_PHP_VIEW_HINT"
required="true"
/>
<!-- Add_php_view Field. Type: Radio. (joomla) -->
<field
type="radio"
name="add_php_view"
label="COM_COMPONENTBUILDER_LAYOUT_ADD_PHP_VIEW_LABEL"
class="btn-group btn-group-yesno"
default="0"
required="true">
<!-- Option Set. -->
<option value="1">
COM_COMPONENTBUILDER_LAYOUT_YES</option>
<option value="0">
COM_COMPONENTBUILDER_LAYOUT_NO</option>
</field>
<!-- Dynamic_values Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="dynamic_values" label="COM_COMPONENTBUILDER_LAYOUT_DYNAMIC_VALUES_LABEL" description="COM_COMPONENTBUILDER_LAYOUT_DYNAMIC_VALUES_DESCRIPTION" heading="h4" class="dynamic_values" />
<!-- Not_required Field. Type: Hidden. (joomla) -->
<field
type="hidden"
name="not_required"
default="[]"
/>
<!-- Layout Field. Type: Textarea. (joomla) -->
<field
type="textarea"
name="layout"
label="COM_COMPONENTBUILDER_LAYOUT_LAYOUT_LABEL"
rows="20"
cols="15"
class="text_area span12"
filter="raw"
hint="COM_COMPONENTBUILDER_LAYOUT_LAYOUT_HINT"
required="true"
/>
<!-- Note_snippet_usage Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_snippet_usage" label="COM_COMPONENTBUILDER_LAYOUT_NOTE_SNIPPET_USAGE_LABEL" heading="h4" class="snippet-usage note_snippet_usage" />
<!-- Note_uikit_snippet Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_uikit_snippet" label="COM_COMPONENTBUILDER_LAYOUT_NOTE_UIKIT_SNIPPET_LABEL" heading="h4" class="snippet-code note_uikit_snippet" />
<!-- Note_add_language_string Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_add_language_string" label="COM_COMPONENTBUILDER_LAYOUT_NOTE_ADD_LANGUAGE_STRING_LABEL" description="COM_COMPONENTBUILDER_LAYOUT_NOTE_ADD_LANGUAGE_STRING_DESCRIPTION" heading="h4" class="note_add_language_string" />
<!-- Libraries Field. Type: Libraries. (custom) -->
<field
type="libraries"
name="libraries"
label="COM_COMPONENTBUILDER_LAYOUT_LIBRARIES_LABEL"
description="COM_COMPONENTBUILDER_LAYOUT_LIBRARIES_DESCRIPTION"
class="list_class"
multiple="true"
default="0"
required="false"
button="true"
/>
<!-- Note_libraries_selection Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_libraries_selection" label="COM_COMPONENTBUILDER_LAYOUT_NOTE_LIBRARIES_SELECTION_LABEL" description="COM_COMPONENTBUILDER_LAYOUT_NOTE_LIBRARIES_SELECTION_DESCRIPTION" heading="h4" class="alert alert-info note_libraries_selection" />
</fieldset>
<!-- Access Control Fields. -->
<fieldset name="accesscontrol">