From d9df6522b758f350b90859bc00406e6262cdabbe Mon Sep 17 00:00:00 2001 From: dmitriitsymbal Date: Fri, 2 Feb 2024 15:36:50 +0300 Subject: [PATCH 01/13] remove legacy from joomla 3 --- _config.yml | 1 - ...en-GB.plg_fields_radicalmultifield.sys.ini | 3 +- ...fr-FR.plg_fields_radicalmultifield.sys.ini | 3 +- ...ru-RU.plg_fields_radicalmultifield.sys.ini | 3 +- layouts/{joomla4 => }/import.php | 13 +- layouts/joomla3/import.php | 39 ---- layouts/joomla3/quantummanager.php | 140 ----------- layouts/joomla3/repeatable-cards.php | 104 --------- .../repeatable-cards/section-byfieldsets.php | 61 ----- layouts/joomla3/repeatable-cards/section.php | 82 ------- layouts/joomla4/quantummanager.php | 139 ----------- layouts/joomla4/repeatable-cards.php | 101 -------- layouts/quantummanager.php | 141 +++++++++++ layouts/repeatable-cards.php | 103 +++++++- .../repeatable-cards/section-byfieldsets.php | 0 .../repeatable-cards/section.php | 0 media/{joomla4 => }/css/cards.css | 0 media/{joomla3 => }/css/import.css | 0 media/joomla3/css/cards.css | 158 ------------- media/joomla3/js/buttons.js | 43 ---- media/joomla3/js/fix.js | 23 -- media/joomla3/js/import.js | 56 ----- media/joomla3/js/modal.js | 119 ---------- media/joomla3/js/subform-repetable-cards.js | 194 --------------- media/joomla4/css/import.css | 27 --- media/{joomla4 => }/js/buttons.js | 0 media/{joomla4 => }/js/import.js | 0 media/{joomla4 => }/js/modal.js | 0 .../js/subform-repetable-cards.js | 0 radicalmultifield.xml | 12 +- script.php | 221 ++++++++++++++---- .../Extension/RadicalMultiField.php | 37 ++- .../Fields/Pluginlayout.php | 0 .../Fields/Radicalmultifield.php | 3 +- .../Fields/Radicalsubform.php | 0 .../Helper/RadicalMultiFieldHelper.php | 30 +-- 36 files changed, 455 insertions(+), 1401 deletions(-) delete mode 100644 _config.yml rename layouts/{joomla4 => }/import.php (75%) delete mode 100644 layouts/joomla3/import.php delete mode 100644 layouts/joomla3/quantummanager.php delete mode 100644 layouts/joomla3/repeatable-cards.php delete mode 100644 layouts/joomla3/repeatable-cards/section-byfieldsets.php delete mode 100644 layouts/joomla3/repeatable-cards/section.php delete mode 100644 layouts/joomla4/quantummanager.php delete mode 100644 layouts/joomla4/repeatable-cards.php create mode 100644 layouts/quantummanager.php rename layouts/{joomla4 => }/repeatable-cards/section-byfieldsets.php (100%) rename layouts/{joomla4 => }/repeatable-cards/section.php (100%) rename media/{joomla4 => }/css/cards.css (100%) rename media/{joomla3 => }/css/import.css (100%) delete mode 100644 media/joomla3/css/cards.css delete mode 100644 media/joomla3/js/buttons.js delete mode 100644 media/joomla3/js/fix.js delete mode 100644 media/joomla3/js/import.js delete mode 100644 media/joomla3/js/modal.js delete mode 100644 media/joomla3/js/subform-repetable-cards.js delete mode 100644 media/joomla4/css/import.css rename media/{joomla4 => }/js/buttons.js (100%) rename media/{joomla4 => }/js/import.js (100%) rename media/{joomla4 => }/js/modal.js (100%) rename media/{joomla4 => }/js/subform-repetable-cards.js (100%) rename radicalmultifield.php => src/Extension/RadicalMultiField.php (89%) rename fields/pluginlayout.php => src/Fields/Pluginlayout.php (100%) rename fields/radicalmultifield.php => src/Fields/Radicalmultifield.php (99%) rename fields/radicalsubform.php => src/Fields/Radicalsubform.php (100%) rename radicalmultifieldhelper.php => src/Helper/RadicalMultiFieldHelper.php (94%) diff --git a/_config.yml b/_config.yml deleted file mode 100644 index c419263..0000000 --- a/_config.yml +++ /dev/null @@ -1 +0,0 @@ -theme: jekyll-theme-cayman \ No newline at end of file diff --git a/language/en-GB/en-GB.plg_fields_radicalmultifield.sys.ini b/language/en-GB/en-GB.plg_fields_radicalmultifield.sys.ini index 12d6a1e..d21cd48 100644 --- a/language/en-GB/en-GB.plg_fields_radicalmultifield.sys.ini +++ b/language/en-GB/en-GB.plg_fields_radicalmultifield.sys.ini @@ -1,3 +1,4 @@ PLG_RADICAL_MULTI_FIELD="Field - MultiField" PLG_RADICAL_MULTI_FIELD_XML_DESCRIPTION="Field that implements the enumerated array of data fields" -PLG_RADICAL_MULTI_FIELD_WRONG_PHP="You need PHP version at least 5.6" \ No newline at end of file +PLG_RADICAL_MULTI_FIELD_WRONG_PHP="You need PHP version at least %s" +PLG_RADICAL_MULTI_FIELD_WRONG_JOOMLA="You need Joomla version at least %s" \ No newline at end of file diff --git a/language/fr-FR/fr-FR.plg_fields_radicalmultifield.sys.ini b/language/fr-FR/fr-FR.plg_fields_radicalmultifield.sys.ini index 7d13f3c..981cb8e 100644 --- a/language/fr-FR/fr-FR.plg_fields_radicalmultifield.sys.ini +++ b/language/fr-FR/fr-FR.plg_fields_radicalmultifield.sys.ini @@ -1,3 +1,4 @@ PLG_RADICAL_MULTI_FIELD="Champ - Radical MultiField" PLG_RADICAL_MULTI_FIELD_XML_DESCRIPTION="Champ répétable amélioré" -PLG_RADICAL_MULTI_FIELD_WRONG_PHP="Vous devez utiliser au moins PHP version 5.6" +PLG_RADICAL_MULTI_FIELD_WRONG_PHP="Vous devez utiliser au moins PHP version %s" +PLG_RADICAL_MULTI_FIELD_WRONG_JOOMLA="Vous devez utiliser au moins Joomla version %s" diff --git a/language/ru-RU/ru-RU.plg_fields_radicalmultifield.sys.ini b/language/ru-RU/ru-RU.plg_fields_radicalmultifield.sys.ini index 7301927..b3b01d2 100644 --- a/language/ru-RU/ru-RU.plg_fields_radicalmultifield.sys.ini +++ b/language/ru-RU/ru-RU.plg_fields_radicalmultifield.sys.ini @@ -1,3 +1,4 @@ PLG_RADICAL_MULTI_FIELD="Поле - Radical MultiField" PLG_RADICAL_MULTI_FIELD_XML_DESCRIPTION="Мультиполе для Joomla" -PLG_RADICAL_MULTI_FIELD_WRONG_PHP="Нужна версия PHP не ниже 5.6" \ No newline at end of file +PLG_RADICAL_MULTI_FIELD_WRONG_PHP="Нужна версия PHP не ниже %s" +PLG_RADICAL_MULTI_FIELD_WRONG_JOOMLA="Нужна версия Joomla не ниже %s" \ No newline at end of file diff --git a/layouts/joomla4/import.php b/layouts/import.php similarity index 75% rename from layouts/joomla4/import.php rename to layouts/import.php index 74836d0..10f49a0 100644 --- a/layouts/joomla4/import.php +++ b/layouts/import.php @@ -1,9 +1,10 @@ "> '; - $upload = new JFormFieldQuantumupload(); + $upload = new QuantumuploadField(); $upload->setup(new SimpleXMLElement($field), ''); echo $upload->getInput(); - $buttons = ''; - $buttons .= ''; $buttons .= ''; @@ -29,7 +28,7 @@ 'selector' => $class_select_button, 'params' => [ 'title' => Text::_('PLG_RADICAL_MULTI_FIELD_FIELD_IMPORT_SELECT'), - 'url' => JUri::root() . 'administrator/index.php?option=com_ajax&plugin=radicalmultifield&group=fields&format=html&tmpl=component&name=' . $field_name, + 'url' => Uri::root() . 'administrator/index.php' . $field_name, 'height' => '250px', 'width' => '400px', 'bodyHeight' => 70, @@ -46,7 +45,7 @@ diff --git a/layouts/joomla3/import.php b/layouts/joomla3/import.php deleted file mode 100644 index 06649d5..0000000 --- a/layouts/joomla3/import.php +++ /dev/null @@ -1,39 +0,0 @@ - - -
- - '; - $upload = new JFormFieldQuantumupload(); - $upload->setup(new SimpleXMLElement($field), ''); - echo $upload->getInput(); - ?> - - -
- - -
- -
- - - diff --git a/layouts/joomla3/quantummanager.php b/layouts/joomla3/quantummanager.php deleted file mode 100644 index f09aad7..0000000 --- a/layouts/joomla3/quantummanager.php +++ /dev/null @@ -1,140 +0,0 @@ - - * @copyright Copyright © 2019 Delo Design & NorrNext. All rights reserved. - * @license GNU General Public License version 3 or later; see license.txt - * @link https://www.norrnext.com - */ - -defined('_JEXEC') or die; - -use Joomla\CMS\Factory; -use Joomla\CMS\HTML\HTMLHelper; -use Joomla\CMS\Language\Text; - -extract($displayData); - -$app = Factory::getApplication(); -$app->getSession()->clear('quantummanageraddscripts'); -$app->getSession()->set('quantummanagerroot', $field_path); -$app->getSession()->set('quantummanagerrootcheck', 0); - -HTMLHelper::_('stylesheet', 'plg_system_quantummanagermedia/modal.css', [ - 'version' => filemtime(__FILE__), - 'relative' => true -]); - -HTMLHelper::_('script', 'plg_fields_radicalmultifield/joomla3/modal.js', [ - 'version' => filemtime(__FILE__), - 'relative' => true -]); - - -?> - - [ - 'label' => '', - 'directory' => $folderRoot, - 'position' => 'container-left', - ], - 'quantumtoolbar' => [ - 'label' => '', - 'position' => 'container-center-top', - 'buttons' => 'all', - 'buttonsBun' => '', - 'cssClass' => 'qm-padding-small-left qm-padding-small-right qm-padding-small-top qm-padding-small-bottom', - ], - 'quantumupload' => [ - 'label' => '', - 'position' => 'container-center-top', - 'maxsize' => QuantummanagerHelper::getParamsComponentValue('maxsize', '10'), - 'dropAreaHidden' => QuantummanagerHelper::getParamsComponentValue('dropareahidden', '0'), - 'directory' => $folderRoot, - 'cssClass' => 'qm-padding-small-left qm-padding-small-right qm-padding-small-bottom', - ], - 'quantumviewfiles' => [ - 'label' => '', - 'position' => 'container-center-center', - 'directory' => $folderRoot, - 'view' => 'list-grid', - 'onlyfiles' => '0', - 'watermark' => QuantummanagerHelper::getParamsComponentValue('overlay' , 0) > 0 ? '1' : '0', - 'help' => QuantummanagerHelper::getParamsComponentValue('help' , '1'), - 'metafile' => QuantummanagerHelper::getParamsComponentValue('metafile' , '1'), - ], - 'quantumcropperjs' => [ - 'label' => '', - 'position' => 'bottom' - ], - ]; - - - if((int)QuantummanagerHelper::getParamsComponentValue('unsplash', '1')) - { - $fields['quantumunsplash'] = [ - 'label' => '', - 'position' => 'bottom' - ]; - } - - $actions = QuantummanagerHelper::getActions(); - if (!$actions->get('core.create')) - { - $buttonsBun[] = 'viewfilesCreateDirectory'; - unset($fields['quantumupload']); - } - - if (!$actions->get('core.delete')) - { - unset($fields['quantumcropperjs']); - } - - if (!$actions->get('core.delete')) - { - $buttonsBun[] = 'viewfilesDelete'; - } - - $optionsForField = [ - 'name' => 'filemanager', - 'label' => '', - 'cssClass' => 'quantummanager-full-component-wrap', - 'fields' => json_encode($fields) - ]; - - $field = new JFormFieldQuantumCombine(); - foreach ($optionsForField as $name => $value) - { - $field->__set($name, $value); - } - echo $field->getInput(); - } - catch (Exception $e) - { - echo $e->getMessage(); - } -?> - - - - diff --git a/layouts/joomla3/repeatable-cards.php b/layouts/joomla3/repeatable-cards.php deleted file mode 100644 index c0522b3..0000000 --- a/layouts/joomla3/repeatable-cards.php +++ /dev/null @@ -1,104 +0,0 @@ - 'auto', 'relative' => true)); - JHtml::_('script', 'system/subform-repeatable.js', array('version' => 'auto', 'relative' => true)); - JHtml::_('script', 'subform-repetable-cards/main.js', array('version' => 'auto', 'relative' => true)); - JHtml::_('stylesheet', 'subform-repetable-cards/cards.css', array('version' => 'auto', 'relative' => true)); -} - -JHtml::_('stylesheet', 'plg_fields_radicalmultifield/joomla3/cards.css', [ - 'version' => filemtime ( __FILE__ ), - 'relative' => true -]); - - -JHtml::_('script', 'plg_fields_radicalmultifield/joomla3/subform-repetable-cards.js', [ - 'version' => filemtime ( __FILE__ ), - 'relative' => true -]); - -$sublayout = empty($groupByFieldset) ? 'section' : 'section-byfieldsets'; -?> - -
-
-
- - -
-
- - - -
-
- - - $form) : - echo $this->sublayout( - $sublayout, - array( - 'form' => $form, - 'basegroup' => $fieldname, - 'group' => $fieldname . $k, - 'buttons' => $buttons, - 'unique_subform_id' => $unique_subform_id, - ) - ); - endforeach; - ?> - - - - -
-
-
diff --git a/layouts/joomla3/repeatable-cards/section-byfieldsets.php b/layouts/joomla3/repeatable-cards/section-byfieldsets.php deleted file mode 100644 index 64bbbdb..0000000 --- a/layouts/joomla3/repeatable-cards/section-byfieldsets.php +++ /dev/null @@ -1,61 +0,0 @@ - - -
- -
-
- - - - - - - - - - - - - - - -
-
- -
-getFieldsets() as $fieldset) : ?> -
- label)) : ?> - label); ?> - -getFieldset($fieldset->name) as $field) : ?> - renderField(); ?> - -
- -
-
diff --git a/layouts/joomla3/repeatable-cards/section.php b/layouts/joomla3/repeatable-cards/section.php deleted file mode 100644 index 6f97d73..0000000 --- a/layouts/joomla3/repeatable-cards/section.php +++ /dev/null @@ -1,82 +0,0 @@ - - -
-
- -
-
-
- - -
-
- - - - - - - - - - - - - - - -
-
- -
- - - -
diff --git a/layouts/joomla4/quantummanager.php b/layouts/joomla4/quantummanager.php deleted file mode 100644 index 32f4b83..0000000 --- a/layouts/joomla4/quantummanager.php +++ /dev/null @@ -1,139 +0,0 @@ - - * @copyright Copyright © 2019 Delo Design & NorrNext. All rights reserved. - * @license GNU General Public License version 3 or later; see license.txt - * @link https://www.norrnext.com - */ - -defined('_JEXEC') or die; - -use Joomla\CMS\Factory; -use Joomla\CMS\HTML\HTMLHelper; -use Joomla\CMS\Language\Text; - -extract($displayData); - -$app = Factory::getApplication(); -$app->getSession()->clear('quantummanageraddscripts'); -$app->getSession()->set('quantummanagerroot', $field_path); -$app->getSession()->set('quantummanagerrootcheck', 0); - -HTMLHelper::_('stylesheet', 'plg_system_quantummanagermedia/modal.css', [ - 'version' => filemtime(__FILE__), - 'relative' => true -]); - -HTMLHelper::_('script', 'plg_fields_radicalmultifield/joomla4/modal.js', [ - 'version' => filemtime(__FILE__), - 'relative' => true -]); - -?> - - [ - 'label' => '', - 'directory' => $folderRoot, - 'position' => 'container-left', - ], - 'quantumtoolbar' => [ - 'label' => '', - 'position' => 'container-center-top', - 'buttons' => 'all', - 'buttonsBun' => '', - 'cssClass' => 'qm-padding-small-left qm-padding-small-right qm-padding-small-top qm-padding-small-bottom', - ], - 'quantumupload' => [ - 'label' => '', - 'position' => 'container-center-top', - 'maxsize' => QuantummanagerHelper::getParamsComponentValue('maxsize', '10'), - 'dropAreaHidden' => QuantummanagerHelper::getParamsComponentValue('dropareahidden', '0'), - 'directory' => $folderRoot, - 'cssClass' => 'qm-padding-small-left qm-padding-small-right qm-padding-small-bottom', - ], - 'quantumviewfiles' => [ - 'label' => '', - 'position' => 'container-center-center', - 'directory' => $folderRoot, - 'view' => 'list-grid', - 'onlyfiles' => '0', - 'watermark' => QuantummanagerHelper::getParamsComponentValue('overlay' , 0) > 0 ? '1' : '0', - 'help' => QuantummanagerHelper::getParamsComponentValue('help' , '1'), - 'metafile' => QuantummanagerHelper::getParamsComponentValue('metafile' , '1'), - ], - 'quantumcropperjs' => [ - 'label' => '', - 'position' => 'bottom' - ], - ]; - - - if((int)QuantummanagerHelper::getParamsComponentValue('unsplash', '1')) - { - $fields['quantumunsplash'] = [ - 'label' => '', - 'position' => 'bottom' - ]; - } - - $actions = QuantummanagerHelper::getActions(); - if (!$actions->get('core.create')) - { - $buttonsBun[] = 'viewfilesCreateDirectory'; - unset($fields['quantumupload']); - } - - if (!$actions->get('core.delete')) - { - unset($fields['quantumcropperjs']); - } - - if (!$actions->get('core.delete')) - { - $buttonsBun[] = 'viewfilesDelete'; - } - - $optionsForField = [ - 'name' => 'filemanager', - 'label' => '', - 'cssClass' => 'quantummanager-full-component-wrap', - 'fields' => json_encode($fields) - ]; - - $field = new JFormFieldQuantumCombine(); - foreach ($optionsForField as $name => $value) - { - $field->__set($name, $value); - } - echo $field->getInput(); - } - catch (Exception $e) - { - echo $e->getMessage(); - } -?> - - - - diff --git a/layouts/joomla4/repeatable-cards.php b/layouts/joomla4/repeatable-cards.php deleted file mode 100644 index 9fba424..0000000 --- a/layouts/joomla4/repeatable-cards.php +++ /dev/null @@ -1,101 +0,0 @@ - filemtime ( __FILE__ ), - 'relative' => true -]); - - -HTMLHelper::_('script', 'plg_fields_radicalmultifield/joomla4/subform-repetable-cards.js', [ - 'version' => filemtime ( __FILE__ ), - 'relative' => true -]); - -$sublayout = empty($groupByFieldset) ? 'section' : 'section-byfieldsets'; - -if ($multiple) { - // Add script - Factory::getApplication() - ->getDocument() - ->getWebAssetManager() - ->useScript('webcomponent.field-subform'); -} - -?> - -
- - - -
-
- -
-
- - - $form) : - echo $this->sublayout( - $sublayout, - array( - 'form' => $form, - 'basegroup' => $fieldname, - 'group' => $fieldname . $k, - 'buttons' => $buttons, - 'unique_subform_id' => $unique_subform_id, - ) - ); - endforeach; - ?> - - - - -
-
diff --git a/layouts/quantummanager.php b/layouts/quantummanager.php new file mode 100644 index 0000000..709841f --- /dev/null +++ b/layouts/quantummanager.php @@ -0,0 +1,141 @@ + + * @copyright Copyright © 2019 Delo Design & NorrNext. All rights reserved. + * @license GNU General Public License version 3 or later; see license.txt + * @link https://www.norrnext.com + */ + +defined('_JEXEC') or die; + +use Joomla\CMS\Factory; +use Joomla\CMS\HTML\HTMLHelper; +use Joomla\CMS\Language\Text; +use Joomla\Component\QuantumManager\Administrator\Field\QuantumcombineField; +use Joomla\Component\QuantumManager\Administrator\Helper\QuantummanagerHelper; + +extract($displayData); + +$app = Factory::getApplication(); +$app->getSession()->clear('quantummanageraddscripts'); +$app->getSession()->set('quantummanagerroot', $field_path); +$app->getSession()->set('quantummanagerrootcheck', 0); + +HTMLHelper::_('stylesheet', 'plg_system_quantummanagermedia/modal.css', [ + 'version' => filemtime(__FILE__), + 'relative' => true +]); + +HTMLHelper::_('script', 'plg_fields_radicalmultifield/modal.js', [ + 'version' => filemtime(__FILE__), + 'relative' => true +]); + +?> + + [ + 'label' => '', + 'directory' => $folderRoot, + 'position' => 'container-left', + ], + 'quantumtoolbar' => [ + 'label' => '', + 'position' => 'container-center-top', + 'buttons' => 'all', + 'buttonsBun' => '', + 'cssClass' => 'qm-padding-small-left qm-padding-small-right qm-padding-small-top qm-padding-small-bottom', + ], + 'quantumupload' => [ + 'label' => '', + 'position' => 'container-center-top', + 'maxsize' => QuantummanagerHelper::getParamsComponentValue('maxsize', '10'), + 'dropAreaHidden' => QuantummanagerHelper::getParamsComponentValue('dropareahidden', '0'), + 'directory' => $folderRoot, + 'cssClass' => 'qm-padding-small-left qm-padding-small-right qm-padding-small-bottom', + ], + 'quantumviewfiles' => [ + 'label' => '', + 'position' => 'container-center-center', + 'directory' => $folderRoot, + 'view' => 'list-grid', + 'onlyfiles' => '0', + 'watermark' => QuantummanagerHelper::getParamsComponentValue('overlay', 0) > 0 ? '1' : '0', + 'help' => QuantummanagerHelper::getParamsComponentValue('help', '1'), + 'metafile' => QuantummanagerHelper::getParamsComponentValue('metafile', '1'), + ], + 'quantumcropperjs' => [ + 'label' => '', + 'position' => 'bottom' + ], + ]; + + + if ((int) QuantummanagerHelper::getParamsComponentValue('unsplash', '1')) + { + $fields['quantumunsplash'] = [ + 'label' => '', + 'position' => 'bottom' + ]; + } + + $actions = QuantummanagerHelper::getActions(); + if (!$actions->get('core.create')) + { + $buttonsBun[] = 'viewfilesCreateDirectory'; + unset($fields['quantumupload']); + } + + if (!$actions->get('core.delete')) + { + unset($fields['quantumcropperjs']); + } + + if (!$actions->get('core.delete')) + { + $buttonsBun[] = 'viewfilesDelete'; + } + + $optionsForField = [ + 'name' => 'filemanager', + 'label' => '', + 'cssClass' => 'quantummanager-full-component-wrap', + 'fields' => json_encode($fields) + ]; + + $field = new QuantumcombineField(); + foreach ($optionsForField as $name => $value) + { + $field->__set($name, $value); + } + echo $field->getInput(); +} +catch (Exception $e) +{ + echo $e->getMessage(); +} +?> + + + + diff --git a/layouts/repeatable-cards.php b/layouts/repeatable-cards.php index 455820e..39a4386 100644 --- a/layouts/repeatable-cards.php +++ b/layouts/repeatable-cards.php @@ -1,8 +1,101 @@ - filemtime ( __FILE__ ), + 'relative' => true +]); + + +HTMLHelper::_('script', 'plg_fields_radicalmultifield/subform-repetable-cards.js', [ + 'version' => filemtime ( __FILE__ ), + 'relative' => true +]); + +$sublayout = empty($groupByFieldset) ? 'section' : 'section-byfieldsets'; + +if ($multiple) { + // Add script + Factory::getApplication() + ->getDocument() + ->getWebAssetManager() + ->useScript('webcomponent.field-subform'); +} + +?> + +
+ + + +
+
+ +
+
+ + + $form) : + echo $this->sublayout( + $sublayout, + array( + 'form' => $form, + 'basegroup' => $fieldname, + 'group' => $fieldname . $k, + 'buttons' => $buttons, + 'unique_subform_id' => $unique_subform_id, + ) + ); + endforeach; + ?> + + + + +
+
diff --git a/layouts/joomla4/repeatable-cards/section-byfieldsets.php b/layouts/repeatable-cards/section-byfieldsets.php similarity index 100% rename from layouts/joomla4/repeatable-cards/section-byfieldsets.php rename to layouts/repeatable-cards/section-byfieldsets.php diff --git a/layouts/joomla4/repeatable-cards/section.php b/layouts/repeatable-cards/section.php similarity index 100% rename from layouts/joomla4/repeatable-cards/section.php rename to layouts/repeatable-cards/section.php diff --git a/media/joomla4/css/cards.css b/media/css/cards.css similarity index 100% rename from media/joomla4/css/cards.css rename to media/css/cards.css diff --git a/media/joomla3/css/import.css b/media/css/import.css similarity index 100% rename from media/joomla3/css/import.css rename to media/css/import.css diff --git a/media/joomla3/css/cards.css b/media/joomla3/css/cards.css deleted file mode 100644 index 3ec1c76..0000000 --- a/media/joomla3/css/cards.css +++ /dev/null @@ -1,158 +0,0 @@ -.subform-repeatable-cards { - position: relative; - display: flex; - flex-wrap: wrap; -} - -.subform-repeatable-cards > .btn-toolbar { - width: 100%; - margin-bottom: 15px !important; -} - -.subform-repeatable-cards .subform-card { - width: 165px; - height: 165px; - margin-right: 15px; - margin-bottom: 15px; - border-radius: 3px; - background: #fff; - color: #666; - box-shadow: 0 5px 15px rgba(0,0,0,0.08); -} - -.subform-repeatable-cards .subform-card:hover { - cursor: pointer; - background-color: #fff; - box-shadow: 0 14px 25px rgba(0,0,0,0.16); -} - -.subform-repeatable-cards .subform-card .subform-card-tile { - position: relative; - border-radius: 3px; - height: 100%; - overflow: hidden; -} - -.subform-repeatable-cards .subform-card .subform-card-tile .subform-card-tile-background { - position: relative; - height: 100%; - display: flex; - justify-content: center; - align-items: center; - align-self: center; - transition: all 0.2s; - -webkit-background-size: contain !important; - -moz-background-size: contain !important; - -o-background-size: contain !important; - background-size: contain !important; - background-position: 50% 50% !important; - background-repeat: no-repeat; - border: 1px solid rgba(50, 50, 50, 0.11); - transition: all 0.2s; -} - -.subform-repeatable-cards .subform-card .subform-card-tile-title { - /*position: absolute; - background: rgba(0,0,0,0.6); - font-size: 13px; - width: 100%; - left: 0; - margin: 0; - bottom: 20px; - padding: 5px; - text-align: center;*/ -} - -.subform-repeatable-cards .subform-card .subform-card-tile:hover { - overflow: visible; - z-index: 1; -} - -.subform-repeatable-cards .subform-card .subform-card-tile:hover .subform-card-tile-background { - border-radius: 3px; - transition: all 0.2s; -} - -.subform-repeatable-cards .subform-card .subform-card-tile .subform-card-tile-title { - max-width: 100%; - text-indent: -99999px; - padding: 0; - top: 0; -} - -.subform-repeatable-cards .subform-card .subform-card-tile .subform-card-tile-title:after { - display: none; - position: absolute; - bottom: 20px; - left: 0; - right: 0; - background: rgba(68, 68, 68, 0.8); - color: #fff; - text-indent: 0; - text-align: center; - content: "Нажмите для изменения"; - transition: all 0.2s; - border-radius: 3px 3px 0 0; -} - -.subform-repeatable-cards .subform-card.ui-sortable-helper .subform-card-tile-background { - transform: none !important; - transition: all 0.2s; -} - -.subform-repeatable-cards .subform-card .btn-toolbar { - position: absolute; - margin: 0; - bottom: 0; - left: 0; - right: 0; -} - -.subform-repeatable-cards .subform-card .btn-toolbar .btn-group { - width: 100%; - display: flex; -} - -.subform-repeatable-cards .subform-card .btn-toolbar .btn-group > * { - width: 33.3%; -} - -.subform-repeatable-cards .subform-card .btn-toolbar .btn-group > a:first-child { - border-top-left-radius: 0; -} - -.subform-repeatable-cards .subform-card .btn-toolbar .btn-group > a:last-child { - border-top-right-radius: 0; -} - -.subform-repeatable-cards .subform-card .btn-toolbar .btn-group .btn { - margin: 0; -} - -.subform-repeatable-cards .subform-card .subform-card-content { - position: absolute; - background: #fff; - width: 100%; - min-height: 100%; - top: 0; - left: -1px; - box-shadow: 0 5px 15px rgba(0,0,0,0.08); -} - -.subform-repeatable-cards .subform-card .subform-card-content .subform-card-content-toolbar { - padding: 10px; - border-bottom: 1px solid #eee; -} - -.subform-repeatable-cards .subform-card .subform-card-content .subform-card-content-body { - padding: 10px; -} - -.subform-repeatable-cards .subform-card .subform-card-content .subform-card-content-foot { - padding: 10px; - border-top: 1px solid #eee; - margin-bottom: 40px; -} - - - diff --git a/media/joomla3/js/buttons.js b/media/joomla3/js/buttons.js deleted file mode 100644 index 6774c3d..0000000 --- a/media/joomla3/js/buttons.js +++ /dev/null @@ -1,43 +0,0 @@ -document.addEventListener('DOMContentLoaded' ,function () { - - window.RadicalMiltifieldContainerActive = ''; - let buttons_fast = document.querySelectorAll('.btn-radicalmiltifield-fast-upload'); - let buttons_select = document.querySelectorAll('.btn-radicalmiltifield-select'); - - for(let i=0;i -1) { - jQuery(inputAll[j]).val(file); - QuantumUtils.triggerElementEvent('change', inputAll[j]); - } - - if (name.indexOf('[' + namefile + ']') > -1) { - //jQuery(elt).val(fileName.split('.')[0].replace(/_[0-9]{0,}$/g, '')); - jQuery(inputAll[j]).val(fileName.split('.')[0]); - } - - - } - } - } - -}; diff --git a/media/joomla3/js/modal.js b/media/joomla3/js/modal.js deleted file mode 100644 index 0ae3565..0000000 --- a/media/joomla3/js/modal.js +++ /dev/null @@ -1,119 +0,0 @@ -/** - * @package quantummanager - * @author Dmitry Tsymbal - * @copyright Copyright © 2019 Delo Design & NorrNext. All rights reserved. - * @license GNU General Public License version 3 or later; see license.txt - * @link https://www.norrnext.com - */ - -document.addEventListener('DOMContentLoaded', function () { - - let buttonInsert = document.createElement('button'); - let buttonCancel = document.createElement('button'); - let pathFile; - let altFile; - - buttonInsert.setAttribute('class', 'btn btn-primary'); - buttonInsert.setAttribute('type', 'button'); - buttonCancel.setAttribute('class', 'btn'); - buttonCancel.setAttribute('modal', 'modal'); - buttonCancel.setAttribute('data-dismiss', 'modal'); - buttonCancel.setAttribute('type', 'button'); - - setTimeout(function () { - for(let i=0;i 0) { - jQuery('.subform-repeatable-cards .subform-card').each(function (i, el) { - jQuery(el).attr('data-i', i); - generateTile(el, i); - }); - } - - - jQuery(document).on('subform-row-add', function(event, row) { - jQuery(row).attr('data-i', jQuery('.subform-repeatable-cards').find('.subform-card').length); - setTimeout(function () { - generateTile(row, jQuery('.subform-repeatable-cards').find('.subform-card').length); - }, 200); - }); - - - function generateTile(el, i) { - - - if(i === null || i === undefined) { - i = parseInt(jQuery(el).attr('data-i')); - } - - let tile = jQuery(el).find('.subform-card-tile'); - let text = ''; - let input = jQuery(el).find('input[type=text]'); - let inputImage = jQuery(el).find('.field-media-input'); - - if(inputImage.length === 0) { - if(el === undefined || el === null) { - return; - } - - let inputs = el.querySelectorAll('input'); - - for(let i=0;i 0) { - text = input.val(); - } - - tile.find('.subform-card-tile-title').html(capitalizeFirstLetter(text)); - - if(inputImage.length > 0) { - if(inputImage.val() !== '') { - let image = inputImage.val(); - - if(image.charAt(0) !== '/') { - image = window.siteUrl + image; - } - - tile.find('.subform-card-tile-background').css('background-image', 'url(' + image + ')'); - tile.find('.subform-card-tile-background').css('color', '#fff'); - tile.find('.subform-card-tile-background').css('background-size', 'auto'); - } - } - } - - - jQuery('body').on('mousemove', '.subform-card-tile-background', function (e) { - - let x = parseFloat(jQuery(this).attr('data-x')); - let y = parseFloat(jQuery(this).attr('data-y')); - let oldX = parseFloat(jQuery(this).attr('data-oldX')); - let oldY = parseFloat(jQuery(this).attr('data-oldY')); - - if(x === undefined || isNaN(x)) { - x = 50; - } - - if(y === undefined || isNaN(y)) { - y = 50; - } - - if(oldX === undefined || isNaN(oldX)) { - oldX = e.pageX; - } - - if(oldY === undefined || isNaN(oldY)) { - oldY = e.pageY; - } - - x = x + ((e.pageX - oldX)/5); - y = y + ((e.pageY - oldY)/5); - - oldX = e.pageX; - oldY = e.pageY; - - jQuery(this).attr('data-x', x); - jQuery(this).attr('data-y', y); - jQuery(this).attr('data-oldX', oldX); - jQuery(this).attr('data-oldY', oldY); - - jQuery(this).css('background-position', x + '% ' + y + '%'); - }); - - jQuery('body').on('click', '.subform-card-tile', function (e) { - if(e.target.tagName === 'DIV') { - let tile = jQuery(this); - let card = jQuery(this).closest('.subform-card'); - let grid = jQuery(this).closest('.subform-repeatable-cards'); - let content = card.find('.subform-card-content'); - content.show(); - grid.find('.subform-card-tile').each(function (i, el) { - jQuery(el).css('display', 'none'); - }); - } - }); - - - jQuery('body').on('click', '.button-subform-card-title-show', function (e) { - let tile = jQuery(this); - let card = jQuery(this).closest('.subform-card'); - let grid = jQuery(this).closest('.subform-repeatable-cards'); - let content = card.find('.subform-card-content'); - content.hide(); - generateTile(this.closest('.subform-card')); - grid.find('.subform-card-tile').each(function (i, el) { - jQuery(el).css('display', 'block'); - }); - }); - - - function hashCode(str) { // java String#hashCode - var hash = 0; - for (var i = 0; i < str.length; i++) { - hash = str.charCodeAt(i) + ((hash << 5) - hash); - } - return hash; - } - - - function intToRGB(i){ - var c = (i & 0x00FFFFFF) - .toString(16) - .toUpperCase(); - return "00000".substring(0, 6 - c.length) + c; - } - - - function randomInteger(min, max) { - var rand = min - 0.5 + Math.random() * (max - min + 1) - rand = Math.round(rand); - return rand; - } - - function capitalizeFirstLetter(string) { - return string.charAt(0).toUpperCase() + string.slice(1); - } - - function youtubeParser(url){ - var regExp = /^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#\&\?]*).*/; - var match = url.match(regExp); - return (match&&match[7].length==11)? match[7] : false; - } - -}); diff --git a/media/joomla4/css/import.css b/media/joomla4/css/import.css deleted file mode 100644 index 58bf067..0000000 --- a/media/joomla4/css/import.css +++ /dev/null @@ -1,27 +0,0 @@ -.radicalmultifield-import { - position: relative; - padding-top: 110px; -} - -.radicalmultifield-import .import-wrap .quantummanager { - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; -} - -.radicalmultifield-import .import-wrap .quantummanager .quantumupload-module { - padding: 10px; - background: #fbfbfb; -} - -.radicalmultifield-import .import-wrap .button-wrap { - position: relative; - margin-bottom: 15px; -} - -.radicalmultifield-import .row-fluid { - position: relative; - z-index: 1; -} \ No newline at end of file diff --git a/media/joomla4/js/buttons.js b/media/js/buttons.js similarity index 100% rename from media/joomla4/js/buttons.js rename to media/js/buttons.js diff --git a/media/joomla4/js/import.js b/media/js/import.js similarity index 100% rename from media/joomla4/js/import.js rename to media/js/import.js diff --git a/media/joomla4/js/modal.js b/media/js/modal.js similarity index 100% rename from media/joomla4/js/modal.js rename to media/js/modal.js diff --git a/media/joomla4/js/subform-repetable-cards.js b/media/js/subform-repetable-cards.js similarity index 100% rename from media/joomla4/js/subform-repetable-cards.js rename to media/js/subform-repetable-cards.js diff --git a/radicalmultifield.xml b/radicalmultifield.xml index cd64770..1747ea7 100644 --- a/radicalmultifield.xml +++ b/radicalmultifield.xml @@ -7,8 +7,9 @@ https://delo-design.ru Copyright (C) 2018 "Delo Design". All rights reserved. GNU General Public License version 3 or later; see LICENSE.txt - 3.1.0 + 4.0.0 PLG_RADICAL_MULTI_FIELD_XML_DESCRIPTION + Joomla\Plugin\Fields\RadicalMultiField script.php @@ -24,18 +25,15 @@ - radicalmultifield.php - radicalmultifieldhelper.php - LICENSE.txt - fields + src layouts params tmpl - joomla3 - joomla4 + css + js diff --git a/script.php b/script.php index 92bb6e6..b6de8ff 100644 --- a/script.php +++ b/script.php @@ -1,53 +1,184 @@ - - * @copyright Copyright (C) 2018 "Delo Design". All rights reserved. - * @license GNU General Public License version 2 or later; see LICENSE.txt - * @link https://delo-design.ru - */ +defined('_JEXEC') or die; -use Joomla\CMS\Language\Text; +use Joomla\CMS\Application\AdministratorApplication; use Joomla\CMS\Factory; +use Joomla\CMS\Installer\InstallerAdapter; +use Joomla\CMS\Installer\InstallerScriptInterface; +use Joomla\CMS\Language\Text; +use Joomla\CMS\Version; +use Joomla\Database\DatabaseDriver; +use Joomla\DI\Container; +use Joomla\DI\ServiceProviderInterface; -/** - * Class plgSystemRadicalmultifieldInstallerScript - */ -class plgFieldsRadicalmultifieldInstallerScript -{ - - /** - * @param $type - * @param $parent - * - * @throws Exception - */ - function postflight($type, $parent) +return new class () implements ServiceProviderInterface { + public function register(Container $container) { - $db = Factory::getDbo(); - $query = $db->getQuery(true) - ->update('#__extensions') - ->set('enabled=1') - ->where('type=' . $db->q('plugin')) - ->where('element=' . $db->q('radicalmultifield')); - $db->setQuery($query)->execute(); - } + $container->set(InstallerScriptInterface::class, new class ($container->get(AdministratorApplication::class)) implements InstallerScriptInterface { + /** + * The application object + * + * @var AdministratorApplication + * + * @since __DEPLOY_VERSION__ + */ + protected AdministratorApplication $app; - /** - * @param $type - * @param $parent - * - * @throws Exception - */ - function preflight($type, $parent) - { - if ((version_compare(PHP_VERSION, '5.6.0') < 0)) - { - Factory::getApplication()->enqueueMessage(Text::_('PLG_RADICAL_MULTI_FIELD_WRONG_PHP'), 'error'); + /** + * The Database object. + * + * @var DatabaseDriver + * + * @since __DEPLOY_VERSION__ + */ + protected DatabaseDriver $db; + + /** + * Minimum Joomla version required to install the extension. + * + * @var string + * + * @since __DEPLOY_VERSION__ + */ + protected string $minimumJoomla = '4.0'; + + /** + * Minimum PHP version required to install the extension. + * + * @var string + * + * @since __DEPLOY_VERSION__ + */ + protected string $minimumPhp = '7.4'; + + /** + * Constructor. + * + * @param AdministratorApplication $app The application object. + * + * @since __DEPLOY_VERSION__ + */ + public function __construct(AdministratorApplication $app) + { + $this->app = $app; + $this->db = Factory::getContainer()->get('DatabaseDriver'); + } + + /** + * Function called after the extension is installed. + * + * @param InstallerAdapter $adapter The adapter calling this method + * + * @return boolean True on success + * + * @since __DEPLOY_VERSION__ + */ + public function install(InstallerAdapter $adapter): bool + { + return true; + } + + /** + * Function called after the extension is updated. + * + * @param InstallerAdapter $adapter The adapter calling this method + * + * @return boolean True on success + * + * @since __DEPLOY_VERSION__ + */ + public function update(InstallerAdapter $adapter): bool + { + // Refresh media version + (new Version())->refreshMediaVersion(); + + return true; + } + + /** + * Function called after the extension is uninstalled. + * + * @param InstallerAdapter $adapter The adapter calling this method + * + * @return boolean True on success + * + * @since __DEPLOY_VERSION__ + */ + public function uninstall(InstallerAdapter $adapter): bool + { + return true; + } + + /** + * Function called before extension installation/update/removal procedure commences. + * + * @param string $type The type of change (install or discover_install, update, uninstall) + * @param InstallerAdapter $adapter The adapter calling this method + * + * @return boolean True on success + * + * @since __DEPLOY_VERSION__ + */ + public function preflight(string $type, InstallerAdapter $adapter): bool + { + // Check compatible + if (!$this->checkCompatible()) + { + return false; + } + + return true; + } + + /** + * Function called after extension installation/update/removal procedure commences. + * + * @param string $type The type of change (install or discover_install, update, uninstall) + * @param InstallerAdapter $adapter The adapter calling this method + * + * @return boolean True on success + * + * @since __DEPLOY_VERSION__ + */ + public function postflight(string $type, InstallerAdapter $adapter): bool + { + return true; + } + + /** + * Method to check compatible. + * + * @throws \Exception + * + * @return bool True on success, False on failure. + * + * @since __DEPLOY_VERSION__ + */ + protected function checkCompatible(): bool + { + $app = Factory::getApplication(); + + // Check joomla version + if (!(new Version())->isCompatible($this->minimumJoomla)) + { + $app->enqueueMessage(Text::sprintf('PLG_RADICAL_MULTI_FIELD_WRONG_JOOMLA', $this->minimumJoomla), + 'error'); + + return false; + } + + // Check PHP + if (!(version_compare(PHP_VERSION, $this->minimumPhp) >= 0)) + { + $app->enqueueMessage(Text::sprintf('PLG_RADICAL_MULTI_FIELD_WRONG_PHP', $this->minimumPhp), + 'error'); + + return false; + } - return false; - } + return true; + } + }); } -} +}; \ No newline at end of file diff --git a/radicalmultifield.php b/src/Extension/RadicalMultiField.php similarity index 89% rename from radicalmultifield.php rename to src/Extension/RadicalMultiField.php index 6e711bb..be7f7dd 100644 --- a/radicalmultifield.php +++ b/src/Extension/RadicalMultiField.php @@ -1,4 +1,5 @@ - filemtime(__FILE__), - 'relative' => true, - ]); - } - } /** @@ -430,7 +420,6 @@ public function onAjaxRadicalmultifield() return; } - JLoader::register('QuantummanagerHelper', JPATH_ROOT . '/administrator/components/com_quantummanager/helpers/quantummanager.php'); QuantummanagerHelper::loadlang(); $name = $app->input->get('name', ''); @@ -448,7 +437,7 @@ public function onAjaxRadicalmultifield() $fieldparams = json_decode($field->fieldparams, JSON_OBJECT_AS_ARRAY); $field_path = !empty($fieldparams['filesimportpath']) ? $fieldparams['filesimportpath'] : 'images'; $layout = new FileLayout('quantummanager', JPATH_ROOT . DIRECTORY_SEPARATOR . implode(DIRECTORY_SEPARATOR, [ - 'plugins', 'fields', 'radicalmultifield', 'layouts', RadicalmultifieldHelper::isJoomla4() ? 'joomla4' : 'joomla3', + 'plugins', 'fields', 'radicalmultifield', 'layouts', ])); echo $layout->render(['field_path' => $field_path]); diff --git a/fields/pluginlayout.php b/src/Fields/Pluginlayout.php similarity index 100% rename from fields/pluginlayout.php rename to src/Fields/Pluginlayout.php diff --git a/fields/radicalmultifield.php b/src/Fields/Radicalmultifield.php similarity index 99% rename from fields/radicalmultifield.php rename to src/Fields/Radicalmultifield.php index fc46ce1..216b9d0 100644 --- a/fields/radicalmultifield.php +++ b/src/Fields/Radicalmultifield.php @@ -8,10 +8,9 @@ * @link https://delo-design.ru */ +use Joomla\CMS\Factory; use Joomla\CMS\Filter\OutputFilter; -use Joomla\CMS\Form\Form; use Joomla\CMS\HTML\HTMLHelper; -use Joomla\CMS\Factory; use Joomla\CMS\Layout\LayoutHelper; use Joomla\CMS\Uri\Uri; use Joomla\Registry\Registry; diff --git a/fields/radicalsubform.php b/src/Fields/Radicalsubform.php similarity index 100% rename from fields/radicalsubform.php rename to src/Fields/Radicalsubform.php diff --git a/radicalmultifieldhelper.php b/src/Helper/RadicalMultiFieldHelper.php similarity index 94% rename from radicalmultifieldhelper.php rename to src/Helper/RadicalMultiFieldHelper.php index 67f9c62..05d9c80 100644 --- a/radicalmultifieldhelper.php +++ b/src/Helper/RadicalMultiFieldHelper.php @@ -1,19 +1,20 @@ -getShortVersion(), '4.0', '<')) - { - return false; - } - - return true; - } - } \ No newline at end of file From 471510968d17c4db6455419afd71cd83883f7b3c Mon Sep 17 00:00:00 2001 From: dmitriitsymbal Date: Fri, 2 Feb 2024 15:48:02 +0300 Subject: [PATCH 02/13] add service-provider --- services/provider.php | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 services/provider.php diff --git a/services/provider.php b/services/provider.php new file mode 100644 index 0000000..b5e8725 --- /dev/null +++ b/services/provider.php @@ -0,0 +1,34 @@ +set(PluginInterface::class, + function (Container $container) { + $plugin = PluginHelper::getPlugin('fields', 'radicalmultifield'); + $subject = $container->get(DispatcherInterface::class); + + $plugin = new RadicalMultiField($subject, (array) $plugin); + $plugin->setApplication(Factory::getApplication()); + + return $plugin; + } + ); + } +}; From bfb3af7d94549692b17528244d48e7e6a18be756 Mon Sep 17 00:00:00 2001 From: dmitriitsymbal Date: Fri, 2 Feb 2024 15:53:27 +0300 Subject: [PATCH 03/13] fix manifest --- radicalmultifield.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/radicalmultifield.xml b/radicalmultifield.xml index 1747ea7..9f4dd1f 100644 --- a/radicalmultifield.xml +++ b/radicalmultifield.xml @@ -26,8 +26,10 @@ src + services layouts params + src tmpl From babad37a7238cdaab272d9f94d25fab438af9b66 Mon Sep 17 00:00:00 2001 From: dmitriitsymbal Date: Fri, 2 Feb 2024 16:35:04 +0300 Subject: [PATCH 04/13] fix errors --- layouts/import.php | 2 +- params/radicalmultifield.xml | 4 ++-- radicalmultifield.xml | 2 +- src/Extension/RadicalMultiField.php | 2 +- .../PluginlayoutField.php} | 9 ++++---- .../RadicalmultifieldField.php} | 22 +++++++++---------- .../RadicalsubformField.php} | 12 +++++----- 7 files changed, 26 insertions(+), 27 deletions(-) rename src/{Fields/Pluginlayout.php => Field/PluginlayoutField.php} (97%) rename src/{Fields/Radicalmultifield.php => Field/RadicalmultifieldField.php} (89%) rename src/{Fields/Radicalsubform.php => Field/RadicalsubformField.php} (78%) diff --git a/layouts/import.php b/layouts/import.php index 10f49a0..8029145 100644 --- a/layouts/import.php +++ b/layouts/import.php @@ -28,7 +28,7 @@ 'selector' => $class_select_button, 'params' => [ 'title' => Text::_('PLG_RADICAL_MULTI_FIELD_FIELD_IMPORT_SELECT'), - 'url' => Uri::root() . 'administrator/index.php' . $field_name, + 'url' => Uri::root() . 'administrator/index.php?option=com_ajax&plugin=radicalmultifield&group=fields&format=html&tmpl=component&name=' . $field_name, 'height' => '250px', 'width' => '400px', 'bodyHeight' => 70, diff --git a/params/radicalmultifield.xml b/params/radicalmultifield.xml index 1e1daca..cb16249 100644 --- a/params/radicalmultifield.xml +++ b/params/radicalmultifield.xml @@ -1,7 +1,7 @@
- -
+ +
- +
getTemplate() . '/'; + $fieldNode->setAttribute('addfieldprefix', 'Joomla\\Plugin\\Fields\\RadicalMultiField\\Field'); $fieldNode->setAttribute('template', $path); return $fieldNode; @@ -249,7 +250,6 @@ public function onCustomFieldsPrepareField($context, $item, $field) public function onContentPrepareForm(Form $form, $data) { - // Check if the field form is calling us if (strpos($form->getName(), 'com_fields.field') !== 0) { diff --git a/src/Fields/Pluginlayout.php b/src/Field/PluginlayoutField.php similarity index 97% rename from src/Fields/Pluginlayout.php rename to src/Field/PluginlayoutField.php index b2a1ab1..b2ecf95 100644 --- a/src/Fields/Pluginlayout.php +++ b/src/Field/PluginlayoutField.php @@ -1,4 +1,5 @@ -addScriptDeclaration("window.siteUrl = '" . Uri::root() . "'"); - JLoader::register('RadicalmultifieldHelper', JPATH_ROOT . DIRECTORY_SEPARATOR . implode(DIRECTORY_SEPARATOR, ['plugins', 'fields', 'radicalmultifield', 'radicalmultifieldhelper']) . '.php'); if (!empty($extension->params->get('extendfield')) && !empty($extension->params->get('extendfield'))) { @@ -259,19 +258,18 @@ public function getInput() { if ((int) $field->fieldparams->get('filesimport', 0)) { - $joomla = RadicalmultifieldHelper::isJoomla4() ? 'joomla4' : 'joomla3'; - HTMLHelper::stylesheet('plg_fields_radicalmultifield/' . $joomla . '/import.css', [ + HTMLHelper::stylesheet('plg_fields_radicalmultifield/import.css', [ 'version' => filemtime(__FILE__), 'relative' => true, ]); - HTMLHelper::script('plg_fields_radicalmultifield/' . $joomla . '/buttons.js', [ + HTMLHelper::script('plg_fields_radicalmultifield/buttons.js', [ 'version' => filemtime(__FILE__), 'relative' => true, ]); - HTMLHelper::script('plg_fields_radicalmultifield/' . $joomla . '/import.js', [ + HTMLHelper::script('plg_fields_radicalmultifield/import.js', [ 'version' => filemtime(__FILE__), 'relative' => true, ]); @@ -287,7 +285,7 @@ public function getInput() LayoutHelper::render('import', [ 'field_name' => $field->name, 'field_path' => $field_path - ], JPATH_ROOT . '/plugins/fields/radicalmultifield/layouts/' . $joomla) + ], JPATH_ROOT . '/plugins/fields/radicalmultifield/layouts') . $html . ""; diff --git a/src/Fields/Radicalsubform.php b/src/Field/RadicalsubformField.php similarity index 78% rename from src/Fields/Radicalsubform.php rename to src/Field/RadicalsubformField.php index c54d0f8..c96fe72 100644 --- a/src/Fields/Radicalsubform.php +++ b/src/Field/RadicalsubformField.php @@ -1,4 +1,5 @@ - Date: Fri, 9 Feb 2024 13:19:50 +0300 Subject: [PATCH 05/13] fix manifest --- params/radicalmultifield.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/params/radicalmultifield.xml b/params/radicalmultifield.xml index cb16249..04464d0 100644 --- a/params/radicalmultifield.xml +++ b/params/radicalmultifield.xml @@ -1,7 +1,7 @@ -
+
From d4ac9b9595b02e1416f774483349c5eb79e15391 Mon Sep 17 00:00:00 2001 From: dmitriitsymbal Date: Fri, 9 Feb 2024 15:35:02 +0300 Subject: [PATCH 06/13] remove legacy code --- layouts/repeatable-cards.php | 2 +- .../repeatable-cards/section-byfieldsets.php | 10 +++--- media/js/subform-repetable-cards.js | 10 +++--- tmpl/galleryforuikit2.php | 31 ++++++++++--------- tmpl/galleryforuikit3.php | 7 ++++- 5 files changed, 35 insertions(+), 25 deletions(-) diff --git a/layouts/repeatable-cards.php b/layouts/repeatable-cards.php index 39a4386..34dce04 100644 --- a/layouts/repeatable-cards.php +++ b/layouts/repeatable-cards.php @@ -61,7 +61,7 @@
-
diff --git a/layouts/repeatable-cards/section-byfieldsets.php b/layouts/repeatable-cards/section-byfieldsets.php index c7abea8..161e53a 100644 --- a/layouts/repeatable-cards/section-byfieldsets.php +++ b/layouts/repeatable-cards/section-byfieldsets.php @@ -7,6 +7,8 @@ * @license GNU General Public License version 2 or later; see LICENSE.txt */ +use Joomla\CMS\Language\Text; + defined('_JEXEC') or die; /** @@ -29,17 +31,17 @@ class="subform-repeatable-group subform-repeatable-group"
- + - + - + @@ -50,7 +52,7 @@ class="subform-repeatable-group subform-repeatable-group" getFieldsets() as $fieldset) : ?>
label)) : ?> - label); ?> + label); ?> getFieldset($fieldset->name) as $field) : ?> renderField(); ?> diff --git a/media/js/subform-repetable-cards.js b/media/js/subform-repetable-cards.js index 07b1ea3..0d84f1d 100644 --- a/media/js/subform-repetable-cards.js +++ b/media/js/subform-repetable-cards.js @@ -24,7 +24,7 @@ document.addEventListener('DOMContentLoaded', function (ev) { let val = inputs[i].value; //проверка на картинку - if (val.test('.')) { + if ((new RegExp('\.')).test(val)) { let arrayVal = val.split('.'); let exs = arrayVal.pop(); let exsImage = ['jpg', 'png', 'svg', 'jpeg', 'bmp', 'xcf', 'gif']; @@ -42,7 +42,7 @@ document.addEventListener('DOMContentLoaded', function (ev) { } //проверка на ютуб - if (val.test('youtu')) { + if ((new RegExp('youtu')).test(val)) { let id = youtubeParser(val); let image = 'https://img.youtube.com/vi/' + id + '/hqdefault.jpg'; @@ -146,7 +146,7 @@ document.addEventListener('DOMContentLoaded', function (ev) { } function randomInteger(min, max) { - var rand = min - 0.5 + Math.random() * (max - min + 1) + let rand = min - 0.5 + Math.random() * (max - min + 1) rand = Math.round(rand); return rand; } @@ -156,8 +156,8 @@ document.addEventListener('DOMContentLoaded', function (ev) { } function youtubeParser(url) { - var regExp = /^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#\&\?]*).*/; - var match = url.match(regExp); + let regExp = /^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#\&\?]*).*/; + let match = url.match(regExp); return (match && match[7].length == 11) ? match[7] : false; } diff --git a/tmpl/galleryforuikit2.php b/tmpl/galleryforuikit2.php index 02c6de9..a322786 100644 --- a/tmpl/galleryforuikit2.php +++ b/tmpl/galleryforuikit2.php @@ -10,12 +10,14 @@ defined('_JEXEC') or die; +use Joomla\Plugin\Fields\RadicalMultiField\Helper\RadicalMultiFieldHelper; + if (!$field->value) { return; } -$values = json_decode($field->value, JSON_OBJECT_AS_ARRAY); +$values = json_decode($field->value, JSON_OBJECT_AS_ARRAY); $listtype = $this->getListTypeFromField($field); ?> @@ -25,22 +27,23 @@ $row): ?> diff --git a/tmpl/galleryforuikit3.php b/tmpl/galleryforuikit3.php index c502ee4..00d0551 100644 --- a/tmpl/galleryforuikit3.php +++ b/tmpl/galleryforuikit3.php @@ -7,7 +7,12 @@ * @license GNU General Public License version 2 or later; see LICENSE.txt * @link https://delo-design.ru */ + defined('_JEXEC') or die; + +use Joomla\Plugin\Fields\RadicalMultiField\Helper\RadicalMultiFieldHelper; + + if (!$field->value) { return; @@ -35,7 +40,7 @@ } else { - $preview = RadicalmultifieldHelper::generateThumb($field, $row['image']); + $preview = RadicalMultiFieldHelper::generateThumb($field, $row['image']); } ?> From ff3f77d9936fdaad65480e1d9cbf6a7abcc59924 Mon Sep 17 00:00:00 2001 From: Sergey Tolkachyov Date: Tue, 21 May 2024 14:16:03 +0400 Subject: [PATCH 07/13] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=20=D0=BA=D0=BE=D0=BD=D1=82=D0=B5=D0=BA=D1=81=D1=82?= =?UTF-8?q?=20com=5Ffinder.article?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Extension/RadicalMultiField.php | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Extension/RadicalMultiField.php b/src/Extension/RadicalMultiField.php index 812f4d8..9c99e49 100644 --- a/src/Extension/RadicalMultiField.php +++ b/src/Extension/RadicalMultiField.php @@ -197,6 +197,7 @@ public function onCustomFieldsPrepareField($context, $item, $field) $template_item = [ 'com_content.article', + 'com_finder.article', 'com_users.user', 'com_contact.contact', ]; From bd5535000e3453a775bd9bc249aba36b27df1222 Mon Sep 17 00:00:00 2001 From: dmitriitsymbal Date: Mon, 3 Jun 2024 21:39:42 +0300 Subject: [PATCH 08/13] add attribute for upload field --- layouts/import.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/layouts/import.php b/layouts/import.php index 8029145..18e6d7b 100644 --- a/layouts/import.php +++ b/layouts/import.php @@ -16,6 +16,8 @@ '; $upload = new QuantumuploadField(); + $upload->__set('scope', 'images'); + $upload->__set('directory', $field_path); $upload->setup(new SimpleXMLElement($field), ''); echo $upload->getInput(); From a7122269ec244d8af8d8cca873c7db38957e985e Mon Sep 17 00:00:00 2001 From: dmitriitsymbal Date: Wed, 5 Jun 2024 16:43:59 +0300 Subject: [PATCH 09/13] fix ext --- src/Helper/RadicalMultiFieldHelper.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Helper/RadicalMultiFieldHelper.php b/src/Helper/RadicalMultiFieldHelper.php index 05d9c80..d2a4b56 100644 --- a/src/Helper/RadicalMultiFieldHelper.php +++ b/src/Helper/RadicalMultiFieldHelper.php @@ -452,7 +452,7 @@ public static function generateThumb(&$fieldOrParams, $source, $thumb_path = nul $paths = explode(DIRECTORY_SEPARATOR, $source); $file = array_pop($paths); $fileSplit = explode('.', $file); - $fileExt = mb_strtolower(array_pop($fileSplit)); + $fileExt = preg_replace('#\?.*?$#', '',mb_strtolower(array_pop($fileSplit))); $extAccept = ['jpg', 'jpeg', 'png', 'gif', 'webp']; if (!in_array($fileExt, $extAccept)) From 2e80becf84e714cb9ab51a97c45d333b4066a3bb Mon Sep 17 00:00:00 2001 From: dmitriitsymbal Date: Wed, 5 Jun 2024 16:45:29 +0300 Subject: [PATCH 10/13] fix source --- .idea/.gitignore | 8 +++++ .idea/GitLink.xml | 6 ++++ .idea/codeStyles/Project.xml | 33 +++++++++++++++++++ .idea/codeStyles/codeStyleConfig.xml | 5 +++ .idea/deployment.xml | 16 +++++++++ .../includes/PHP Class Doc Comment.php | 5 +++ .../includes/PHP File Header.php | 7 ++++ .../includes/PHP Function Doc Comment.php | 9 +++++ .../includes/PHP Property Doc Comment.php | 4 +++ .idea/git_toolbox_prj.xml | 15 +++++++++ .idea/modules.xml | 8 +++++ .idea/php.xml | 27 +++++++++++++++ .idea/radicalmultifield.iml | 8 +++++ .idea/vcs.xml | 6 ++++ 14 files changed, 157 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/GitLink.xml create mode 100644 .idea/codeStyles/Project.xml create mode 100644 .idea/codeStyles/codeStyleConfig.xml create mode 100644 .idea/deployment.xml create mode 100644 .idea/fileTemplates/includes/PHP Class Doc Comment.php create mode 100644 .idea/fileTemplates/includes/PHP File Header.php create mode 100644 .idea/fileTemplates/includes/PHP Function Doc Comment.php create mode 100644 .idea/fileTemplates/includes/PHP Property Doc Comment.php create mode 100644 .idea/git_toolbox_prj.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/php.xml create mode 100644 .idea/radicalmultifield.iml create mode 100644 .idea/vcs.xml diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/GitLink.xml b/.idea/GitLink.xml new file mode 100644 index 0000000..009597c --- /dev/null +++ b/.idea/GitLink.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml new file mode 100644 index 0000000..7e1684e --- /dev/null +++ b/.idea/codeStyles/Project.xml @@ -0,0 +1,33 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml new file mode 100644 index 0000000..79ee123 --- /dev/null +++ b/.idea/codeStyles/codeStyleConfig.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/.idea/deployment.xml b/.idea/deployment.xml new file mode 100644 index 0000000..247db6b --- /dev/null +++ b/.idea/deployment.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/fileTemplates/includes/PHP Class Doc Comment.php b/.idea/fileTemplates/includes/PHP Class Doc Comment.php new file mode 100644 index 0000000..7eebb59 --- /dev/null +++ b/.idea/fileTemplates/includes/PHP Class Doc Comment.php @@ -0,0 +1,5 @@ +/** + * @package ${NAMESPACE} + * + * @since version + */ \ No newline at end of file diff --git a/.idea/fileTemplates/includes/PHP File Header.php b/.idea/fileTemplates/includes/PHP File Header.php new file mode 100644 index 0000000..753bb6c --- /dev/null +++ b/.idea/fileTemplates/includes/PHP File Header.php @@ -0,0 +1,7 @@ +/** + * @package ${NAMESPACE} + * @subpackage + * + * @copyright A copyright + * @license A "Slug" license name e.g. GPL2 + */ \ No newline at end of file diff --git a/.idea/fileTemplates/includes/PHP Function Doc Comment.php b/.idea/fileTemplates/includes/PHP Function Doc Comment.php new file mode 100644 index 0000000..7c138a0 --- /dev/null +++ b/.idea/fileTemplates/includes/PHP Function Doc Comment.php @@ -0,0 +1,9 @@ +/** +${PARAM_DOC} +* +#if (${TYPE_HINT} != "void") * @return ${TYPE_HINT} +#end +* +* @since version +${THROWS_DOC} +*/ diff --git a/.idea/fileTemplates/includes/PHP Property Doc Comment.php b/.idea/fileTemplates/includes/PHP Property Doc Comment.php new file mode 100644 index 0000000..c032b10 --- /dev/null +++ b/.idea/fileTemplates/includes/PHP Property Doc Comment.php @@ -0,0 +1,4 @@ +/** + * @var ${TYPE_HINT} + * @since version + */ diff --git a/.idea/git_toolbox_prj.xml b/.idea/git_toolbox_prj.xml new file mode 100644 index 0000000..02b915b --- /dev/null +++ b/.idea/git_toolbox_prj.xml @@ -0,0 +1,15 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..8cc7514 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/php.xml b/.idea/php.xml new file mode 100644 index 0000000..ea357ca --- /dev/null +++ b/.idea/php.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/radicalmultifield.iml b/.idea/radicalmultifield.iml new file mode 100644 index 0000000..c956989 --- /dev/null +++ b/.idea/radicalmultifield.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file From 09829c20a562948eddfa74d8e1f4e17181c9f103 Mon Sep 17 00:00:00 2001 From: dmitriitsymbal Date: Sun, 9 Jun 2024 22:40:18 +0300 Subject: [PATCH 11/13] fix path --- src/Helper/RadicalMultiFieldHelper.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Helper/RadicalMultiFieldHelper.php b/src/Helper/RadicalMultiFieldHelper.php index d2a4b56..d4b30c7 100644 --- a/src/Helper/RadicalMultiFieldHelper.php +++ b/src/Helper/RadicalMultiFieldHelper.php @@ -449,10 +449,11 @@ public static function loadClassExtendField($path) public static function generateThumb(&$fieldOrParams, $source, $thumb_path = null) { $source = str_replace(JPATH_ROOT . DIRECTORY_SEPARATOR, '', $source); + $source = preg_replace('#\#.*?$#', '', $source); $paths = explode(DIRECTORY_SEPARATOR, $source); $file = array_pop($paths); $fileSplit = explode('.', $file); - $fileExt = preg_replace('#\?.*?$#', '',mb_strtolower(array_pop($fileSplit))); + $fileExt = preg_replace('#\?.*?$#', '', mb_strtolower(array_pop($fileSplit))); $extAccept = ['jpg', 'jpeg', 'png', 'gif', 'webp']; if (!in_array($fileExt, $extAccept)) From c5b4202fb92df996e08e8314fb5f4c75dda0af9d Mon Sep 17 00:00:00 2001 From: dmitriitsymbal Date: Mon, 24 Jun 2024 13:17:12 +0300 Subject: [PATCH 12/13] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20gitignore?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..723ef36 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.idea \ No newline at end of file From 5ac9064019b867df1452a5a0491a18d6454b845e Mon Sep 17 00:00:00 2001 From: dmitriitsymbal Date: Mon, 24 Jun 2024 13:20:04 +0300 Subject: [PATCH 13/13] =?UTF-8?q?=D1=83=D0=B4=D0=B0=D0=BB=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=BF=D0=B0=D0=BF=D0=BA=D1=83=20.idea?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/.gitignore | 8 ----- .idea/GitLink.xml | 6 ---- .idea/codeStyles/Project.xml | 33 ------------------- .idea/codeStyles/codeStyleConfig.xml | 5 --- .idea/deployment.xml | 16 --------- .../includes/PHP Class Doc Comment.php | 5 --- .../includes/PHP File Header.php | 7 ---- .../includes/PHP Function Doc Comment.php | 9 ----- .../includes/PHP Property Doc Comment.php | 4 --- .idea/git_toolbox_prj.xml | 15 --------- .idea/modules.xml | 8 ----- .idea/php.xml | 27 --------------- .idea/radicalmultifield.iml | 8 ----- .idea/vcs.xml | 6 ---- 14 files changed, 157 deletions(-) delete mode 100644 .idea/.gitignore delete mode 100644 .idea/GitLink.xml delete mode 100644 .idea/codeStyles/Project.xml delete mode 100644 .idea/codeStyles/codeStyleConfig.xml delete mode 100644 .idea/deployment.xml delete mode 100644 .idea/fileTemplates/includes/PHP Class Doc Comment.php delete mode 100644 .idea/fileTemplates/includes/PHP File Header.php delete mode 100644 .idea/fileTemplates/includes/PHP Function Doc Comment.php delete mode 100644 .idea/fileTemplates/includes/PHP Property Doc Comment.php delete mode 100644 .idea/git_toolbox_prj.xml delete mode 100644 .idea/modules.xml delete mode 100644 .idea/php.xml delete mode 100644 .idea/radicalmultifield.iml delete mode 100644 .idea/vcs.xml diff --git a/.idea/.gitignore b/.idea/.gitignore deleted file mode 100644 index 13566b8..0000000 --- a/.idea/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml -# Editor-based HTTP Client requests -/httpRequests/ -# Datasource local storage ignored files -/dataSources/ -/dataSources.local.xml diff --git a/.idea/GitLink.xml b/.idea/GitLink.xml deleted file mode 100644 index 009597c..0000000 --- a/.idea/GitLink.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - \ No newline at end of file diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml deleted file mode 100644 index 7e1684e..0000000 --- a/.idea/codeStyles/Project.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml deleted file mode 100644 index 79ee123..0000000 --- a/.idea/codeStyles/codeStyleConfig.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - \ No newline at end of file diff --git a/.idea/deployment.xml b/.idea/deployment.xml deleted file mode 100644 index 247db6b..0000000 --- a/.idea/deployment.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/fileTemplates/includes/PHP Class Doc Comment.php b/.idea/fileTemplates/includes/PHP Class Doc Comment.php deleted file mode 100644 index 7eebb59..0000000 --- a/.idea/fileTemplates/includes/PHP Class Doc Comment.php +++ /dev/null @@ -1,5 +0,0 @@ -/** - * @package ${NAMESPACE} - * - * @since version - */ \ No newline at end of file diff --git a/.idea/fileTemplates/includes/PHP File Header.php b/.idea/fileTemplates/includes/PHP File Header.php deleted file mode 100644 index 753bb6c..0000000 --- a/.idea/fileTemplates/includes/PHP File Header.php +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @package ${NAMESPACE} - * @subpackage - * - * @copyright A copyright - * @license A "Slug" license name e.g. GPL2 - */ \ No newline at end of file diff --git a/.idea/fileTemplates/includes/PHP Function Doc Comment.php b/.idea/fileTemplates/includes/PHP Function Doc Comment.php deleted file mode 100644 index 7c138a0..0000000 --- a/.idea/fileTemplates/includes/PHP Function Doc Comment.php +++ /dev/null @@ -1,9 +0,0 @@ -/** -${PARAM_DOC} -* -#if (${TYPE_HINT} != "void") * @return ${TYPE_HINT} -#end -* -* @since version -${THROWS_DOC} -*/ diff --git a/.idea/fileTemplates/includes/PHP Property Doc Comment.php b/.idea/fileTemplates/includes/PHP Property Doc Comment.php deleted file mode 100644 index c032b10..0000000 --- a/.idea/fileTemplates/includes/PHP Property Doc Comment.php +++ /dev/null @@ -1,4 +0,0 @@ -/** - * @var ${TYPE_HINT} - * @since version - */ diff --git a/.idea/git_toolbox_prj.xml b/.idea/git_toolbox_prj.xml deleted file mode 100644 index 02b915b..0000000 --- a/.idea/git_toolbox_prj.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml deleted file mode 100644 index 8cc7514..0000000 --- a/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/.idea/php.xml b/.idea/php.xml deleted file mode 100644 index ea357ca..0000000 --- a/.idea/php.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/radicalmultifield.iml b/.idea/radicalmultifield.iml deleted file mode 100644 index c956989..0000000 --- a/.idea/radicalmultifield.iml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index 35eb1dd..0000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file