first commit - v1.0.0
This commit is contained in:
commit
7f1e4b976e
60
componentbuilderfieldorderingtabs.php
Normal file
60
componentbuilderfieldorderingtabs.php
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package Joomla.Component.Builder
|
||||||
|
*
|
||||||
|
* @created 30th April, 2015
|
||||||
|
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
||||||
|
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
||||||
|
* @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.
|
||||||
|
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||||
|
*/
|
||||||
|
|
||||||
|
// No direct access to this file
|
||||||
|
defined('_JEXEC') or die('Restricted access');
|
||||||
|
|
||||||
|
use Joomla\CMS\Form\Form;
|
||||||
|
use Joomla\CMS\Plugin\CMSPlugin;
|
||||||
|
|
||||||
|
JLoader::register('ComponentbuilderHelper', JPATH_ADMINISTRATOR . '/components/com_componentbuilder/helpers/componentbuilder.php');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Content - Componentbuilder Field Ordering Tabs plugin.
|
||||||
|
*
|
||||||
|
* @package ComponentbuilderFieldOrderingTabs
|
||||||
|
* @since 1.0.0
|
||||||
|
*/
|
||||||
|
class PlgContentComponentbuilderFieldOrderingTabs extends CMSPlugin
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Affects constructor behavior. If true, language files will be loaded automatically.
|
||||||
|
*
|
||||||
|
* @var boolean
|
||||||
|
* @since 1.0
|
||||||
|
*/
|
||||||
|
protected $autoloadLanguage = true;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Runs on content preparation of form.
|
||||||
|
*
|
||||||
|
* @param JForm $form The form
|
||||||
|
* @param stdClass $data The data
|
||||||
|
*
|
||||||
|
* @return boolean
|
||||||
|
*
|
||||||
|
* @since 1.0
|
||||||
|
*/
|
||||||
|
public function onContentPrepareForm(Form $form, $data)
|
||||||
|
{
|
||||||
|
$context = $form->getName();
|
||||||
|
|
||||||
|
// When this is componentbuilder admin view
|
||||||
|
if (strpos($context, 'com_componentbuilder.admin_view') === 0)
|
||||||
|
{
|
||||||
|
// Add the forms path
|
||||||
|
Form::addFormPath(__DIR__ . '/forms');
|
||||||
|
// add the admin view params for privacy integration
|
||||||
|
$form->loadFile('admin_view');
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
31
componentbuilderfieldorderingtabs.xml
Normal file
31
componentbuilderfieldorderingtabs.xml
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<extension type="plugin" version="3.8" group="content" method="upgrade">
|
||||||
|
<name>PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS</name>
|
||||||
|
<creationDate>20th February, 2021</creationDate>
|
||||||
|
<author>Llewellyn van der Merwe</author>
|
||||||
|
<authorEmail>llewellyn@joomlacomponentbuilder.com</authorEmail>
|
||||||
|
<authorUrl>http://www.joomlacomponentbuilder.com</authorUrl>
|
||||||
|
<copyright>Copyright (C) 2015 Vast Development Method. All rights reserved.</copyright>
|
||||||
|
<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
|
||||||
|
<version>1.0.0</version>
|
||||||
|
<description>PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_XML_DESCRIPTION</description>
|
||||||
|
|
||||||
|
<!-- Scripts to run on installation -->
|
||||||
|
<scriptfile>script.php</scriptfile>
|
||||||
|
|
||||||
|
<!-- Language files -->
|
||||||
|
<languages folder="language">
|
||||||
|
<language tag="en-GB">en-GB/en-GB.plg_content_componentbuilderfieldorderingtabs.ini</language>
|
||||||
|
<language tag="en-GB">en-GB/en-GB.plg_content_componentbuilderfieldorderingtabs.sys.ini</language>
|
||||||
|
</languages>
|
||||||
|
|
||||||
|
<!-- Plugin files -->
|
||||||
|
<files>
|
||||||
|
<filename plugin="componentbuilderfieldorderingtabs">componentbuilderfieldorderingtabs.php</filename>
|
||||||
|
<filename>index.html</filename>
|
||||||
|
<folder>language</folder>
|
||||||
|
<folder>fields</folder>
|
||||||
|
<folder>forms</folder>
|
||||||
|
<folder>rules</folder>
|
||||||
|
</files>
|
||||||
|
</extension>
|
132
fields/adminlistvieworderfields.php
Normal file
132
fields/adminlistvieworderfields.php
Normal file
@ -0,0 +1,132 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package Joomla.Component.Builder
|
||||||
|
*
|
||||||
|
* @created 30th April, 2015
|
||||||
|
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
||||||
|
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
||||||
|
* @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.
|
||||||
|
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||||
|
*/
|
||||||
|
|
||||||
|
// No direct access to this file
|
||||||
|
defined('_JEXEC') or die('Restricted access');
|
||||||
|
|
||||||
|
// import the list field type
|
||||||
|
jimport('joomla.form.helper');
|
||||||
|
JFormHelper::loadFieldClass('list');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adminlistvieworderfields Form Field class for the Componentbuilder component
|
||||||
|
*/
|
||||||
|
class JFormFieldAdminlistvieworderfields extends JFormFieldList
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* The adminlistvieworderfields field type.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
public $type = 'adminlistvieworderfields';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Method to get a list of options for a list input.
|
||||||
|
*
|
||||||
|
* @return array An array of JHtml options.
|
||||||
|
*/
|
||||||
|
protected function getOptions()
|
||||||
|
{
|
||||||
|
// load the db object
|
||||||
|
$db = JFactory::getDBO();
|
||||||
|
// get the input from url
|
||||||
|
$jinput = JFactory::getApplication()->input;
|
||||||
|
// get the id
|
||||||
|
$adminView = $jinput->getInt('id', 0);
|
||||||
|
// set the field trackers
|
||||||
|
$fieldIds = array();
|
||||||
|
$sortIds = array();
|
||||||
|
// check if we have an admin view
|
||||||
|
if (is_numeric($adminView) && $adminView >= 1)
|
||||||
|
{
|
||||||
|
// get all the fields linked to the admin view
|
||||||
|
if ($addFields = ComponentbuilderHelper::getVar('admin_fields', (int) $adminView, 'admin_view', 'addfields'))
|
||||||
|
{
|
||||||
|
if (ComponentbuilderHelper::checkJson($addFields))
|
||||||
|
{
|
||||||
|
$addFields = json_decode($addFields, true);
|
||||||
|
if (ComponentbuilderHelper::checkArray($addFields))
|
||||||
|
{
|
||||||
|
foreach($addFields as $addField)
|
||||||
|
{
|
||||||
|
// admin list view and ordering
|
||||||
|
if (isset($addField['field']) && isset($addField['list']) && ($addField['list'] == 1 || $addField['list'] == 3)
|
||||||
|
&& isset($addField['sort']) && $addField['sort'])
|
||||||
|
{
|
||||||
|
$fieldIds[(int) $addField['field']] = (int) $addField['field'];
|
||||||
|
}
|
||||||
|
// do track all fields set as sorted
|
||||||
|
if (isset($addField['field']) && isset($addField['sort']) && $addField['sort'])
|
||||||
|
{
|
||||||
|
$sortIds[(int) $addField['field']] = (int) $addField['field'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// get all the fields that are also having a relationship on the list view as sorted
|
||||||
|
if ($addFields = ComponentbuilderHelper::getVar('admin_fields_relations', (int) $adminView, 'admin_view', 'addrelations'))
|
||||||
|
{
|
||||||
|
if (ComponentbuilderHelper::checkJson($addFields))
|
||||||
|
{
|
||||||
|
$addFields = json_decode($addFields, true);
|
||||||
|
if (ComponentbuilderHelper::checkArray($addFields))
|
||||||
|
{
|
||||||
|
foreach($addFields as $addField)
|
||||||
|
{
|
||||||
|
// admin list view and ordering
|
||||||
|
if (isset($addField['joinfields']) && ComponentbuilderHelper::checkArray($addField['joinfields']))
|
||||||
|
{
|
||||||
|
foreach($addField['joinfields'] as $joinfield)
|
||||||
|
{
|
||||||
|
if (isset($sortIds[$joinfield]))
|
||||||
|
{
|
||||||
|
$fieldIds[(int) $joinfield] = (int) $joinfield;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// filter by fields linked
|
||||||
|
if (ComponentbuilderHelper::checkArray($fieldIds))
|
||||||
|
{
|
||||||
|
$query = $db->getQuery(true);
|
||||||
|
$query->select($db->quoteName(array('a.id','a.name', 'a.xml', 'b.name'),array('id','name', 'xml', 'type')));
|
||||||
|
$query->from($db->quoteName('#__componentbuilder_field', 'a'));
|
||||||
|
$query->join('LEFT', '#__componentbuilder_fieldtype AS b ON b.id = a.fieldtype');
|
||||||
|
$query->where($db->quoteName('a.published') . ' >= 1');
|
||||||
|
// only load these fields
|
||||||
|
$query->where($db->quoteName('a.id') . ' IN (' . implode(',', $fieldIds) . ')');
|
||||||
|
$query->order('a.name ASC');
|
||||||
|
$db->setQuery((string)$query);
|
||||||
|
$items = $db->loadObjectList();
|
||||||
|
$options = array();
|
||||||
|
if ($items)
|
||||||
|
{
|
||||||
|
$options[] = JHtml::_('select.option', '', JText::_('PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_SELECT_AN_OPTION'));
|
||||||
|
$options[] = JHtml::_('select.option', -1, JText::_('PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_ID'). ' [ id - text ]');
|
||||||
|
$options[] = JHtml::_('select.option', -2, JText::_('PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_ORDERING'). ' [ ordering - number ]');
|
||||||
|
$options[] = JHtml::_('select.option', -3, JText::_('PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_STATUS'). ' [ published - list ]');
|
||||||
|
foreach($items as $item)
|
||||||
|
{
|
||||||
|
// get the field name (TODO this could slow down the system so we will need to improve on this)
|
||||||
|
$field_name = ComponentbuilderHelper::safeFieldName(ComponentbuilderHelper::getBetween(json_decode($item->xml),'name="','"'));
|
||||||
|
$options[] = JHtml::_('select.option', $item->id, $item->name . ' [ ' . $field_name . ' - ' . $item->type . ' ]');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $options;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
1
fields/index.html
Normal file
1
fields/index.html
Normal file
@ -0,0 +1 @@
|
|||||||
|
<html><body bgcolor="#FFFFFF"></body></html>
|
99
fields/linkedviewsorderfields.php
Normal file
99
fields/linkedviewsorderfields.php
Normal file
@ -0,0 +1,99 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package Joomla.Component.Builder
|
||||||
|
*
|
||||||
|
* @created 30th April, 2015
|
||||||
|
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
||||||
|
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
||||||
|
* @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.
|
||||||
|
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||||
|
*/
|
||||||
|
|
||||||
|
// No direct access to this file
|
||||||
|
defined('_JEXEC') or die('Restricted access');
|
||||||
|
|
||||||
|
// import the list field type
|
||||||
|
jimport('joomla.form.helper');
|
||||||
|
JFormHelper::loadFieldClass('list');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Linkedviewsorderfields Form Field class for the Componentbuilder component
|
||||||
|
*/
|
||||||
|
class JFormFieldLinkedviewsorderfields extends JFormFieldList
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* The linkedviewsorderfields field type.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
public $type = 'linkedviewsorderfields';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Method to get a list of options for a list input.
|
||||||
|
*
|
||||||
|
* @return array An array of JHtml options.
|
||||||
|
*/
|
||||||
|
protected function getOptions()
|
||||||
|
{
|
||||||
|
// load the db object
|
||||||
|
$db = JFactory::getDBO();
|
||||||
|
// get the input from url
|
||||||
|
$jinput = JFactory::getApplication()->input;
|
||||||
|
// get the id
|
||||||
|
$adminView = $jinput->getInt('id', 0);
|
||||||
|
// check if we have an admin view
|
||||||
|
if (is_numeric($adminView) && $adminView >= 1)
|
||||||
|
{
|
||||||
|
// get all the fields linked to the admin view
|
||||||
|
if ($addFields = ComponentbuilderHelper::getVar('admin_fields', (int) $adminView, 'admin_view', 'addfields'))
|
||||||
|
{
|
||||||
|
if (ComponentbuilderHelper::checkJson($addFields))
|
||||||
|
{
|
||||||
|
$addFields = json_decode($addFields, true);
|
||||||
|
if (ComponentbuilderHelper::checkArray($addFields))
|
||||||
|
{
|
||||||
|
foreach($addFields as $addField)
|
||||||
|
{
|
||||||
|
// linked list views and ordering
|
||||||
|
if (isset($addField['field']) && isset($addField['list']) && ($addField['list'] == 1 || $addField['list'] == 4)
|
||||||
|
&& isset($addField['sort']) && $addField['sort'])
|
||||||
|
{
|
||||||
|
$fieldIds[] = (int) $addField['field'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// filter by fields linked
|
||||||
|
if (ComponentbuilderHelper::checkArray($fieldIds))
|
||||||
|
{
|
||||||
|
$query = $db->getQuery(true);
|
||||||
|
$query->select($db->quoteName(array('a.id','a.name', 'a.xml', 'b.name'),array('id','name', 'xml', 'type')));
|
||||||
|
$query->from($db->quoteName('#__componentbuilder_field', 'a'));
|
||||||
|
$query->join('LEFT', '#__componentbuilder_fieldtype AS b ON b.id = a.fieldtype');
|
||||||
|
$query->where($db->quoteName('a.published') . ' >= 1');
|
||||||
|
// only load these fields
|
||||||
|
$query->where($db->quoteName('a.id') . ' IN (' . implode(',', $fieldIds) . ')');
|
||||||
|
$query->order('a.name ASC');
|
||||||
|
$db->setQuery((string)$query);
|
||||||
|
$items = $db->loadObjectList();
|
||||||
|
$options = array();
|
||||||
|
if ($items)
|
||||||
|
{
|
||||||
|
$options[] = JHtml::_('select.option', '', JText::_('PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_SELECT_AN_OPTION'));
|
||||||
|
$options[] = JHtml::_('select.option', -1, JText::_('PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_ID'). ' [ id - text ]');
|
||||||
|
$options[] = JHtml::_('select.option', -2, JText::_('PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_ORDERING'). ' [ ordering - number ]');
|
||||||
|
$options[] = JHtml::_('select.option', -3, JText::_('PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_STATUS'). ' [ published - list ]');
|
||||||
|
foreach($items as $item)
|
||||||
|
{
|
||||||
|
// get the field name (TODO this could slow down the system so we will need to improve on this)
|
||||||
|
$field_name = ComponentbuilderHelper::safeFieldName(ComponentbuilderHelper::getBetween(json_decode($item->xml),'name="','"'));
|
||||||
|
$options[] = JHtml::_('select.option', $item->id, $item->name . ' [ ' . $field_name . ' - ' . $item->type . ' ]');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $options;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
124
forms/admin_view.xml
Normal file
124
forms/admin_view.xml
Normal file
@ -0,0 +1,124 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- default paths of admin_view form points to componentbuilder -->
|
||||||
|
<form>
|
||||||
|
<fields name="params">
|
||||||
|
<!-- default paths of fieldordering fieldset points to the plugin -->
|
||||||
|
<fieldset name="fieldordering" label="PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_FIELD_ORDERING"
|
||||||
|
addrulepath="/plugins/content/componentbuilderfieldorderingtabs/rules"
|
||||||
|
addfieldpath="/plugins/content/componentbuilderfieldorderingtabs/fields"
|
||||||
|
>
|
||||||
|
<fields name="fieldordering">
|
||||||
|
<!-- Add_admin_ordering Field. Type: Radio. (joomla) -->
|
||||||
|
<field
|
||||||
|
type="radio"
|
||||||
|
name="add_admin_ordering"
|
||||||
|
label="PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_ADD_ADMIN_ORDERING_LABEL"
|
||||||
|
description="PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_ADD_ADMIN_ORDERING_DESCRIPTION"
|
||||||
|
class="btn-group btn-group-yesno"
|
||||||
|
default="0">
|
||||||
|
<!-- Option Set. -->
|
||||||
|
<option value="1">
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_YES</option>
|
||||||
|
<option value="0">
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_NO</option>
|
||||||
|
</field>
|
||||||
|
<!-- Admin_ordering_fields Field. Type: Subform. (joomla) -->
|
||||||
|
<field
|
||||||
|
type="subform"
|
||||||
|
name="admin_ordering_fields"
|
||||||
|
label="PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_ADMIN_ORDERING_FIELDS_LABEL"
|
||||||
|
layout="joomla.form.field.subform.repeatable-table"
|
||||||
|
multiple="true"
|
||||||
|
buttons="add,remove,move"
|
||||||
|
icon="list"
|
||||||
|
max="5"
|
||||||
|
min="1"
|
||||||
|
showon="add_admin_ordering:1">
|
||||||
|
<form hidden="true" name="list_admin_ordering_fields_modal" repeat="true">
|
||||||
|
<!-- Field Field. Type: Adminlistvieworderfields. (custom) -->
|
||||||
|
<field
|
||||||
|
type="adminlistvieworderfields"
|
||||||
|
name="field"
|
||||||
|
label="PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_FIELD_LABEL"
|
||||||
|
class="fieldLarge"
|
||||||
|
multiple="false"
|
||||||
|
button="false"
|
||||||
|
/>
|
||||||
|
<!-- Direction Field. Type: List. (joomla) -->
|
||||||
|
<field
|
||||||
|
type="list"
|
||||||
|
name="direction"
|
||||||
|
label="PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_DIRECTION_LABEL"
|
||||||
|
class="list_class fieldLarge"
|
||||||
|
multiple="false"
|
||||||
|
filter="WORD"
|
||||||
|
default="asc">
|
||||||
|
<!-- Option Set. -->
|
||||||
|
<option value="asc">
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_ASCENDING</option>
|
||||||
|
<option value="desc">
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_DESCENDING</option>
|
||||||
|
<option value="rand">
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_RANDOM</option>
|
||||||
|
</field>
|
||||||
|
</form>
|
||||||
|
</field>
|
||||||
|
<!-- Add_linked_ordering Field. Type: Radio. (joomla) -->
|
||||||
|
<field
|
||||||
|
type="radio"
|
||||||
|
name="add_linked_ordering"
|
||||||
|
label="PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_ADD_LINKED_ORDERING_LABEL"
|
||||||
|
description="PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_ADD_LINKED_ORDERING_DESCRIPTION"
|
||||||
|
class="btn-group btn-group-yesno"
|
||||||
|
default="0">
|
||||||
|
<!-- Option Set. -->
|
||||||
|
<option value="1">
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_YES</option>
|
||||||
|
<option value="0">
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_NO</option>
|
||||||
|
</field>
|
||||||
|
<!-- Linked_ordering_fields Field. Type: Subform. (joomla) -->
|
||||||
|
<field
|
||||||
|
type="subform"
|
||||||
|
name="linked_ordering_fields"
|
||||||
|
label="PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_LINKED_ORDERING_FIELDS_LABEL"
|
||||||
|
layout="joomla.form.field.subform.repeatable-table"
|
||||||
|
multiple="true"
|
||||||
|
buttons="add,remove,move"
|
||||||
|
icon="list"
|
||||||
|
max="5"
|
||||||
|
min="1"
|
||||||
|
showon="add_linked_ordering:1">
|
||||||
|
<form hidden="true" name="list_linked_ordering_fields_modal" repeat="true">
|
||||||
|
<!-- Field Field. Type: Linkedviewsorderfields. (custom) -->
|
||||||
|
<field
|
||||||
|
type="linkedviewsorderfields"
|
||||||
|
name="field"
|
||||||
|
label="PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_FIELD_LABEL"
|
||||||
|
class="fieldLarge"
|
||||||
|
multiple="false"
|
||||||
|
button="false"
|
||||||
|
/>
|
||||||
|
<!-- Direction Field. Type: List. (joomla) -->
|
||||||
|
<field
|
||||||
|
type="list"
|
||||||
|
name="direction"
|
||||||
|
label="PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_DIRECTION_LABEL"
|
||||||
|
class="list_class fieldLarge"
|
||||||
|
multiple="false"
|
||||||
|
filter="WORD"
|
||||||
|
default="asc">
|
||||||
|
<!-- Option Set. -->
|
||||||
|
<option value="asc">
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_ASCENDING</option>
|
||||||
|
<option value="desc">
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_DESCENDING</option>
|
||||||
|
<option value="rand">
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_RANDOM</option>
|
||||||
|
</field>
|
||||||
|
</form>
|
||||||
|
</field>
|
||||||
|
</fields>
|
||||||
|
</fieldset>
|
||||||
|
</fields>
|
||||||
|
</form>
|
1
forms/index.html
Normal file
1
forms/index.html
Normal file
@ -0,0 +1 @@
|
|||||||
|
<html><body bgcolor="#FFFFFF"></body></html>
|
1
index.html
Normal file
1
index.html
Normal file
@ -0,0 +1 @@
|
|||||||
|
<html><body bgcolor="#FFFFFF"></body></html>
|
@ -0,0 +1,22 @@
|
|||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS="Content - Componentbuilder Field Ordering Tabs"
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_DESCRIPTION="This plugin is used to set custom ordering to fields in the JCB list views."
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_XML_DESCRIPTION="<h1>Content - Componentbuilder Field Ordering Tabs (v.1.0.0)</h1> <div style='clear: both;'></div><p>This plugin is used to set custom ordering to fields in the JCB list views.</p><p>Created by <a href='http://www.joomlacomponentbuilder.com' target='_blank'>Llewellyn van der Merwe</a><br /><small>Development started 20th May, 2020</small></p>"
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_FIELD_ORDERING="Field Ordering"
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_ADD_ADMIN_ORDERING_LABEL="Add Admin List View Ordering"
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_ADD_ADMIN_ORDERING_DESCRIPTION="Select the ordering behavior, default is by id, and custom lets you select."
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_YES="Yes"
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_NO="No"
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_ADMIN_ORDERING_FIELDS_LABEL="Admin Ordering Fields"
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_FIELD_LABEL="Field"
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_SELECT_AN_OPTION="Select an option"
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_ID="Id"
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_ORDERING="Ordering"
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_STATUS="Status"
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_FIELD="Field"
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_DIRECTION_LABEL="Direction"
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_ASCENDING="Ascending"
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_DESCENDING="Descending"
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_RANDOM="Random"
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_ADD_LINKED_ORDERING_LABEL="Add Linked List Views Ordering"
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_ADD_LINKED_ORDERING_DESCRIPTION="Select the ordering behavior, default is by id, and custom lets you select."
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_LINKED_ORDERING_FIELDS_LABEL="Linked Ordering Fields"
|
@ -0,0 +1,22 @@
|
|||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS="Content - Componentbuilder Field Ordering Tabs"
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_DESCRIPTION="This plugin is used to set custom ordering to fields in the JCB list views."
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_XML_DESCRIPTION="<h1>Content - Componentbuilder Field Ordering Tabs (v.1.0.0)</h1> <div style='clear: both;'></div><p>This plugin is used to set custom ordering to fields in the JCB list views.</p><p>Created by <a href='http://www.joomlacomponentbuilder.com' target='_blank'>Llewellyn van der Merwe</a><br /><small>Development started 20th May, 2020</small></p>"
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_FIELD_ORDERING="Field Ordering"
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_ADD_ADMIN_ORDERING_LABEL="Add Admin List View Ordering"
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_ADD_ADMIN_ORDERING_DESCRIPTION="Select the ordering behavior, default is by id, and custom lets you select."
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_YES="Yes"
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_NO="No"
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_ADMIN_ORDERING_FIELDS_LABEL="Admin Ordering Fields"
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_FIELD_LABEL="Field"
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_SELECT_AN_OPTION="Select an option"
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_ID="Id"
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_ORDERING="Ordering"
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_STATUS="Status"
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_FIELD="Field"
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_DIRECTION_LABEL="Direction"
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_ASCENDING="Ascending"
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_DESCENDING="Descending"
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_RANDOM="Random"
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_ADD_LINKED_ORDERING_LABEL="Add Linked List Views Ordering"
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_ADD_LINKED_ORDERING_DESCRIPTION="Select the ordering behavior, default is by id, and custom lets you select."
|
||||||
|
PLG_CONTENT_COMPONENTBUILDERFIELDORDERINGTABS_LINKED_ORDERING_FIELDS_LABEL="Linked Ordering Fields"
|
1
language/en-GB/index.html
Normal file
1
language/en-GB/index.html
Normal file
@ -0,0 +1 @@
|
|||||||
|
<html><body bgcolor="#FFFFFF"></body></html>
|
1
language/index.html
Normal file
1
language/index.html
Normal file
@ -0,0 +1 @@
|
|||||||
|
<html><body bgcolor="#FFFFFF"></body></html>
|
1
rules/index.html
Normal file
1
rules/index.html
Normal file
@ -0,0 +1 @@
|
|||||||
|
<html><body bgcolor="#FFFFFF"></body></html>
|
79
script.php
Normal file
79
script.php
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package Joomla.Component.Builder
|
||||||
|
*
|
||||||
|
* @created 30th April, 2015
|
||||||
|
* @author Llewellyn van der Merwe <http://www.joomlacomponentbuilder.com>
|
||||||
|
* @github Joomla Component Builder <https://github.com/vdm-io/Joomla-Component-Builder>
|
||||||
|
* @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.
|
||||||
|
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||||
|
*/
|
||||||
|
|
||||||
|
// No direct access to this file
|
||||||
|
defined('_JEXEC') or die('Restricted access');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Content - Componentbuilder Field Ordering Tabs script file.
|
||||||
|
*
|
||||||
|
* @package PlgContentComponentbuilderFieldOrderingTabs
|
||||||
|
*/
|
||||||
|
class plgContentComponentbuilderFieldOrderingTabsInstallerScript
|
||||||
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called before any type of action
|
||||||
|
*
|
||||||
|
* @param string $route Which action is happening (install|uninstall|discover_install|update)
|
||||||
|
* @param JAdapterInstance $adapter The object responsible for running this script
|
||||||
|
*
|
||||||
|
* @return boolean True on success
|
||||||
|
*/
|
||||||
|
public function preflight($route, JAdapterInstance $adapter)
|
||||||
|
{
|
||||||
|
// get application
|
||||||
|
$app = JFactory::getApplication();
|
||||||
|
|
||||||
|
// the default for both install and update
|
||||||
|
$jversion = new JVersion();
|
||||||
|
if (!$jversion->isCompatible('3.8.0'))
|
||||||
|
{
|
||||||
|
$app->enqueueMessage('Please upgrade to at least Joomla! 3.8.0 before continuing!', 'error');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ('install' === $route)
|
||||||
|
{
|
||||||
|
// check that componentbuilder is installed
|
||||||
|
$pathToCore = JPATH_ADMINISTRATOR . '/components/com_componentbuilder/helpers/componentbuilder.php';
|
||||||
|
if (!JFile::exists($pathToCore))
|
||||||
|
{
|
||||||
|
$app->enqueueMessage('Joomla Component Builder must first be installed from <a href="https://www.joomlacomponentbuilder.com/ " target="_blank">Joomla Component Builder</a>.', 'error');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
// load the helper class
|
||||||
|
JLoader::register('ComponentbuilderHelper', JPATH_ADMINISTRATOR . '/components/com_componentbuilder/helpers/componentbuilder.php');
|
||||||
|
// block install
|
||||||
|
$blockInstall = true;
|
||||||
|
// check the version of JCB
|
||||||
|
$manifest = ComponentbuilderHelper::manifest();
|
||||||
|
if (isset($manifest->version) && strpos($manifest->version, '.') !== false)
|
||||||
|
{
|
||||||
|
// get the version
|
||||||
|
$jcbVersion = explode('.', $manifest->version);
|
||||||
|
// check that we have JCB 2.11.1 or higher installed
|
||||||
|
if (count($jcbVersion) == 3 && $jcbVersion[0] >= 2 && $jcbVersion[1] >= 11 && (($jcbVersion[1] == 11 && $jcbVersion[2] >= 1) || ($jcbVersion[1] > 11)))
|
||||||
|
{
|
||||||
|
$blockInstall = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// allow install if all conditions are met
|
||||||
|
if ($blockInstall)
|
||||||
|
{
|
||||||
|
$app->enqueueMessage('Please upgrade to JCB 2.11.1 or higher before installing this plugin.', 'error');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user