diff --git a/plugins/system/helixultimate/assets/css/frontend-editor.css b/plugins/system/helixultimate/assets/css/frontend-editor.css
index 5eaf678f..9fff9186 100644
--- a/plugins/system/helixultimate/assets/css/frontend-editor.css
+++ b/plugins/system/helixultimate/assets/css/frontend-editor.css
@@ -602,3 +602,43 @@ body.contentpane.joomla4.layout-modal .js-stools-field-list + .js-stools-field-l
text-indent: 0;
content: '×';
}
+
+/* Media Manager */
+.subhead {
+ position: sticky;
+ top: 0;
+ right: 0;
+ left: 0;
+ z-index: 1000;
+ width: auto;
+ min-height: 43px;
+ padding: 10px 0;
+ color: #495057;
+ background: white;
+ box-shadow: -3px -2px 22px #ddd;
+}
+
+.subhead.noshadow {
+ box-shadow: none;
+}
+
+.subhead .btn {
+ /* --subhead-btn-accent: #495057; */
+ padding: 0 1rem;
+ margin: 5px 0;
+ font-size: 1rem;
+ line-height: 2.45rem;
+ color: #495057;
+ background: white;
+ border-color: #adb5bd;
+}
+
+.subhead joomla-toolbar-button, .subhead .btn-group {
+ -webkit-margin-start: 0.75rem;
+ margin-inline-start: 0.75rem;
+}
+
+.subhead joomla-toolbar-button:first-child, .subhead .btn-group:first-child {
+ -webkit-margin-start: 0;
+ margin-inline-start: 0;
+}
diff --git a/plugins/system/helixultimate/html/layouts/form/field/media.php b/plugins/system/helixultimate/html/layouts/form/field/media.php
index 8600e24e..4a6e75e3 100644
--- a/plugins/system/helixultimate/html/layouts/form/field/media.php
+++ b/plugins/system/helixultimate/html/layouts/form/field/media.php
@@ -1,85 +1,84 @@
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
-defined('JPATH_BASE') or die;
+defined('_JEXEC') or die;
+use Joomla\CMS\Component\ComponentHelper;
+use Joomla\CMS\Factory;
+use Joomla\CMS\Helper\MediaHelper;
+use Joomla\CMS\HTML\HTMLHelper;
+use Joomla\CMS\Language\Text;
+use Joomla\CMS\Router\Route;
use Joomla\CMS\Uri\Uri;
extract($displayData);
-// Load the modal behavior script.
-JHtml::_('behavior.modal');
-
-// Include jQuery
-JHtml::_('jquery.framework');
-JHtml::_('script', 'media/mediafield-mootools.min.js', array('version' => 'auto', 'relative' => true, 'framework' => true));
-
-// Tooltip for INPUT showing whole image path
-$options = array(
- 'onShow' => 'jMediaRefreshImgpathTip',
-);
-
-JHtml::_('behavior.tooltip', '.hasTipImgpath', $options);
-
-if (!empty($class))
-{
- $class .= ' form-control hasTipImgpath';
-}
-else
-{
- $class = 'form-control hasTipImgpath';
-}
+/**
+ * Layout variables
+ * -----------------
+ * @var string $asset The asset text
+ * @var string $authorField The label text
+ * @var integer $authorId The author id
+ * @var string $class The class text
+ * @var boolean $disabled True if field is disabled
+ * @var string $folder The folder text
+ * @var string $id The label text
+ * @var string $link The link text
+ * @var string $name The name text
+ * @var string $preview The preview image relative path
+ * @var integer $previewHeight The image preview height
+ * @var integer $previewWidth The image preview width
+ * @var string $onchange The onchange text
+ * @var boolean $readonly True if field is readonly
+ * @var integer $size The size text
+ * @var string $value The value text
+ * @var string $src The path and filename of the image
+ * @var array $mediaTypes The supported media types for the Media Manager
+ * @var array $imagesExt The supported extensions for images
+ * @var array $audiosExt The supported extensions for audios
+ * @var array $videosExt The supported extensions for videos
+ * @var array $documentsExt The supported extensions for documents
+ * @var string $dataAttribute Miscellaneous data attributes preprocessed for HTML output
+ * @var array $dataAttributes Miscellaneous data attribute for eg, data-*
+ */
$attr = '';
-$attr .= ' title="' . htmlspecialchars('', ENT_COMPAT, 'UTF-8') . '"';
-
// Initialize some field attributes.
-$attr .= !empty($class) ? ' class="input-small field-media-input ' . $class . '"' : ' class="input-small"';
+$attr .= !empty($class) ? ' class="form-control field-media-input ' . $class . '"' : ' class="form-control field-media-input"';
$attr .= !empty($size) ? ' size="' . $size . '"' : '';
+$attr .= $dataAttribute;
// Initialize JavaScript field attributes.
$attr .= !empty($onchange) ? ' onchange="' . $onchange . '"' : '';
-// The text field.
-echo '
';
-
-// The Preview.
-$showPreview = true;
-$showAsTooltip = false;
-
-switch ($preview)
-{
+switch ($preview) {
case 'no': // Deprecated parameter value
case 'false':
case 'none':
$showPreview = false;
break;
-
case 'yes': // Deprecated parameter value
case 'true':
case 'show':
- break;
case 'tooltip':
default:
- $showAsTooltip = true;
- $options = array(
- 'onShow' => 'jMediaRefreshPreviewTip',
- );
- JHtml::_('behavior.tooltip', '.hasTipPreview', $options);
+ $showPreview = true;
break;
}
// Pre fill the contents of the popover
if ($showPreview)
{
- if ($value && file_exists(JPATH_ROOT . '/' . $value))
+ $cleanValue = MediaHelper::getCleanMediaFieldValue($value);
+
+ if ($cleanValue && file_exists(JPATH_ROOT . '/' . $cleanValue))
{
$src = Uri::root() . $value;
}
@@ -100,104 +99,92 @@
'style' => $style,
);
- $img = JHtml::_('image', $src, JText::_('JLIB_FORM_MEDIA_PREVIEW_ALT'), $imgattr);
- $previewImg = '
' . $img . '
';
- $previewImgEmpty = '
'
- . JText::_('JLIB_FORM_MEDIA_PREVIEW_EMPTY') . '
';
+ $img = HTMLHelper::_('image', $src, Text::_('JLIB_FORM_MEDIA_PREVIEW_ALT'), $imgattr);
- if ($showAsTooltip)
- {
- echo '
';
- $tooltip = $previewImgEmpty . $previewImg;
- $options = array(
- 'title' => JText::_('JLIB_FORM_MEDIA_PREVIEW_SELECTED_IMAGE'),
- 'text' => '',
- 'class' => 'input-group-text hasTipPreview'
- );
-
- echo JHtml::_('tooltip', $tooltip, $options);
- echo '
';
- }
- else
- {
- echo '
';
- echo ' ' . $previewImgEmpty;
- echo ' ' . $previewImg;
- echo '
';
- }
-}
+ $previewImg = '
' . $img . '
';
+ $previewImgEmpty = '
'
+ . Text::_('JLIB_FORM_MEDIA_PREVIEW_EMPTY') . '
';
-echo '
';
+ $showPreview = 'static';
+}
-?>
+// The url for the modal
+$url = ($readonly ? ''
+ : ($link ?: 'index.php?option=com_media&view=media&tmpl=component&mediatypes=' . $mediaTypes
+ . '&asset=' . $asset . '&author=' . $authorId)
+ . '&fieldid={field-media-id}&path=' . $folder);
+
+// Correctly route the url to ensure it's correctly using sef modes and subfolders
+$url = Route::_($url);
+$doc = Factory::getDocument();
+$wam = $doc->getWebAssetManager();
+
+$wam->useScript('webcomponent.media-select');
+
+Text::script('JFIELD_MEDIA_LAZY_LABEL');
+Text::script('JFIELD_MEDIA_ALT_LABEL');
+Text::script('JFIELD_MEDIA_ALT_CHECK_LABEL');
+Text::script('JFIELD_MEDIA_ALT_CHECK_DESC_LABEL');
+Text::script('JFIELD_MEDIA_CLASS_LABEL');
+Text::script('JFIELD_MEDIA_FIGURE_CLASS_LABEL');
+Text::script('JFIELD_MEDIA_FIGURE_CAPTION_LABEL');
+Text::script('JFIELD_MEDIA_LAZY_LABEL');
+Text::script('JFIELD_MEDIA_SUMMARY_LABEL');
+Text::script('JFIELD_MEDIA_EMBED_CHECK_DESC_LABEL');
+Text::script('JFIELD_MEDIA_DOWNLOAD_CHECK_DESC_LABEL');
+Text::script('JFIELD_MEDIA_DOWNLOAD_CHECK_LABEL');
+Text::script('JFIELD_MEDIA_EMBED_CHECK_LABEL');
+Text::script('JFIELD_MEDIA_WIDTH_LABEL');
+Text::script('JFIELD_MEDIA_TITLE_LABEL');
+Text::script('JFIELD_MEDIA_HEIGHT_LABEL');
+Text::script('JFIELD_MEDIA_UNSUPPORTED');
+Text::script('JFIELD_MEDIA_DOWNLOAD_FILE');
+Text::script('JLIB_APPLICATION_ERROR_SERVER');
+Text::script('JLIB_FORM_MEDIA_PREVIEW_EMPTY', true);
+
+$modalHTML = HTMLHelper::_(
+ 'bootstrap.renderModal',
+ 'imageModal_' . $id,
+ [
+ 'url' => $url,
+ 'title' => Text::_('JLIB_FORM_CHANGE_IMAGE'),
+ 'closeButton' => true,
+ 'height' => '100%',
+ 'width' => '100%',
+ 'modalWidth' => '80',
+ 'bodyHeight' => '60',
+ 'footer' => '
'
+ . '
',
+ ]
+);
-useStyle('webcomponent.field-media')
+ ->useScript('webcomponent.field-media');
- if(!$readonly)
- {
- if(!$link)
- {
- $modalLink .= 'index.php?option=com_media&view=images&tmpl=component&asset=' . $asset . '&author=' . $authorField;
- }
- else
- {
- $modalLink .= $link;
- }
-
- $modalLink .= '&fieldid=' . $id . '&folder=' . $folder;
- }
-?>
+if (count($doc->getScriptOptions('media-picker')) === 0) {
+ $doc->addScriptOptions('media-picker', [
+ 'images' => $imagesExt,
+ 'audios' => $audiosExt,
+ 'videos' => $videosExt,
+ 'documents' => $documentsExt,
+ ]);
+}
-addScriptDeclaration(
- "
- jQuery(function($) {
- window.parent.jModalClose = function(e) {
- let bsModal = $('.modal.show');
- let mtModal = $('#sbox-window');
- let frameContents = $('#sbox-content iframe').contents();
- let isMediaModal = frameContents.find('body.com-media.view-images').length > 0;
-
- if (bsModal.length) {
- if (isMediaModal) {
- if ($('.img-preview.selected').length) {
- bsModal.modal('hide');
- }
- }
- } else if (mtModal.length) {
- if (isMediaModal) {
-
- let imageListFrame = frameContents.find('iframe').contents().find('body.com-media.view-imagesList');
-
- if (imageListFrame.find('.img-preview.selected').length) {
- SqueezeBox.close();
- }
- }
- }
- }
- });
- "
-);
?>
-
-
-
-
-
-
-
-
-
+
base-path="" root-folder="get('file_path', 'images'); ?>" url="" modal-container=".modal" modal-width="100%" modal-height="400px" input=".field-media-input" button-select=".button-select" button-clear=".button-clear" button-save-selected=".button-save-selected" preview="static" preview-container=".field-media-preview" preview-width="" preview-height="" supported-extensions=" $imagesAllowedExt, 'audios' => $audiosAllowedExt, 'videos' => $videosAllowedExt, 'documents' => $documentsAllowedExt])); ?>">
+
+
+
+
+
+
+
+
+ >
+
+
+
+
-
\ No newline at end of file
+
diff --git a/plugins/system/helixultimate/html/layouts/form/field/media_j3.php b/plugins/system/helixultimate/html/layouts/form/field/media_j3.php
new file mode 100644
index 00000000..8600e24e
--- /dev/null
+++ b/plugins/system/helixultimate/html/layouts/form/field/media_j3.php
@@ -0,0 +1,203 @@
+ 'auto', 'relative' => true, 'framework' => true));
+
+// Tooltip for INPUT showing whole image path
+$options = array(
+ 'onShow' => 'jMediaRefreshImgpathTip',
+);
+
+JHtml::_('behavior.tooltip', '.hasTipImgpath', $options);
+
+if (!empty($class))
+{
+ $class .= ' form-control hasTipImgpath';
+}
+else
+{
+ $class = 'form-control hasTipImgpath';
+}
+
+$attr = '';
+
+$attr .= ' title="' . htmlspecialchars('
', ENT_COMPAT, 'UTF-8') . '"';
+
+// Initialize some field attributes.
+$attr .= !empty($class) ? ' class="input-small field-media-input ' . $class . '"' : ' class="input-small"';
+$attr .= !empty($size) ? ' size="' . $size . '"' : '';
+
+// Initialize JavaScript field attributes.
+$attr .= !empty($onchange) ? ' onchange="' . $onchange . '"' : '';
+
+// The text field.
+echo '
\ No newline at end of file
diff --git a/plugins/system/helixultimate/src/Core/HelixUltimate.php b/plugins/system/helixultimate/src/Core/HelixUltimate.php
index 584fb1bf..54c12553 100644
--- a/plugins/system/helixultimate/src/Core/HelixUltimate.php
+++ b/plugins/system/helixultimate/src/Core/HelixUltimate.php
@@ -239,6 +239,7 @@ function gtag(){dataLayer.push(arguments);}
*/
public function head()
{
+ $option = $this->input->get('option', '', 'STRING');
$view = $this->input->get('view', '', 'STRING');
$layout = $this->input->get('layout', 'default', 'STRING');
diff --git a/templates/shaper_helixultimate/component.php b/templates/shaper_helixultimate/component.php
index 450b78ff..40d09522 100644
--- a/templates/shaper_helixultimate/component.php
+++ b/templates/shaper_helixultimate/component.php
@@ -72,7 +72,7 @@
template . '/css/bootstrap.min.css' )) : ?>
-
+
@@ -91,9 +91,11 @@
= 4){
+ if (JVERSION >= 4)
+ {
$joomlaVersion = "joomla4";
- } ?>
+ }
+ ?>
diff --git a/templates/shaper_helixultimate/html/com_contact/contact/default_form.php b/templates/shaper_helixultimate/html/com_contact/contact/default_form.php
index 5874317b..d6f9257f 100644
--- a/templates/shaper_helixultimate/html/com_contact/contact/default_form.php
+++ b/templates/shaper_helixultimate/html/com_contact/contact/default_form.php
@@ -37,7 +37,7 @@
-
+
= 4) { ?>
diff --git a/templates/shaper_helixultimate/html/com_content/categories/default_items.php b/templates/shaper_helixultimate/html/com_content/categories/default_items.php
index 436f5ffd..6f1a2649 100644
--- a/templates/shaper_helixultimate/html/com_content/categories/default_items.php
+++ b/templates/shaper_helixultimate/html/com_content/categories/default_items.php
@@ -68,4 +68,4 @@
-
+
\ No newline at end of file
diff --git a/templates/shaper_helixultimate/html/com_content/category/blog_item.php b/templates/shaper_helixultimate/html/com_content/category/blog_item.php
index 94b3295e..58fd365e 100644
--- a/templates/shaper_helixultimate/html/com_content/category/blog_item.php
+++ b/templates/shaper_helixultimate/html/com_content/category/blog_item.php
@@ -15,8 +15,6 @@
use Joomla\CMS\Layout\LayoutHelper;
use Joomla\CMS\Router\Route;
use Joomla\CMS\Uri\Uri;
-use Joomla\Component\Content\Administrator\Extension\ContentComponent;
-use Joomla\Component\Content\Site\Helper\RouteHelper;
// Create a shortcut for params.
$params = $this->item->params;
@@ -33,7 +31,7 @@
$assocParam = (Associations::isEnabled() && $params->get('show_associations'));
$currentDate = Factory::getDate()->format('Y-m-d H:i:s');
-$isUnpublished = ($this->item->state == ContentComponent::CONDITION_UNPUBLISHED || $this->item->publish_up > $currentDate)
+$isUnpublished = JVERSION < 4 ? ($this->item->state == 0 || strtotime($this->item->publish_up) > strtotime(JFactory::getDate()) || ((strtotime($this->item->publish_down) < strtotime(JFactory::getDate())) && $this->item->publish_down != JFactory::getDbo()->getNullDate())) : ($this->item->state == Joomla\Component\Content\Administrator\Extension\ContentComponent::CONDITION_UNPUBLISHED || $this->item->publish_up > $currentDate)
|| ($this->item->publish_down < $currentDate && $this->item->publish_down !== null);
?>
@@ -48,15 +46,6 @@
item); ?>
-item->state == 0 || strtotime($this->item->publish_up) > strtotime(Factory::getDate())
- || ((strtotime($this->item->publish_down) < strtotime(Factory::getDate())) && $this->item->publish_down != Factory::getDbo()->getNullDate()))
- {
- $bodyClass = '';
- }
-?>
-
@@ -71,10 +60,12 @@
$this->item, 'params' => $params, 'position' => 'above', 'intro' => true)); ?>
+
get('show_tags', 1) && !$tmpl_params->get('show_list_tags',0) && !empty($this->item->tags->itemTags)) : ?>
item->tagLayout = new FileLayout('joomla.content.tags'); ?>
item->tagLayout->render($this->item->tags->itemTags); ?>
+
get('show_intro')) : ?>
item->event->afterDisplayTitle; ?>
diff --git a/templates/shaper_helixultimate/html/com_content/featured/default.php b/templates/shaper_helixultimate/html/com_content/featured/default.php
index 67c4743f..db5c88f4 100644
--- a/templates/shaper_helixultimate/html/com_content/featured/default.php
+++ b/templates/shaper_helixultimate/html/com_content/featured/default.php
@@ -34,6 +34,7 @@
itemprop="blogPost" itemscope itemtype="https://schema.org/BlogPosting">
item = &$item;
+ $this->item->leading = true;
echo $this->loadTemplate('item');
?>
diff --git a/templates/shaper_helixultimate/html/com_content/featured/default_item.php b/templates/shaper_helixultimate/html/com_content/featured/default_item.php
index 7b28bf5f..442617bf 100644
--- a/templates/shaper_helixultimate/html/com_content/featured/default_item.php
+++ b/templates/shaper_helixultimate/html/com_content/featured/default_item.php
@@ -23,89 +23,93 @@
// Check if associations are implemented. If they are, define the parameter.
$assocParam = (Associations::isEnabled() && $params->get('show_associations'));
+
+$currentDate = Factory::getDate()->format('Y-m-d H:i:s');
+$isUnpublished = JVERSION < 4 ? ($this->item->state == 0 || strtotime($this->item->publish_up) > strtotime(JFactory::getDate()) || ((strtotime($this->item->publish_down) < strtotime(JFactory::getDate())) && $this->item->publish_down != JFactory::getDbo()->getNullDate())) : ($this->item->state == Joomla\Component\Content\Administrator\Extension\ContentComponent::CONDITION_UNPUBLISHED || $this->item->publish_up > $currentDate)
+ || ($this->item->publish_down < $currentDate && $this->item->publish_down !== null);
?>
-item->state == 0 || strtotime($this->item->publish_up) > strtotime(Factory::getDate())
- || ((strtotime($this->item->publish_down) < strtotime(Factory::getDate())) && $this->item->publish_down != Factory::getDbo()->getNullDate())) : ?>
-
-
+
+
+
+
-get('show_title')) : ?>
-
+
+
+ item->state == 0) : ?>
+
-
-
-
-item->state == 0) : ?>
-
-
-item->publish_up) > strtotime(Factory::getDate())) : ?>
-
-
-item->publish_down) < strtotime(Factory::getDate())) && $this->item->publish_down != Factory::getDbo()->getNullDate()) : ?>
-
-
-
-
-item->event->afterDisplayTitle; ?>
-
-
-get('show_modify_date') || $params->get('show_publish_date') || $params->get('show_create_date')
- || $params->get('show_hits') || $params->get('show_category') || $params->get('show_parent_category') || $params->get('show_author') || $assocParam); ?>
-
-
- = 4 ) : ?>
- $this->item, 'params' => $params, 'position' => 'above')); ?>
-
- $this->item, 'params' => $params, 'position' => 'above')); ?>
+ item->publish_up) > strtotime(Factory::getDate())) : ?>
+
- get('show_tags', 1) && !empty($this->item->tags->itemTags)) : ?>
- item->tags->itemTags); ?>
+ item->publish_down) < strtotime(Factory::getDate())) && $this->item->publish_down != Factory::getDbo()->getNullDate()) : ?>
+
-
-image_intro) && !empty($images->image_intro)) : ?>
- item); ?>
-
+
+ item->event->afterDisplayTitle; ?>
+
+
+ get('show_modify_date') || $params->get('show_publish_date') || $params->get('show_create_date')
+ || $params->get('show_hits') || $params->get('show_category') || $params->get('show_parent_category') || $params->get('show_author') || $assocParam); ?>
+
+
+ = 4 ) : ?>
+ $this->item, 'params' => $params, 'position' => 'above')); ?>
+
+ $this->item, 'params' => $params, 'position' => 'above')); ?>
+
+ get('show_tags', 1) && !empty($this->item->tags->itemTags)) : ?>
+ item->tags->itemTags); ?>
+
+
+
+ image_intro) && !empty($images->image_intro)) : ?>
+ item); ?>
+
-
-item->event->beforeDisplayContent; ?>
+
+ item->event->beforeDisplayContent; ?>
-item->introtext; ?>
+ item->introtext; ?>
+
+
+
+ $this->item, 'params' => $params, 'position' => 'below')); ?>
+ get('show_tags', 1) && !empty($this->item->tags->itemTags)) : ?>
+ item->tags->itemTags); ?>
+
+
+
+ get('show_readmore') && $this->item->readmore) :
+ if ($params->get('access-view')) :
+ $link = Route::_(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid, $this->item->language));
+ else :
+ $menu = Factory::getApplication()->getMenu();
+ $active = $menu->getActive();
+ $itemId = $active->id;
+ $link = new Uri(Route::_('index.php?option=com_users&view=login&Itemid=' . $itemId, false));
+ $link->setVar('return', base64_encode(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid, $this->item->language)));
+ endif; ?>
+
+ $this->item, 'params' => $params, 'link' => $link)); ?>
+
+
-
-
- $this->item, 'params' => $params, 'position' => 'below')); ?>
- get('show_tags', 1) && !empty($this->item->tags->itemTags)) : ?>
- item->tags->itemTags); ?>
+
+
-
-
-get('show_readmore') && $this->item->readmore) :
- if ($params->get('access-view')) :
- $link = Route::_(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid, $this->item->language));
- else :
- $menu = Factory::getApplication()->getMenu();
- $active = $menu->getActive();
- $itemId = $active->id;
- $link = new Uri(Route::_('index.php?option=com_users&view=login&Itemid=' . $itemId, false));
- $link->setVar('return', base64_encode(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid, $this->item->language)));
- endif; ?>
-
- $this->item, 'params' => $params, 'link' => $link)); ?>
-
-
-
-item->state == 0 || strtotime($this->item->publish_up) > strtotime(Factory::getDate())
- || ((strtotime($this->item->publish_down) < strtotime(Factory::getDate())) && $this->item->publish_down != $this->db->getNullDate() )) : ?>
-
-
+
item->event->afterDisplayContent; ?>
diff --git a/templates/shaper_helixultimate/html/com_finder/search/default_form.php b/templates/shaper_helixultimate/html/com_finder/search/default_form.php
index 6b2ef404..a2f836b0 100644
--- a/templates/shaper_helixultimate/html/com_finder/search/default_form.php
+++ b/templates/shaper_helixultimate/html/com_finder/search/default_form.php
@@ -79,9 +79,8 @@
-
diff --git a/templates/shaper_helixultimate/html/layouts/joomla/content/intro_image.php b/templates/shaper_helixultimate/html/layouts/joomla/content/intro_image.php
index 569794d1..3b53d68c 100644
--- a/templates/shaper_helixultimate/html/layouts/joomla/content/intro_image.php
+++ b/templates/shaper_helixultimate/html/layouts/joomla/content/intro_image.php
@@ -50,11 +50,11 @@
get('link_titles') && $params->get('access-view')) : ?>
-
-
-
-
- get('link_titles') && $params->get('access-view')) : ?>
+
+
+
+
+ get('link_titles') && $params->get('access-view')) : ?>
diff --git a/templates/shaper_helixultimate/html/layouts/joomla/form/field/media.php b/templates/shaper_helixultimate/html/layouts/joomla/form/field/media.php
index 1af5ff35..ba0a0d3c 100644
--- a/templates/shaper_helixultimate/html/layouts/joomla/form/field/media.php
+++ b/templates/shaper_helixultimate/html/layouts/joomla/form/field/media.php
@@ -8,4 +8,11 @@
defined ('JPATH_BASE') or die();
-require \JPATH_ROOT . '/plugins/system/helixultimate/html/layouts/form/field/media.php';
\ No newline at end of file
+if (JVERSION < 4)
+{
+ require \JPATH_ROOT . '/plugins/system/helixultimate/html/layouts/form/field/media_j3.php';
+}
+else
+{
+ require \JPATH_ROOT . '/plugins/system/helixultimate/html/layouts/form/field/media.php';
+}
diff --git a/templates/shaper_helixultimate/scss/edit.scss b/templates/shaper_helixultimate/scss/edit.scss
new file mode 100644
index 00000000..a54dfb68
--- /dev/null
+++ b/templates/shaper_helixultimate/scss/edit.scss
@@ -0,0 +1,321 @@
+
+//article frontend editing
+body.helix-ultimate.hu.view-form.layout-edit{
+ .edit.item-page{
+ >#adminForm{
+ >fieldset{
+ >.joomla-tabs{
+ display: flex;
+ padding: 0;
+ margin: 0 !important;
+ overflow-x: auto;
+ overflow-y: hidden;
+ white-space: nowrap;
+ list-style: outside none none;
+ background-color: #f5f5f5;
+ border-color: #ccc #ccc currentcolor;
+ border-style: solid solid none;
+ border-width: 1px 1px 0;
+ border-radius: .25rem .25rem 0 0;
+ border-image: none;
+ box-shadow: 0 1px #fff inset, 0 2px 3px -3px rgb(0 0 0 / 15%), 0 -4px 0 rgb(0 0 0 / 5%) inset, 0 0 3px rgb(0 0 0 / 4%);
+
+ .nav-item>.nav-link{
+ color: var(--text-color);
+ }
+ .nav-item>.nav-link.active{
+ background-color: rgba(0,0,0,.03);
+ background-image: linear-gradient(to bottom,transparent,rgba(0,0,0,.05) 100%);
+ border-right: 0 none;
+ border-left: 0 none;
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+ box-shadow: 2px 0 1px -1px rgb(0 0 0 / 8%) inset, -2px 0 1px -1px rgb(0 0 0 / 8%) inset, 0 1px 0 rgb(0 0 0 / 2%) inset;
+ }
+ }
+ >.tab-content{
+ padding: 15px;
+ background-color: #fefefe;
+ border: 1px solid #ccc;
+ border-radius: 0 0 .25rem .25rem;
+ box-shadow: 0 0 3px rgb(0 0 0 / 4%);
+ }
+ #editor{
+ label#jform_title-lbl{
+ margin-bottom: 15px;
+ font-weight: 700;
+ }
+ .js-editor-tinymce{
+ display: flex;
+ flex-direction: column;
+ }
+ }
+ #publishing,
+ #metadata,
+ #attrib-helix_ultimate_blog_options{
+ >.control-group{
+ display: flex;
+ flex-direction: column;
+ >label{
+ margin-bottom: 5px;
+ font-weight: 700;
+ }
+ textarea{
+ width: 100%;
+ }
+ .calendar-container .time td{
+ select{
+ padding: 4px;
+ font-size: 13px;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
+body.contentpane.com-media.view-images{
+ .container-popup{
+ #imageForm{
+ >#messages+.well{
+ .row-fluid{
+ display: flex;
+ max-width: 100%;
+ .span8{
+ flex: auto;
+ >.controls{
+ margin-left: 10px;
+ display: flex;
+ max-width: 500px;
+ #folderlist_chzn,
+ #folderlist{
+ flex: auto;
+ }
+ }
+ #upbutton{
+ background: var(--bs-primary);
+ color: #fff;
+ margin: 0 5px;
+ }
+ }
+ }
+ }
+ .well{
+ >.row-fluid:not(:last-child) {
+ margin-bottom: 5px;
+ >.control-group:not(:last-child){
+ margin-bottom: 5px;
+ }
+ }
+ }
+ .btn.button-cancel{
+ background: var(--bs-danger);
+ color: #fff;
+ &:hover, &:focus{
+ border-color:var(--bs-danger);
+ }
+ }
+ }
+ }
+}
+body.contentpane.com-menus.view-items.layout-modal{
+ #adminForm{
+ .js-stools-container-bar{
+ display: flex;
+ }
+ }
+}
+body.contentpane.com-modules.view-modules.layout-modal{
+ .container-popup{
+ #adminForm{
+ >.js-stools{
+ .js-stools-container-bar{
+ display: flex;
+ align-items: center;
+ padding: 10px 0px;
+ >label{
+ margin-right: 10px;
+ }
+ >.btn-wrapper.input-append{
+ display: flex;
+ >button[type="submit"]{
+ background: var(--bs-primary);
+ color: #fff;
+ margin-left: 5px;
+ }
+ }
+ >.btn-wrapper{
+ >button[type="button"]{
+ background: var(--bs-primary);
+ color: #fff;
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+body.contentpane.com-content.view-articles.layout-modal,
+body.contentpane.com-menus.view-items.layout-modal,
+body.contentpane.com-contact.view-contacts.layout-modal{
+ .container-popup{
+ #adminForm{
+ >.js-stools{
+ padding-top: 15px;
+ .js-stools-container-bar{
+ margin-bottom: 10px;
+ >label{
+ margin-right: 10px;
+ }
+ >.btn-wrapper.input-append{
+ display: flex;
+ >button[type="submit"]{
+ background: var(--bs-primary);
+ color: #fff;
+ margin-left: 5px;
+ }
+ }
+ >.btn-wrapper{
+ >button[type="button"]{
+ background: var(--bs-primary);
+ color: #fff;
+ }
+ }
+ }
+ }
+ }
+ }
+}
+body.contentpane.com-content.view-articles.layout-modal,
+body.contentpane.com-contact.view-contacts.layout-modal{
+ .container-popup{
+ #adminForm{
+ .js-stools-container-bar{
+ display: flex;
+ align-items: center;
+ }
+ }
+ }
+}
+// For Joomla4
+body.helix-ultimate.hu.view-form.layout-edit {
+ .edit.item-page.joomla4 {
+ iframe {
+ width: 100%;
+ }
+ .jviewport-height70 {
+ height: 70vh;
+ }
+ [class*=jviewport-height] iframe {
+ height: 100%;
+ }
+ }
+}
+body.contentpane.joomla4.layout-modal{
+ div[role="tooltip"] {
+ display: none;
+ }
+ .js-stools-container-bar {
+ > .btn-toolbar {
+ align-items: center;
+ justify-content: space-between;
+ width: 100%;
+ > .ordering-select {
+ display: flex;
+ }
+ }
+ }
+ .custom-select,
+ .form-select {
+ display: block;
+ width: 100%;
+ padding: .6rem 4rem .6rem 1rem;
+ font-size: 13px;
+ font-weight: 400;
+ line-height: 1.25;
+ color: #22262a;
+ vertical-align: middle;
+ background-image: url(../images/select-bg.svg);
+ background-repeat: no-repeat;
+ background-position: right 1rem center;
+ background-size: 116rem;
+ border-radius: .25rem;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none
+ }
+
+ .custom-select:focus,
+ .form-select:focus {
+ border-color: #8894aa;
+ outline: 0;
+ box-shadow: 0 0 0 .25rem rgba(var(#000),
+ .25)
+ }
+
+ .form-select[multiple],
+ .form-select[size]:not([size="1"]),
+ [multiple].custom-select,
+ [size].custom-select:not([size="1"]) {
+ padding-right: 1rem;
+ background-image: none
+ }
+
+ .custom-select:disabled,
+ .form-select:disabled {
+ color: #6d757e;
+ background-color: #eaedf0
+ }
+
+ .custom-select:-moz-focusring,
+ .form-select:-moz-focusring {
+ color: transparent;
+ text-shadow: 0 0 0 #22262a
+ }
+ .js-stools-container-bar {
+ padding: 10px 20px;
+ }
+ .js-stools-container-bar .btn-toolbar {
+ justify-content: flex-end;
+ }
+ .js-stools-container-bar .btn-toolbar > * {
+ margin: 4px 0;
+ -webkit-margin-end: 8px;
+ margin-inline-end: 8px;
+ }
+ .js-stools-container-bar .btn-toolbar .js-stools-btn-clear {
+ background-color: #30638d;
+ border: 0;
+ }
+ .js-stools-container-bar .ordering-select {
+ display: flex;
+ }
+ .js-stools-container-filters {
+ display: none;
+ padding: 0 20px;
+ margin-bottom: 20px;
+ }
+ .js-stools-container-filters-visible {
+ display: grid;
+ grid-gap: 8px;
+ grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
+ padding: 10px;
+ background-color: #fff;
+ }
+ .js-stools-container-filters > * {
+ margin: 4px 0;
+ -webkit-margin-end: 8px;
+ margin-inline-end: 8px;
+ }
+ .js-stools-field-list + .js-stools-field-list {
+ -webkit-margin-start: 8px;
+ margin-inline-start: 8px;
+ }
+}
+.field-calendar{
+ >.js-calendar.hidden{
+ display: none;
+ }
+}
\ No newline at end of file
diff --git a/templates/shaper_helixultimate/scss/master.scss b/templates/shaper_helixultimate/scss/master.scss
index a8bebafb..f27a3bc8 100644
--- a/templates/shaper_helixultimate/scss/master.scss
+++ b/templates/shaper_helixultimate/scss/master.scss
@@ -9,6 +9,7 @@
@import 'legacy';
@import 'menu';
@import 'offcanvas';
+// @import 'edit';
@import 'animation';
@import 'preloaders';
-@import 'responsive';
+@import 'responsive';
\ No newline at end of file
diff --git a/templates/shaper_helixultimate/scss/theme.scss b/templates/shaper_helixultimate/scss/theme.scss
index 4d849230..a5b7df37 100644
--- a/templates/shaper_helixultimate/scss/theme.scss
+++ b/templates/shaper_helixultimate/scss/theme.scss
@@ -2428,3 +2428,9 @@ body.contentpane.com-contact.view-contacts.layout-modal {
}
}
}
+
+// misc
+.modal-dialog.jviewport-width80 {
+ width: 80vw;
+ max-width: none;
+}