Added the new trash helper layout. Improves the access filter array state control. Adds the empty hidden title field for the permissions fix in the views, that fixes the ajax call for permissions change/save in the back-end. Moves the filter empty option outside the result loop, so that an empty option will show even if there is not items found. Fixes the database adaptation of the assets table. Removes empty access control tabs.

This commit is contained in:
Llewellyn van der Merwe 2020-12-31 13:53:20 +02:00
parent 152026d4d1
commit 1b5191d62c
Signed by: Llewellyn
GPG Key ID: EFC0C720A240551C
66 changed files with 415 additions and 163 deletions

View File

@ -23,24 +23,24 @@ The best way to see all your options is to install this component on you Joomla
+ *Author*: [Llewellyn van der Merwe](mailto:joomla@vdm.io)
+ *Name*: [Sermon Distributor](https://www.vdm.io/)
+ *First Build*: 22nd October, 2015
+ *Last Build*: 4th December, 2020
+ *Last Build*: 31st December, 2020
+ *Version*: 2.0.x
+ *Copyright*: Copyright (C) 2015. All Rights Reserved
+ *License*: GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
## Build Time :hourglass:
**203 Hours** or **25 Eight Hour Days** (actual time the author saved -
**204 Hours** or **26 Eight Hour Days** (actual time the author saved -
due to [Automated Component Builder](https://www.vdm.io/joomla-component-builder))
> (if creating a folder and file took **5 seconds** and writing one line of code took **10 seconds**,
> never making one mistake or taking any coffee break.)
+ *Line count*: **72798**
+ *File count*: **459**
+ *Line count*: **73050**
+ *File count*: **460**
+ *Folder count*: **93**
**134 Hours** or **17 Eight Hour Days** (the actual time the author spent)
**134 Hours** or **16 Eight Hour Days** (the actual time the author spent)
> (with the following break down:
> **debugging @51hours** = codingtime / 4;
@ -48,7 +48,7 @@ due to [Automated Component Builder](https://www.vdm.io/joomla-component-builder
> **mapping @20hours** = codingtime / 10;
> **office @34hours** = codingtime / 6;)
**337 Hours** or **42 Eight Hour Days**
**338 Hours** or **42 Eight Hour Days**
(a total of the realistic time frame for this project)
> (if creating a folder and file took **5 seconds** and writing one line of code took **10 seconds**,

View File

@ -23,24 +23,24 @@ The best way to see all your options is to install this component on you Joomla
+ *Author*: [Llewellyn van der Merwe](mailto:joomla@vdm.io)
+ *Name*: [Sermon Distributor](https://www.vdm.io/)
+ *First Build*: 22nd October, 2015
+ *Last Build*: 4th December, 2020
+ *Last Build*: 31st December, 2020
+ *Version*: 2.0.x
+ *Copyright*: Copyright (C) 2015. All Rights Reserved
+ *License*: GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
## Build Time :hourglass:
**203 Hours** or **25 Eight Hour Days** (actual time the author saved -
**204 Hours** or **26 Eight Hour Days** (actual time the author saved -
due to [Automated Component Builder](https://www.vdm.io/joomla-component-builder))
> (if creating a folder and file took **5 seconds** and writing one line of code took **10 seconds**,
> never making one mistake or taking any coffee break.)
+ *Line count*: **72798**
+ *File count*: **459**
+ *Line count*: **73050**
+ *File count*: **460**
+ *Folder count*: **93**
**134 Hours** or **17 Eight Hour Days** (the actual time the author spent)
**134 Hours** or **16 Eight Hour Days** (the actual time the author spent)
> (with the following break down:
> **debugging @51hours** = codingtime / 4;
@ -48,7 +48,7 @@ due to [Automated Component Builder](https://www.vdm.io/joomla-component-builder
> **mapping @20hours** = codingtime / 10;
> **office @34hours** = codingtime / 6;)
**337 Hours** or **42 Eight Hour Days**
**338 Hours** or **42 Eight Hour Days**
(a total of the realistic time frame for this project)
> (if creating a folder and file took **5 seconds** and writing one line of code took **10 seconds**,

View File

@ -25,9 +25,9 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Language\Language;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\CMS\Language\Language;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
use PhpOffice\PhpSpreadsheet\IOFactory;
use PhpOffice\PhpSpreadsheet\Spreadsheet;

View File

@ -4,6 +4,7 @@ COM_SERMONDISTRIBUTOR_ADD_TOKEN_HERE="ADD TOKEN HERE!"
COM_SERMONDISTRIBUTOR_ALL_IS_GOOD_PLEASE_CHECK_AGAIN_LATTER="All is good, please check again latter."
COM_SERMONDISTRIBUTOR_ALWAYS_BETTER_TO_ADD_THE_FILES_TO_EXTERNAL_SOURCE_AND_LET_THE_SYSTEM_CREATE_THE_SERMON_FOR_YOU_PLEASE_READ_INSTRUCTIONS_BELOW_CAREFULLY="Always better to add the files to External Source and let the system create the sermon for you. Please read instructions below carefully."
COM_SERMONDISTRIBUTOR_ARCHIVED="Archived"
COM_SERMONDISTRIBUTOR_ARE_YOU_SURE_YOU_WANT_TO_DELETE_CONFIRMING_WILL_PERMANENTLY_DELETE_THE_SELECTED_ITEMS="Are you sure you want to delete? Confirming will permanently delete the selected item(s)!"
COM_SERMONDISTRIBUTOR_AUTHOR="Author"
COM_SERMONDISTRIBUTOR_A_FEW_CLOSED_ISSUES_FROM_GITHUB_IS_LOADING="A few closed issues from Github is loading"
COM_SERMONDISTRIBUTOR_A_FEW_OPEN_ISSUES_FROM_GITHUB_IS_LOADING="A few open issues from Github is loading"
@ -356,6 +357,8 @@ COM_SERMONDISTRIBUTOR_EDIT_CREATED_DATE_DESC="Allows users in this group to edit
COM_SERMONDISTRIBUTOR_EDIT_S="Edit %s"
COM_SERMONDISTRIBUTOR_EDIT_VERSIONS="Edit Version"
COM_SERMONDISTRIBUTOR_EDIT_VERSIONS_DESC="Allows users in this group to edit versions."
COM_SERMONDISTRIBUTOR_EMPTY_TRASH="Empty trash"
COM_SERMONDISTRIBUTOR_EXIT_TRASH="Exit trash"
COM_SERMONDISTRIBUTOR_EXPORT_DATA="Export Data"
COM_SERMONDISTRIBUTOR_EXPORT_DATA_DESC="Allows users in this group to export data."
COM_SERMONDISTRIBUTOR_EXPORT_FAILED="Export Failed"
@ -815,7 +818,6 @@ COM_SERMONDISTRIBUTOR_HELP_DOCUMENT_MODIFIED_DATE_LABEL="Modified Date"
COM_SERMONDISTRIBUTOR_HELP_DOCUMENT_NEW="A New Help Document"
COM_SERMONDISTRIBUTOR_HELP_DOCUMENT_NOT_REQUIRED="Not Required"
COM_SERMONDISTRIBUTOR_HELP_DOCUMENT_ORDERING_LABEL="Ordering"
COM_SERMONDISTRIBUTOR_HELP_DOCUMENT_PERMISSION="Permissions"
COM_SERMONDISTRIBUTOR_HELP_DOCUMENT_PUBLISHING="Publishing"
COM_SERMONDISTRIBUTOR_HELP_DOCUMENT_SAVE_WARNING="Alias already existed so a number was added at the end. You can re-edit the Help Document to customise the alias."
COM_SERMONDISTRIBUTOR_HELP_DOCUMENT_SELECT_AN_OPTION="Select an option"
@ -1592,6 +1594,7 @@ COM_SERMONDISTRIBUTOR_THE_WIKI_IS_LOADING="The wiki is loading"
COM_SERMONDISTRIBUTOR_THIS_SOURCE_HAS_NO_LOCAL_LISTING_SET="This source has no local listing set."
COM_SERMONDISTRIBUTOR_TOTAL_DOWNLOADS="total downloads"
COM_SERMONDISTRIBUTOR_TRASHED="Trashed"
COM_SERMONDISTRIBUTOR_TRASHED_ITEMS="Trashed items"
COM_SERMONDISTRIBUTOR_TYPE_EXTERNAL_SOURCE="External Source"
COM_SERMONDISTRIBUTOR_TYPE_HELP_DOCUMENT="Help Document"
COM_SERMONDISTRIBUTOR_TYPE_LOCAL_LISTING="Local Listing"
@ -1610,5 +1613,6 @@ COM_SERMONDISTRIBUTOR_VIEW_MORE_ISSUES_ON_GITHUB="View more issues on Github"
COM_SERMONDISTRIBUTOR_VIEW_MORE_RELEASES_ON_GITHUB="View more releases on Github"
COM_SERMONDISTRIBUTOR_VIEW_UPDATE_STATUS="View Update Status"
COM_SERMONDISTRIBUTOR_WEBSITE="Website"
COM_SERMONDISTRIBUTOR_YOU_ARE_CURRENTLY_VIEWING_THE_TRASHED_ITEMS="You are currently viewing the trashed items."
COM_SERMONDISTRIBUTOR_YOU_DO_NOT_HAVE_PERMISSION_TO_CLEAR_LOCAL_LISTING="You do not have permission to clear local listing."
COM_SERMONDISTRIBUTOR_YOU_DO_NOT_HAVE_PERMISSION_TO_RESET_UPDATE_STATUS="You do not have permission to reset update status."

View File

@ -39,6 +39,7 @@ $fields_tab_layout = 'fields_' . $layout_path_array[1];
// get the fields
$fields = $displayData->get($fields_tab_layout) ?: array(
'title',
'created',
'created_by',
'modified',

View File

@ -39,6 +39,7 @@ $fields_tab_layout = 'fields_' . $layout_path_array[1];
// get the fields
$fields = $displayData->get($fields_tab_layout) ?: array(
'title',
'created',
'created_by',
'modified',

View File

@ -39,6 +39,7 @@ $fields_tab_layout = 'fields_' . $layout_path_array[1];
// get the fields
$fields = $displayData->get($fields_tab_layout) ?: array(
'title',
'created',
'created_by',
'modified',

View File

@ -39,6 +39,7 @@ $fields_tab_layout = 'fields_' . $layout_path_array[1];
// get the fields
$fields = $displayData->get($fields_tab_layout) ?: array(
'title',
'created',
'created_by',
'modified',

View File

@ -39,6 +39,7 @@ $fields_tab_layout = 'fields_' . $layout_path_array[1];
// get the fields
$fields = $displayData->get($fields_tab_layout) ?: array(
'title',
'created',
'created_by',
'modified',

View File

@ -39,6 +39,7 @@ $fields_tab_layout = 'fields_' . $layout_path_array[1];
// get the fields
$fields = $displayData->get($fields_tab_layout) ?: array(
'title',
'created',
'created_by',
'modified',

View File

@ -0,0 +1,78 @@
<?php
/*-------------------------------------------------------------------------------------------------------------| www.vdm.io |------/
____ ____ __ __ __
/\ _`\ /\ _`\ __ /\ \__ __/\ \ /\ \__
\ \,\L\_\ __ _ __ ___ ___ ___ ___ \ \ \/\ \/\_\ ____\ \ ,_\ _ __ /\_\ \ \____ __ __\ \ ,_\ ___ _ __
\/_\__ \ /'__`\/\`'__\/' __` __`\ / __`\ /' _ `\ \ \ \ \ \/\ \ /',__\\ \ \/ /\`'__\/\ \ \ '__`\/\ \/\ \\ \ \/ / __`\/\`'__\
/\ \L\ \/\ __/\ \ \/ /\ \/\ \/\ \/\ \L\ \/\ \/\ \ \ \ \_\ \ \ \/\__, `\\ \ \_\ \ \/ \ \ \ \ \L\ \ \ \_\ \\ \ \_/\ \L\ \ \ \/
\ `\____\ \____\\ \_\ \ \_\ \_\ \_\ \____/\ \_\ \_\ \ \____/\ \_\/\____/ \ \__\\ \_\ \ \_\ \_,__/\ \____/ \ \__\ \____/\ \_\
\/_____/\/____/ \/_/ \/_/\/_/\/_/\/___/ \/_/\/_/ \/___/ \/_/\/___/ \/__/ \/_/ \/_/\/___/ \/___/ \/__/\/___/ \/_/
/------------------------------------------------------------------------------------------------------------------------------------/
@version 2.0.x
@created 22nd October, 2015
@package Sermon Distributor
@subpackage trashhelper.php
@author Llewellyn van der Merwe <https://www.vdm.io/>
@copyright Copyright (C) 2015. All Rights Reserved
@license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
A sermon distributor that links to Dropbox.
/----------------------------------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('JPATH_BASE') or die('Restricted access');
?>
<?php if ($displayData->state->get('filter.published') == -2 && ($displayData->canState && $displayData->canDelete)) : ?>
<script>
// change the class of the delete button
jQuery("#toolbar-delete button").toggleClass("btn-danger");
// function to empty the trash
function emptyTrash() {
if (document.adminForm.boxchecked.value == 0) {
// select all the items visable
document.adminForm.elements['checkall-toggle'].checked=1;
Joomla.checkAll(document.adminForm.elements['checkall-toggle']);
// check to confirm the deletion
if(confirm('<?= JText::_("COM_SERMONDISTRIBUTOR_ARE_YOU_SURE_YOU_WANT_TO_DELETE_CONFIRMING_WILL_PERMANENTLY_DELETE_THE_SELECTED_ITEMS") ?>')) {
Joomla.submitbutton('<?= $displayData->get("name") ?>.delete');
} else {
document.adminForm.elements['checkall-toggle'].checked=0;
Joomla.checkAll(document.adminForm.elements['checkall-toggle']);
}
} else {
// confirm deletion of those selected
if (confirm('<?= JText::_("COM_SERMONDISTRIBUTOR_ARE_YOU_SURE_YOU_WANT_TO_DELETE_CONFIRMING_WILL_PERMANENTLY_DELETE_THE_SELECTED_ITEMS") ?>')) {
Joomla.submitbutton('<?= $displayData->get("name") ?>.delete');
};
}
return false;
}
// function to exit the tash state
function exitTrash() {
document.adminForm.filter_published.selectedIndex = 0;
document.adminForm.submit();
return false;
}
</script>
<div class="alert alert-error">
<h4 class="alert-heading">
<span class="icon-trash"></span>
<?= JText::_("COM_SERMONDISTRIBUTOR_TRASHED_ITEMS") ?>
</h4>
<p><?= JText::_("COM_SERMONDISTRIBUTOR_YOU_ARE_CURRENTLY_VIEWING_THE_TRASHED_ITEMS") ?></p>
<button onclick="emptyTrash();" class="btn btn-small btn-danger">
<span class="icon-delete" aria-hidden="true"></span>
<?= JText::_("COM_SERMONDISTRIBUTOR_EMPTY_TRASH") ?>
</button>
<button onclick="exitTrash();" class="btn btn-small">
<span class="icon-back" aria-hidden="true"></span>
<?= JText::_("COM_SERMONDISTRIBUTOR_EXIT_TRASH") ?>
</button>
</div>
<?php endif; ?>

View File

@ -63,14 +63,14 @@ class JFormFieldExternalsourcesfilterbuild extends JFormFieldList
$db->setQuery($query);
$results = $db->loadColumn();
$_filter = array();
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_SERMONDISTRIBUTOR_FILTER_SELECT_BUILD') . ' -');
if ($results)
{
// get external_sourcesmodel
$model = SermondistributorHelper::getModel('external_sources');
$results = array_unique($results);
$_filter = array();
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_SERMONDISTRIBUTOR_FILTER_SELECT_BUILD') . ' -');
foreach ($results as $build)
{
// Translate the build selection
@ -78,8 +78,7 @@ class JFormFieldExternalsourcesfilterbuild extends JFormFieldList
// Now add the build and its text to the options array
$_filter[] = JHtml::_('select.option', $build, JText::_($text));
}
return $_filter;
}
return false;
return $_filter;
}
}

View File

@ -63,14 +63,14 @@ class JFormFieldExternalsourcesfilterexternalsources extends JFormFieldList
$db->setQuery($query);
$results = $db->loadColumn();
$_filter = array();
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_SERMONDISTRIBUTOR_FILTER_SELECT_EXTERNALSOURCES') . ' -');
if ($results)
{
// get external_sourcesmodel
$model = SermondistributorHelper::getModel('external_sources');
$results = array_unique($results);
$_filter = array();
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_SERMONDISTRIBUTOR_FILTER_SELECT_EXTERNALSOURCES') . ' -');
foreach ($results as $externalsources)
{
// Translate the externalsources selection
@ -78,8 +78,7 @@ class JFormFieldExternalsourcesfilterexternalsources extends JFormFieldList
// Now add the externalsources and its text to the options array
$_filter[] = JHtml::_('select.option', $externalsources, JText::_($text));
}
return $_filter;
}
return false;
return $_filter;
}
}

View File

@ -63,14 +63,14 @@ class JFormFieldExternalsourcesfilterupdatemethod extends JFormFieldList
$db->setQuery($query);
$results = $db->loadColumn();
$_filter = array();
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_SERMONDISTRIBUTOR_FILTER_SELECT_UPDATE_METHOD') . ' -');
if ($results)
{
// get external_sourcesmodel
$model = SermondistributorHelper::getModel('external_sources');
$results = array_unique($results);
$_filter = array();
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_SERMONDISTRIBUTOR_FILTER_SELECT_UPDATE_METHOD') . ' -');
foreach ($results as $update_method)
{
// Translate the update_method selection
@ -78,8 +78,7 @@ class JFormFieldExternalsourcesfilterupdatemethod extends JFormFieldList
// Now add the update_method and its text to the options array
$_filter[] = JHtml::_('select.option', $update_method, JText::_($text));
}
return $_filter;
}
return false;
return $_filter;
}
}

View File

@ -63,14 +63,14 @@ class JFormFieldHelpdocumentsfilterlocation extends JFormFieldList
$db->setQuery($query);
$results = $db->loadColumn();
$_filter = array();
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_SERMONDISTRIBUTOR_FILTER_SELECT_LOCATION') . ' -');
if ($results)
{
// get help_documentsmodel
$model = SermondistributorHelper::getModel('help_documents');
$results = array_unique($results);
$_filter = array();
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_SERMONDISTRIBUTOR_FILTER_SELECT_LOCATION') . ' -');
foreach ($results as $location)
{
// Translate the location selection
@ -78,8 +78,7 @@ class JFormFieldHelpdocumentsfilterlocation extends JFormFieldList
// Now add the location and its text to the options array
$_filter[] = JHtml::_('select.option', $location, JText::_($text));
}
return $_filter;
}
return false;
return $_filter;
}
}

View File

@ -63,14 +63,14 @@ class JFormFieldHelpdocumentsfiltertype extends JFormFieldList
$db->setQuery($query);
$results = $db->loadColumn();
$_filter = array();
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_SERMONDISTRIBUTOR_FILTER_SELECT_TYPE') . ' -');
if ($results)
{
// get help_documentsmodel
$model = SermondistributorHelper::getModel('help_documents');
$results = array_unique($results);
$_filter = array();
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_SERMONDISTRIBUTOR_FILTER_SELECT_TYPE') . ' -');
foreach ($results as $type)
{
// Translate the type selection
@ -78,8 +78,7 @@ class JFormFieldHelpdocumentsfiltertype extends JFormFieldList
// Now add the type and its text to the options array
$_filter[] = JHtml::_('select.option', $type, JText::_($text));
}
return $_filter;
}
return false;
return $_filter;
}
}

View File

@ -63,14 +63,14 @@ class JFormFieldLocallistingsfilterbuild extends JFormFieldList
$db->setQuery($query);
$results = $db->loadColumn();
$_filter = array();
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_SERMONDISTRIBUTOR_FILTER_SELECT_BUILD') . ' -');
if ($results)
{
// get local_listingsmodel
$model = SermondistributorHelper::getModel('local_listings');
$results = array_unique($results);
$_filter = array();
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_SERMONDISTRIBUTOR_FILTER_SELECT_BUILD') . ' -');
foreach ($results as $build)
{
// Translate the build selection
@ -78,8 +78,7 @@ class JFormFieldLocallistingsfilterbuild extends JFormFieldList
// Now add the build and its text to the options array
$_filter[] = JHtml::_('select.option', $build, JText::_($text));
}
return $_filter;
}
return false;
return $_filter;
}
}

View File

@ -63,14 +63,14 @@ class JFormFieldSermonsfilterlinktype extends JFormFieldList
$db->setQuery($query);
$results = $db->loadColumn();
$_filter = array();
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_SERMONDISTRIBUTOR_FILTER_SELECT_LINK_TYPE') . ' -');
if ($results)
{
// get sermonsmodel
$model = SermondistributorHelper::getModel('sermons');
$results = array_unique($results);
$_filter = array();
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_SERMONDISTRIBUTOR_FILTER_SELECT_LINK_TYPE') . ' -');
foreach ($results as $link_type)
{
// Translate the link_type selection
@ -78,8 +78,7 @@ class JFormFieldSermonsfilterlinktype extends JFormFieldList
// Now add the link_type and its text to the options array
$_filter[] = JHtml::_('select.option', $link_type, JText::_($text));
}
return $_filter;
}
return false;
return $_filter;
}
}

View File

@ -63,14 +63,14 @@ class JFormFieldSermonsfiltersource extends JFormFieldList
$db->setQuery($query);
$results = $db->loadColumn();
$_filter = array();
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_SERMONDISTRIBUTOR_FILTER_SELECT_SOURCE') . ' -');
if ($results)
{
// get sermonsmodel
$model = SermondistributorHelper::getModel('sermons');
$results = array_unique($results);
$_filter = array();
$_filter[] = JHtml::_('select.option', '', '- ' . JText::_('COM_SERMONDISTRIBUTOR_FILTER_SELECT_SOURCE') . ' -');
foreach ($results as $source)
{
// Translate the source selection
@ -78,8 +78,7 @@ class JFormFieldSermonsfiltersource extends JFormFieldList
// Now add the source and its text to the options array
$_filter[] = JHtml::_('select.option', $source, JText::_($text));
}
return $_filter;
}
return false;
return $_filter;
}
}

View File

@ -76,6 +76,14 @@
readonly="true"
filter="unset"
/>
<!-- Was added due to Permissions JS needing a Title field -->
<!-- Let us know at gh-629 should this change -->
<!-- https://github.com/vdm-io/Joomla-Component-Builder/issues/629#issuecomment-750117235 -->
<field
name="title"
type="hidden"
default="sermondistributor external_source"
/>
<!-- Dynamic Fields. -->
<!-- Description Field. Type: Text. (joomla) -->
<field

View File

@ -76,6 +76,14 @@
readonly="true"
filter="unset"
/>
<!-- Was added due to Permissions JS needing a Title field -->
<!-- Let us know at gh-629 should this change -->
<!-- https://github.com/vdm-io/Joomla-Component-Builder/issues/629#issuecomment-750117235 -->
<field
name="title"
type="hidden"
default="sermondistributor local_listing"
/>
<!-- Dynamic Fields. -->
<!-- Name Field. Type: Text. (joomla) -->
<field

View File

@ -102,6 +102,14 @@
rows="3"
cols="30"
/>
<!-- Was added due to Permissions JS needing a Title field -->
<!-- Let us know at gh-629 should this change -->
<!-- https://github.com/vdm-io/Joomla-Component-Builder/issues/629#issuecomment-750117235 -->
<field
name="title"
type="hidden"
default="sermondistributor preacher"
/>
<!-- Dynamic Fields. -->
<!-- Name Field. Type: Text. (joomla) -->
<field

View File

@ -102,6 +102,14 @@
rows="3"
cols="30"
/>
<!-- Was added due to Permissions JS needing a Title field -->
<!-- Let us know at gh-629 should this change -->
<!-- https://github.com/vdm-io/Joomla-Component-Builder/issues/629#issuecomment-750117235 -->
<field
name="title"
type="hidden"
default="sermondistributor series"
/>
<!-- Dynamic Fields. -->
<!-- Name Field. Type: Text. (joomla) -->
<field

View File

@ -102,6 +102,14 @@
rows="3"
cols="30"
/>
<!-- Was added due to Permissions JS needing a Title field -->
<!-- Let us know at gh-629 should this change -->
<!-- https://github.com/vdm-io/Joomla-Component-Builder/issues/629#issuecomment-750117235 -->
<field
name="title"
type="hidden"
default="sermondistributor sermon"
/>
<!-- Dynamic Fields. -->
<!-- Name Field. Type: Text. (joomla) -->
<field

View File

@ -102,6 +102,14 @@
rows="3"
cols="30"
/>
<!-- Was added due to Permissions JS needing a Title field -->
<!-- Let us know at gh-629 should this change -->
<!-- https://github.com/vdm-io/Joomla-Component-Builder/issues/629#issuecomment-750117235 -->
<field
name="title"
type="hidden"
default="sermondistributor statistic"
/>
<!-- Dynamic Fields. -->
<!-- Filename Field. Type: Text. (joomla) -->
<field

View File

@ -520,7 +520,18 @@ class SermondistributorModelHelp_documents extends JModelList
$id .= ':' . $this->getState('filter.id');
$id .= ':' . $this->getState('filter.search');
$id .= ':' . $this->getState('filter.published');
$id .= ':' . $this->getState('filter.access');
// Check if the value is an array
$_access = $this->getState('filter.access');
if (SermondistributorHelper::checkArray($_access))
{
$id .= ':' . implode(':', $_access);
}
// Check if this is only an number or string
elseif (is_numeric($_access)
|| SermondistributorHelper::checkString($_access))
{
$id .= ':' . $_access;
}
$id .= ':' . $this->getState('filter.ordering');
$id .= ':' . $this->getState('filter.created_by');
$id .= ':' . $this->getState('filter.modified_by');

View File

@ -366,7 +366,18 @@ class SermondistributorModelPreachers extends JModelList
$id .= ':' . $this->getState('filter.id');
$id .= ':' . $this->getState('filter.search');
$id .= ':' . $this->getState('filter.published');
$id .= ':' . $this->getState('filter.access');
// Check if the value is an array
$_access = $this->getState('filter.access');
if (SermondistributorHelper::checkArray($_access))
{
$id .= ':' . implode(':', $_access);
}
// Check if this is only an number or string
elseif (is_numeric($_access)
|| SermondistributorHelper::checkString($_access))
{
$id .= ':' . $_access;
}
$id .= ':' . $this->getState('filter.ordering');
$id .= ':' . $this->getState('filter.created_by');
$id .= ':' . $this->getState('filter.modified_by');

View File

@ -358,7 +358,18 @@ class SermondistributorModelSeries_list extends JModelList
$id .= ':' . $this->getState('filter.id');
$id .= ':' . $this->getState('filter.search');
$id .= ':' . $this->getState('filter.published');
$id .= ':' . $this->getState('filter.access');
// Check if the value is an array
$_access = $this->getState('filter.access');
if (SermondistributorHelper::checkArray($_access))
{
$id .= ':' . implode(':', $_access);
}
// Check if this is only an number or string
elseif (is_numeric($_access)
|| SermondistributorHelper::checkString($_access))
{
$id .= ':' . $_access;
}
$id .= ':' . $this->getState('filter.ordering');
$id .= ':' . $this->getState('filter.created_by');
$id .= ':' . $this->getState('filter.modified_by');

View File

@ -611,15 +611,81 @@ class SermondistributorModelSermons extends JModelList
$id .= ':' . $this->getState('filter.id');
$id .= ':' . $this->getState('filter.search');
$id .= ':' . $this->getState('filter.published');
$id .= ':' . $this->getState('filter.access');
// Check if the value is an array
$_access = $this->getState('filter.access');
if (SermondistributorHelper::checkArray($_access))
{
$id .= ':' . implode(':', $_access);
}
// Check if this is only an number or string
elseif (is_numeric($_access)
|| SermondistributorHelper::checkString($_access))
{
$id .= ':' . $_access;
}
$id .= ':' . $this->getState('filter.ordering');
$id .= ':' . $this->getState('filter.created_by');
$id .= ':' . $this->getState('filter.modified_by');
$id .= ':' . $this->getState('filter.preacher');
$id .= ':' . $this->getState('filter.series');
$id .= ':' . $this->getState('filter.category');
$id .= ':' . $this->getState('filter.category_id');
$id .= ':' . $this->getState('filter.catid');
// Check if the value is an array
$_preacher = $this->getState('filter.preacher');
if (SermondistributorHelper::checkArray($_preacher))
{
$id .= ':' . implode(':', $_preacher);
}
// Check if this is only an number or string
elseif (is_numeric($_preacher)
|| SermondistributorHelper::checkString($_preacher))
{
$id .= ':' . $_preacher;
}
// Check if the value is an array
$_series = $this->getState('filter.series');
if (SermondistributorHelper::checkArray($_series))
{
$id .= ':' . implode(':', $_series);
}
// Check if this is only an number or string
elseif (is_numeric($_series)
|| SermondistributorHelper::checkString($_series))
{
$id .= ':' . $_series;
}
// Check if the value is an array
$_category = $this->getState('filter.category');
if (SermondistributorHelper::checkArray($_category))
{
$id .= ':' . implode(':', $_category);
}
// Check if this is only an number or string
elseif (is_numeric($_category)
|| SermondistributorHelper::checkString($_category))
{
$id .= ':' . $_category;
}
// Check if the value is an array
$_category_id = $this->getState('filter.category_id');
if (SermondistributorHelper::checkArray($_category_id))
{
$id .= ':' . implode(':', $_category_id);
}
// Check if this is only an number or string
elseif (is_numeric($_category_id)
|| SermondistributorHelper::checkString($_category_id))
{
$id .= ':' . $_category_id;
}
// Check if the value is an array
$_catid = $this->getState('filter.catid');
if (SermondistributorHelper::checkArray($_catid))
{
$id .= ':' . implode(':', $_catid);
}
// Check if this is only an number or string
elseif (is_numeric($_catid)
|| SermondistributorHelper::checkString($_catid))
{
$id .= ':' . $_catid;
}
$id .= ':' . $this->getState('filter.link_type');
$id .= ':' . $this->getState('filter.source');
$id .= ':' . $this->getState('filter.name');

View File

@ -453,7 +453,18 @@ class SermondistributorModelStatistics extends JModelList
$id .= ':' . $this->getState('filter.id');
$id .= ':' . $this->getState('filter.search');
$id .= ':' . $this->getState('filter.published');
$id .= ':' . $this->getState('filter.access');
// Check if the value is an array
$_access = $this->getState('filter.access');
if (SermondistributorHelper::checkArray($_access))
{
$id .= ':' . implode(':', $_access);
}
// Check if this is only an number or string
elseif (is_numeric($_access)
|| SermondistributorHelper::checkString($_access))
{
$id .= ':' . $_access;
}
$id .= ':' . $this->getState('filter.ordering');
$id .= ':' . $this->getState('filter.created_by');
$id .= ':' . $this->getState('filter.modified_by');

View File

@ -24,6 +24,7 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
JHtml::_('behavior.tabstate');
// Access check.

View File

@ -262,13 +262,3 @@ CREATE TABLE IF NOT EXISTS `#__sermondistributor_help_document` (
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4 DEFAULT COLLATE=utf8mb4_unicode_ci;
--
-- Always insure this column rules is large enough for all the access control values.
--
ALTER TABLE `#__assets` CHANGE `rules` `rules` MEDIUMTEXT NOT NULL COMMENT 'JSON encoded access control.';
--
-- Always insure this column name is large enough for long component and view names.
--
ALTER TABLE `#__assets` CHANGE `name` `name` VARCHAR(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'The unique name for the asset.';

View File

@ -6,13 +6,3 @@ DROP TABLE IF EXISTS `#__sermondistributor_external_source`;
DROP TABLE IF EXISTS `#__sermondistributor_local_listing`;
DROP TABLE IF EXISTS `#__sermondistributor_help_document`;
--
-- Always insure this column rules is reversed to Joomla defaults on uninstall. (as on 1st Dec 2020)
--
ALTER TABLE `#__assets` CHANGE `rules` `rules` varchar(5120) NOT NULL COMMENT 'JSON encoded access control.';
--
-- Always insure this column name is reversed to Joomla defaults on uninstall. (as on 1st Dec 2020).
--
ALTER TABLE `#__assets` CHANGE `name` `name` VARCHAR(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'The unique name for the asset.';

View File

@ -23,7 +23,7 @@
/----------------------------------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
defined('_JEXEC') or die('Restricted access');
JHtml::_('behavior.tooltip');
JHtml::_('behavior.multiselect');
@ -45,6 +45,8 @@ if ($this->saveOrder)
<div id="j-main-container">
<?php endif; ?>
<?php
// Add the trash helper layout
echo JLayoutHelper::render('trashhelper', $this);
// Add the searchtools
echo JLayoutHelper::render('joomla.searchtools.default', array('view' => $this));
?>

View File

@ -23,7 +23,7 @@
/----------------------------------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
defined('_JEXEC') or die('Restricted access');
?>

View File

@ -23,7 +23,7 @@
/----------------------------------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
defined('_JEXEC') or die('Restricted access');
?>
<!-- clear the batch values if cancel -->

View File

@ -23,7 +23,7 @@
/----------------------------------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
defined('_JEXEC') or die('Restricted access');
$edit = "index.php?option=com_sermondistributor&view=external_sources&task=external_source.edit";

View File

@ -95,25 +95,6 @@ $componentParams = $this->params; // will be removed just use $this->params inst
<?php echo JHtml::_('bootstrap.endTab'); ?>
<?php endif; ?>
<?php if ($this->canDo->get('core.admin')) : ?>
<?php echo JHtml::_('bootstrap.addTab', 'help_documentTab', 'permissions', JText::_('COM_SERMONDISTRIBUTOR_HELP_DOCUMENT_PERMISSION', true)); ?>
<div class="row-fluid form-horizontal-desktop">
<div class="span12">
<fieldset class="adminform">
<div class="adminformlist">
<?php foreach ($this->form->getFieldset('accesscontrol') as $field): ?>
<div>
<?php echo $field->label; echo $field->input;?>
</div>
<div class="clearfix"></div>
<?php endforeach; ?>
</div>
</fieldset>
</div>
</div>
<?php echo JHtml::_('bootstrap.endTab'); ?>
<?php endif; ?>
<?php echo JHtml::_('bootstrap.endTabSet'); ?>
<div>

View File

@ -23,7 +23,7 @@
/----------------------------------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
defined('_JEXEC') or die('Restricted access');
JHtml::_('behavior.tooltip');
JHtml::_('behavior.multiselect');
@ -46,6 +46,8 @@ if ($this->saveOrder)
<div id="j-main-container">
<?php endif; ?>
<?php
// Add the trash helper layout
echo JLayoutHelper::render('trashhelper', $this);
// Add the searchtools
echo JLayoutHelper::render('joomla.searchtools.default', array('view' => $this));
?>

View File

@ -23,7 +23,7 @@
/----------------------------------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
defined('_JEXEC') or die('Restricted access');
?>

View File

@ -23,7 +23,7 @@
/----------------------------------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
defined('_JEXEC') or die('Restricted access');
?>
<!-- clear the batch values if cancel -->

View File

@ -23,7 +23,7 @@
/----------------------------------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
defined('_JEXEC') or die('Restricted access');
$edit = "index.php?option=com_sermondistributor&view=help_documents&task=help_document.edit";

View File

@ -23,7 +23,7 @@
/----------------------------------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
defined('_JEXEC') or die('Restricted access');
JHtml::_('behavior.tooltip');
JHtml::_('behavior.multiselect');
@ -45,6 +45,8 @@ if ($this->saveOrder)
<div id="j-main-container">
<?php endif; ?>
<?php
// Add the trash helper layout
echo JLayoutHelper::render('trashhelper', $this);
// Add the searchtools
echo JLayoutHelper::render('joomla.searchtools.default', array('view' => $this));
?>

View File

@ -23,7 +23,7 @@
/----------------------------------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
defined('_JEXEC') or die('Restricted access');
?>

View File

@ -23,7 +23,7 @@
/----------------------------------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
defined('_JEXEC') or die('Restricted access');
?>
<!-- clear the batch values if cancel -->

View File

@ -23,7 +23,7 @@
/----------------------------------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
defined('_JEXEC') or die('Restricted access');
$edit = "index.php?option=com_sermondistributor&view=local_listings&task=local_listing.edit";

View File

@ -23,7 +23,7 @@
/----------------------------------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
defined('_JEXEC') or die('Restricted access');
JHtml::_('behavior.tooltip');
JHtml::_('behavior.multiselect');
@ -46,6 +46,8 @@ if ($this->saveOrder)
<div id="j-main-container">
<?php endif; ?>
<?php
// Add the trash helper layout
echo JLayoutHelper::render('trashhelper', $this);
// Add the searchtools
echo JLayoutHelper::render('joomla.searchtools.default', array('view' => $this));
?>

View File

@ -23,7 +23,7 @@
/----------------------------------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
defined('_JEXEC') or die('Restricted access');
?>

View File

@ -23,7 +23,7 @@
/----------------------------------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
defined('_JEXEC') or die('Restricted access');
?>
<!-- clear the batch values if cancel -->

View File

@ -23,7 +23,7 @@
/----------------------------------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
defined('_JEXEC') or die('Restricted access');
$edit = "index.php?option=com_sermondistributor&view=preachers&task=preacher.edit";

View File

@ -23,7 +23,7 @@
/----------------------------------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
defined('_JEXEC') or die('Restricted access');
JHtml::_('behavior.tooltip');
JHtml::_('behavior.multiselect');
@ -46,6 +46,8 @@ if ($this->saveOrder)
<div id="j-main-container">
<?php endif; ?>
<?php
// Add the trash helper layout
echo JLayoutHelper::render('trashhelper', $this);
// Add the searchtools
echo JLayoutHelper::render('joomla.searchtools.default', array('view' => $this));
?>

View File

@ -23,7 +23,7 @@
/----------------------------------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
defined('_JEXEC') or die('Restricted access');
?>

View File

@ -23,7 +23,7 @@
/----------------------------------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
defined('_JEXEC') or die('Restricted access');
?>
<!-- clear the batch values if cancel -->

View File

@ -23,7 +23,7 @@
/----------------------------------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
defined('_JEXEC') or die('Restricted access');
$edit = "index.php?option=com_sermondistributor&view=series_list&task=series.edit";

View File

@ -23,7 +23,7 @@
/----------------------------------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
defined('_JEXEC') or die('Restricted access');
JHtml::_('behavior.tooltip');
JHtml::_('behavior.multiselect');
@ -49,6 +49,8 @@ if ($this->saveOrder)
<div id="j-main-container">
<?php endif; ?>
<?php
// Add the trash helper layout
echo JLayoutHelper::render('trashhelper', $this);
// Add the searchtools
echo JLayoutHelper::render('joomla.searchtools.default', array('view' => $this));
?>

View File

@ -23,7 +23,7 @@
/----------------------------------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
defined('_JEXEC') or die('Restricted access');
?>

View File

@ -23,7 +23,7 @@
/----------------------------------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
defined('_JEXEC') or die('Restricted access');
?>
<!-- clear the batch values if cancel -->

View File

@ -23,7 +23,7 @@
/----------------------------------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
defined('_JEXEC') or die('Restricted access');
$edit = "index.php?option=com_sermondistributor&view=sermons&task=sermon.edit";

View File

@ -23,7 +23,7 @@
/----------------------------------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
defined('_JEXEC') or die('Restricted access');
JHtml::_('behavior.tooltip');
JHtml::_('behavior.multiselect');
@ -46,6 +46,8 @@ if ($this->saveOrder)
<div id="j-main-container">
<?php endif; ?>
<?php
// Add the trash helper layout
echo JLayoutHelper::render('trashhelper', $this);
// Add the searchtools
echo JLayoutHelper::render('joomla.searchtools.default', array('view' => $this));
?>

View File

@ -23,7 +23,7 @@
/----------------------------------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
defined('_JEXEC') or die('Restricted access');
?>

View File

@ -23,7 +23,7 @@
/----------------------------------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
defined('_JEXEC') or die('Restricted access');
?>
<!-- clear the batch values if cancel -->

View File

@ -23,7 +23,7 @@
/----------------------------------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
defined('_JEXEC') or die('Restricted access');
$edit = "index.php?option=com_sermondistributor&view=statistics&task=statistic.edit";

View File

@ -88,7 +88,7 @@ class com_sermondistributorInstallerScript
$preacher_done = $db->execute();
if ($preacher_done)
{
// If succesfully remove Preacher add queued success message.
// If successfully remove Preacher add queued success message.
$app->enqueueMessage(JText::_('The (com_sermondistributor.preacher) type alias was removed from the <b>#__content_type</b> table'));
}
@ -103,7 +103,7 @@ class com_sermondistributorInstallerScript
$preacher_done = $db->execute();
if ($preacher_done)
{
// If succesfully remove Preacher add queued success message.
// If successfully remove Preacher add queued success message.
$app->enqueueMessage(JText::_('The (com_sermondistributor.preacher) type alias was removed from the <b>#__contentitem_tag_map</b> table'));
}
@ -118,7 +118,7 @@ class com_sermondistributorInstallerScript
$preacher_done = $db->execute();
if ($preacher_done)
{
// If succesfully remove Preacher add queued success message.
// If successfully removed Preacher add queued success message.
$app->enqueueMessage(JText::_('The (com_sermondistributor.preacher) type alias was removed from the <b>#__ucm_content</b> table'));
}
@ -174,7 +174,7 @@ class com_sermondistributorInstallerScript
$sermon_done = $db->execute();
if ($sermon_done)
{
// If succesfully remove Sermon add queued success message.
// If successfully remove Sermon add queued success message.
$app->enqueueMessage(JText::_('The (com_sermondistributor.sermon) type alias was removed from the <b>#__content_type</b> table'));
}
@ -189,7 +189,7 @@ class com_sermondistributorInstallerScript
$sermon_done = $db->execute();
if ($sermon_done)
{
// If succesfully remove Sermon add queued success message.
// If successfully remove Sermon add queued success message.
$app->enqueueMessage(JText::_('The (com_sermondistributor.sermon) type alias was removed from the <b>#__contentitem_tag_map</b> table'));
}
@ -204,7 +204,7 @@ class com_sermondistributorInstallerScript
$sermon_done = $db->execute();
if ($sermon_done)
{
// If succesfully remove Sermon add queued success message.
// If successfully removed Sermon add queued success message.
$app->enqueueMessage(JText::_('The (com_sermondistributor.sermon) type alias was removed from the <b>#__ucm_content</b> table'));
}
@ -260,7 +260,7 @@ class com_sermondistributorInstallerScript
$sermon_catid_done = $db->execute();
if ($sermon_catid_done)
{
// If succesfully remove Sermon catid add queued success message.
// If successfully remove Sermon catid add queued success message.
$app->enqueueMessage(JText::_('The (com_sermondistributor.sermon.category) type alias was removed from the <b>#__content_type</b> table'));
}
@ -275,7 +275,7 @@ class com_sermondistributorInstallerScript
$sermon_catid_done = $db->execute();
if ($sermon_catid_done)
{
// If succesfully remove Sermon catid add queued success message.
// If successfully remove Sermon catid add queued success message.
$app->enqueueMessage(JText::_('The (com_sermondistributor.sermon.category) type alias was removed from the <b>#__contentitem_tag_map</b> table'));
}
@ -290,7 +290,7 @@ class com_sermondistributorInstallerScript
$sermon_catid_done = $db->execute();
if ($sermon_catid_done)
{
// If succesfully remove Sermon catid add queued success message.
// If successfully removed Sermon catid add queued success message.
$app->enqueueMessage(JText::_('The (com_sermondistributor.sermon.category) type alias was removed from the <b>#__ucm_content</b> table'));
}
@ -346,7 +346,7 @@ class com_sermondistributorInstallerScript
$series_done = $db->execute();
if ($series_done)
{
// If succesfully remove Series add queued success message.
// If successfully remove Series add queued success message.
$app->enqueueMessage(JText::_('The (com_sermondistributor.series) type alias was removed from the <b>#__content_type</b> table'));
}
@ -361,7 +361,7 @@ class com_sermondistributorInstallerScript
$series_done = $db->execute();
if ($series_done)
{
// If succesfully remove Series add queued success message.
// If successfully remove Series add queued success message.
$app->enqueueMessage(JText::_('The (com_sermondistributor.series) type alias was removed from the <b>#__contentitem_tag_map</b> table'));
}
@ -376,7 +376,7 @@ class com_sermondistributorInstallerScript
$series_done = $db->execute();
if ($series_done)
{
// If succesfully remove Series add queued success message.
// If successfully removed Series add queued success message.
$app->enqueueMessage(JText::_('The (com_sermondistributor.series) type alias was removed from the <b>#__ucm_content</b> table'));
}
@ -432,7 +432,7 @@ class com_sermondistributorInstallerScript
$statistic_done = $db->execute();
if ($statistic_done)
{
// If succesfully remove Statistic add queued success message.
// If successfully remove Statistic add queued success message.
$app->enqueueMessage(JText::_('The (com_sermondistributor.statistic) type alias was removed from the <b>#__content_type</b> table'));
}
@ -447,7 +447,7 @@ class com_sermondistributorInstallerScript
$statistic_done = $db->execute();
if ($statistic_done)
{
// If succesfully remove Statistic add queued success message.
// If successfully remove Statistic add queued success message.
$app->enqueueMessage(JText::_('The (com_sermondistributor.statistic) type alias was removed from the <b>#__contentitem_tag_map</b> table'));
}
@ -462,7 +462,7 @@ class com_sermondistributorInstallerScript
$statistic_done = $db->execute();
if ($statistic_done)
{
// If succesfully remove Statistic add queued success message.
// If successfully removed Statistic add queued success message.
$app->enqueueMessage(JText::_('The (com_sermondistributor.statistic) type alias was removed from the <b>#__ucm_content</b> table'));
}
@ -518,7 +518,7 @@ class com_sermondistributorInstallerScript
$external_source_done = $db->execute();
if ($external_source_done)
{
// If succesfully remove External_source add queued success message.
// If successfully remove External_source add queued success message.
$app->enqueueMessage(JText::_('The (com_sermondistributor.external_source) type alias was removed from the <b>#__content_type</b> table'));
}
@ -533,7 +533,7 @@ class com_sermondistributorInstallerScript
$external_source_done = $db->execute();
if ($external_source_done)
{
// If succesfully remove External_source add queued success message.
// If successfully remove External_source add queued success message.
$app->enqueueMessage(JText::_('The (com_sermondistributor.external_source) type alias was removed from the <b>#__contentitem_tag_map</b> table'));
}
@ -548,7 +548,7 @@ class com_sermondistributorInstallerScript
$external_source_done = $db->execute();
if ($external_source_done)
{
// If succesfully remove External_source add queued success message.
// If successfully removed External_source add queued success message.
$app->enqueueMessage(JText::_('The (com_sermondistributor.external_source) type alias was removed from the <b>#__ucm_content</b> table'));
}
@ -604,7 +604,7 @@ class com_sermondistributorInstallerScript
$local_listing_done = $db->execute();
if ($local_listing_done)
{
// If succesfully remove Local_listing add queued success message.
// If successfully remove Local_listing add queued success message.
$app->enqueueMessage(JText::_('The (com_sermondistributor.local_listing) type alias was removed from the <b>#__content_type</b> table'));
}
@ -619,7 +619,7 @@ class com_sermondistributorInstallerScript
$local_listing_done = $db->execute();
if ($local_listing_done)
{
// If succesfully remove Local_listing add queued success message.
// If successfully remove Local_listing add queued success message.
$app->enqueueMessage(JText::_('The (com_sermondistributor.local_listing) type alias was removed from the <b>#__contentitem_tag_map</b> table'));
}
@ -634,7 +634,7 @@ class com_sermondistributorInstallerScript
$local_listing_done = $db->execute();
if ($local_listing_done)
{
// If succesfully remove Local_listing add queued success message.
// If successfully removed Local_listing add queued success message.
$app->enqueueMessage(JText::_('The (com_sermondistributor.local_listing) type alias was removed from the <b>#__ucm_content</b> table'));
}
@ -690,7 +690,7 @@ class com_sermondistributorInstallerScript
$help_document_done = $db->execute();
if ($help_document_done)
{
// If succesfully remove Help_document add queued success message.
// If successfully remove Help_document add queued success message.
$app->enqueueMessage(JText::_('The (com_sermondistributor.help_document) type alias was removed from the <b>#__content_type</b> table'));
}
@ -705,7 +705,7 @@ class com_sermondistributorInstallerScript
$help_document_done = $db->execute();
if ($help_document_done)
{
// If succesfully remove Help_document add queued success message.
// If successfully remove Help_document add queued success message.
$app->enqueueMessage(JText::_('The (com_sermondistributor.help_document) type alias was removed from the <b>#__contentitem_tag_map</b> table'));
}
@ -720,7 +720,7 @@ class com_sermondistributorInstallerScript
$help_document_done = $db->execute();
if ($help_document_done)
{
// If succesfully remove Help_document add queued success message.
// If successfully removed Help_document add queued success message.
$app->enqueueMessage(JText::_('The (com_sermondistributor.help_document) type alias was removed from the <b>#__ucm_content</b> table'));
}
@ -764,10 +764,31 @@ class com_sermondistributorInstallerScript
$help_document_done = $db->execute();
if ($help_document_done)
{
// If succesfully remove sermondistributor add queued success message.
// If successfully removed sermondistributor add queued success message.
$app->enqueueMessage(JText::_('All related items was removed from the <b>#__assets</b> table'));
}
// Get the biggest rule column in the assets table at this point.
$get_rule_length = "SELECT CHAR_LENGTH(`rules`) as rule_size FROM #__assets ORDER BY rule_size DESC LIMIT 1";
$db->setQuery($get_rule_length);
if ($db->execute())
{
$rule_length = $db->loadResult();
// Check the size of the rules column
if ($rule_length < 5120)
{
// Revert the assets table rules column back to the default
$revert_rule = "ALTER TABLE `#__assets` CHANGE `rules` `rules` varchar(5120) NOT NULL COMMENT 'JSON encoded access control.';";
$db->setQuery($revert_rule);
$db->execute();
$app->enqueueMessage(JText::_('Reverted the <b>#__assets</b> table rules column back to its default size of varchar(5120)'));
}
else
{
$app->enqueueMessage(JText::_('Could not revert the <b>#__assets</b> table rules column back to its default size of varchar(5120), since there is still one or more components that still requires the column to be larger.'));
}
}
// Set db if not set already.
if (!isset($db))
@ -1227,9 +1248,9 @@ class com_sermondistributorInstallerScript
$sermon->type_title = 'Sermondistributor Sermon';
$sermon->type_alias = 'com_sermondistributor.sermon';
$sermon->table = '{"special": {"dbtable": "#__sermondistributor_sermon","key": "id","type": "Sermon","prefix": "sermondistributorTable","config": "array()"},"common": {"dbtable": "#__ucm_content","key": "ucm_id","type": "Corecontent","prefix": "JTable","config": "array()"}}';
$sermon->field_mappings = '{"common": {"core_content_item_id": "id","core_title": "name","core_state": "published","core_alias": "alias","core_created_time": "created","core_modified_time": "modified","core_body": "description","core_hits": "hits","core_publish_up": "null","core_publish_down": "null","core_access": "access","core_params": "params","core_featured": "null","core_metadata": "metadata","core_language": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "metakey","core_metadesc": "metadesc","core_catid": "catid","core_xreference": "null","asset_id": "asset_id"},"special": {"name":"name","preacher":"preacher","series":"series","short_description":"short_description","link_type":"link_type","source":"source","local_files":"local_files","alias":"alias","description":"description","tags":"tags","icon":"icon","build":"build","not_required":"not_required","manual_files":"manual_files","auto_sermons":"auto_sermons","url":"url","scripture":"scripture"}}';
$sermon->field_mappings = '{"common": {"core_content_item_id": "id","core_title": "name","core_state": "published","core_alias": "alias","core_created_time": "created","core_modified_time": "modified","core_body": "description","core_hits": "hits","core_publish_up": "null","core_publish_down": "null","core_access": "access","core_params": "params","core_featured": "null","core_metadata": "metadata","core_language": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "metakey","core_metadesc": "metadesc","core_catid": "catid","core_xreference": "null","asset_id": "asset_id"},"special": {"name":"name","preacher":"preacher","series":"series","short_description":"short_description","link_type":"link_type","source":"source","local_files":"local_files","alias":"alias","description":"description","tags":"tags","icon":"icon","build":"build","manual_files":"manual_files","auto_sermons":"auto_sermons","url":"url","scripture":"scripture"}}';
$sermon->router = 'SermondistributorHelperRoute::getSermonRoute';
$sermon->content_history_options = '{"formFile": "administrator/components/com_sermondistributor/models/forms/sermon.xml","hideFields": ["asset_id","checked_out","checked_out_time","version","not_required","auto_sermons"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","preacher","series","catid","link_type","source","build"],"displayLookup": [{"sourceColumn": "catid","targetTable": "#__categories","targetColumn": "id","displayColumn": "title"},{"sourceColumn": "created_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "access","targetTable": "#__viewlevels","targetColumn": "id","displayColumn": "title"},{"sourceColumn": "modified_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "preacher","targetTable": "#__sermondistributor_preacher","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "series","targetTable": "#__sermondistributor_series","targetColumn": "id","displayColumn": "name"}]}';
$sermon->content_history_options = '{"formFile": "administrator/components/com_sermondistributor/models/forms/sermon.xml","hideFields": ["asset_id","checked_out","checked_out_time","version","auto_sermons"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","preacher","series","catid","link_type","source","build"],"displayLookup": [{"sourceColumn": "catid","targetTable": "#__categories","targetColumn": "id","displayColumn": "title"},{"sourceColumn": "created_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "access","targetTable": "#__viewlevels","targetColumn": "id","displayColumn": "title"},{"sourceColumn": "modified_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "preacher","targetTable": "#__sermondistributor_preacher","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "series","targetTable": "#__sermondistributor_series","targetColumn": "id","displayColumn": "name"}]}';
// Set the object into the content types table.
$sermon_Inserted = $db->insertObject('#__content_types', $sermon);
@ -1299,9 +1320,9 @@ class com_sermondistributorInstallerScript
$help_document->type_title = 'Sermondistributor Help_document';
$help_document->type_alias = 'com_sermondistributor.help_document';
$help_document->table = '{"special": {"dbtable": "#__sermondistributor_help_document","key": "id","type": "Help_document","prefix": "sermondistributorTable","config": "array()"},"common": {"dbtable": "#__ucm_content","key": "ucm_id","type": "Corecontent","prefix": "JTable","config": "array()"}}';
$help_document->field_mappings = '{"common": {"core_content_item_id": "id","core_title": "title","core_state": "published","core_alias": "alias","core_created_time": "created","core_modified_time": "modified","core_body": "content","core_hits": "hits","core_publish_up": "null","core_publish_down": "null","core_access": "access","core_params": "params","core_featured": "null","core_metadata": "metadata","core_language": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "metakey","core_metadesc": "metadesc","core_catid": "null","core_xreference": "null","asset_id": "asset_id"},"special": {"title":"title","type":"type","groups":"groups","location":"location","admin_view":"admin_view","site_view":"site_view","not_required":"not_required","alias":"alias","content":"content","article":"article","url":"url","target":"target"}}';
$help_document->field_mappings = '{"common": {"core_content_item_id": "id","core_title": "title","core_state": "published","core_alias": "alias","core_created_time": "created","core_modified_time": "modified","core_body": "content","core_hits": "hits","core_publish_up": "null","core_publish_down": "null","core_access": "access","core_params": "params","core_featured": "null","core_metadata": "metadata","core_language": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "metakey","core_metadesc": "metadesc","core_catid": "null","core_xreference": "null","asset_id": "asset_id"},"special": {"title":"title","type":"type","groups":"groups","location":"location","admin_view":"admin_view","site_view":"site_view","alias":"alias","content":"content","article":"article","url":"url","target":"target"}}';
$help_document->router = 'SermondistributorHelperRoute::getHelp_documentRoute';
$help_document->content_history_options = '{"formFile": "administrator/components/com_sermondistributor/models/forms/help_document.xml","hideFields": ["asset_id","checked_out","checked_out_time","version","not_required"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","type","location","article","target"],"displayLookup": [{"sourceColumn": "created_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "access","targetTable": "#__viewlevels","targetColumn": "id","displayColumn": "title"},{"sourceColumn": "modified_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "article","targetTable": "#__content","targetColumn": "id","displayColumn": "title"}]}';
$help_document->content_history_options = '{"formFile": "administrator/components/com_sermondistributor/models/forms/help_document.xml","hideFields": ["asset_id","checked_out","checked_out_time","version"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","type","location","article","target"],"displayLookup": [{"sourceColumn": "created_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "access","targetTable": "#__viewlevels","targetColumn": "id","displayColumn": "title"},{"sourceColumn": "modified_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "article","targetTable": "#__content","targetColumn": "id","displayColumn": "title"}]}';
// Set the object into the content types table.
$help_document_Inserted = $db->insertObject('#__content_types', $help_document);
@ -1335,6 +1356,22 @@ class com_sermondistributorInstallerScript
$db->setQuery($query);
$allDone = $db->execute();
// Get the biggest rule column in the assets table at this point.
$get_rule_length = "SELECT CHAR_LENGTH(`rules`) as rule_size FROM #__assets ORDER BY rule_size DESC LIMIT 1";
$db->setQuery($get_rule_length);
if ($db->execute())
{
$rule_length = $db->loadResult();
// Check the size of the rules column
if ($rule_length <= 22240)
{
// Fix the assets table rules column size
$fix_rules_size = "ALTER TABLE `#__assets` CHANGE `rules` `rules` TEXT NOT NULL COMMENT 'JSON encoded access control. Enlarged to TEXT by JCB';";
$db->setQuery($fix_rules_size);
$db->execute();
$app->enqueueMessage(JText::_('The <b>#__assets</b> table rules column was resized to the TEXT datatype for the components possible large permission rules.'));
}
}
echo '<a target="_blank" href="https://www.vdm.io/" title="Sermon Distributor">
<img src="components/com_sermondistributor/assets/images/vdm-component.jpg"/>
</a>';
@ -1511,9 +1548,9 @@ class com_sermondistributorInstallerScript
$sermon->type_title = 'Sermondistributor Sermon';
$sermon->type_alias = 'com_sermondistributor.sermon';
$sermon->table = '{"special": {"dbtable": "#__sermondistributor_sermon","key": "id","type": "Sermon","prefix": "sermondistributorTable","config": "array()"},"common": {"dbtable": "#__ucm_content","key": "ucm_id","type": "Corecontent","prefix": "JTable","config": "array()"}}';
$sermon->field_mappings = '{"common": {"core_content_item_id": "id","core_title": "name","core_state": "published","core_alias": "alias","core_created_time": "created","core_modified_time": "modified","core_body": "description","core_hits": "hits","core_publish_up": "null","core_publish_down": "null","core_access": "access","core_params": "params","core_featured": "null","core_metadata": "metadata","core_language": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "metakey","core_metadesc": "metadesc","core_catid": "catid","core_xreference": "null","asset_id": "asset_id"},"special": {"name":"name","preacher":"preacher","series":"series","short_description":"short_description","link_type":"link_type","source":"source","local_files":"local_files","alias":"alias","description":"description","tags":"tags","icon":"icon","build":"build","not_required":"not_required","manual_files":"manual_files","auto_sermons":"auto_sermons","url":"url","scripture":"scripture"}}';
$sermon->field_mappings = '{"common": {"core_content_item_id": "id","core_title": "name","core_state": "published","core_alias": "alias","core_created_time": "created","core_modified_time": "modified","core_body": "description","core_hits": "hits","core_publish_up": "null","core_publish_down": "null","core_access": "access","core_params": "params","core_featured": "null","core_metadata": "metadata","core_language": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "metakey","core_metadesc": "metadesc","core_catid": "catid","core_xreference": "null","asset_id": "asset_id"},"special": {"name":"name","preacher":"preacher","series":"series","short_description":"short_description","link_type":"link_type","source":"source","local_files":"local_files","alias":"alias","description":"description","tags":"tags","icon":"icon","build":"build","manual_files":"manual_files","auto_sermons":"auto_sermons","url":"url","scripture":"scripture"}}';
$sermon->router = 'SermondistributorHelperRoute::getSermonRoute';
$sermon->content_history_options = '{"formFile": "administrator/components/com_sermondistributor/models/forms/sermon.xml","hideFields": ["asset_id","checked_out","checked_out_time","version","not_required","auto_sermons"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","preacher","series","catid","link_type","source","build"],"displayLookup": [{"sourceColumn": "catid","targetTable": "#__categories","targetColumn": "id","displayColumn": "title"},{"sourceColumn": "created_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "access","targetTable": "#__viewlevels","targetColumn": "id","displayColumn": "title"},{"sourceColumn": "modified_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "preacher","targetTable": "#__sermondistributor_preacher","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "series","targetTable": "#__sermondistributor_series","targetColumn": "id","displayColumn": "name"}]}';
$sermon->content_history_options = '{"formFile": "administrator/components/com_sermondistributor/models/forms/sermon.xml","hideFields": ["asset_id","checked_out","checked_out_time","version","auto_sermons"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","preacher","series","catid","link_type","source","build"],"displayLookup": [{"sourceColumn": "catid","targetTable": "#__categories","targetColumn": "id","displayColumn": "title"},{"sourceColumn": "created_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "access","targetTable": "#__viewlevels","targetColumn": "id","displayColumn": "title"},{"sourceColumn": "modified_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "preacher","targetTable": "#__sermondistributor_preacher","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "series","targetTable": "#__sermondistributor_series","targetColumn": "id","displayColumn": "name"}]}';
// Check if sermon type is already in content_type DB.
$sermon_id = null;
@ -1685,9 +1722,9 @@ class com_sermondistributorInstallerScript
$help_document->type_title = 'Sermondistributor Help_document';
$help_document->type_alias = 'com_sermondistributor.help_document';
$help_document->table = '{"special": {"dbtable": "#__sermondistributor_help_document","key": "id","type": "Help_document","prefix": "sermondistributorTable","config": "array()"},"common": {"dbtable": "#__ucm_content","key": "ucm_id","type": "Corecontent","prefix": "JTable","config": "array()"}}';
$help_document->field_mappings = '{"common": {"core_content_item_id": "id","core_title": "title","core_state": "published","core_alias": "alias","core_created_time": "created","core_modified_time": "modified","core_body": "content","core_hits": "hits","core_publish_up": "null","core_publish_down": "null","core_access": "access","core_params": "params","core_featured": "null","core_metadata": "metadata","core_language": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "metakey","core_metadesc": "metadesc","core_catid": "null","core_xreference": "null","asset_id": "asset_id"},"special": {"title":"title","type":"type","groups":"groups","location":"location","admin_view":"admin_view","site_view":"site_view","not_required":"not_required","alias":"alias","content":"content","article":"article","url":"url","target":"target"}}';
$help_document->field_mappings = '{"common": {"core_content_item_id": "id","core_title": "title","core_state": "published","core_alias": "alias","core_created_time": "created","core_modified_time": "modified","core_body": "content","core_hits": "hits","core_publish_up": "null","core_publish_down": "null","core_access": "access","core_params": "params","core_featured": "null","core_metadata": "metadata","core_language": "null","core_images": "null","core_urls": "null","core_version": "version","core_ordering": "ordering","core_metakey": "metakey","core_metadesc": "metadesc","core_catid": "null","core_xreference": "null","asset_id": "asset_id"},"special": {"title":"title","type":"type","groups":"groups","location":"location","admin_view":"admin_view","site_view":"site_view","alias":"alias","content":"content","article":"article","url":"url","target":"target"}}';
$help_document->router = 'SermondistributorHelperRoute::getHelp_documentRoute';
$help_document->content_history_options = '{"formFile": "administrator/components/com_sermondistributor/models/forms/help_document.xml","hideFields": ["asset_id","checked_out","checked_out_time","version","not_required"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","type","location","article","target"],"displayLookup": [{"sourceColumn": "created_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "access","targetTable": "#__viewlevels","targetColumn": "id","displayColumn": "title"},{"sourceColumn": "modified_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "article","targetTable": "#__content","targetColumn": "id","displayColumn": "title"}]}';
$help_document->content_history_options = '{"formFile": "administrator/components/com_sermondistributor/models/forms/help_document.xml","hideFields": ["asset_id","checked_out","checked_out_time","version"],"ignoreChanges": ["modified_by","modified","checked_out","checked_out_time","version","hits"],"convertToInt": ["published","ordering","type","location","article","target"],"displayLookup": [{"sourceColumn": "created_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "access","targetTable": "#__viewlevels","targetColumn": "id","displayColumn": "title"},{"sourceColumn": "modified_by","targetTable": "#__users","targetColumn": "id","displayColumn": "name"},{"sourceColumn": "article","targetTable": "#__content","targetColumn": "id","displayColumn": "title"}]}';
// Check if help_document type is already in content_type DB.
$help_document_id = null;

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<extension type="component" version="3.2" method="upgrade">
<name>COM_SERMONDISTRIBUTOR</name>
<creationDate>4th December, 2020</creationDate>
<creationDate>31st December, 2020</creationDate>
<author>Llewellyn van der Merwe</author>
<authorEmail>joomla@vdm.io</authorEmail>
<authorUrl>https://www.vdm.io/</authorUrl>

View File

@ -25,9 +25,9 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Language\Language;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\CMS\Language\Language;
use Joomla\Registry\Registry;
use Joomla\String\StringHelper;
use Joomla\Utilities\ArrayHelper;
/**

View File

@ -24,6 +24,7 @@
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
JHtml::_('behavior.tabstate');
// Set the component css/js
@ -32,7 +33,7 @@ $document->addStyleSheet('components/com_sermondistributor/assets/css/site.css')
$document->addScript('components/com_sermondistributor/assets/js/site.js');
// Require helper files
JLoader::register('SermondistributorHelper', __DIR__ . '/helpers/sermondistributor.php');
JLoader::register('SermondistributorHelper', __DIR__ . '/helpers/sermondistributor.php');
JLoader::register('SermondistributorHelperRoute', __DIR__ . '/helpers/route.php');
// Get an instance of the controller prefixed by Sermondistributor