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 = ''; - $previewImgEmpty = ''; + $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 = ''; -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 '
'; + +// The Preview. +$showPreview = true; +$showAsTooltip = false; + +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); + break; +} + +// Pre fill the contents of the popover +if ($showPreview) +{ + if ($value && file_exists(JPATH_ROOT . '/' . $value)) + { + $src = Uri::root() . $value; + } + else + { + $src = ''; + } + + $width = $previewWidth; + $height = $previewHeight; + $style = ''; + $style .= ($width > 0) ? 'max-width:' . $width . 'px;' : ''; + $style .= ($height > 0) ? 'max-height:' . $height . 'px;' : ''; + + $imgattr = array( + 'id' => $id . '_preview', + 'class' => 'media-preview', + 'style' => $style, + ); + + $img = JHtml::_('image', $src, JText::_('JLIB_FORM_MEDIA_PREVIEW_ALT'), $imgattr); + $previewImg = ''; + $previewImgEmpty = ''; + + 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 '
'; + } +} + +echo ' '; + +?> + + + +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(); + } + } + } + } + }); + " +); +?> + +
+ + + + + + + +
+
\ 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')) : ?> -

- get('link_titles') && $params->get('access-view')) : ?> -

+ escape($this->item->title); ?> - - - escape($this->item->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 @@ -
+
- escape($this->query->input) != '' || $this->params->get('allow_empty_query')) : ?>
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')) : ?> - -
- <?php echo htmlspecialchars($displayData->title, ENT_COMPAT, 'UTF-8'); ?> -
- get('link_titles') && $params->get('access-view')) : ?> + +
+ <?php echo htmlspecialchars($displayData->title, ENT_COMPAT, 'UTF-8'); ?> +
+ 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; +}