Version 5.0.13
This commit is contained in:
1 parent
b89858b2ff
commit
5efe744c5f
1407 files changed
+69690
-30177
No files matched your search
+176
-140
@@ -22,7 +22,7 @@
|
||||
{{endif}}
|
||||
]]></template>
|
||||
<template template_group="browse" template_name="featuredEntries" template_data="$featured" template_location="front" template_app="blog"><![CDATA[
|
||||
<section class='ipsBox ipsPull'>
|
||||
<section class='ipsBox ipsBox--featuredBlogEntries ipsPull'>
|
||||
<header class='ipsBox__header'>
|
||||
<h2>{lang="featured_entries"}</h2>
|
||||
{template="carouselNavigation" group="global" app="core" params="'blogs-featured-entries'"}
|
||||
@@ -33,7 +33,7 @@
|
||||
{{foreach $featured as $entry}}
|
||||
<article class='ipsData__item {$entry->ui( 'css' )} {{if $entry->hidden() OR $entry->status === 'draft'}}ipsModerated{{endif}}' {{if $entry->unread()}}data-ips-unread{{else}}data-ips-read{{endif}} {$entry->ui( 'dataAttributes' )}>
|
||||
<a href='{$entry->url()}' class="ipsLinkPanel" aria-hidden="true" tabindex="-1"><span>{lang="read_more_about" sprintf="$entry->name"}</span></a>
|
||||
<a href="{$entry->url()}" title='{lang="read_more_about" sprintf="$entry->name"}' class='ipsData__image'>
|
||||
<a href="{$entry->url()}" title='{lang="read_more_about" sprintf="$entry->name"}' class='ipsData__image' aria-hidden="true" tabindex="-1">
|
||||
{{if $entry->cover_photo}}
|
||||
<img src='{file="$entry->cover_photo" extension="blog_Entries"}' alt='' loading='lazy'>
|
||||
{{else}}
|
||||
@@ -123,7 +123,7 @@
|
||||
{template="indexButtons" group="browse" params="$blogs, $viewMode, TRUE, $category"}
|
||||
</div>
|
||||
{{endif}}
|
||||
<div class='ipsBox ipsPull'>
|
||||
<div class='ipsBox ipsBox--blogIndex ipsPull'>
|
||||
{$table|raw}
|
||||
</div>]]></template>
|
||||
<template template_group="browse" template_name="indexButtons" template_data="$blogs=array(), $viewMode=NULL, $forMobile=FALSE, $category=NULL" template_location="front" template_app="blog"><![CDATA[{{if \count( $blogs ) || \IPS\blog\Blog::canCreate()}}
|
||||
@@ -131,14 +131,16 @@
|
||||
{{if \count( $blogs )}}
|
||||
{{if \count( $blogs ) > 1}}
|
||||
<li>
|
||||
<a href='{url="app=blog&module=blogs&controller=browse&page=1&filter=my_blogs&sortby=blog_last_edate" seoTemplate="blogs"}' data-ipsMenu id='elMyBlogs' class='ipsButton ipsButton--text'><span>{lang="my_blogs"}</span><i class='fa-solid fa-caret-down'></i></a>
|
||||
<ul class='ipsMenu ipsMenu_normal ipsHide' id='elMyBlogs_menu'>
|
||||
{{foreach $blogs as $blog}}
|
||||
<li class='ipsMenu_item'>
|
||||
<a href='{$blog->url()}'>{$blog->_title}</a>
|
||||
</li>
|
||||
{{endforeach}}
|
||||
</ul>
|
||||
<button type="button" id="elMyBlogs" popovertarget="elMyBlogs_menu" class='ipsButton ipsButton--text'><span>{lang="my_blogs"}</span><i class='fa-solid fa-caret-down'></i></button>
|
||||
<i-dropdown popover id="elMyBlogs_menu">
|
||||
<div class="iDropdown">
|
||||
<ul class="iDropdown__items">
|
||||
{{foreach $blogs as $blog}}
|
||||
<li><a href='{$blog->url()}'>{$blog->_title}</a></li>
|
||||
{{endforeach}}
|
||||
</ul>
|
||||
</div>
|
||||
</i-dropdown>
|
||||
</li>
|
||||
{{endif}}
|
||||
{{if \IPS\blog\Blog::canCreate()}}
|
||||
@@ -154,17 +156,20 @@
|
||||
{{if \count( $blogs ) AND \IPS\blog\Blog::canOnAny( 'add' )}}
|
||||
<li>
|
||||
{{if \count( $blogs ) > 1}}
|
||||
<a class="ipsButton ipsButton--primary" href="#elCreateEntry_menu" data-ipsMenu id='elCreateEntry'><span>{lang="add_entry"}</span><i class='fa-solid fa-caret-down'></i></a>
|
||||
<ul class='ipsMenu ipsMenu_normal ipsHide' id='elCreateEntry_menu'>
|
||||
<li class='ipsMenu_title'>{lang="add_entry_to"}</li>
|
||||
{{foreach $blogs as $blog}}
|
||||
{{if $blog->disabled != 1}}
|
||||
<li class='ipsMenu_item'>
|
||||
<a href='{url="app=blog&module=blogs&controller=submit&id={$blog->id}" seoTemplate="blog_submit"}'>{$blog->_title}</a>
|
||||
</li>
|
||||
{{endif}}
|
||||
{{endforeach}}
|
||||
</ul>
|
||||
<button type="button" id="elCreateEntry" class='ipsButton ipsButton--primary' popovertarget="elCreateEntry_menu"><span>{lang="add_entry"}</span><i class='fa-solid fa-caret-down'></i></button>
|
||||
<i-dropdown id="elCreateEntry_menu" popover>
|
||||
<div class="iDropdown">
|
||||
<ul class="iDropdown__items">
|
||||
{{foreach $blogs as $blog}}
|
||||
{{if $blog->disabled != 1}}
|
||||
<li>
|
||||
<a href='{url="app=blog&module=blogs&controller=submit&id={$blog->id}" seoTemplate="blog_submit"}'>{$blog->_title}</a>
|
||||
</li>
|
||||
{{endif}}
|
||||
{{endforeach}}
|
||||
</ul>
|
||||
</div>
|
||||
</i-dropdown>
|
||||
{{else}}
|
||||
{{foreach $blogs as $blog}}
|
||||
{{if $blog->disabled != 1}}
|
||||
@@ -204,7 +209,7 @@
|
||||
{template="indexButtons" group="browse" params="$blogs, $viewMode, TRUE, $category"}
|
||||
</div>
|
||||
{{endif}}
|
||||
<section class='ipsBox ipsPull'>
|
||||
<section class='ipsBox ipsBox--blogIndexGrid ipsPull'>
|
||||
{{if \count($entries)}}
|
||||
<i-data>
|
||||
<div class="ipsData ipsData--grid ipsData--blog-entries">
|
||||
@@ -216,13 +221,17 @@
|
||||
{{else}}
|
||||
<p class="ipsEmptyMessage">{lang="no_entries_yet"}</p>
|
||||
{{endif}}
|
||||
</section>
|
||||
{{if $pagination['pages'] > 1}}
|
||||
{template="pagination" app="core" location="global" group="global" params="$pagination['url'], $pagination['pages'], $pagination['page'], $pagination['perpage'], TRUE, 'page'"}
|
||||
{{endif}}]]></template>
|
||||
{{if $pagination['pages'] > 1}}
|
||||
<div class="ipsButtonBar ipsButtonBar--bottom">
|
||||
<div class="ipsButtonBar__pagination" data-role="tablePagination">
|
||||
{template="pagination" app="core" location="global" group="global" params="$pagination['url'], $pagination['pages'], $pagination['page'], $pagination['perpage'], TRUE, 'page'"}
|
||||
</div>
|
||||
</div>
|
||||
{{endif}}
|
||||
</section>]]></template>
|
||||
<template template_group="browse" template_name="indexGridEntry" template_data="$entry, $primary=false, $table=false" template_location="front" template_app="blog"><![CDATA[<article class='ipsData__item {$entry->ui( 'css' )} {{if $entry->hidden() OR $entry->status === 'draft'}}ipsModerated{{endif}}' {{if $entry->unread()}}data-ips-unread{{else}}data-ips-read{{endif}} {$entry->ui( 'dataAttributes' )}>
|
||||
<a href='{$entry->url()}' class="ipsLinkPanel" aria-hidden="true" tabindex="-1"><span>{lang="read_more_about" sprintf="$entry->name"}</span></a>
|
||||
<a href="{$entry->url()}" title='{lang="read_more_about" sprintf="$entry->name"}' class='ipsData__image'>
|
||||
<a href="{$entry->url()}" title='{lang="read_more_about" sprintf="$entry->name"}' class='ipsData__image' aria-hidden="true" tabindex="-1" data-ips-hook='image'>
|
||||
{{if $entry->cover_photo}}
|
||||
<img src='{file="$entry->cover_photo" extension="blog_Entries"}' alt='' loading='lazy'>
|
||||
{{else}}
|
||||
@@ -230,17 +239,17 @@
|
||||
{{endif}}
|
||||
</a>
|
||||
<div class='ipsData__content'>
|
||||
<div class='ipsData__main'>
|
||||
<div class='ipsData__main' data-ips-hook='main'>
|
||||
{{if !\IPS\Request::i()->id}}
|
||||
<div class='i-color_soft i-link-color_inherit i-font-weight_600'><a href="{$entry->container()->url()}">{$entry->container()->_title}</a></div>
|
||||
{{elseif $entry->category_id}}
|
||||
<div class="i-color_soft i-link-color_inherit i-font-weight_600"><a href="{$entry->category()->url()}">{$entry->category()->name}</a></div>
|
||||
{{endif}}
|
||||
<div class='ipsData__title'>
|
||||
<div class='ipsData__title' data-ips-hook='title'>
|
||||
{{if $entry->prefix()}}
|
||||
{template="prefix" group="global" app="core" params="$entry->prefix( TRUE ), $entry->prefix()"}
|
||||
{{endif}}
|
||||
<div class='ipsBadges'>
|
||||
<div class='ipsBadges' data-ips-hook='badges'>
|
||||
{{foreach $entry->badges() as $badge}}{$badge|raw}{{endforeach}}
|
||||
</div>
|
||||
{{if $entry->unread()}}
|
||||
@@ -253,7 +262,7 @@
|
||||
<section class='ipsData__desc'>{$entry->truncated(TRUE)|raw}</section>
|
||||
</div>
|
||||
<div class="ipsData__extra">
|
||||
<ul class='ipsData__stats'>
|
||||
<ul class='ipsData__stats' data-ips-hook='stats'>
|
||||
{{foreach $entry->stats(TRUE) as $k => $v}}
|
||||
<li data-stat-type="{$k}">
|
||||
{{if $k === "comments"}}
|
||||
@@ -266,7 +275,7 @@
|
||||
</ul>
|
||||
<div class='ipsData__last'>
|
||||
{template="userPhoto" app="core" params="$entry->author(), 'fluid'" group="global"}
|
||||
<ul class='ipsData__last-text'>
|
||||
<ul class='ipsData__last-text' data-ips-hook='metadata'>
|
||||
<li class='ipsData__last-primary'>
|
||||
{{if $entry->category_id}}
|
||||
{lang="entry_name_with_cat" htmlsprintf="$entry->author()->link(),$entry->category()->link()"}
|
||||
@@ -291,7 +300,7 @@
|
||||
<li class='ipsData__blog-item ipsColumns ipsColumns--lines'>
|
||||
<div class='ipsColumns__secondary i-basis_380 i-background_2 i-text-align_center cBlogInfo {$blog->ui( 'css' )}' {$blog->ui( 'dataAttributes' )}>
|
||||
|
||||
<a href='{$blog->url()}' class='ipsCoverPhoto ipsCoverPhoto--blog-listing' data-url="{$blog->url()->csrf()}" style='--offset:{$coverPhoto->offset}' aria-hidden="true" tabindex="-1">
|
||||
<a href='{$blog->url()}' class='ipsCoverPhoto ipsCoverPhoto--blog-listing' data-url="{$blog->url()->csrf()}" style='--offset:{$coverPhoto->offset}' aria-hidden="true" tabindex="-1" data-ips-hook='image'>
|
||||
{{if $coverPhoto->file}}
|
||||
<div class='ipsCoverPhoto__container'>
|
||||
<img src='{$coverPhoto->file->url}' class='ipsCoverPhoto__image' alt='' loading='lazy'>
|
||||
@@ -305,11 +314,11 @@
|
||||
|
||||
<div class='i-padding_3'>
|
||||
|
||||
<h3 class='ipsTitle ipsTitle--h3'>
|
||||
<h3 class='ipsTitle ipsTitle--h3' data-ips-hook='title'>
|
||||
<a href='{$blog->url()}' title='{lang="go_to_blog" sprintf="$blog->_title"}'>{$blog->_title}</a>
|
||||
</h3>
|
||||
|
||||
<div class='i-font-weight_500 i-color_soft i-margin-top_1'>
|
||||
<div class='i-font-weight_500 i-color_soft i-margin-top_1' data-ips-hook='metadata'>
|
||||
{{if $blog->owner() instanceof \IPS\Member}}
|
||||
{lang="blog_by" htmlsprintf="$blog->owner()->link(), $blog->category()->link()"}
|
||||
{{elseif $club = $blog->club()}}
|
||||
@@ -319,7 +328,7 @@
|
||||
{{endif}}
|
||||
</div>
|
||||
|
||||
<ul class='ipsList ipsList--stacked ipsList--fill i-margin-top_3'>
|
||||
<ul class='ipsList ipsList--stacked ipsList--fill i-margin-top_3' data-ips-hook='stats'>
|
||||
<li><span class="ipsList__value">{$blog->_items}</span> <span class="ipsList__label">{lang="blog_entries" pluralize="$blog->_items"}</span></li>
|
||||
<li><span class="ipsList__value">{$blog->_comments}</span> <span class="ipsList__label">{lang="blog_comments" pluralize="$blog->_comments"}</span></li>
|
||||
<li><span class="ipsList__value">{$blog->num_views}</span> <span class="ipsList__label">{lang="blog_views" pluralize="$blog->num_views"}</span></li>
|
||||
@@ -336,10 +345,10 @@
|
||||
<div class='i-flex'>
|
||||
<div class='i-flex_11'>
|
||||
|
||||
<div class='ipsTitle ipsTitle--h4'>
|
||||
<div class='ipsTitle ipsTitle--h4' data-ips-hook='lastEntryTitle'>
|
||||
{$blog->latestEntry()->caption}
|
||||
|
||||
<div class='ipsBadges'>
|
||||
<div class='ipsBadges' data-ips-hook='lastEntryBadges'>
|
||||
{{foreach $blog->latestEntry()->badges() as $badge}}{$badge|raw}{{endforeach}}
|
||||
</div>
|
||||
|
||||
@@ -352,7 +361,7 @@
|
||||
</a>
|
||||
</h3>
|
||||
</div>
|
||||
<div class='ipsPhotoPanel ipsPhotoPanel--small i-margin-top_1 i-margin-bottom_2'>
|
||||
<div class='ipsPhotoPanel ipsPhotoPanel--small i-margin-top_1 i-margin-bottom_2' data-ips-hook='lastEntryMetaData'>
|
||||
{template="userPhoto" app="core" params="$blog->latestEntry()->author(), ''" group="global"}
|
||||
<div class='ipsPhotoPanel__text'>
|
||||
<p class='i-color_soft i-link-color_inherit'>{lang="latest_entry_by" htmlsprintf="trim( $blog->latestEntry()->author()->link() )"} {datetime="$blog->latestEntry()->date"}</p>
|
||||
@@ -375,9 +384,9 @@
|
||||
{{$recentEntries = iterator_to_array( $blog->_recentEntries );}}
|
||||
{{if \count( $recentEntries ) > 1}}
|
||||
<h4 class='ipsTitle ipsTitle--h5 ipsTitle--margin i-margin-top_4'>{lang="recent_entries"}</h4>
|
||||
<ul class='ipsBlogs__blog-listing-entries'>
|
||||
<ul class='ipsBlogs__blog-listing-entries' data-ips-hook='recentEntries'>
|
||||
{{foreach $recentEntries as $entry}}
|
||||
<li>
|
||||
<li class="{$entry->ui('css')}" {$entry->ui('dataAttributes')}>
|
||||
{template="userPhoto" app="core" params="$entry->author(), 'fluid'" group="global"}
|
||||
<div class='i-flex_11 i-flex i-gap_2 i-row-gap_0 i-flex-wrap_wrap'>
|
||||
<h4 class='{{if $entry->unread()}}font-weight_700{{else}}i-font-weight_500{{endif}} i-flex_11'>
|
||||
@@ -389,7 +398,7 @@
|
||||
</a>
|
||||
</h4>
|
||||
{{if !( $blog->owner() instanceof \IPS\Member )}}
|
||||
<p class='i-font-size_-1 i-color_soft'>{lang="byline_name_date" htmlsprintf="trim( $blog->latestEntry()->author()->link() ), \IPS\DateTime::ts( $blog->latestEntry()->date )->html(TRUE)"} {datetime=""}</p>
|
||||
<p class='i-font-size_-1 i-color_soft'>{lang="byline_name_date" htmlsprintf="trim( $blog->latestEntry()->author()->link() ), \IPS\DateTime::ts( $blog->latestEntry()->date )->html(TRUE)"}</p>
|
||||
{{endif}}
|
||||
</div>
|
||||
</li>
|
||||
@@ -418,7 +427,7 @@
|
||||
</ul>
|
||||
</i-data>]]></template>
|
||||
<template template_group="global" template_name="blogCategoryLink" template_data="$category" template_location="front" template_app="blog"><![CDATA[<a href="{$category->url()}">{$category->_title}</a>]]></template>
|
||||
<template template_group="global" template_name="categoryLink" template_data="$category" template_location="front" template_app="blog"><![CDATA[<a href="{$category->url()}" class="i-font-weight_600">{$category->name}</a>]]></template>
|
||||
<template template_group="global" template_name="categoryLink" template_data="$category" template_location="front" template_app="blog"><![CDATA[<a href="{$category->url()}">{$category->name}</a>]]></template>
|
||||
<template template_group="global" template_name="commentTableHeader" template_data="$comment, $entry" template_location="front" template_app="blog"><![CDATA[<!-- This template is used when viewing Profile > See my activity > Blog Entries -->
|
||||
<div class='i-flex i-gap_2'>
|
||||
<div class='i-flex_00 i-basis_40'>
|
||||
@@ -721,7 +730,7 @@
|
||||
</section>]]></template>
|
||||
<template template_group="view" template_name="blogHeader" template_data="$blog, $showCover=true" template_location="front" template_app="blog"><![CDATA[
|
||||
{{if $showCover}}
|
||||
<div id='elBlogHeader' class='ipsPageHeader ipsBox ipsPull'>
|
||||
<div id='elBlogHeader' class='ipsPageHeader ipsBox ipsBox--blogHeader ipsPull'>
|
||||
{$blog->coverPhoto()|raw}
|
||||
|
||||
{{if !( $blog->owner() instanceof \IPS\Member ) and \count( $blog->contributors() ) AND $showCover}}
|
||||
@@ -741,7 +750,7 @@
|
||||
</div>
|
||||
{{else}}
|
||||
|
||||
<div id='elBlogHeaderStats' class='ipsBox ipsPull ipsCoverPhotoMeta'>
|
||||
<div id='elBlogHeaderStats' class='ipsBox ipsBox--blogHeader ipsPull ipsCoverPhotoMeta' data-ips-hook='header'>
|
||||
|
||||
{{if ( $blog->owner() instanceof \IPS\Member ) && \IPS\Request::i()->module == 'view'}}
|
||||
<div class='ipsCoverPhoto__avatar'>
|
||||
@@ -751,14 +760,14 @@
|
||||
|
||||
<div class='ipsCoverPhoto__titles'>
|
||||
<div class='ipsCoverPhoto__title'>
|
||||
<h1>
|
||||
<h1 data-ips-hook='title'>
|
||||
<a href='{$blog->url()}' title='{lang="go_to_blog" sprintf="$blog->_title"}'>{$blog->_title}</a>
|
||||
</h1>
|
||||
{{if $blog->pinned}}
|
||||
<span class="ipsBadge ipsBadge--icon ipsBadge--positive" data-ipsTooltip title='{lang="pinned"}'><i class='fa-solid fa-thumbtack'></i></span>
|
||||
{{endif}}
|
||||
</div>
|
||||
<div class='ipsCoverPhoto__subTitle'>
|
||||
<div class='ipsCoverPhoto__subTitle' data-ips-hook='headerMetaData'>
|
||||
{{if $blog->owner() instanceof \IPS\Member}}
|
||||
{lang="blog_by" htmlsprintf="$blog->owner()->link(), $blog->category()->link()"}
|
||||
{{elseif $club = $blog->club()}}
|
||||
@@ -768,7 +777,7 @@
|
||||
{{endif}}
|
||||
</div>
|
||||
</div>
|
||||
<ul class='ipsCoverPhoto__stats'>
|
||||
<ul class='ipsCoverPhoto__stats' data-ips-hook='headerStats'>
|
||||
<li>
|
||||
<h4 class='ipsCoverPhoto__statTitle'>{lang="blog_entries" pluralize="$blog->_items"}</h4>
|
||||
<span class='ipsCoverPhoto__statValue'>{number="$blog->_items"}</span>
|
||||
@@ -802,7 +811,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>]]></template>
|
||||
<template template_group="view" template_name="blogTable" template_data="$table, $headers, $rows, $quickSearch" template_location="front" template_app="blog"><![CDATA[<section class='ipsBox ipsPull' data-baseurl='{$table->baseUrl}' data-resort='{$table->resortKey}' data-controller='core.global.core.table{{if $table->canModerate()}},core.front.core.moderation{{endif}}' id='elTable_{$table->uniqueId}'>
|
||||
<template template_group="view" template_name="blogTable" template_data="$table, $headers, $rows, $quickSearch" template_location="front" template_app="blog"><![CDATA[<section class='ipsBox ipsBox--blogTable ipsPull' data-baseurl='{$table->baseUrl}' data-resort='{$table->resortKey}' data-controller='core.global.core.table{{if $table->canModerate()}},core.front.core.moderation{{endif}}' id='elTable_{$table->uniqueId}'>
|
||||
{{if $table->title}}
|
||||
<h2 class='ipsInvisible'>{lang="$table->title"}</h2>
|
||||
{{endif}}
|
||||
@@ -819,18 +828,22 @@
|
||||
{{if ( isset( $table->sortOptions ) and !empty( $table->sortOptions ) ) OR $table->advancedSearch}}
|
||||
<li>
|
||||
{{if isset($table->sortOptions) }}
|
||||
<a href="#elSortByMenu_menu" class='ipsDataFilters__button' id="elSortByMenu_{$table->uniqueId}" rel="nofollow" data-role="sortButton" data-ipsMenu data-ipsMenu-activeClass="ipsDataFilters__button--active" data-ipsMenu-selectable="radio"><span>{lang="sort_by"}</span><i class="fa-solid fa-caret-down"></i></a>
|
||||
<ul class="ipsMenu ipsMenu_auto ipsMenu_withStem ipsMenu_selectable ipsHide" id="elSortByMenu_{$table->uniqueId}_menu">
|
||||
{{$custom = TRUE;}}
|
||||
{{foreach $table->sortOptions as $k => $col}}
|
||||
<li class="ipsMenu_item {{if $col === $table->sortBy}}{{$custom = FALSE;}}ipsMenu_itemChecked{{endif}}" data-ipsMenuValue="{$col}" data-sortDirection='{$table->getSortDirection( $col )}'><a href="{$table->baseUrl->setQueryString( array( 'filter' => $table->filter, 'sortby' => $col, 'sortdirection' => $table->getSortDirection( $col ) ) )->setPage('page',1)}" rel="nofollow">{lang="{$table->langPrefix}sort_{$k}"}</a></li>
|
||||
{{endforeach}}
|
||||
{{if $table->advancedSearch}}
|
||||
<li class="ipsMenu_item {{if $custom}}ipsMenu_itemChecked{{endif}}" data-noSelect="true">
|
||||
<a href='{$table->baseUrl->setQueryString( array( 'advancedSearchForm' => '1', 'filter' => $table->filter, 'sortby' => $table->sortBy, 'sortdirection' => $table->sortDirection ) )}' data-ipsDialog data-ipsDialog-title='{lang="custom_sort"}' rel="nofollow">{lang="custom"}</a>
|
||||
</li>
|
||||
{{endif}}
|
||||
</ul>
|
||||
<button type="button" id="elSortByMenu_{$table->uniqueId}" class='ipsDataFilters__button' popovertarget="elSortByMenu_{$table->uniqueId}_menu" data-role="sortButton"><span>{lang="sort_by"}</span><i class="fa-solid fa-caret-down"></i></button>
|
||||
<i-dropdown id="elSortByMenu_{$table->uniqueId}_menu" popover data-i-dropdown-selectable="radio">
|
||||
<div class="iDropdown">
|
||||
<ul class="iDropdown__items">
|
||||
{{$custom = TRUE;}}
|
||||
{{foreach $table->sortOptions as $k => $col}}
|
||||
<li><a href="{$table->baseUrl->setQueryString( array( 'filter' => $table->filter, 'sortby' => $col, 'sortdirection' => $table->getSortDirection( $col ) ) )->setPage('page',1)}" rel="nofollow" {{if $col === $table->sortBy}}{{$custom = FALSE;}}aria-selected="true"{{endif}} data-ipsMenuValue="{$col}" data-sortDirection='{$table->getSortDirection( $col )}'><i class="iDropdown__input"></i>{lang="{$table->langPrefix}sort_{$k}"}</a></li>
|
||||
{{endforeach}}
|
||||
{{if $table->advancedSearch}}
|
||||
<li>
|
||||
<a href='{$table->baseUrl->setQueryString( array( 'advancedSearchForm' => '1', 'filter' => $table->filter, 'sortby' => $table->sortBy, 'sortdirection' => $table->sortDirection ) )}' data-ipsDialog data-ipsDialog-title='{lang="custom_sort"}' rel="nofollow" {{if $custom}}aria-selected="true"{{endif}} data-i-dropdown-noselect><i class="iDropdown__input"></i>{lang="custom"}</a>
|
||||
</li>
|
||||
{{endif}}
|
||||
</ul>
|
||||
</div>
|
||||
</i-dropdown>
|
||||
{{elseif $table->advancedSearch}}
|
||||
<a href='{$table->baseUrl->setQueryString( array( 'advancedSearchForm' => '1', 'filter' => $table->filter, 'sortby' => $table->sortBy, 'sortdirection' => $table->sortDirection ) )}' data-ipsDialog data-ipsDialog-title='{lang="custom_sort"}' rel="nofollow">{lang="custom"}</a>
|
||||
{{endif}}
|
||||
@@ -838,36 +851,45 @@
|
||||
{{endif}}
|
||||
{{if !empty( $table->filters )}}
|
||||
<li>
|
||||
<a href="#elFilterByMenu_menu" class='ipsDataFilters__button' data-role="tableFilterMenu" id="elFilterByMenu_{$table->uniqueId}" data-ipsMenu data-ipsMenu-activeClass="ipsDataFilters__button--active" data-ipsMenu-selectable="radio"><span>{lang="filter_by"}</span><i class="fa-solid fa-caret-down"></i></a>
|
||||
<ul class='ipsMenu ipsMenu_auto ipsMenu_withStem ipsMenu_selectable ipsHide' id='elFilterByMenu_{$table->uniqueId}_menu'>
|
||||
<li data-action="tableFilter" data-ipsMenuValue='{$k}' class='ipsMenu_item {{if !$table->filter}}ipsMenu_itemChecked{{endif}}'>
|
||||
<a href='{$table->baseUrl->setQueryString( array( 'filter' => '', 'sortby' => $table->sortBy, 'sortdirection' => $table->sortDirection ) )->setPage('page',1)}' rel="nofollow">{lang="{$table->langPrefix}all"}</a>
|
||||
</li>
|
||||
{{foreach $table->filters as $k => $q}}
|
||||
<li data-action="tableFilter" data-ipsMenuValue='{$k}' class='ipsMenu_item {{if $k === $table->filter}}ipsMenu_itemChecked{{endif}}'>
|
||||
<a href='{$table->baseUrl->setQueryString( array( 'filter' => $k, 'sortby' => $table->sortBy, 'sortdirection' => $table->sortDirections ) )->setPage('page',1)}' rel="nofollow">{lang="{$table->langPrefix}{$k}"}</a>
|
||||
</li>
|
||||
{{endforeach}}
|
||||
</ul>
|
||||
<button type="button" id="elFilterByMenu_{$table->uniqueId}" class='ipsDataFilters__button' popovertarget="elFilterByMenu_{$table->uniqueId}_menu" data-role="tableFilterMenu"><span>{lang="filter_by"}</span><i class="fa-solid fa-caret-down"></i></button>
|
||||
<i-dropdown id="elFilterByMenu_{$table->uniqueId}_menu" popover data-i-dropdown-selectable="radio">
|
||||
<div class="iDropdown">
|
||||
<ul class="iDropdown__items">
|
||||
<li>
|
||||
<a href='{$table->baseUrl->setQueryString( array( 'filter' => '', 'sortby' => $table->sortBy, 'sortdirection' => $table->sortDirection ) )->setPage('page',1)}' rel="nofollow" data-action="tableFilter" data-ipsMenuValue='{$k}' {{if !$table->filter}}aria-selected="true"{{endif}}><i class="iDropdown__input"></i>{lang="{$table->langPrefix}all"}</a>
|
||||
</li>
|
||||
<li><hr></li>
|
||||
{{foreach $table->filters as $k => $q}}
|
||||
<li>
|
||||
<a href='{$table->baseUrl->setQueryString( array( 'filter' => $k, 'sortby' => $table->sortBy, 'sortdirection' => $table->sortDirections ) )->setPage('page',1)}' rel="nofollow" data-action="tableFilter" data-ipsMenuValue='{$k}' {{if $k === $table->filter}}aria-selected="true"{{endif}}><i class="iDropdown__input"></i>{lang="{$table->langPrefix}{$k}"}</a>
|
||||
</li>
|
||||
{{endforeach}}
|
||||
</ul>
|
||||
</div>
|
||||
</i-dropdown>
|
||||
</li>
|
||||
{{endif}}
|
||||
{{if $table->canModerate()}}
|
||||
<li>
|
||||
<a class="ipsJS_show ipsDataFilters__button" href="#elCheck_menu" id="elCheck_{$table->uniqueId}" title='{lang="{$table->langPrefix}select_rows_tooltip"}' data-ipsTooltip data-ipsAutoCheck data-ipsAutoCheck-context="#elTable_{$table->uniqueId}" data-ipsMenu data-ipsMenu-activeClass="ipsDataFilters__button--active">
|
||||
<button type="button" id="elCheck_{$table->uniqueId}" class='ipsDataFilters__button' popovertarget="elCheck_{$table->uniqueId}_menu" title='{lang="{$table->langPrefix}select_rows_tooltip"}' data-ipsTooltip data-ipsAutoCheck data-ipsAutoCheck-context="#elTable_{$table->uniqueId}">
|
||||
<span class="cAutoCheckIcon"><i class="fa-regular fa-square"></i></span> <i class="fa-solid fa-caret-down"></i>
|
||||
<span class='ipsNotification' data-role='autoCheckCount'>0</span>
|
||||
</a>
|
||||
<ul class="ipsMenu ipsMenu_auto ipsMenu_withStem ipsHide" id="elCheck_{$table->uniqueId}_menu">
|
||||
<li class="ipsMenu_title">{lang="{$table->langPrefix}select_rows"}</li>
|
||||
<li class="ipsMenu_item" data-ipsMenuValue="all"><a href="#">{lang="all"}</a></li>
|
||||
<li class="ipsMenu_item" data-ipsMenuValue="none"><a href="#">{lang="none"}</a></li>
|
||||
{{if \count($table->getFilters())}}
|
||||
<li class="ipsMenu_sep"><hr></li>
|
||||
{{foreach $table->getFilters() as $filter}}
|
||||
<li class="ipsMenu_item" data-ipsMenuValue="{$filter}"><a href="#">{lang="$filter"}</a></li>
|
||||
{{endforeach}}
|
||||
{{endif}}
|
||||
</ul>
|
||||
</button>
|
||||
<i-dropdown id="elCheck_{$table->uniqueId}_menu" popover data-i-dropdown-selectable="radio">
|
||||
<div class="iDropdown">
|
||||
<ul class="iDropdown__items">
|
||||
<li class="iDropdown__title">{lang="{$table->langPrefix}select_rows"}</li>
|
||||
<li><button type="button" data-ipsMenuValue="all"><i class="iDropdown__input"></i>{lang="all"}</button></li>
|
||||
<li><button type="button" data-ipsMenuValue="none"><i class="iDropdown__input"></i>{lang="none"}</button></li>
|
||||
{{if \count($table->getFilters())}}
|
||||
<li><hr></li>
|
||||
{{foreach $table->getFilters() as $filter}}
|
||||
<li><button type="button" data-ipsMenuValue="{$filter}"><i class="iDropdown__input"></i>{lang="$filter"}</button></li>
|
||||
{{endforeach}}
|
||||
{{endif}}
|
||||
</ul>
|
||||
</div>
|
||||
</i-dropdown>
|
||||
</li>
|
||||
{{endif}}
|
||||
</ul>
|
||||
@@ -969,11 +991,11 @@
|
||||
</section>]]></template>
|
||||
<template template_group="view" template_name="blogViewLarge" template_data="$entry, $table, $first = FALSE" template_location="front" template_app="blog"><![CDATA[
|
||||
<article class='cBlogView_entry i-border-bottom_3 {{if $entry->hidden()}}ipsModerated{{endif}} {$entry->ui( 'css' )}' data-controller="core.front.core.lightboxedImages" {$entry->ui( 'dataAttributes' )}>
|
||||
<header class='i-background_2 i-border-bottom_3 i-padding_2'>
|
||||
<header class='i-background_2 i-border-bottom_3 i-padding_2' data-ips-hook='header'>
|
||||
<div class="ipsPhotoPanel">
|
||||
{template="userPhoto" app="core" params="$entry->author()" group="global"}
|
||||
<div>
|
||||
<h2 class='ipsTitle ipsTitle--h4'>
|
||||
<h2 class='ipsTitle ipsTitle--h4' data-ips-hook='title'>
|
||||
{$entry->caption}
|
||||
{{if $entry->prefix()}}
|
||||
{template="prefix" group="global" app="core" params="$entry->prefix( TRUE ), $entry->prefix()"}
|
||||
@@ -984,9 +1006,9 @@
|
||||
{{endif}}
|
||||
{{if $entry->canEdit()}}<span data-role="editableTitle">{$entry->name}</span>{{else}}{$entry->name}{{endif}}
|
||||
</a>
|
||||
<div class="ipsBadges">{{foreach $entry->badges() as $badge}}{$badge|raw}{{endforeach}}</div>
|
||||
<div class="ipsBadges" data-ips-hook='badges'>{{foreach $entry->badges() as $badge}}{$badge|raw}{{endforeach}}</div>
|
||||
</h2>
|
||||
<ul class='ipsList ipsList--sep i-color_soft i-link-color_inherit'>
|
||||
<ul class='ipsList ipsList--sep i-color_soft i-link-color_inherit' data-ips-hook='metadata'>
|
||||
<li>{lang="byline" htmlsprintf="$entry->author()->link()"}</li>
|
||||
<li>{datetime="$entry->date"}</li>
|
||||
{{if $entry->category_id}}
|
||||
@@ -1009,7 +1031,7 @@
|
||||
<div>
|
||||
<strong><a href='{$entry->url( "getPrefComment" )}' title="{lang="read_more_about" sprintf="$entry->name"}">{lang="read_more"}</a></strong>
|
||||
</div>
|
||||
<ul class='i-margin-start_auto ipsList ipsList--inline i-gap_3 i-row-gap_1'>
|
||||
<ul class='i-margin-start_auto ipsList ipsList--inline i-gap_3 i-row-gap_1' data-ips-hook='stats'>
|
||||
<li class="i-margin-end_auto"></li>
|
||||
{{if \IPS\Settings::i()->blog_enable_rating}}
|
||||
<li>{template="rating" app="core" params="'small', $entry->averageRating(), 5, $entry->memberRating()" group="global"}</li>
|
||||
@@ -1029,11 +1051,11 @@
|
||||
<template template_group="view" template_name="blogViewMedium" template_data="$entry, $table" template_location="front" template_app="blog"><![CDATA[
|
||||
<!-- This template is used when viewing Profile > See my activity > Blog Entries -->
|
||||
<article class='cBlogView_entry {{if $entry->hidden()}}ipsModerated{{endif}} {$entry->ui( 'css' )}' data-controller="core.front.core.lightboxedImages" {$entry->ui( 'dataAttributes' )}>
|
||||
<header class='ipsPhotoPanel ipsPhotoPanel--mini'>
|
||||
<header class='ipsPhotoPanel ipsPhotoPanel--mini' data-ips-hook='header'>
|
||||
{template="userPhoto" app="core" params="$entry->author(), 'mini'" group="global"}
|
||||
<div>
|
||||
<h2 class='ipsTitle ipsTitle--h5'>
|
||||
<div class="ipsBadges">
|
||||
<h2 class='ipsTitle ipsTitle--h5' data-ips-hook='title'>
|
||||
<div class="ipsBadges" data-ips-hook='badges'>
|
||||
{{foreach $entry->badges() as $badge}}{$badge|raw}{{endforeach}}
|
||||
{{if $entry->prefix()}}
|
||||
{template="prefix" group="global" app="core" params="$entry->prefix( TRUE ), $entry->prefix()"}
|
||||
@@ -1046,7 +1068,7 @@
|
||||
{$entry->name}
|
||||
</a>
|
||||
</h2>
|
||||
<p class='i-color_soft i-link-color_inherit'>
|
||||
<p class='i-color_soft i-link-color_inherit' data-ips-hook='metadata'>
|
||||
{{if $entry->category_id}}<span class="i-color_hard i-font-weight_600">{$entry->category()->name}</span>{{endif}} · {lang="byline_name_date" htmlsprintf="$entry->author()->link(), \IPS\DateTime::ts( $entry->date )"}
|
||||
</p>
|
||||
</div>
|
||||
@@ -1057,7 +1079,7 @@
|
||||
</section>
|
||||
|
||||
<div class="i-flex i-align-items_center i-flex-wrap_wrap i-gap_2">
|
||||
<ul class='ipsList ipsList--inline i-flex_11'>
|
||||
<ul class='ipsList ipsList--inline i-flex_11' data-ips-hook='stats'>
|
||||
{{if $table->canModerate()}}
|
||||
<li>
|
||||
{{$idField = $entry::$databaseColumnId;}}
|
||||
@@ -1166,7 +1188,7 @@
|
||||
{{endif}}
|
||||
|
||||
<div class='ipsCoverPhoto__titles'>
|
||||
<div class='ipsCoverPhoto__title'>
|
||||
<div class='ipsCoverPhoto__title' data-ips-hook='title'>
|
||||
<h1>
|
||||
<a href='{$blog->url()}' title='{lang="go_to_blog" sprintf="$blog->_title"}'>{$blog->_title}</a>
|
||||
</h1>
|
||||
@@ -1174,7 +1196,7 @@
|
||||
<span class="ipsBadge ipsBadge--icon ipsBadge--positive" data-ipsTooltip title='{lang="pinned"}'><i class='fa-solid fa-thumbtack'></i></span>
|
||||
{{endif}}
|
||||
</div>
|
||||
<div class='ipsCoverPhoto__subTitle'>
|
||||
<div class='ipsCoverPhoto__subTitle' data-ips-hook='metadata'>
|
||||
{{if $blog->owner() instanceof \IPS\Member}}
|
||||
{lang="blog_by" htmlsprintf="$blog->owner()->link(), $blog->category()->link()"}
|
||||
{{elseif $club = $blog->club()}}
|
||||
@@ -1184,7 +1206,7 @@
|
||||
{{endif}}
|
||||
</div>
|
||||
</div>
|
||||
<ul class='ipsCoverPhoto__stats'>
|
||||
<ul class='ipsCoverPhoto__stats' data-ips-hook='stats'>
|
||||
<li>
|
||||
<h4 class='ipsCoverPhoto__statTitle'>{lang="blog_entries" pluralize="$blog->_items"}</h4>
|
||||
<span class='ipsCoverPhoto__statValue'>{number="$blog->_items"}</span>
|
||||
@@ -1198,7 +1220,7 @@
|
||||
<span class='ipsCoverPhoto__statValue'>{number="$blog->num_views"}</span>
|
||||
</li>
|
||||
</ul>
|
||||
<div class='ipsCoverPhoto__buttons'>
|
||||
<div class='ipsCoverPhoto__buttons' data-ips-hook='buttons'>
|
||||
{template="follow" app="core" group="global" params="'blog', 'blog', $blog->_id, \IPS\blog\Entry::containerFollowerCount( $blog )"}
|
||||
</div>
|
||||
</div>]]></template>
|
||||
@@ -1218,26 +1240,26 @@
|
||||
|
||||
{template="contentItemMessages" group="global" app="core" params="$entry->getMessages(), $entry"}
|
||||
|
||||
<article class='ipsBox ipsPull' data-ips-hook="entry__blog">
|
||||
<article class='ipsBox ipsBox--blogEntry ipsPull' data-ips-hook="entry__blog">
|
||||
<header class='ipsPageHeader'>
|
||||
{{if $entry->coverPhoto()}}
|
||||
{$entry->coverPhoto()|raw}
|
||||
{{endif}}
|
||||
<div class='ipsPageHeader__row'>
|
||||
<div class='ipsPageHeader__primary'>
|
||||
<div class='ipsPageHeader__primary' data-ips-hook='header'>
|
||||
<div class='ipsPageHeader__title' data-ips-hook="contentTitle__blog">
|
||||
<div class='ipsBadges'>
|
||||
<div class='ipsBadges' data-ips-hook='badges'>
|
||||
{{foreach $entry->badges() as $badge}}{$badge|raw}{{endforeach}}
|
||||
</div>
|
||||
<h1>
|
||||
{{if $entry->canEdit()}}
|
||||
<span data-controller="core.front.core.moderation">
|
||||
<span data-controller="core.front.core.moderation" data-ips-hook='titleEditable'>
|
||||
{{if $entry->locked()}}<i class='fa-solid fa-lock'></i> {{endif}}<span data-role="editableTitle" title='{lang="click_hold_edit"}'>
|
||||
{$entry->name}
|
||||
</span>
|
||||
</span>
|
||||
{{else}}
|
||||
<span>{{if $entry->locked()}}<i class='fa-solid fa-lock'></i> {{endif}}
|
||||
<span data-ips-hook='title'>{{if $entry->locked()}}<i class='fa-solid fa-lock'></i> {{endif}}
|
||||
{$entry->name}
|
||||
</span>
|
||||
{{endif}}
|
||||
@@ -1250,7 +1272,7 @@
|
||||
{template="tagsWithPrefix" group="global" app="core" params="$entry->tags(), $entry->prefix(), FALSE, FALSE, ( $entry->canEdit() AND ( \count( $entry->tags() ) OR $entry::canTag() ) ) ? $entry->url() : NULL"}
|
||||
{{endif}}
|
||||
</div>
|
||||
<div class='ipsButtons'>
|
||||
<div class='ipsButtons' data-ips-hook='headerButtons'>
|
||||
{{if \count( $entry->shareLinks() )}}
|
||||
{template="shareButton" app="core" group="sharelinks" params="$entry"}
|
||||
{{endif}}
|
||||
@@ -1264,7 +1286,7 @@
|
||||
<div class='ipsPageHeader__primary'>
|
||||
<div class="ipsPhotoPanel ipsPhotoPanel--inline">
|
||||
{template="userPhoto" app="core" params="$entry->author(), 'fluid'" group="global"}
|
||||
<div class='ipsPhotoPanel__text'>
|
||||
<div class='ipsPhotoPanel__text' data-ips-hook='entryHeaderMetaData'>
|
||||
<p class="ipsPhotoPanel__primary">
|
||||
{{if $entry->category_id}}
|
||||
{{if $entry->date > time()}}
|
||||
@@ -1289,7 +1311,7 @@
|
||||
|
||||
<section class='i-padding_3'>
|
||||
{{if $poll = $entry->getPoll()}}
|
||||
<div class='ipsInnerBox ipsInnerBox--inherit i-margin-bottom_3'>
|
||||
<div class='ipsInnerBox ipsInnerBox--inherit i-margin-bottom_3' data-ips-hook='entryPoll'>
|
||||
{$poll|raw}
|
||||
</div>
|
||||
{{endif}}
|
||||
@@ -1306,7 +1328,7 @@
|
||||
{{endif}}
|
||||
</section>
|
||||
<div class='ipsEntry__footer'>
|
||||
<menu class='ipsEntry__controls'>
|
||||
<menu class='ipsEntry__controls' data-ips-hook='entryMainButtons'>
|
||||
<li>{$entry->menu()|raw}</li>
|
||||
</menu>
|
||||
{{if \IPS\IPS::classUsesTrait( $entry, 'IPS\Content\Reactable' ) AND settings.reputation_enabled}}
|
||||
@@ -1423,7 +1445,7 @@
|
||||
{template="blogHeader" group="view" app="blog" params="$blog, (!$club OR !\IPS\Settings::i()->clubs OR \IPS\Settings::i()->clubs_header != 'full')"}
|
||||
|
||||
{{if $blog->description}}
|
||||
<section class='ipsBox ipsBox--padding ipsPull'>
|
||||
<section class='ipsBox ipsBox--blogDescription ipsBox--padding ipsPull'>
|
||||
<h3 class='ipsTitle ipsTitle--h5 ipsTitle--margin'>{lang="about_this_blog"}</h3>
|
||||
{template="richText" group="global" app="core" location="global" params="$blog->description, array('ipsTruncate_4')"}
|
||||
</section>
|
||||
@@ -1431,7 +1453,7 @@
|
||||
|
||||
{{$menu = $blog->menu();}}
|
||||
{{if \IPS\blog\Entry::canCreate( \IPS\Member::loggedIn(), $blog ) or $menu->hasContent() or \count( \IPS\blog\Entry\Category::roots( NULL, NULL, array( 'entry_category_blog_id=?', $blog->id ) ) )}}
|
||||
<ul class="ipsButtons ipsButtons--main">
|
||||
<ul class="ipsButtons ipsButtons--main" data-ips-hook='blogMainButtons'>
|
||||
{{if !$blog->club_id and $menu->hasContent()}}
|
||||
<li>
|
||||
{$menu|raw}
|
||||
@@ -1439,17 +1461,21 @@
|
||||
{{endif}}
|
||||
{{if \count( \IPS\blog\Entry\Category::roots( NULL, NULL, array( 'entry_category_blog_id=?', $blog->id ) ) )}}
|
||||
<li>
|
||||
<a href='#elBlogCategory_menu' id='elBlogCategory' data-ipsMenu class='ipsButton ipsButton--text'>
|
||||
<button id='elBlogCategory' popovertarget="elBlogCategory_menu" class="ipsButton ipsButton--text">
|
||||
<span>{{if $category}}{lang="blog_category_viewing" sprintf="$category->name"}{{else}}{lang="blog_category_select"}{{endif}}</span><i class='ipsMenuCaret'></i>
|
||||
</a>
|
||||
<ul id='elBlogCategory_menu' class='ipsMenu ipsMenu_normal ipsMenu_selectable ipsHide'>
|
||||
<li class="ipsMenu_title">
|
||||
{lang="categories"}{{if $category}} (<a href="{$blog->url()}">{lang="blog_categories_all"}</a>){{endif}}
|
||||
{{foreach \IPS\blog\Entry\Category::roots( NULL, NULL, array( 'entry_category_blog_id=?', $blog->id ) ) as $cat}}
|
||||
<li class='ipsMenu_item {{if $category and $category->id == $cat->id}}ipsMenu_itemChecked{{endif}}'>{$cat->link()|raw}</li>
|
||||
{{endforeach}}
|
||||
</li>
|
||||
</ul>
|
||||
</button>
|
||||
<i-dropdown id="elBlogCategory_menu" popover>
|
||||
<div class="iDropdown">
|
||||
<ul class="iDropdown__items">
|
||||
<li class="iDropdown__title i-flex i-align-items_center i-justify-content_space-between">
|
||||
{lang="categories"}{{if $category}} <span>(<a href="{$blog->url()}">{lang="blog_categories_all"}</a>)</span>{{endif}}
|
||||
</li>
|
||||
{{foreach \IPS\blog\Entry\Category::roots( NULL, NULL, array( 'entry_category_blog_id=?', $blog->id ) ) as $cat}}
|
||||
<li>{$cat->link()|raw}</li>
|
||||
{{endforeach}}
|
||||
</ul>
|
||||
</div>
|
||||
</i-dropdown>
|
||||
</li>
|
||||
{{endif}}
|
||||
{{if \IPS\blog\Entry::canCreate( \IPS\Member::loggedIn(), $blog )}}
|
||||
@@ -1497,7 +1523,7 @@
|
||||
{{else}}
|
||||
<ul class='ipsEntries ipsEntries--blog-comment-widget'>
|
||||
{{foreach $comments as $comment}}
|
||||
<li>
|
||||
<li class='{$comment->ui('css')}' {$comment->ui('dataAttributes')}>
|
||||
<article class='ipsEntry ipsEntry--simple'>
|
||||
<div class='ipsEntry__content'>
|
||||
<header class='ipsEntry__header'>
|
||||
@@ -1525,7 +1551,7 @@
|
||||
</div>
|
||||
{{if $comment->canReportOrRevoke() === TRUE}}
|
||||
{{$id = mt_rand();}}
|
||||
<a href='#elBlogCommentFeed_{$id}_menu' class='ipsEntry__topButton ipsEntry__topButton--ellipsis' id='elBlogCommentFeed_{$id}' title='{lang="more_options"}' data-ipsMenu><i class='fa-solid fa-ellipsis' aria-hidden="true"></i><span class='ipsInvisible'>{lang="more_options"}</span></a>
|
||||
<button type="button" id="elBlogCommentFeed_{$id}" popovertarget="elBlogCommentFeed_{$id}_menu" class='ipsEntry__topButton ipsEntry__topButton--ellipsis' title='{lang="more_options"}'><i class='fa-solid fa-ellipsis' aria-hidden="true"></i><span class='ipsInvisible'>{lang="more_options"}</span></button>
|
||||
{{endif}}
|
||||
</div>
|
||||
</header>
|
||||
@@ -1553,9 +1579,13 @@
|
||||
</div>
|
||||
</article>
|
||||
{{if $comment->canReportOrRevoke() === TRUE}}
|
||||
<ul id='elBlogCommentFeed_{$id}_menu' class='ipsMenu ipsMenu_auto ipsHide'>
|
||||
<li class='ipsMenu_item'><a href='{$comment->url('report')}' {{if member.member_id or \IPS\Helpers\Form\Captcha::supportsModal()}}data-ipsDialog data-ipsDialog-remoteSubmit data-ipsDialog-size='medium' data-ipsDialog-flashMessage='{lang="report_submit_success"}' data-ipsDialog-title="{lang="report_post"}"{{endif}} data-action='reportComment' title='{lang="report_content"}'>{lang="report"}</a></li>
|
||||
</ul>
|
||||
<i-dropdown popover id="elBlogCommentFeed_{$id}_menu">
|
||||
<div class="iDropdown">
|
||||
<ul class="iDropdown__items">
|
||||
<li><a href='{$comment->url('report')}' {{if member.member_id or \IPS\Helpers\Form\Captcha::supportsModal()}}data-ipsDialog data-ipsDialog-remoteSubmit data-ipsDialog-size='medium' data-ipsDialog-flashMessage='{lang="report_submit_success"}' data-ipsDialog-title="{lang="report_post"}"{{endif}} data-action='reportComment' title='{lang="report_content"}'>{lang="report"}</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</i-dropdown>
|
||||
{{endif}}
|
||||
</li>
|
||||
{{endforeach}}
|
||||
@@ -1569,7 +1599,7 @@
|
||||
<i-data>
|
||||
<ul class='ipsData ipsData--table ipsData--blogs-widget'>
|
||||
{{foreach $blogs as $blog}}
|
||||
<li class='ipsData__item'>
|
||||
<li class="ipsData__item {$blog->ui('css')}" {$blog->ui('dataAttributes')}>
|
||||
<div class='i-flex_11'>
|
||||
<h4 class='i-font-weight_600 i-margin-bottom_2'><a href="{$blog->url()}" title='{lang="view_this_blog" sprintf="$blog->_title"}' class="i-color_hard">{$blog->_title}</a></h4>
|
||||
<ul class='ipsGrid ipsGrid--blog-stats ipsGrid--3'>
|
||||
@@ -1660,9 +1690,9 @@
|
||||
{{$recentEntries = iterator_to_array( $blog->_recentEntries );}}
|
||||
{{if \count( $recentEntries ) > 1}}
|
||||
<h4 class='ipsTitle ipsTitle--h5 ipsTitle--margin i-margin-top_4'>{lang="recent_entries"}</h4>
|
||||
<ul class='ipsBlogs__blog-listing-entries'>
|
||||
<ul class='ipsBlogs__blog-listing-entries' data-ips-hook='recentEntries'>
|
||||
{{foreach $recentEntries as $entry}}
|
||||
<li>
|
||||
<li class="{$entry->ui('css')}" {$entry->ui('dataAttributes')}>
|
||||
{template="userPhoto" app="core" params="$entry->author(), 'fluid'" group="global"}
|
||||
<div class='i-flex_11 i-flex i-gap_2 i-row-gap_0 i-flex-wrap_wrap'>
|
||||
<h4 class='i-font-weight_500 i-flex_11'>
|
||||
@@ -1716,19 +1746,19 @@
|
||||
</i-data>
|
||||
</div>
|
||||
{{endif}}]]></template>
|
||||
<template template_group="widgets" template_name="entryRow" template_data="$entry, $layout='table', $isCarousel=false" template_location="front" template_app="blog"><![CDATA[<li class='ipsData__item'>
|
||||
<template template_group="widgets" template_name="entryRow" template_data="$entry, $layout='table', $isCarousel=false" template_location="front" template_app="blog"><![CDATA[<li class='ipsData__item {$entry->ui('css')}' {$entry->ui('dataAttributes')}>
|
||||
<a href="{$entry->url('getLastComment')}" class="ipsLinkPanel" aria-hidden="true" tabindex="-1"><span>{$entry->name}</span></a>
|
||||
<figure class='ipsData__image'>
|
||||
<div class="ipsData__image" aria-hidden="true" data-ips-hook='image'>
|
||||
{{if $entry->cover_photo}}
|
||||
<img src='{file="$entry->cover_photo" extension="blog_Entries"}' alt='' loading='lazy'>
|
||||
{{else}}
|
||||
<div class="ipsFallbackImage" aria-hidden="true"></div>
|
||||
{{endif}}
|
||||
</figure>
|
||||
</div>
|
||||
<div class="ipsData__content">
|
||||
<div class='ipsData__main'>
|
||||
<div class='ipsData__title'><h4><a href="{$entry->url('getLastComment')}" title='{lang="view_this_entry" sprintf="$entry->_title"}'>{$entry->name}</a></h4></div>
|
||||
<div class='ipsData__meta'>{lang="byline_nodate" htmlsprintf="$entry->author()->link()"} {lang="in"} <a href='{$entry->container()->url()}'>{$entry->container()->_title}</a></div>
|
||||
<div class='ipsData__title'><h4 data-ips-hook='title'><a href="{$entry->url('getLastComment')}" title='{lang="view_this_entry" sprintf="$entry->_title"}'>{$entry->name}</a></h4></div>
|
||||
<div class='ipsData__meta' data-ips-hook='metadata'>{lang="byline_nodate" htmlsprintf="$entry->author()->link()"} {lang="in"} <a href='{$entry->container()->url()}'>{$entry->container()->_title}</a></div>
|
||||
{{if \IPS\Settings::i()->blog_enable_rating}}
|
||||
{template="rating" group="global" location="front" app="core" params="'small', $entry->averageRating(), 5, $entry->memberRating()"}
|
||||
{{endif}}
|
||||
@@ -1736,12 +1766,18 @@
|
||||
<div class='ipsData__desc ipsRichText ipsTruncate_2'>{$entry->truncated()|raw}</div>
|
||||
{{endif}}
|
||||
</div>
|
||||
<ul class="ipsData__stats">
|
||||
<li data-stattype="comments">
|
||||
<span class='ipsData__stats-icon' data-stat-value="{number='$entry->num_comments'}" aria-hidden="true" data-ipstooltip title='{number="$entry->num_comments"} {lang="blog_comments" pluralize="$entry->num_comments"}'></span>
|
||||
<span class='ipsData__stats-label'>{number="$entry->num_comments"} {lang="blog_comments" pluralize="$entry->num_comments"}</span>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="ipsData__extra">
|
||||
<ul class="ipsData__stats" data-ips-hook='stats'>
|
||||
<li data-stattype="comments">
|
||||
<span class='ipsData__stats-icon' data-stat-value="{number='$entry->num_comments'}" aria-hidden="true" data-ipstooltip title='{number="$entry->num_comments"} {lang="blog_comments" pluralize="$entry->num_comments"}'></span>
|
||||
<span class='ipsData__stats-label'>{number="$entry->num_comments"} {lang="blog_comments" pluralize="$entry->num_comments"}</span>
|
||||
</li>
|
||||
<li data-stattype="views">
|
||||
<span class='ipsData__stats-icon' data-stat-value="{number='$entry->views'}" aria-hidden="true" data-ipstooltip title='{number="$entry->views"} {lang="blog_views" pluralize="$entry->views"}'></span>
|
||||
<span class='ipsData__stats-label'>{number="$entry->views"} {lang="blog_views" pluralize="$entry->views"}</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</li>]]></template>
|
||||
<css css_location="front" css_app="blog" css_attributes="" css_path="." css_name="blog.css">/* Blog index: "View Blogs" */
|
||||
|
||||
Reference in new issue
Block a user