Stable release of v5.0.5
Add option to target MySQL 8+ with the search regex.
This commit is contained in:
parent
41d1564412
commit
01f3548e69
12
CHANGELOG.md
12
CHANGELOG.md
@ -1,3 +1,7 @@
|
||||
# v5.0.5
|
||||
|
||||
- Add option to target MySQL 8+ with the search regex.
|
||||
|
||||
# v5.0.4
|
||||
|
||||
- Fix the spl_autoload_register function to load all the needed namespace. That was remove in the last update (sorry).
|
||||
@ -20,10 +24,6 @@
|
||||
|
||||
- Moved to Joomla 4 and 5
|
||||
|
||||
# v3.0.2
|
||||
# v3.0.3
|
||||
|
||||
- More namespace updates.
|
||||
|
||||
# v3.0.1
|
||||
|
||||
- Fix missing use statement in app model.
|
||||
- Add option to target mysql 8+ with the search regex.
|
@ -439,7 +439,7 @@ class Com_GetbibleInstallerScript implements InstallerScriptInterface
|
||||
$this->setDatabaseAssetsRulesFix(44480, "TEXT");
|
||||
// Install the global extension params.
|
||||
$this->setExtensionsParams(
|
||||
'{"autorName":"Llewellyn van der Merwe","autorEmail":"joomla@vdm.io","default_translation":"kjv","show_install_button":"0","show_getbible_logo":"1","show_getbible_link":"1","show_hash_validation":"1","show_api_link":"1","activate_search":"0","search_found_color":"#4747ff","table_selection_color":"#dfdfdf","search_words":"1","search_match":"1","search_case":"1","bottom_search_position":"div","show_bottom_search_position_card":"1","bottom_search_position_card_style":"default","activate_notes":"0","activate_tags":"0","allow_untagging":"0","bottom_tag_position":"div","show_bottom_tag_position_card":"1","bottom_tag_position_card_style":"default","activate_sharing":"1","verse_layout_share":"1","verse_number_share":"1","local_link_share":"1","text_reference_share":"3","type_translation_share":"2","default_format_share":"1","verse_selected_color":"#4747ff","show_header":"1","verse_per_line":"1","show_top_menu":"1","top_menu_type":"1","show_bottom_menu":"0","bottom_menu_type":"1","previous_next_navigation":"1","set_custom_tabs":"0","custom_tabs":"div","set_default_tab_names":"0","custom_icons":"0","show_scripture_tab_text":"1","show_scripture_icon":"1","show_scripture_card":"1","scripture_card_style":"default","show_books_tab_text":"1","show_books_icon":"1","show_books_card":"1","books_card_style":"default","show_chapters_tab_text":"1","show_chapters_icon":"1","show_chapters_card":"1","chapters_card_style":"default","show_translations_tab_text":"1","show_translations_icon":"1","show_translations_card":"1","translations_card_style":"default","show_settings":"0","show_settings_tab_text":"1","show_settings_icon":"1","show_settings_card":"1","settings_card_style":"default","show_details":"1","show_details_tab_text":"1","show_details_icon":"1","show_details_card":"1","details_card_style":"default","bottom_app_position":"div","show_bottom_app_position_card":"1","bottom_app_position_card_style":"default","debug":"0","enable_open_ai":"0","openai_model":"gpt-4","openai_token":"secret","enable_open_ai_org":"0","openai_org_token":"secret","openai_max_tokens":"300","openai_temperature":"1","openai_top_p":"1","openai_n":"1","openai_presence_penalty":"0","openai_frequency_penalty":"0","bottom_ai_position":"div","show_bottom_ai_position_card":"1","bottom_ai_position_card_style":"default","check_in":"-1 day","save_history":"1","history_limit":"10","add_jquery_framework":"1","uikit_load":"1","uikit_min":""}'
|
||||
'{"autorName":"Llewellyn van der Merwe","autorEmail":"joomla@vdm.io","default_translation":"kjv","show_install_button":"0","show_getbible_logo":"1","show_getbible_link":"1","show_hash_validation":"1","show_api_link":"1","activate_search":"0","search_found_color":"#4747ff","table_selection_color":"#dfdfdf","search_words":"1","search_match":"1","search_case":"1","bottom_search_position":"div","show_bottom_search_position_card":"1","bottom_search_position_card_style":"default","activate_notes":"0","activate_tags":"0","allow_untagging":"0","bottom_tag_position":"div","show_bottom_tag_position_card":"1","bottom_tag_position_card_style":"default","activate_sharing":"1","verse_layout_share":"1","verse_number_share":"1","local_link_share":"1","text_reference_share":"3","type_translation_share":"2","default_format_share":"1","verse_selected_color":"#4747ff","show_header":"1","verse_per_line":"1","show_top_menu":"1","top_menu_type":"1","show_bottom_menu":"0","bottom_menu_type":"1","previous_next_navigation":"1","set_custom_tabs":"0","custom_tabs":"div","set_default_tab_names":"0","custom_icons":"0","show_scripture_tab_text":"1","show_scripture_icon":"1","show_scripture_card":"1","scripture_card_style":"default","show_books_tab_text":"1","show_books_icon":"1","show_books_card":"1","books_card_style":"default","show_chapters_tab_text":"1","show_chapters_icon":"1","show_chapters_card":"1","chapters_card_style":"default","show_translations_tab_text":"1","show_translations_icon":"1","show_translations_card":"1","translations_card_style":"default","show_settings":"0","show_settings_tab_text":"1","show_settings_icon":"1","show_settings_card":"1","settings_card_style":"default","show_details":"1","show_details_tab_text":"1","show_details_icon":"1","show_details_card":"1","details_card_style":"default","bottom_app_position":"div","show_bottom_app_position_card":"1","bottom_app_position_card_style":"default","debug":"0","enable_open_ai":"0","openai_model":"gpt-4","openai_token":"secret","enable_open_ai_org":"0","openai_org_token":"secret","openai_max_tokens":"300","openai_temperature":"1","openai_top_p":"1","openai_n":"1","openai_presence_penalty":"0","openai_frequency_penalty":"0","bottom_ai_position":"div","show_bottom_ai_position_card":"1","bottom_ai_position_card_style":"default","check_in":"-1 day","save_history":"1","history_limit":"10","titleContributor1":"Modules","nameContributor1":"CrossWire","emailContributor1":"sword-support@crosswire.org","linkContributor1":"https://wiki.crosswire.org/","useContributor1":"2","showContributor1":"3","add_jquery_framework":"1","uikit_load":"1","uikit_min":""}'
|
||||
);
|
||||
|
||||
|
||||
@ -755,7 +755,7 @@ class Com_GetbibleInstallerScript implements InstallerScriptInterface
|
||||
echo '<div style="background-color: #fff;" class="alert alert-info"><a target="_blank" href="https://getbible.net" title="Get Bible">
|
||||
<img src="components/com_getbible/assets/images/vdm-component.jpg"/>
|
||||
</a>
|
||||
<h3>Upgrade to Version 5.0.4 Was Successful! Let us know if anything is not working as expected.</h3></div>';
|
||||
<h3>Upgrade to Version 5.0.5 Was Successful! Let us know if anything is not working as expected.</h3></div>';
|
||||
|
||||
// Add/Update component in the action logs extensions table.
|
||||
$this->setActionLogsExtensions();
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Get Bible (5.0.4)
|
||||
# Get Bible (5.0.5)
|
||||
|
||||
![Get Bible image](https://git.vdm.dev/getBible/joomla-component/raw/branch/5.0/admin/assets/images/vdm-component.jpg "GetBible")
|
||||
|
||||
@ -18,8 +18,8 @@ In essence, The Bible for Joomla is designed to transform how the Word of God is
|
||||
+ *Author*: [Llewellyn van der Merwe](mailto:joomla@vdm.io)
|
||||
+ *Name*: [Get Bible](https://getbible.net)
|
||||
+ *First Build*: 3rd December, 2015
|
||||
+ *Last Build*: 10th February, 2024
|
||||
+ *Version*: 5.0.4
|
||||
+ *Last Build*: 18th February, 2024
|
||||
+ *Version*: 5.0.5
|
||||
+ *Copyright*: Copyright (C) 2015. All Rights Reserved
|
||||
+ *License*: GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
|
||||
|
||||
@ -31,7 +31,7 @@ due to [Automated Component Builder](https://www.joomlacomponentbuilder.com))
|
||||
> (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*: **205576**
|
||||
+ *Line count*: **205513**
|
||||
+ *File count*: **1723**
|
||||
+ *Folder count*: **189**
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Get Bible (5.0.4)
|
||||
# Get Bible (5.0.5)
|
||||
|
||||
![Get Bible image](https://git.vdm.dev/getBible/joomla-component/raw/branch/5.0/admin/assets/images/vdm-component.jpg "GetBible")
|
||||
|
||||
@ -18,8 +18,8 @@ In essence, The Bible for Joomla is designed to transform how the Word of God is
|
||||
+ *Author*: [Llewellyn van der Merwe](mailto:joomla@vdm.io)
|
||||
+ *Name*: [Get Bible](https://getbible.net)
|
||||
+ *First Build*: 3rd December, 2015
|
||||
+ *Last Build*: 10th February, 2024
|
||||
+ *Version*: 5.0.4
|
||||
+ *Last Build*: 18th February, 2024
|
||||
+ *Version*: 5.0.5
|
||||
+ *Copyright*: Copyright (C) 2015. All Rights Reserved
|
||||
+ *License*: GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
|
||||
|
||||
@ -31,7 +31,7 @@ due to [Automated Component Builder](https://www.joomlacomponentbuilder.com))
|
||||
> (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*: **205576**
|
||||
+ *Line count*: **205513**
|
||||
+ *File count*: **1723**
|
||||
+ *Folder count*: **189**
|
||||
|
||||
|
@ -174,6 +174,59 @@
|
||||
readonly="true"
|
||||
class="readonly"
|
||||
/>
|
||||
<field type="spacer" name="spacerContributor1" hr="true" />
|
||||
<field name="contributor1"
|
||||
type="spacer"
|
||||
class="text"
|
||||
label="COM_GETBIBLE_CONFIG_CONTRIBUTOR_ONE"
|
||||
/>
|
||||
<field name="titleContributor1"
|
||||
type="text"
|
||||
label="COM_GETBIBLE_CONFIG_CONTRIBUTOR_TITLE_LABEL"
|
||||
description="COM_GETBIBLE_CONFIG_CONTRIBUTOR_TITLE_DESC"
|
||||
size="60"
|
||||
default="Modules"
|
||||
/>
|
||||
<field name="nameContributor1"
|
||||
type="text"
|
||||
label="COM_GETBIBLE_CONFIG_CONTRIBUTOR_NAME_LABEL"
|
||||
description="COM_GETBIBLE_CONFIG_CONTRIBUTOR_NAME_DESC"
|
||||
size="60"
|
||||
default="CrossWire"
|
||||
/>
|
||||
<field name="emailContributor1"
|
||||
type="email"
|
||||
label="COM_GETBIBLE_CONFIG_CONTRIBUTOR_EMAIL_LABEL"
|
||||
description="COM_GETBIBLE_CONFIG_CONTRIBUTOR_EMAIL_DESC"
|
||||
size="60"
|
||||
default="sword-support@crosswire.org"
|
||||
/>
|
||||
<field name="linkContributor1"
|
||||
type="url"
|
||||
label="COM_GETBIBLE_CONFIG_CONTRIBUTOR_LINK_LABEL"
|
||||
description="COM_GETBIBLE_CONFIG_CONTRIBUTOR_LINK_DESC"
|
||||
size="60"
|
||||
default="https://wiki.crosswire.org/"
|
||||
/>
|
||||
<field name="useContributor1"
|
||||
type="list"
|
||||
default="2"
|
||||
label="COM_GETBIBLE_CONFIG_CONTRIBUTOR_USE_LABEL"
|
||||
description="COM_GETBIBLE_CONFIG_CONTRIBUTOR_USE_DESC">
|
||||
<option value="0">COM_GETBIBLE_CONFIG_CONTRIBUTOR_USE_NONE</option>
|
||||
<option value="1">COM_GETBIBLE_CONFIG_CONTRIBUTOR_USE_EMAIL</option>
|
||||
<option value="2">COM_GETBIBLE_CONFIG_CONTRIBUTOR_USE_WWW</option>
|
||||
</field>
|
||||
<field name="showContributor1"
|
||||
type="list"
|
||||
default="3"
|
||||
label="COM_GETBIBLE_CONFIG_CONTRIBUTOR_SHOW_LABEL"
|
||||
description="COM_GETBIBLE_CONFIG_CONTRIBUTOR_SHOW_DESC">
|
||||
<option value="0">COM_GETBIBLE_CONFIG_CONTRIBUTOR_SHOW_NONE</option>
|
||||
<option value="1">COM_GETBIBLE_CONFIG_CONTRIBUTOR_SHOW_BACK</option>
|
||||
<option value="2">COM_GETBIBLE_CONFIG_CONTRIBUTOR_SHOW_FRONT</option>
|
||||
<option value="3">COM_GETBIBLE_CONFIG_CONTRIBUTOR_SHOW_ALL</option>
|
||||
</field>
|
||||
</fieldset>
|
||||
<fieldset
|
||||
name="uikit_config"
|
||||
|
@ -260,6 +260,26 @@ COM_GETBIBLE_CONFIG_CHECK_TIMER_OPTION_TWO="Every twelve hours"
|
||||
COM_GETBIBLE_CONFIG_CLASS_HINT="Blank for none"
|
||||
COM_GETBIBLE_CONFIG_CLASS_LABEL="Class"
|
||||
COM_GETBIBLE_CONFIG_CLASS_MESSAGE="Error! Please add some Class here."
|
||||
COM_GETBIBLE_CONFIG_CONTRIBUTOR_EMAIL_DESC="The email of this contributor."
|
||||
COM_GETBIBLE_CONFIG_CONTRIBUTOR_EMAIL_LABEL="Contributor Email"
|
||||
COM_GETBIBLE_CONFIG_CONTRIBUTOR_LINK_DESC="The link to this contributor's website."
|
||||
COM_GETBIBLE_CONFIG_CONTRIBUTOR_LINK_LABEL="Contributor Website"
|
||||
COM_GETBIBLE_CONFIG_CONTRIBUTOR_NAME_DESC="The name of this contributor."
|
||||
COM_GETBIBLE_CONFIG_CONTRIBUTOR_NAME_LABEL="Contributor Name"
|
||||
COM_GETBIBLE_CONFIG_CONTRIBUTOR_ONE="Contributor One"
|
||||
COM_GETBIBLE_CONFIG_CONTRIBUTOR_SHOW_ALL="Both Front & Back-end"
|
||||
COM_GETBIBLE_CONFIG_CONTRIBUTOR_SHOW_BACK="Back-end"
|
||||
COM_GETBIBLE_CONFIG_CONTRIBUTOR_SHOW_DESC="Select where you want this contributor's details to show in the component."
|
||||
COM_GETBIBLE_CONFIG_CONTRIBUTOR_SHOW_FRONT="Front-end"
|
||||
COM_GETBIBLE_CONFIG_CONTRIBUTOR_SHOW_LABEL="Show"
|
||||
COM_GETBIBLE_CONFIG_CONTRIBUTOR_SHOW_NONE="Hide"
|
||||
COM_GETBIBLE_CONFIG_CONTRIBUTOR_TITLE_DESC="The job title that best describes the contributor's relationship to this component."
|
||||
COM_GETBIBLE_CONFIG_CONTRIBUTOR_TITLE_LABEL="Contributor Job Title"
|
||||
COM_GETBIBLE_CONFIG_CONTRIBUTOR_USE_DESC="How should we link to this contributor."
|
||||
COM_GETBIBLE_CONFIG_CONTRIBUTOR_USE_EMAIL="Email"
|
||||
COM_GETBIBLE_CONFIG_CONTRIBUTOR_USE_LABEL="Use"
|
||||
COM_GETBIBLE_CONFIG_CONTRIBUTOR_USE_NONE="None"
|
||||
COM_GETBIBLE_CONFIG_CONTRIBUTOR_USE_WWW="Website"
|
||||
COM_GETBIBLE_CONFIG_CUSTOM_ICONS_DESCRIPTION="Use this option to set custom icons found at https://getuikit.com/docs/icon"
|
||||
COM_GETBIBLE_CONFIG_CUSTOM_ICONS_LABEL="Set Custom Icons"
|
||||
COM_GETBIBLE_CONFIG_CUSTOM_TABS_LABEL="Custom Tabs"
|
||||
|
@ -1,3 +1,6 @@
|
||||
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
|
||||
SET time_zone = "+00:00";
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `#__getbible_linker` (
|
||||
`id` INT(11) NOT NULL AUTO_INCREMENT,
|
||||
`asset_id` INT(10) unsigned NOT NULL DEFAULT 0 COMMENT 'FK to the #__assets table.',
|
||||
@ -9,10 +12,10 @@ CREATE TABLE IF NOT EXISTS `#__getbible_linker` (
|
||||
`published` TINYINT(3) NOT NULL DEFAULT 1,
|
||||
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
|
||||
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
|
||||
`created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`modified` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`created` DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
`modified` DATETIME DEFAULT NULL,
|
||||
`checked_out` int(11) unsigned NOT NULL DEFAULT 0,
|
||||
`checked_out_time` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`checked_out_time` DATETIME DEFAULT NULL,
|
||||
`version` INT(10) unsigned NOT NULL DEFAULT 1,
|
||||
`hits` INT(10) unsigned NOT NULL DEFAULT 0,
|
||||
`access` INT(10) unsigned NOT NULL DEFAULT 0,
|
||||
@ -43,10 +46,10 @@ CREATE TABLE IF NOT EXISTS `#__getbible_note` (
|
||||
`published` TINYINT(3) NOT NULL DEFAULT 1,
|
||||
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
|
||||
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
|
||||
`created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`modified` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`created` DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
`modified` DATETIME DEFAULT NULL,
|
||||
`checked_out` int(11) unsigned NOT NULL DEFAULT 0,
|
||||
`checked_out_time` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`checked_out_time` DATETIME DEFAULT NULL,
|
||||
`version` INT(10) unsigned NOT NULL DEFAULT 1,
|
||||
`hits` INT(10) unsigned NOT NULL DEFAULT 0,
|
||||
`ordering` INT(11) NOT NULL DEFAULT 0,
|
||||
@ -78,10 +81,10 @@ CREATE TABLE IF NOT EXISTS `#__getbible_tagged_verse` (
|
||||
`published` TINYINT(3) NOT NULL DEFAULT 1,
|
||||
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
|
||||
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
|
||||
`created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`modified` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`created` DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
`modified` DATETIME DEFAULT NULL,
|
||||
`checked_out` int(11) unsigned NOT NULL DEFAULT 0,
|
||||
`checked_out_time` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`checked_out_time` DATETIME DEFAULT NULL,
|
||||
`version` INT(10) unsigned NOT NULL DEFAULT 1,
|
||||
`hits` INT(10) unsigned NOT NULL DEFAULT 0,
|
||||
`ordering` INT(11) NOT NULL DEFAULT 0,
|
||||
@ -132,10 +135,10 @@ CREATE TABLE IF NOT EXISTS `#__getbible_prompt` (
|
||||
`published` TINYINT(3) NOT NULL DEFAULT 1,
|
||||
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
|
||||
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
|
||||
`created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`modified` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`created` DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
`modified` DATETIME DEFAULT NULL,
|
||||
`checked_out` int(11) unsigned NOT NULL DEFAULT 0,
|
||||
`checked_out_time` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`checked_out_time` DATETIME DEFAULT NULL,
|
||||
`version` INT(10) unsigned NOT NULL DEFAULT 1,
|
||||
`hits` INT(10) unsigned NOT NULL DEFAULT 0,
|
||||
`access` INT(10) unsigned NOT NULL DEFAULT 0,
|
||||
@ -184,10 +187,10 @@ CREATE TABLE IF NOT EXISTS `#__getbible_open_ai_response` (
|
||||
`published` TINYINT(3) NOT NULL DEFAULT 1,
|
||||
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
|
||||
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
|
||||
`created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`modified` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`created` DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
`modified` DATETIME DEFAULT NULL,
|
||||
`checked_out` int(11) unsigned NOT NULL DEFAULT 0,
|
||||
`checked_out_time` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`checked_out_time` DATETIME DEFAULT NULL,
|
||||
`version` INT(10) unsigned NOT NULL DEFAULT 1,
|
||||
`hits` INT(10) unsigned NOT NULL DEFAULT 0,
|
||||
`access` INT(10) unsigned NOT NULL DEFAULT 0,
|
||||
@ -230,10 +233,10 @@ CREATE TABLE IF NOT EXISTS `#__getbible_open_ai_message` (
|
||||
`published` TINYINT(3) NOT NULL DEFAULT 1,
|
||||
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
|
||||
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
|
||||
`created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`modified` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`created` DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
`modified` DATETIME DEFAULT NULL,
|
||||
`checked_out` int(11) unsigned NOT NULL DEFAULT 0,
|
||||
`checked_out_time` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`checked_out_time` DATETIME DEFAULT NULL,
|
||||
`version` INT(10) unsigned NOT NULL DEFAULT 1,
|
||||
`hits` INT(10) unsigned NOT NULL DEFAULT 0,
|
||||
`access` INT(10) unsigned NOT NULL DEFAULT 0,
|
||||
@ -261,10 +264,10 @@ CREATE TABLE IF NOT EXISTS `#__getbible_password` (
|
||||
`published` TINYINT(3) NOT NULL DEFAULT 1,
|
||||
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
|
||||
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
|
||||
`created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`modified` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`created` DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
`modified` DATETIME DEFAULT NULL,
|
||||
`checked_out` int(11) unsigned NOT NULL DEFAULT 0,
|
||||
`checked_out_time` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`checked_out_time` DATETIME DEFAULT NULL,
|
||||
`version` INT(10) unsigned NOT NULL DEFAULT 1,
|
||||
`hits` INT(10) unsigned NOT NULL DEFAULT 0,
|
||||
`access` INT(10) unsigned NOT NULL DEFAULT 0,
|
||||
@ -292,10 +295,10 @@ CREATE TABLE IF NOT EXISTS `#__getbible_tag` (
|
||||
`published` TINYINT(3) NOT NULL DEFAULT 1,
|
||||
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
|
||||
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
|
||||
`created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`modified` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`created` DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
`modified` DATETIME DEFAULT NULL,
|
||||
`checked_out` int(11) unsigned NOT NULL DEFAULT 0,
|
||||
`checked_out_time` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`checked_out_time` DATETIME DEFAULT NULL,
|
||||
`version` INT(10) unsigned NOT NULL DEFAULT 1,
|
||||
`hits` INT(10) unsigned NOT NULL DEFAULT 0,
|
||||
`ordering` INT(11) NOT NULL DEFAULT 0,
|
||||
@ -334,10 +337,10 @@ CREATE TABLE IF NOT EXISTS `#__getbible_translation` (
|
||||
`published` TINYINT(3) NOT NULL DEFAULT 1,
|
||||
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
|
||||
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
|
||||
`created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`modified` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`created` DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
`modified` DATETIME DEFAULT NULL,
|
||||
`checked_out` int(11) unsigned NOT NULL DEFAULT 0,
|
||||
`checked_out_time` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`checked_out_time` DATETIME DEFAULT NULL,
|
||||
`version` INT(10) unsigned NOT NULL DEFAULT 1,
|
||||
`hits` INT(10) unsigned NOT NULL DEFAULT 0,
|
||||
`access` INT(10) unsigned NOT NULL DEFAULT 0,
|
||||
@ -362,10 +365,10 @@ CREATE TABLE IF NOT EXISTS `#__getbible_book` (
|
||||
`published` TINYINT(3) NOT NULL DEFAULT 1,
|
||||
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
|
||||
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
|
||||
`created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`modified` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`created` DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
`modified` DATETIME DEFAULT NULL,
|
||||
`checked_out` int(11) unsigned NOT NULL DEFAULT 0,
|
||||
`checked_out_time` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`checked_out_time` DATETIME DEFAULT NULL,
|
||||
`version` INT(10) unsigned NOT NULL DEFAULT 1,
|
||||
`hits` INT(10) unsigned NOT NULL DEFAULT 0,
|
||||
`access` INT(10) unsigned NOT NULL DEFAULT 0,
|
||||
@ -393,10 +396,10 @@ CREATE TABLE IF NOT EXISTS `#__getbible_chapter` (
|
||||
`published` TINYINT(3) NOT NULL DEFAULT 1,
|
||||
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
|
||||
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
|
||||
`created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`modified` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`created` DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
`modified` DATETIME DEFAULT NULL,
|
||||
`checked_out` int(11) unsigned NOT NULL DEFAULT 0,
|
||||
`checked_out_time` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`checked_out_time` DATETIME DEFAULT NULL,
|
||||
`version` INT(10) unsigned NOT NULL DEFAULT 1,
|
||||
`hits` INT(10) unsigned NOT NULL DEFAULT 0,
|
||||
`access` INT(10) unsigned NOT NULL DEFAULT 0,
|
||||
@ -426,10 +429,10 @@ CREATE TABLE IF NOT EXISTS `#__getbible_verse` (
|
||||
`published` TINYINT(3) NOT NULL DEFAULT 1,
|
||||
`created_by` INT(10) unsigned NOT NULL DEFAULT 0,
|
||||
`modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
|
||||
`created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`modified` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`created` DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
`modified` DATETIME DEFAULT NULL,
|
||||
`checked_out` int(11) unsigned NOT NULL DEFAULT 0,
|
||||
`checked_out_time` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`checked_out_time` DATETIME DEFAULT NULL,
|
||||
`version` INT(10) unsigned NOT NULL DEFAULT 1,
|
||||
`hits` INT(10) unsigned NOT NULL DEFAULT 0,
|
||||
`access` INT(10) unsigned NOT NULL DEFAULT 0,
|
||||
|
@ -54,27 +54,32 @@ class AjaxController extends BaseController
|
||||
$this->app->getDocument()->setMimeEncoding( 'application/json' );
|
||||
$this->app->setHeader('Content-Disposition','attachment;filename="getajax.json"');
|
||||
$this->app->setHeader('Access-Control-Allow-Origin', '*');
|
||||
// load the tasks
|
||||
// load the tasks
|
||||
$this->registerTask('isNew', 'ajax');
|
||||
$this->registerTask('isRead', 'ajax');
|
||||
$this->registerTask('getWiki', 'ajax');
|
||||
$this->registerTask('getVersion', 'ajax');
|
||||
}
|
||||
|
||||
/**
|
||||
* The ajax function
|
||||
*
|
||||
* @since 3.10
|
||||
*/
|
||||
public function ajax()
|
||||
{
|
||||
// get the user for later use
|
||||
$user = $this->app->getIdentity();
|
||||
// get the input values
|
||||
$jinput = $this->input ?? $this->app->input;
|
||||
$input = $this->input ?? $this->app->input;
|
||||
// check if we should return raw (DEFAULT TRUE SINCE J4)
|
||||
$returnRaw = $jinput->get('raw', true, 'BOOLEAN');
|
||||
$returnRaw = $input->get('raw', true, 'BOOLEAN');
|
||||
// return to a callback function
|
||||
$callback = $jinput->get('callback', null, 'CMD');
|
||||
$callback = $input->get('callback', null, 'CMD');
|
||||
// Check Token!
|
||||
$token = Session::getFormToken();
|
||||
$call_token = $jinput->get('token', 0, 'ALNUM');
|
||||
if($jinput->get($token, 0, 'ALNUM') || $token === $call_token)
|
||||
$call_token = $input->get('token', 0, 'ALNUM');
|
||||
if($input->get($token, 0, 'ALNUM') || $token === $call_token)
|
||||
{
|
||||
// get the task
|
||||
$task = $this->getTask();
|
||||
|
@ -61,30 +61,12 @@ class BookController extends FormController
|
||||
protected $task;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
* The URL view list variable.
|
||||
*
|
||||
* @param array $config An optional associative array of configuration settings.
|
||||
* Recognized key values include 'name', 'default_task',
|
||||
* 'model_path', and 'view_path' (this list is not meant to be
|
||||
* comprehensive).
|
||||
* @param MVCFactoryInterface|null $factory The factory.
|
||||
* @param CMSApplication|null $app The Application for the dispatcher
|
||||
* @param Input|null $input Input
|
||||
* @param FormFactoryInterface|null $formFactory The form factory.
|
||||
*
|
||||
* @since 3.0
|
||||
* @var string
|
||||
* @since 1.6
|
||||
*/
|
||||
public function __construct(
|
||||
$config = [],
|
||||
?MVCFactoryInterface $factory = null,
|
||||
?CMSApplication $app = null,
|
||||
?Input $input = null,
|
||||
?FormFactoryInterface $formFactory = null
|
||||
) {
|
||||
parent::__construct($config, $factory, $app, $input, $formFactory);
|
||||
|
||||
$this->view_list = 'Books'; // safeguard for setting the return view listing to the main view.
|
||||
}###ADMIN_CUSTOM_BUTTONS_CONTROLLER###
|
||||
protected $view_list = 'books';###ADMIN_CUSTOM_BUTTONS_CONTROLLER###
|
||||
|
||||
/**
|
||||
* Method override to check if you can add a new record.
|
||||
|
@ -61,30 +61,12 @@ class ChapterController extends FormController
|
||||
protected $task;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
* The URL view list variable.
|
||||
*
|
||||
* @param array $config An optional associative array of configuration settings.
|
||||
* Recognized key values include 'name', 'default_task',
|
||||
* 'model_path', and 'view_path' (this list is not meant to be
|
||||
* comprehensive).
|
||||
* @param MVCFactoryInterface|null $factory The factory.
|
||||
* @param CMSApplication|null $app The Application for the dispatcher
|
||||
* @param Input|null $input Input
|
||||
* @param FormFactoryInterface|null $formFactory The form factory.
|
||||
*
|
||||
* @since 3.0
|
||||
* @var string
|
||||
* @since 1.6
|
||||
*/
|
||||
public function __construct(
|
||||
$config = [],
|
||||
?MVCFactoryInterface $factory = null,
|
||||
?CMSApplication $app = null,
|
||||
?Input $input = null,
|
||||
?FormFactoryInterface $formFactory = null
|
||||
) {
|
||||
parent::__construct($config, $factory, $app, $input, $formFactory);
|
||||
|
||||
$this->view_list = 'Chapters'; // safeguard for setting the return view listing to the main view.
|
||||
}###ADMIN_CUSTOM_BUTTONS_CONTROLLER###
|
||||
protected $view_list = 'chapters';###ADMIN_CUSTOM_BUTTONS_CONTROLLER###
|
||||
|
||||
/**
|
||||
* Method override to check if you can add a new record.
|
||||
|
@ -61,30 +61,12 @@ class LinkerController extends FormController
|
||||
protected $task;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
* The URL view list variable.
|
||||
*
|
||||
* @param array $config An optional associative array of configuration settings.
|
||||
* Recognized key values include 'name', 'default_task',
|
||||
* 'model_path', and 'view_path' (this list is not meant to be
|
||||
* comprehensive).
|
||||
* @param MVCFactoryInterface|null $factory The factory.
|
||||
* @param CMSApplication|null $app The Application for the dispatcher
|
||||
* @param Input|null $input Input
|
||||
* @param FormFactoryInterface|null $formFactory The form factory.
|
||||
*
|
||||
* @since 3.0
|
||||
* @var string
|
||||
* @since 1.6
|
||||
*/
|
||||
public function __construct(
|
||||
$config = [],
|
||||
?MVCFactoryInterface $factory = null,
|
||||
?CMSApplication $app = null,
|
||||
?Input $input = null,
|
||||
?FormFactoryInterface $formFactory = null
|
||||
) {
|
||||
parent::__construct($config, $factory, $app, $input, $formFactory);
|
||||
|
||||
$this->view_list = 'Linkers'; // safeguard for setting the return view listing to the main view.
|
||||
}
|
||||
protected $view_list = 'linkers';
|
||||
|
||||
/**
|
||||
* Method override to check if you can add a new record.
|
||||
|
@ -61,30 +61,12 @@ class NoteController extends FormController
|
||||
protected $task;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
* The URL view list variable.
|
||||
*
|
||||
* @param array $config An optional associative array of configuration settings.
|
||||
* Recognized key values include 'name', 'default_task',
|
||||
* 'model_path', and 'view_path' (this list is not meant to be
|
||||
* comprehensive).
|
||||
* @param MVCFactoryInterface|null $factory The factory.
|
||||
* @param CMSApplication|null $app The Application for the dispatcher
|
||||
* @param Input|null $input Input
|
||||
* @param FormFactoryInterface|null $formFactory The form factory.
|
||||
*
|
||||
* @since 3.0
|
||||
* @var string
|
||||
* @since 1.6
|
||||
*/
|
||||
public function __construct(
|
||||
$config = [],
|
||||
?MVCFactoryInterface $factory = null,
|
||||
?CMSApplication $app = null,
|
||||
?Input $input = null,
|
||||
?FormFactoryInterface $formFactory = null
|
||||
) {
|
||||
parent::__construct($config, $factory, $app, $input, $formFactory);
|
||||
|
||||
$this->view_list = 'Notes'; // safeguard for setting the return view listing to the main view.
|
||||
}
|
||||
protected $view_list = 'notes';
|
||||
|
||||
/**
|
||||
* Method override to check if you can add a new record.
|
||||
|
@ -61,30 +61,12 @@ class Open_ai_messageController extends FormController
|
||||
protected $task;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
* The URL view list variable.
|
||||
*
|
||||
* @param array $config An optional associative array of configuration settings.
|
||||
* Recognized key values include 'name', 'default_task',
|
||||
* 'model_path', and 'view_path' (this list is not meant to be
|
||||
* comprehensive).
|
||||
* @param MVCFactoryInterface|null $factory The factory.
|
||||
* @param CMSApplication|null $app The Application for the dispatcher
|
||||
* @param Input|null $input Input
|
||||
* @param FormFactoryInterface|null $formFactory The form factory.
|
||||
*
|
||||
* @since 3.0
|
||||
* @var string
|
||||
* @since 1.6
|
||||
*/
|
||||
public function __construct(
|
||||
$config = [],
|
||||
?MVCFactoryInterface $factory = null,
|
||||
?CMSApplication $app = null,
|
||||
?Input $input = null,
|
||||
?FormFactoryInterface $formFactory = null
|
||||
) {
|
||||
parent::__construct($config, $factory, $app, $input, $formFactory);
|
||||
|
||||
$this->view_list = 'Open_ai_messages'; // safeguard for setting the return view listing to the main view.
|
||||
}
|
||||
protected $view_list = 'open_ai_messages';
|
||||
|
||||
/**
|
||||
* Method override to check if you can add a new record.
|
||||
|
@ -61,30 +61,12 @@ class Open_ai_responseController extends FormController
|
||||
protected $task;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
* The URL view list variable.
|
||||
*
|
||||
* @param array $config An optional associative array of configuration settings.
|
||||
* Recognized key values include 'name', 'default_task',
|
||||
* 'model_path', and 'view_path' (this list is not meant to be
|
||||
* comprehensive).
|
||||
* @param MVCFactoryInterface|null $factory The factory.
|
||||
* @param CMSApplication|null $app The Application for the dispatcher
|
||||
* @param Input|null $input Input
|
||||
* @param FormFactoryInterface|null $formFactory The form factory.
|
||||
*
|
||||
* @since 3.0
|
||||
* @var string
|
||||
* @since 1.6
|
||||
*/
|
||||
public function __construct(
|
||||
$config = [],
|
||||
?MVCFactoryInterface $factory = null,
|
||||
?CMSApplication $app = null,
|
||||
?Input $input = null,
|
||||
?FormFactoryInterface $formFactory = null
|
||||
) {
|
||||
parent::__construct($config, $factory, $app, $input, $formFactory);
|
||||
|
||||
$this->view_list = 'Open_ai_responses'; // safeguard for setting the return view listing to the main view.
|
||||
}
|
||||
protected $view_list = 'open_ai_responses';
|
||||
|
||||
/**
|
||||
* Method override to check if you can add a new record.
|
||||
|
@ -61,30 +61,12 @@ class PasswordController extends FormController
|
||||
protected $task;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
* The URL view list variable.
|
||||
*
|
||||
* @param array $config An optional associative array of configuration settings.
|
||||
* Recognized key values include 'name', 'default_task',
|
||||
* 'model_path', and 'view_path' (this list is not meant to be
|
||||
* comprehensive).
|
||||
* @param MVCFactoryInterface|null $factory The factory.
|
||||
* @param CMSApplication|null $app The Application for the dispatcher
|
||||
* @param Input|null $input Input
|
||||
* @param FormFactoryInterface|null $formFactory The form factory.
|
||||
*
|
||||
* @since 3.0
|
||||
* @var string
|
||||
* @since 1.6
|
||||
*/
|
||||
public function __construct(
|
||||
$config = [],
|
||||
?MVCFactoryInterface $factory = null,
|
||||
?CMSApplication $app = null,
|
||||
?Input $input = null,
|
||||
?FormFactoryInterface $formFactory = null
|
||||
) {
|
||||
parent::__construct($config, $factory, $app, $input, $formFactory);
|
||||
|
||||
$this->view_list = 'Passwords'; // safeguard for setting the return view listing to the main view.
|
||||
}
|
||||
protected $view_list = 'passwords';
|
||||
|
||||
/**
|
||||
* Method override to check if you can add a new record.
|
||||
|
@ -61,30 +61,12 @@ class PromptController extends FormController
|
||||
protected $task;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
* The URL view list variable.
|
||||
*
|
||||
* @param array $config An optional associative array of configuration settings.
|
||||
* Recognized key values include 'name', 'default_task',
|
||||
* 'model_path', and 'view_path' (this list is not meant to be
|
||||
* comprehensive).
|
||||
* @param MVCFactoryInterface|null $factory The factory.
|
||||
* @param CMSApplication|null $app The Application for the dispatcher
|
||||
* @param Input|null $input Input
|
||||
* @param FormFactoryInterface|null $formFactory The form factory.
|
||||
*
|
||||
* @since 3.0
|
||||
* @var string
|
||||
* @since 1.6
|
||||
*/
|
||||
public function __construct(
|
||||
$config = [],
|
||||
?MVCFactoryInterface $factory = null,
|
||||
?CMSApplication $app = null,
|
||||
?Input $input = null,
|
||||
?FormFactoryInterface $formFactory = null
|
||||
) {
|
||||
parent::__construct($config, $factory, $app, $input, $formFactory);
|
||||
|
||||
$this->view_list = 'Prompts'; // safeguard for setting the return view listing to the main view.
|
||||
}
|
||||
protected $view_list = 'prompts';
|
||||
|
||||
/**
|
||||
* Method override to check if you can add a new record.
|
||||
|
@ -61,30 +61,12 @@ class TagController extends FormController
|
||||
protected $task;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
* The URL view list variable.
|
||||
*
|
||||
* @param array $config An optional associative array of configuration settings.
|
||||
* Recognized key values include 'name', 'default_task',
|
||||
* 'model_path', and 'view_path' (this list is not meant to be
|
||||
* comprehensive).
|
||||
* @param MVCFactoryInterface|null $factory The factory.
|
||||
* @param CMSApplication|null $app The Application for the dispatcher
|
||||
* @param Input|null $input Input
|
||||
* @param FormFactoryInterface|null $formFactory The form factory.
|
||||
*
|
||||
* @since 3.0
|
||||
* @var string
|
||||
* @since 1.6
|
||||
*/
|
||||
public function __construct(
|
||||
$config = [],
|
||||
?MVCFactoryInterface $factory = null,
|
||||
?CMSApplication $app = null,
|
||||
?Input $input = null,
|
||||
?FormFactoryInterface $formFactory = null
|
||||
) {
|
||||
parent::__construct($config, $factory, $app, $input, $formFactory);
|
||||
|
||||
$this->view_list = 'Tags'; // safeguard for setting the return view listing to the main view.
|
||||
}
|
||||
protected $view_list = 'tags';
|
||||
|
||||
/**
|
||||
* Method override to check if you can add a new record.
|
||||
|
@ -61,30 +61,12 @@ class Tagged_verseController extends FormController
|
||||
protected $task;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
* The URL view list variable.
|
||||
*
|
||||
* @param array $config An optional associative array of configuration settings.
|
||||
* Recognized key values include 'name', 'default_task',
|
||||
* 'model_path', and 'view_path' (this list is not meant to be
|
||||
* comprehensive).
|
||||
* @param MVCFactoryInterface|null $factory The factory.
|
||||
* @param CMSApplication|null $app The Application for the dispatcher
|
||||
* @param Input|null $input Input
|
||||
* @param FormFactoryInterface|null $formFactory The form factory.
|
||||
*
|
||||
* @since 3.0
|
||||
* @var string
|
||||
* @since 1.6
|
||||
*/
|
||||
public function __construct(
|
||||
$config = [],
|
||||
?MVCFactoryInterface $factory = null,
|
||||
?CMSApplication $app = null,
|
||||
?Input $input = null,
|
||||
?FormFactoryInterface $formFactory = null
|
||||
) {
|
||||
parent::__construct($config, $factory, $app, $input, $formFactory);
|
||||
|
||||
$this->view_list = 'Tagged_verses'; // safeguard for setting the return view listing to the main view.
|
||||
}
|
||||
protected $view_list = 'tagged_verses';
|
||||
|
||||
/**
|
||||
* Method override to check if you can add a new record.
|
||||
|
@ -61,30 +61,12 @@ class TranslationController extends FormController
|
||||
protected $task;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
* The URL view list variable.
|
||||
*
|
||||
* @param array $config An optional associative array of configuration settings.
|
||||
* Recognized key values include 'name', 'default_task',
|
||||
* 'model_path', and 'view_path' (this list is not meant to be
|
||||
* comprehensive).
|
||||
* @param MVCFactoryInterface|null $factory The factory.
|
||||
* @param CMSApplication|null $app The Application for the dispatcher
|
||||
* @param Input|null $input Input
|
||||
* @param FormFactoryInterface|null $formFactory The form factory.
|
||||
*
|
||||
* @since 3.0
|
||||
* @var string
|
||||
* @since 1.6
|
||||
*/
|
||||
public function __construct(
|
||||
$config = [],
|
||||
?MVCFactoryInterface $factory = null,
|
||||
?CMSApplication $app = null,
|
||||
?Input $input = null,
|
||||
?FormFactoryInterface $formFactory = null
|
||||
) {
|
||||
parent::__construct($config, $factory, $app, $input, $formFactory);
|
||||
|
||||
$this->view_list = 'Translations'; // safeguard for setting the return view listing to the main view.
|
||||
}###ADMIN_CUSTOM_BUTTONS_CONTROLLER###
|
||||
protected $view_list = 'translations';###ADMIN_CUSTOM_BUTTONS_CONTROLLER###
|
||||
|
||||
/**
|
||||
* Method override to check if you can add a new record.
|
||||
|
@ -61,30 +61,12 @@ class VerseController extends FormController
|
||||
protected $task;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
* The URL view list variable.
|
||||
*
|
||||
* @param array $config An optional associative array of configuration settings.
|
||||
* Recognized key values include 'name', 'default_task',
|
||||
* 'model_path', and 'view_path' (this list is not meant to be
|
||||
* comprehensive).
|
||||
* @param MVCFactoryInterface|null $factory The factory.
|
||||
* @param CMSApplication|null $app The Application for the dispatcher
|
||||
* @param Input|null $input Input
|
||||
* @param FormFactoryInterface|null $formFactory The form factory.
|
||||
*
|
||||
* @since 3.0
|
||||
* @var string
|
||||
* @since 1.6
|
||||
*/
|
||||
public function __construct(
|
||||
$config = [],
|
||||
?MVCFactoryInterface $factory = null,
|
||||
?CMSApplication $app = null,
|
||||
?Input $input = null,
|
||||
?FormFactoryInterface $formFactory = null
|
||||
) {
|
||||
parent::__construct($config, $factory, $app, $input, $formFactory);
|
||||
|
||||
$this->view_list = 'Verses'; // safeguard for setting the return view listing to the main view.
|
||||
}###ADMIN_CUSTOM_BUTTONS_CONTROLLER###
|
||||
protected $view_list = 'verses';###ADMIN_CUSTOM_BUTTONS_CONTROLLER###
|
||||
|
||||
/**
|
||||
* Method override to check if you can add a new record.
|
||||
|
@ -23,6 +23,7 @@ use Joomla\CMS\Component\ComponentHelper;
|
||||
use Joomla\CMS\MVC\Model\ListModel;
|
||||
use Joomla\CMS\MVC\Factory\MVCFactoryInterface;
|
||||
use Joomla\CMS\Plugin\PluginHelper;
|
||||
use Joomla\CMS\Router\Route;
|
||||
use Joomla\CMS\User\User;
|
||||
use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\Input\Input;
|
||||
|
@ -23,6 +23,7 @@ use Joomla\CMS\Component\ComponentHelper;
|
||||
use Joomla\CMS\MVC\Model\ListModel;
|
||||
use Joomla\CMS\MVC\Factory\MVCFactoryInterface;
|
||||
use Joomla\CMS\Plugin\PluginHelper;
|
||||
use Joomla\CMS\Router\Route;
|
||||
use Joomla\CMS\User\User;
|
||||
use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\Input\Input;
|
||||
|
@ -26,6 +26,7 @@ use Joomla\CMS\Component\ComponentHelper;
|
||||
use Joomla\CMS\MVC\Model\ListModel;
|
||||
use Joomla\CMS\MVC\Factory\MVCFactoryInterface;
|
||||
use Joomla\CMS\Plugin\PluginHelper;
|
||||
use Joomla\CMS\Router\Route;
|
||||
use Joomla\CMS\User\User;
|
||||
use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\Input\Input;
|
||||
|
@ -23,6 +23,7 @@ use Joomla\CMS\Component\ComponentHelper;
|
||||
use Joomla\CMS\MVC\Model\ListModel;
|
||||
use Joomla\CMS\MVC\Factory\MVCFactoryInterface;
|
||||
use Joomla\CMS\Plugin\PluginHelper;
|
||||
use Joomla\CMS\Router\Route;
|
||||
use Joomla\CMS\User\User;
|
||||
use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\Input\Input;
|
||||
|
@ -23,6 +23,7 @@ use Joomla\CMS\Component\ComponentHelper;
|
||||
use Joomla\CMS\MVC\Model\ListModel;
|
||||
use Joomla\CMS\MVC\Factory\MVCFactoryInterface;
|
||||
use Joomla\CMS\Plugin\PluginHelper;
|
||||
use Joomla\CMS\Router\Route;
|
||||
use Joomla\CMS\User\User;
|
||||
use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\Input\Input;
|
||||
|
@ -23,6 +23,7 @@ use Joomla\CMS\Component\ComponentHelper;
|
||||
use Joomla\CMS\MVC\Model\ListModel;
|
||||
use Joomla\CMS\MVC\Factory\MVCFactoryInterface;
|
||||
use Joomla\CMS\Plugin\PluginHelper;
|
||||
use Joomla\CMS\Router\Route;
|
||||
use Joomla\CMS\User\User;
|
||||
use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\Input\Input;
|
||||
|
@ -23,6 +23,7 @@ use Joomla\CMS\Component\ComponentHelper;
|
||||
use Joomla\CMS\MVC\Model\ListModel;
|
||||
use Joomla\CMS\MVC\Factory\MVCFactoryInterface;
|
||||
use Joomla\CMS\Plugin\PluginHelper;
|
||||
use Joomla\CMS\Router\Route;
|
||||
use Joomla\CMS\User\User;
|
||||
use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\Input\Input;
|
||||
|
@ -23,6 +23,7 @@ use Joomla\CMS\Component\ComponentHelper;
|
||||
use Joomla\CMS\MVC\Model\ListModel;
|
||||
use Joomla\CMS\MVC\Factory\MVCFactoryInterface;
|
||||
use Joomla\CMS\Plugin\PluginHelper;
|
||||
use Joomla\CMS\Router\Route;
|
||||
use Joomla\CMS\User\User;
|
||||
use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\Input\Input;
|
||||
|
@ -23,6 +23,7 @@ use Joomla\CMS\Component\ComponentHelper;
|
||||
use Joomla\CMS\MVC\Model\ListModel;
|
||||
use Joomla\CMS\MVC\Factory\MVCFactoryInterface;
|
||||
use Joomla\CMS\Plugin\PluginHelper;
|
||||
use Joomla\CMS\Router\Route;
|
||||
use Joomla\CMS\User\User;
|
||||
use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\Input\Input;
|
||||
|
@ -23,6 +23,7 @@ use Joomla\CMS\Component\ComponentHelper;
|
||||
use Joomla\CMS\MVC\Model\ListModel;
|
||||
use Joomla\CMS\MVC\Factory\MVCFactoryInterface;
|
||||
use Joomla\CMS\Plugin\PluginHelper;
|
||||
use Joomla\CMS\Router\Route;
|
||||
use Joomla\CMS\User\User;
|
||||
use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\Input\Input;
|
||||
|
@ -23,6 +23,7 @@ use Joomla\CMS\Component\ComponentHelper;
|
||||
use Joomla\CMS\MVC\Model\ListModel;
|
||||
use Joomla\CMS\MVC\Factory\MVCFactoryInterface;
|
||||
use Joomla\CMS\Plugin\PluginHelper;
|
||||
use Joomla\CMS\Router\Route;
|
||||
use Joomla\CMS\User\User;
|
||||
use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\Input\Input;
|
||||
|
@ -23,6 +23,7 @@ use Joomla\CMS\Component\ComponentHelper;
|
||||
use Joomla\CMS\MVC\Model\ListModel;
|
||||
use Joomla\CMS\MVC\Factory\MVCFactoryInterface;
|
||||
use Joomla\CMS\Plugin\PluginHelper;
|
||||
use Joomla\CMS\Router\Route;
|
||||
use Joomla\CMS\User\User;
|
||||
use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\Input\Input;
|
||||
|
@ -23,6 +23,7 @@ use Joomla\CMS\Component\ComponentHelper;
|
||||
use Joomla\CMS\MVC\Model\ListModel;
|
||||
use Joomla\CMS\MVC\Factory\MVCFactoryInterface;
|
||||
use Joomla\CMS\Plugin\PluginHelper;
|
||||
use Joomla\CMS\Router\Route;
|
||||
use Joomla\CMS\User\User;
|
||||
use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\Input\Input;
|
||||
|
@ -52,7 +52,7 @@ defined('_JEXEC') or die;
|
||||
<?php echo LayoutHelper::render('book.details_above', $this); ?>
|
||||
<div class="main-card">
|
||||
|
||||
<?php echo Html::_('uitab.startTabSet', 'bookTab', array('active' => 'details')); ?>
|
||||
<?php echo Html::_('uitab.startTabSet', 'bookTab', ['active' => 'details', 'recall' => true]); ?>
|
||||
|
||||
<?php echo Html::_('uitab.addTab', 'bookTab', 'details', Text::_('COM_GETBIBLE_BOOK_DETAILS', true)); ?>
|
||||
<div class="row">
|
||||
|
@ -52,7 +52,7 @@ defined('_JEXEC') or die;
|
||||
<?php echo LayoutHelper::render('chapter.details_above', $this); ?>
|
||||
<div class="main-card">
|
||||
|
||||
<?php echo Html::_('uitab.startTabSet', 'chapterTab', array('active' => 'details')); ?>
|
||||
<?php echo Html::_('uitab.startTabSet', 'chapterTab', ['active' => 'details', 'recall' => true]); ?>
|
||||
|
||||
<?php echo Html::_('uitab.addTab', 'chapterTab', 'details', Text::_('COM_GETBIBLE_CHAPTER_DETAILS', true)); ?>
|
||||
<div class="row">
|
||||
|
@ -52,7 +52,7 @@ defined('_JEXEC') or die;
|
||||
<?php echo LayoutHelper::render('linker.details_above', $this); ?>
|
||||
<div class="main-card">
|
||||
|
||||
<?php echo Html::_('uitab.startTabSet', 'linkerTab', array('active' => 'details')); ?>
|
||||
<?php echo Html::_('uitab.startTabSet', 'linkerTab', ['active' => 'details', 'recall' => true]); ?>
|
||||
|
||||
<?php echo Html::_('uitab.addTab', 'linkerTab', 'details', Text::_('COM_GETBIBLE_LINKER_DETAILS', true)); ?>
|
||||
<div class="row">
|
||||
|
@ -52,7 +52,7 @@ defined('_JEXEC') or die;
|
||||
<?php echo LayoutHelper::render('note.details_above', $this); ?>
|
||||
<div class="main-card">
|
||||
|
||||
<?php echo Html::_('uitab.startTabSet', 'noteTab', array('active' => 'details')); ?>
|
||||
<?php echo Html::_('uitab.startTabSet', 'noteTab', ['active' => 'details', 'recall' => true]); ?>
|
||||
|
||||
<?php echo Html::_('uitab.addTab', 'noteTab', 'details', Text::_('COM_GETBIBLE_NOTE_DETAILS', true)); ?>
|
||||
<div class="row">
|
||||
|
@ -52,7 +52,7 @@ defined('_JEXEC') or die;
|
||||
<?php echo LayoutHelper::render('open_ai_message.message_above', $this); ?>
|
||||
<div class="main-card">
|
||||
|
||||
<?php echo Html::_('uitab.startTabSet', 'open_ai_messageTab', array('active' => 'message')); ?>
|
||||
<?php echo Html::_('uitab.startTabSet', 'open_ai_messageTab', ['active' => 'message', 'recall' => true]); ?>
|
||||
|
||||
<?php echo Html::_('uitab.addTab', 'open_ai_messageTab', 'message', Text::_('COM_GETBIBLE_OPEN_AI_MESSAGE_MESSAGE', true)); ?>
|
||||
<div class="row">
|
||||
|
@ -52,7 +52,7 @@ defined('_JEXEC') or die;
|
||||
<?php echo LayoutHelper::render('open_ai_response.details_above', $this); ?>
|
||||
<div class="main-card">
|
||||
|
||||
<?php echo Html::_('uitab.startTabSet', 'open_ai_responseTab', array('active' => 'details')); ?>
|
||||
<?php echo Html::_('uitab.startTabSet', 'open_ai_responseTab', ['active' => 'details', 'recall' => true]); ?>
|
||||
|
||||
<?php echo Html::_('uitab.addTab', 'open_ai_responseTab', 'details', Text::_('COM_GETBIBLE_OPEN_AI_RESPONSE_DETAILS', true)); ?>
|
||||
<div class="row">
|
||||
|
@ -52,7 +52,7 @@ defined('_JEXEC') or die;
|
||||
<?php echo LayoutHelper::render('password.details_above', $this); ?>
|
||||
<div class="main-card">
|
||||
|
||||
<?php echo Html::_('uitab.startTabSet', 'passwordTab', array('active' => 'details')); ?>
|
||||
<?php echo Html::_('uitab.startTabSet', 'passwordTab', ['active' => 'details', 'recall' => true]); ?>
|
||||
|
||||
<?php echo Html::_('uitab.addTab', 'passwordTab', 'details', Text::_('COM_GETBIBLE_PASSWORD_DETAILS', true)); ?>
|
||||
<div class="row">
|
||||
|
@ -52,7 +52,7 @@ defined('_JEXEC') or die;
|
||||
<?php echo LayoutHelper::render('prompt.prompt_above', $this); ?>
|
||||
<div class="main-card">
|
||||
|
||||
<?php echo Html::_('uitab.startTabSet', 'promptTab', array('active' => 'prompt')); ?>
|
||||
<?php echo Html::_('uitab.startTabSet', 'promptTab', ['active' => 'prompt', 'recall' => true]); ?>
|
||||
|
||||
<?php echo Html::_('uitab.addTab', 'promptTab', 'prompt', Text::_('COM_GETBIBLE_PROMPT_PROMPT', true)); ?>
|
||||
<div class="row">
|
||||
|
@ -52,7 +52,7 @@ defined('_JEXEC') or die;
|
||||
<?php echo LayoutHelper::render('tag.details_above', $this); ?>
|
||||
<div class="main-card">
|
||||
|
||||
<?php echo Html::_('uitab.startTabSet', 'tagTab', array('active' => 'details')); ?>
|
||||
<?php echo Html::_('uitab.startTabSet', 'tagTab', ['active' => 'details', 'recall' => true]); ?>
|
||||
|
||||
<?php echo Html::_('uitab.addTab', 'tagTab', 'details', Text::_('COM_GETBIBLE_TAG_DETAILS', true)); ?>
|
||||
<div class="row">
|
||||
|
@ -52,7 +52,7 @@ defined('_JEXEC') or die;
|
||||
<?php echo LayoutHelper::render('tagged_verse.details_above', $this); ?>
|
||||
<div class="main-card">
|
||||
|
||||
<?php echo Html::_('uitab.startTabSet', 'tagged_verseTab', array('active' => 'details')); ?>
|
||||
<?php echo Html::_('uitab.startTabSet', 'tagged_verseTab', ['active' => 'details', 'recall' => true]); ?>
|
||||
|
||||
<?php echo Html::_('uitab.addTab', 'tagged_verseTab', 'details', Text::_('COM_GETBIBLE_TAGGED_VERSE_DETAILS', true)); ?>
|
||||
<div class="row">
|
||||
|
@ -52,7 +52,7 @@ defined('_JEXEC') or die;
|
||||
<?php echo LayoutHelper::render('translation.details_above', $this); ?>
|
||||
<div class="main-card">
|
||||
|
||||
<?php echo Html::_('uitab.startTabSet', 'translationTab', array('active' => 'details')); ?>
|
||||
<?php echo Html::_('uitab.startTabSet', 'translationTab', ['active' => 'details', 'recall' => true]); ?>
|
||||
|
||||
<?php echo Html::_('uitab.addTab', 'translationTab', 'details', Text::_('COM_GETBIBLE_TRANSLATION_DETAILS', true)); ?>
|
||||
<div class="row">
|
||||
|
@ -52,7 +52,7 @@ defined('_JEXEC') or die;
|
||||
<?php echo LayoutHelper::render('verse.details_above', $this); ?>
|
||||
<div class="main-card">
|
||||
|
||||
<?php echo Html::_('uitab.startTabSet', 'verseTab', array('active' => 'details')); ?>
|
||||
<?php echo Html::_('uitab.startTabSet', 'verseTab', ['active' => 'details', 'recall' => true]); ?>
|
||||
|
||||
<?php echo Html::_('uitab.addTab', 'verseTab', 'details', Text::_('COM_GETBIBLE_VERSE_DETAILS', true)); ?>
|
||||
<div class="row">
|
||||
|
@ -1,15 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<extension type="component" version="4.0" method="upgrade">
|
||||
<name>COM_GETBIBLE</name>
|
||||
<creationDate>10th February, 2024</creationDate>
|
||||
<creationDate>18th February, 2024</creationDate>
|
||||
<author>Llewellyn van der Merwe</author>
|
||||
<authorEmail>joomla@vdm.io</authorEmail>
|
||||
<authorUrl>https://getbible.net</authorUrl>
|
||||
<copyright>Copyright (C) 2015. All Rights Reserved</copyright>
|
||||
<license>GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html</license>
|
||||
<version>5.0.4</version>
|
||||
<version>5.0.5</version>
|
||||
<description><![CDATA[
|
||||
<h1>Get Bible (v.5.0.4)</h1>
|
||||
<h1>Get Bible (v.5.0.5)</h1>
|
||||
<div style="clear: both;"></div>
|
||||
<p>Welcome to the next level of scripture engagement - The Bible for Joomla! Our purpose is to bring the Word of God to every person, in their native language, entirely free. This isn't just a typical extension; it's a groundbreaking tool developed to span language divides and deliver a rich, customizable Bible study experience to users worldwide.
|
||||
|
||||
|
@ -30,6 +30,7 @@ use Joomla\Input\Input;
|
||||
use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use TrueChristianChurch\Component\Getbible\Site\Helper\GetbibleHelper;
|
||||
use TrueChristianChurch\Component\Getbible\Site\Helper\RouteHelper;
|
||||
use VDM\Joomla\GetBible\Factory as GetBibleFactory;
|
||||
use VDM\Joomla\Utilities\Component\Helper;
|
||||
use VDM\Joomla\Utilities\StringHelper;
|
||||
|
@ -30,6 +30,7 @@ use Joomla\Input\Input;
|
||||
use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use TrueChristianChurch\Component\Getbible\Site\Helper\GetbibleHelper;
|
||||
use TrueChristianChurch\Component\Getbible\Site\Helper\RouteHelper;
|
||||
use VDM\Joomla\Utilities\Component\Helper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
use VDM\Joomla\GetBible\Openai;
|
||||
|
@ -23,11 +23,13 @@ use Joomla\CMS\Component\ComponentHelper;
|
||||
use Joomla\CMS\MVC\Model\ListModel;
|
||||
use Joomla\CMS\MVC\Factory\MVCFactoryInterface;
|
||||
use Joomla\CMS\Plugin\PluginHelper;
|
||||
use Joomla\CMS\Router\Route;
|
||||
use Joomla\CMS\User\User;
|
||||
use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\Input\Input;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use TrueChristianChurch\Component\Getbible\Site\Helper\GetbibleHelper;
|
||||
use TrueChristianChurch\Component\Getbible\Site\Helper\RouteHelper;
|
||||
use VDM\Joomla\Utilities\Component\Helper;
|
||||
use VDM\Joomla\Utilities\ArrayHelper as UtilitiesArrayHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper;
|
||||
@ -448,6 +450,14 @@ class SearchModel extends ListModel
|
||||
$conditions = [];
|
||||
$case = $this->case == 2 ? 'BINARY' : ' ';
|
||||
|
||||
// Determine the database type and version
|
||||
$db_type = $this->getDatabaseType($db); // Implement this method based on your environment
|
||||
$use_modern_regex = $db_type === 'mysql' && $this->isModernMySQL($db); // Implement isModernMySQL to detect MySQL 8+
|
||||
|
||||
// Adjust REGEXP syntax based on the database type and version
|
||||
$word_boundary_start = $use_modern_regex ? '\\b' : '[[:<:]]';
|
||||
$word_boundary_end = $use_modern_regex ? '\\b' : '[[:>:]]';
|
||||
|
||||
// 2 = ANY WORDS
|
||||
if($this->words == 2)
|
||||
{
|
||||
@ -487,11 +497,12 @@ class SearchModel extends ListModel
|
||||
{
|
||||
if ($i == 0)
|
||||
{
|
||||
$condition .= $db->quote('[[:<:]]' . $db->escape($word, true). '[[:>:]]');
|
||||
$condition .= $db->quote($word_boundary_start . $db->escape($word, true). $word_boundary_end);
|
||||
}
|
||||
else
|
||||
{
|
||||
$condition .= ' OR ' . $case . ' a.text REGEXP '. $db->quote('[[:<:]]' . $db->escape($word, true) . '[[:>:]]');
|
||||
$condition .= ' OR ' . $case . ' a.text REGEXP '.
|
||||
$db->quote($word_boundary_start . $db->escape($word, true) . $word_boundary_end);
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
@ -521,7 +532,8 @@ class SearchModel extends ListModel
|
||||
{
|
||||
// 1 = exact match
|
||||
// For exact phrase, escape and quote the entire phrase and use REGEXP to match it exactly
|
||||
$search = $case . ' a.text REGEXP ' . $db->quote('[[:<:]]' . $db->escape($this->search, true) . '[[:>:]]');
|
||||
$search = $case . ' a.text REGEXP ' .
|
||||
$db->quote($word_boundary_start . $db->escape($this->search, true) . $word_boundary_end);
|
||||
$conditions[] = '(' . $search . ')';
|
||||
}
|
||||
}
|
||||
@ -549,7 +561,8 @@ class SearchModel extends ListModel
|
||||
{
|
||||
if ($this->hasLength($word))
|
||||
{
|
||||
$search = $case . ' a.text REGEXP '. $db->quote('[[:<:]]' . $db->escape($word, true) . '[[:>:]]');
|
||||
$search = $case . ' a.text REGEXP '.
|
||||
$db->quote($word_boundary_start . $db->escape($word, true) . $word_boundary_end);
|
||||
$conditions[] = '( ' . $search . ')';
|
||||
}
|
||||
}
|
||||
@ -713,5 +726,51 @@ class SearchModel extends ListModel
|
||||
protected function hasLength(string $word): bool
|
||||
{
|
||||
return GetBibleFactory::_('GetBible.Utilities.String')->hasLength($word);
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines whether the database is MySQL or MariaDB.
|
||||
*
|
||||
* This function executes a query to fetch the version comment from the database.
|
||||
* MariaDB includes its name in the version comment, allowing us to distinguish between MySQL and MariaDB.
|
||||
*
|
||||
* @param \JDatabaseDriver $db The database driver object from Joomla.
|
||||
*
|
||||
* @return string Returns 'mysql' for MySQL, 'mariadb' for MariaDB, or 'unknown' for other or undetectable types.
|
||||
*/
|
||||
protected function getDatabaseType($db): string
|
||||
{
|
||||
try {
|
||||
// Attempt to get the version comment from the database
|
||||
$versionComment = $db->setQuery("SELECT VERSION()")->loadResult();
|
||||
if (strpos(strtolower($versionComment), 'mariadb') !== false) {
|
||||
return 'mariadb';
|
||||
} else {
|
||||
return 'mysql'; // Assuming MySQL if MariaDB is not detected
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
// Handle exceptions or fallback for other databases
|
||||
return 'unknown';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the MySQL version is 8.0 or higher.
|
||||
*
|
||||
* This function queries the database version directly and compares it against 8.0
|
||||
* to determine if modern MySQL features, such as enhanced regular expression syntax, can be used.
|
||||
* It's specifically designed for MySQL and does not apply to MariaDB or other databases.
|
||||
*
|
||||
* @param \JDatabaseDriver $db The database driver object.
|
||||
*
|
||||
* @return bool Returns true if the MySQL version is 8.0 or higher, false otherwise.
|
||||
*/
|
||||
protected function isModernMySQL($db): bool
|
||||
{
|
||||
// Query the database for its version
|
||||
$version = $db->getVersion();
|
||||
|
||||
// Compare the version to determine if it's modern MySQL
|
||||
return version_compare($version, '8.0', '>=');
|
||||
}
|
||||
}
|
||||
|
@ -23,11 +23,13 @@ use Joomla\CMS\Component\ComponentHelper;
|
||||
use Joomla\CMS\MVC\Model\ListModel;
|
||||
use Joomla\CMS\MVC\Factory\MVCFactoryInterface;
|
||||
use Joomla\CMS\Plugin\PluginHelper;
|
||||
use Joomla\CMS\Router\Route;
|
||||
use Joomla\CMS\User\User;
|
||||
use Joomla\Utilities\ArrayHelper;
|
||||
use Joomla\Input\Input;
|
||||
use Joomla\CMS\Helper\TagsHelper;
|
||||
use TrueChristianChurch\Component\Getbible\Site\Helper\GetbibleHelper;
|
||||
use TrueChristianChurch\Component\Getbible\Site\Helper\RouteHelper;
|
||||
use VDM\Joomla\Utilities\StringHelper;
|
||||
use VDM\Joomla\Utilities\Component\Helper;
|
||||
use VDM\Joomla\Utilities\GuidHelper;
|
||||
|
@ -28,6 +28,7 @@ use Joomla\CMS\Toolbar\ToolbarHelper;
|
||||
use Joomla\CMS\Document\Document;
|
||||
use TrueChristianChurch\Component\Getbible\Site\Helper\HeaderCheck;
|
||||
use TrueChristianChurch\Component\Getbible\Site\Helper\GetbibleHelper;
|
||||
use TrueChristianChurch\Component\Getbible\Site\Helper\RouteHelper;
|
||||
use Joomla\CMS\Session\Session;
|
||||
use Joomla\CMS\Router\Route;
|
||||
use Joomla\CMS\Uri\Uri;
|
||||
|
@ -28,6 +28,7 @@ use Joomla\CMS\Toolbar\ToolbarHelper;
|
||||
use Joomla\CMS\Document\Document;
|
||||
use TrueChristianChurch\Component\Getbible\Site\Helper\HeaderCheck;
|
||||
use TrueChristianChurch\Component\Getbible\Site\Helper\GetbibleHelper;
|
||||
use TrueChristianChurch\Component\Getbible\Site\Helper\RouteHelper;
|
||||
use Joomla\CMS\Session\Session;
|
||||
use Joomla\CMS\Router\Route;
|
||||
use Joomla\CMS\Uri\Uri;
|
||||
|
@ -28,6 +28,7 @@ use Joomla\CMS\Toolbar\ToolbarHelper;
|
||||
use Joomla\CMS\Document\Document;
|
||||
use TrueChristianChurch\Component\Getbible\Site\Helper\HeaderCheck;
|
||||
use TrueChristianChurch\Component\Getbible\Site\Helper\GetbibleHelper;
|
||||
use TrueChristianChurch\Component\Getbible\Site\Helper\RouteHelper;
|
||||
use Joomla\CMS\Session\Session;
|
||||
use Joomla\CMS\Router\Router;
|
||||
use Joomla\CMS\Router\Route;
|
||||
|
@ -28,6 +28,7 @@ use Joomla\CMS\Toolbar\ToolbarHelper;
|
||||
use Joomla\CMS\Document\Document;
|
||||
use TrueChristianChurch\Component\Getbible\Site\Helper\HeaderCheck;
|
||||
use TrueChristianChurch\Component\Getbible\Site\Helper\GetbibleHelper;
|
||||
use TrueChristianChurch\Component\Getbible\Site\Helper\RouteHelper;
|
||||
use Joomla\CMS\Session\Session;
|
||||
use Joomla\CMS\Router\Router;
|
||||
use Joomla\CMS\Router\Route;
|
||||
|
@ -18,6 +18,7 @@
|
||||
use Joomla\CMS\Factory;
|
||||
use Joomla\CMS\Language\Text;
|
||||
use Joomla\CMS\Router\Route;
|
||||
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||
use TrueChristianChurch\Component\Getbible\Site\Helper\GetbibleHelper;
|
||||
|
||||
// No direct access to this file
|
||||
|
@ -18,6 +18,7 @@
|
||||
use Joomla\CMS\Factory;
|
||||
use Joomla\CMS\Language\Text;
|
||||
use Joomla\CMS\Router\Route;
|
||||
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||
use TrueChristianChurch\Component\Getbible\Site\Helper\GetbibleHelper;
|
||||
|
||||
// No direct access to this file
|
||||
|
@ -18,6 +18,7 @@
|
||||
use Joomla\CMS\Factory;
|
||||
use Joomla\CMS\Language\Text;
|
||||
use Joomla\CMS\Router\Route;
|
||||
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||
use TrueChristianChurch\Component\Getbible\Site\Helper\GetbibleHelper;
|
||||
|
||||
// No direct access to this file
|
||||
|
@ -18,6 +18,7 @@
|
||||
use Joomla\CMS\Factory;
|
||||
use Joomla\CMS\Language\Text;
|
||||
use Joomla\CMS\Router\Route;
|
||||
use Joomla\CMS\HTML\HTMLHelper as Html;
|
||||
use TrueChristianChurch\Component\Getbible\Site\Helper\GetbibleHelper;
|
||||
|
||||
// No direct access to this file
|
||||
|
@ -5,28 +5,10 @@
|
||||
<element>pkg_getbible</element>
|
||||
<type>package</type>
|
||||
<client>site</client>
|
||||
<version>3.0.1</version>
|
||||
<version>3.0.3</version>
|
||||
<infourl title="Get Bible!">https://getbible.net</infourl>
|
||||
<downloads>
|
||||
<downloadurl type="full" format="zip">https://git.vdm.dev/api/v1/repos/getBible/joomla-pkg/archive/v3.0.1.zip</downloadurl>
|
||||
</downloads>
|
||||
<tags>
|
||||
<tag>stable</tag>
|
||||
</tags>
|
||||
<maintainer>Llewellyn van der Merwe</maintainer>
|
||||
<maintainerurl>https://getbible.net</maintainerurl>
|
||||
<targetplatform name="joomla" version="3.*"/>
|
||||
</update>
|
||||
<update>
|
||||
<name>Get Bible</name>
|
||||
<description>The Bible for Joomla</description>
|
||||
<element>pkg_getbible</element>
|
||||
<type>package</type>
|
||||
<client>site</client>
|
||||
<version>3.0.2</version>
|
||||
<infourl title="Get Bible!">https://getbible.net</infourl>
|
||||
<downloads>
|
||||
<downloadurl type="full" format="zip">https://git.vdm.dev/api/v1/repos/getBible/joomla-pkg/archive/v3.0.2.zip</downloadurl>
|
||||
<downloadurl type="full" format="zip">https://git.vdm.dev/api/v1/repos/getBible/joomla-pkg/archive/v3.0.3.zip</downloadurl>
|
||||
</downloads>
|
||||
<tags>
|
||||
<tag>stable</tag>
|
||||
@ -125,4 +107,22 @@
|
||||
<maintainerurl>https://getbible.net</maintainerurl>
|
||||
<targetplatform name="joomla" version="4\.[01234]|5\.0"/>
|
||||
</update>
|
||||
<update>
|
||||
<name>Get Bible</name>
|
||||
<description>The Bible for Joomla</description>
|
||||
<element>pkg_getbible</element>
|
||||
<type>package</type>
|
||||
<client>site</client>
|
||||
<version>5.0.5</version>
|
||||
<infourl title="Get Bible!">https://getbible.net</infourl>
|
||||
<downloads>
|
||||
<downloadurl type="full" format="zip">https://git.vdm.dev/api/v1/repos/getBible/joomla-pkg/archive/v5.0.5.zip</downloadurl>
|
||||
</downloads>
|
||||
<tags>
|
||||
<tag>stable</tag>
|
||||
</tags>
|
||||
<maintainer>Llewellyn van der Merwe</maintainer>
|
||||
<maintainerurl>https://getbible.net</maintainerurl>
|
||||
<targetplatform name="joomla" version="4\.[01234]|5\.0"/>
|
||||
</update>
|
||||
</updates>
|
Loading…
Reference in New Issue
Block a user