Version 4.6.0

This commit is contained in:
Neo committed 2025-12-19 05:55:31 -08:00
1 parent f79dcf067a
commit 517a5e1f70
2036 files changed
+110041 -26162

No files matched your search

+31 -33
View File
@@ -3,9 +3,9 @@
<template template_group="browse" template_name="categories" template_data="$currentCategory=NULL" template_location="front" template_app="blog"><![CDATA[ {{$categories = $currentCategory ? $currentCategory->children( 'view', NULL, FALSE ) : \IPS\blog\Category::roots();}}
{{if !\IPS\blog\Category::theOnlyNode( array(), TRUE, FALSE ) and \count( $categories )}}
<div id='elBlogCategoriesBlock' class='ipsWidget ipsWidget_vertical ipsBox'>
<h3 class='ipsType_sectionTitle ipsType_reset'>{{if $currentCategory}}{lang="subcategories"}{{else}}{lang="categories"}{{endif}}</h3>
<h3 class='ipsType_sectionTitle ipsType_reset'>{{if $currentCategory}}{lang="blog_subcategories"}{{else}}{lang="categories"}{{endif}}</h3>
<div class='ipsPad_half'>
<div class='ipsSideMenu'>
<div class='ipsSideMenu ipsCategoriesMenu'>
<ul class='ipsSideMenu_list'>
{{foreach $categories as $category}}
<li>
@@ -63,7 +63,7 @@
</div>
</div>
</div>]]></template>
<template template_group="browse" template_name="index" template_data="$table, $featured, $blogs=array(), $viewMode, $category=NULL" template_location="front" template_app="blog"><![CDATA[<div class="ipsPageHeader ipsClearfix ipsMargin_bottom ipsHeaderButtons ipsFlex ipsFlex-ai:center ipsFlex-jc:between">
<template template_group="browse" template_name="index" template_data="$table, $featured, $blogs=array(), $viewMode=NULL, $category=NULL" template_location="front" template_app="blog"><![CDATA[<div class="ipsPageHeader ipsClearfix ipsMargin_bottom ipsHeaderButtons ipsFlex ipsFlex-ai:center ipsFlex-jc:between">
<h1 class="ipsType_pageTitle ipsFlex-flex:11 ipsType_break">{lang="blogs"}</h1>
{{if \count( $blogs ) || \IPS\blog\Blog::canCreate() || \IPS\Settings::i()->blog_allow_grid}}
<ul class='ipsToolList ipsToolList_horizontal ipsClearfix ipsPos_right '>
@@ -84,7 +84,7 @@
<div class='ipsBox'>
{$table|raw}
</div>]]></template>
<template template_group="browse" template_name="indexButtons" template_data="$blogs=array(), $viewMode, $forMobile=FALSE, $category=NULL" template_location="front" template_app="blog"><![CDATA[{{if \count( $blogs ) || \IPS\blog\Blog::canCreate() || \IPS\Settings::i()->blog_allow_grid}}
<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() || \IPS\Settings::i()->blog_allow_grid}}
{{if \count( $blogs ) AND \IPS\blog\Blog::canOnAny( 'add' )}}
<li class='ipsToolList_primaryAction {{if !$forMobile}}ipsResponsive_hidePhone{{endif}}'>
{{if \count( $blogs ) > 1}}
@@ -112,7 +112,7 @@
{{endif}}
</li>
{{endif}}
{{if \IPS\Settings::i()->blog_allow_grid AND !$forMobile}}
{{if \IPS\Settings::i()->blog_allow_grid AND !$forMobile AND member.member_id}}
<li class='ipsType_center ipsMargin_bottom:none'>
<ul class='ipsButton_split'>
<li class='ipsType_center'>
@@ -259,7 +259,7 @@
<span class='ipsType_break ipsContained'>
{{if $entry->unread()}}
<a href='{$entry->url('getNewComment')}'><span class='ipsItemStatus' data-ipsTooltip title="{lang="cms_unread_record"}"><i class="fa fa-circle"></i></span></a>&nbsp;
<a href='{$entry->url('getNewComment')}'><span class='ipsItemStatus' data-ipsTooltip title="{lang="unread_blog"}"><i class="fa fa-circle"></i></span></a>&nbsp;
{{endif}}
<a href="{$entry->url()}" title="{lang="read_more_about" sprintf="$entry->name"}" data-role="newsTitle">{wordbreak="$entry->name"}</a>
</span>
@@ -647,7 +647,7 @@
</li>
{{endforeach}}]]></template>
<template template_group="livesearch" template_name="blog" template_data="$blog" template_location="admin" template_app="blog"><![CDATA[<li class='ipsPad_half ipsClearfix' data-role='result'>
<a href='{url="app=blog&module=blogs&controller=blogs&do=form&id="}{$blog->id}' class='ipsPos_left'>{$blog->_title}</a>
<a href='{url="app=blog&module=blogs&controller=blogs&subnode=1&do=form&id="}{$blog->id}' class='ipsPos_left'>{$blog->_title}</a>
</li>
]]></template>
@@ -843,11 +843,9 @@
{{endif}}
</ul>
{{if $table->pages > 1}}
<div data-role="tablePagination">
{template="pagination" group="global" app="core" location="global" params="$table->baseUrl, $table->pages, $table->page, $table->limit, TRUE, $table->getPaginationKey()"}
</div>
{{endif}}
<div data-role="tablePagination" {{if $table->pages <= 1}}class='ipsHide'{{endif}}>
{template="pagination" group="global" app="core" location="global" params="$table->baseUrl, $table->pages, $table->page, $table->limit, TRUE, $table->getPaginationKey()"}
</div>
</div>
{{endif}}
@@ -931,13 +929,9 @@
{template="$table->rowsTemplate[1]" params="$table, $headers, $rows" object="$table->rowsTemplate[0]"}
</div>
{{endif}}
{{if $table->pages > 1}}
<div class="ipsButtonBar ipsPad_half ipsClearfix ipsClear">
<div data-role="tablePagination">
{template="pagination" group="global" app="core" location="global" params="$table->baseUrl, $table->pages, $table->page, $table->limit, TRUE, $table->getPaginationKey()"}
</div>
</div>
{{endif}}
<div class="ipsButtonBar ipsPad_half ipsClearfix ipsClear {{if $table->pages <= 1}}ipsHide{{endif}}" data-role="tablePagination">
{template="pagination" group="global" app="core" location="global" params="$table->baseUrl, $table->pages, $table->page, $table->limit, TRUE, $table->getPaginationKey()"}
</div>
</div>]]></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 ipsContained ipsType_break {{if $entry->hidden()}}ipsModerated{{endif}}' data-controller="core.front.core.lightboxedImages">
@@ -1074,14 +1068,14 @@
<li class='ipsType_light'>{lang="num_views_with_number" pluralize="$entry->views"}</li>
</ul>
</article>]]></template>
<template template_group="view" template_name="categories" template_data="$currentCategory=NULL, $categories=array(), $blog" template_location="front" template_app="blog"><![CDATA[ {{if \count( $categories )}}
<template template_group="view" template_name="categories" template_data="$currentCategory=NULL, $categories=array(), $blog=NULL" template_location="front" template_app="blog"><![CDATA[ {{if \count( $categories )}}
<div id='elBlogCategoriesBlock' class='ipsWidget ipsWidget_vertical ipsBox'>
{{if $blog->canEdit()}}
<span class='ipsPos_right ipsPad_half ipsType_light'><a href="{$blog->url()->setQueryString( array( 'do' => "manageCategories" ) )}" data-ipsDialog data-ipsDialog-size='narrow'><i class='fa fa-pencil'></i></a></span>
{{endif}}
<h3 class='ipsType_sectionTitle ipsType_reset'>{lang="categories"}</h3>
<div class='ipsPad_half'>
<div class='ipsSideMenu'>
<div class='ipsSideMenu ipsCategoriesMenu'>
<ul class='ipsSideMenu_list'>
{{foreach $categories as $category}}
<li{{if $currentCategory and $currentCategory->id == $category->id}} class="ipsAreaBackground_light"{{endif}}>
@@ -1308,13 +1302,13 @@
{$entry->editLine()|raw}
{{endif}}
</section>
{{if ( $entry->isFutureDate() and $entry::canFuturePublish( NULL, $entry->container() ) ) or ( $entry->status === 'draft' or $entry->canEdit() or $entry->canPin() or $entry->canUnpin() or $entry->canFeature() or $entry->canUnfeature() or $entry->canHide() or $entry->canUnhide() or $entry->canMove() or $entry->canLock() or $entry->canUnlock() or $entry->canDelete() ) or ( $entry->hidden() == -2 AND \IPS\Member::loggedIn()->modPermission('can_manage_deleted_content') ) || ( \IPS\IPS::classUsesTrait( $entry, 'IPS\Content\Reactable' ) AND settings.reputation_enabled )}}
{{if ( $entry->isFutureDate() and $entry::canFuturePublish( NULL, $entry->container() ) ) or ( $entry->status === 'draft' or $entry->canEdit() or $entry->canPin() or $entry->canUnpin() or $entry->canFeature() or $entry->canUnfeature() or $entry->canHide() or $entry->canUnhide() or $entry->canMove() or $entry->canLock() or $entry->canUnlock() or $entry->canDelete() ) or ( $entry->hidden() == -2 AND \IPS\Member::loggedIn()->modPermission('can_manage_deleted_content') ) || ( \IPS\IPS::classUsesTrait( $entry, 'IPS\Content\Reactable' ) AND settings.reputation_enabled ) OR ( ! $entry->container()->social_group and \IPS\Member::loggedIn()->group['g_can_report'] )}}
<div class='ipsItemControls'>
{{if \IPS\IPS::classUsesTrait( $entry, 'IPS\Content\Reactable' ) AND settings.reputation_enabled}}
{template="reputation" app="core" group="global" params="$entry"}
{{endif}}
{{if ( $entry->isFutureDate() and $entry::canFuturePublish( NULL, $entry->container() ) ) or ( $entry->status === 'draft' or $entry->canEdit() or $entry->canPin() or $entry->canUnpin() or $entry->canFeature() or $entry->canUnfeature() or $entry->canHide() or $entry->canUnhide() or $entry->canMove() or $entry->canLock() or $entry->canUnlock() or $entry->canDelete() ) or ( $entry->hidden() == -2 AND \IPS\Member::loggedIn()->modPermission('can_manage_deleted_content') ) || ( ! $entry->container()->social_group and \IPS\Member::loggedIn()->group['g_can_report'] )}}
{{if ( $entry->isFutureDate() and $entry::canFuturePublish( NULL, $entry->container() ) ) or ( $entry->status === 'draft' or $entry->canEdit() or $entry->canPin() or $entry->canUnpin() or $entry->canFeature() or $entry->canUnfeature() or $entry->canHide() or $entry->canUnhide() or $entry->canMove() or $entry->canLock() or $entry->canUnlock() or $entry->canDelete() ) or ( $entry->hidden() == -2 AND \IPS\Member::loggedIn()->modPermission('can_manage_deleted_content') ) OR ( ! $entry->container()->social_group and \IPS\Member::loggedIn()->group['g_can_report'] )}}
<ul class='ipsComment_controls ipsClearfix ipsItemControls_left'>
{{if ( $entry->isFutureDate() and $entry::canFuturePublish( NULL, $entry->container() ) ) or ( $entry->status === 'draft' or $entry->canEdit() or $entry->canPin() or $entry->canUnpin() or $entry->canFeature() or $entry->canUnfeature() or $entry->canHide() or $entry->canUnhide() or $entry->canMove() or $entry->canLock() or $entry->canUnlock() or $entry->canDelete() ) or ( $entry->hidden() == -2 AND \IPS\Member::loggedIn()->modPermission('can_manage_deleted_content') )}}
<li>
@@ -1322,7 +1316,7 @@
<ul id='elentryActions_menu' class='ipsMenu ipsMenu_auto ipsHide'>
{{if ! $entry->container()->social_group and $entry->canReportOrRevoke() === TRUE }}
<li class='ipsMenu_item'>
<a href='{$entry->url('report')}' data-ipsDialog data-ipsDialog-size='medium' data-ipsDialog-title="{lang="report_entry"}" data-ipsDialog-remoteSubmit data-ipsDialog-flashMessage="{lang="report_submit_success"}" title="{lang="report_entry"}">{lang="report_entry"}</a>
<a href='{$entry->url('report')}' {{if member.member_id or \IPS\Helpers\Form\Captcha::supportsModal()}}data-ipsDialog data-ipsDialog-size='medium' data-ipsDialog-title="{lang="report_entry"}" data-ipsDialog-remoteSubmit data-ipsDialog-flashMessage="{lang="report_submit_success"}"{{endif}} title="{lang="report_entry"}">{lang="report_entry"}</a>
</li>
<li class='ipsMenu_sep'><hr></li>
{{endif}}
@@ -1350,7 +1344,7 @@
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'unpin' ) )}' title='{lang="unpin_title_blog"}'>{lang="unpin"}</a></li>
{{endif}}
{{if $entry->canHide()}}
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'hide' ) )}' title='{lang="hide_title_blog"}' data-ipsDialog data-ipsDialog-title="{lang="hide"}">{lang="hide"}</a></li>
<li class='ipsMenu_item'><a href='{$entry->url()->setQueryString( array( 'do' => 'moderate', 'action' => 'hide' ) )}' title='{lang="hide_title_blog"}' data-ipsDialog data-ipsDialog-title="{lang="hide"}">{lang="hide"}</a></li>
{{endif}}
{{if $entry->canUnhide()}}
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'unhide' ) )}' title='{{if $entry->hidden() === 1}}{lang="approve_title_blog"}{{else}}{lang="unhide_title_blog"}{{endif}}'>{{if $entry->hidden() === 1}}{lang="approve"}{{else}}{lang="unhide"}{{endif}}</a></li>
@@ -1362,24 +1356,24 @@
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'unlock' ) )}' title='{lang="blog_unlock_title"}'>{lang="unlock"}</a></li>
{{endif}}
{{if $entry->canMove()}}
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'move' ) )}' data-ipsDialog data-ipsDialog-size='narrow' data-ipsDialog-title="{lang="move"}" title='{lang="blog_move_title"}'>{lang="move"}</a></li>
<li class='ipsMenu_item'><a href='{$entry->url()->setQueryString( array( 'do' => 'move' ) )}' data-ipsDialog data-ipsDialog-size='narrow' data-ipsDialog-title="{lang="move"}" title='{lang="blog_move_title"}'>{lang="move"}</a></li>
{{endif}}
{{if $entry->canDelete()}}
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'delete' ) )}' data-confirm title='{lang="blog_delete_title"}'>{lang="delete"}</a></li>
{{endif}}
{{if $entry->canOnMessage( 'add' )}}
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'messageForm' ) )}' data-ipsDialog data-ipsDialod-title='{lang="add_message"}'>{lang="add_message"}</a></li>
<li class='ipsMenu_item'><a href='{$entry->url()->setQueryString( array( 'do' => 'messageForm' ) )}' data-ipsDialog data-ipsDialod-title='{lang="add_message"}'>{lang="add_message"}</a></li>
{{endif}}
{{if \IPS\Member::loggedIn()->modPermission('can_view_moderation_log')}}
<li class='ipsMenu_sep'><hr></li>
<li class="ipsMenu_item"><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'modLog' ) )}' data-ipsDialog data-ipsDialog-title='{lang="moderation_history"}'>{lang="moderation_history"}</a></li>
<li class="ipsMenu_item"><a href='{$entry->url()->setQueryString( array( 'do' => 'modLog' ) )}' data-ipsDialog data-ipsDialog-title='{lang="moderation_history"}'>{lang="moderation_history"}</a></li>
{{endif}}
{{endif}}
</ul>
</li>
{{elseif ( ! $entry->container()->social_group and $entry->canReportOrRevoke() === TRUE )}}
<li>
<a href='{$entry->url('report')}' class='ipsButton ipsButton_link ipsButton_verySmall ipsButton_fullWidth' data-ipsDialog data-ipsDialog-size='medium' data-ipsDialog-title="{lang="report_entry"}" data-ipsDialog-remoteSubmit data-ipsDialog-flashMessage="{lang="report_submit_success"}" title="{lang="report_entry"}">{lang="report_entry"}</a>
<a href='{$entry->url('report')}' class='ipsButton ipsButton_link ipsButton_verySmall ipsButton_fullWidth' {{if member.member_id or \IPS\Helpers\Form\Captcha::supportsModal()}}data-ipsDialog data-ipsDialog-size='medium' data-ipsDialog-title="{lang="report_entry"}" data-ipsDialog-remoteSubmit data-ipsDialog-flashMessage="{lang="report_submit_success"}"{{endif}} title="{lang="report_entry"}">{lang="report_entry"}</a>
</li>
<li class='ipsMenu_sep'><hr></li>
{{endif}}
@@ -1540,19 +1534,23 @@
</li>
{{endif}}
{{if !$blog->club_id and ( $blog->canDelete() or ( $blog->canEdit() AND !$blog->groupblog_ids ) or ( $blog->pinned and \IPS\Member::loggedIn()->modPermission('can_unpin_content') ) || ( !$blog->pinned and \IPS\Member::loggedIn()->modPermission('can_pin_content') ) )}}
{{if !$blog->club_id and ( $blog->canDelete() or $blog->canEdit() or ( $blog->pinned and \IPS\Member::loggedIn()->modPermission('can_unpin_content') ) || ( !$blog->pinned and \IPS\Member::loggedIn()->modPermission('can_pin_content') ) )}}
<li>
<a href='#elBlogManage_menu' id='elBlogManage' data-ipsMenu class='ipsButton ipsButton_link ipsButton_medium ipsButton_fullWidth'>{lang="manage_blog"} <i class='fa fa-caret-down'></i></a>
<ul id='elBlogManage_menu' class='ipsMenu ipsMenu_normal ipsHide'>
{{if $blog->canEdit() AND !$blog->groupblog_ids}}
<li class='ipsMenu_item'>
<a href='{$blog->url()->setQueryString( array( 'do' => 'editBlog', 'csrfKey' => \IPS\Session::i()->csrfKey ) )}' title="{lang="edit_blog"}" data-ipsDialog data-ipsDialog-title="{lang="edit_blog"}">{lang="edit_blog"}</a>
<a href='{$blog->url()->setQueryString( array( 'do' => 'editBlog' ) )}' title="{lang="edit_blog"}" data-ipsDialog data-ipsDialog-title="{lang="edit_blog"}">{lang="edit_blog"}</a>
</li>
{{elseif $blog->canEdit() AND $blog->groupblog_ids}}
<li class='ipsMenu_item'>
<a href='{$blog->url()->setQueryString( array( 'do' => 'manageCategories' ) )}' title="{lang="blog_manage_entry_categories"}" data-ipsDialog data-ipsDialog-title="{lang="blog_manage_entry_categories"}">{lang="blog_manage_entry_categories"}</a>
</li>
{{endif}}
{{if $blog->canEdit() AND \IPS\Settings::i()->blog_allow_rssimport }}
<li class='ipsMenu_item'>
<a href='{$blog->url()->setQueryString( array( 'do' => 'rssImport', 'csrfKey' => \IPS\Session::i()->csrfKey ) )}' title="{lang="blog_rss_import"}" data-ipsDialog data-ipsDialog-title="{lang="blog_rss_import"}">{lang="blog_rss_import"}</a>
<a href='{$blog->url()->setQueryString( array( 'do' => 'rssImport' ) )}' title="{lang="blog_rss_import"}" data-ipsDialog data-ipsDialog-title="{lang="blog_rss_import"}">{lang="blog_rss_import"}</a>
</li>
{{endif}}
@@ -1666,7 +1664,7 @@
<div class='ipsItemControls'>
<ul class='ipsComment_controls ipsClearfix ipsItemControls_left' data-role="commentControls">
{{if $comment->canReportOrRevoke() === TRUE}}
<li><a href='{$comment->url('report')}' data-ipsDialog data-ipsDialog-remoteSubmit data-ipsDialog-size='medium' data-ipsDialog-flashMessage='{lang="report_submit_success"}' data-ipsDialog-title="{lang="report"}" data-action='reportComment' title='{lang="report_content"}'>{lang="report"}</a></li>
<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"}"{{endif}} data-action='reportComment' title='{lang="report_content"}'>{lang="report"}</a></li>
{{endif}}
</ul>
{{if $comment->hidden() !== 1 && \IPS\IPS::classUsesTrait( $comment, 'IPS\Content\Reactable' ) and settings.reputation_enabled}}