Version 5.0.13
This commit is contained in:
1 parent
b89858b2ff
commit
5efe744c5f
1407 files changed
+69690
-30177
No files matched your search
@@ -93,7 +93,7 @@ class Application extends SystemApplication
|
||||
|
||||
$title = $member->language()->get( "blogs_blog_{$blog->id}" );
|
||||
|
||||
$document = Rss::newDocument( $blog->url(), $title, $blog->description );
|
||||
$document = Rss::newDocument( $blog->url(), $title, $blog->description ?? '' );
|
||||
|
||||
foreach (Entry::getItemsWithPermission( array( array( 'entry_blog_id=?', $blog->id ), array( 'entry_status!=?', 'draft' ) ), 'entry_date DESC', 25, 'read', Filter::FILTER_PUBLIC_ONLY, 0, $member, FALSE, FALSE, FALSE, FALSE, NULL, $blog ) as $entry )
|
||||
{
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"application_title": "Blogs",
|
||||
"app_author": "",
|
||||
"app_author": "Invision Power Services, Inc.",
|
||||
"app_directory": "blog",
|
||||
"app_protected": 0,
|
||||
"app_website": null,
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
{
|
||||
"core": {
|
||||
"Club": {
|
||||
"Blog": "IPS\\blog\\extensions\\core\\Club\\Blog"
|
||||
},
|
||||
"ContentRouter": {
|
||||
"Blog": "IPS\\blog\\extensions\\core\\ContentRouter\\Blog"
|
||||
},
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<javascript app="blog">
|
||||
<file javascript_app="blog" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.manageCategories.js" javascript_type="controller" javascript_version="5000074" javascript_position="1000100"><![CDATA[/**
|
||||
<file javascript_app="blog" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.manageCategories.js" javascript_type="controller" javascript_version="5001302" javascript_position="1000100"><![CDATA[/**
|
||||
* Invision Community
|
||||
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
|
||||
*
|
||||
@@ -277,7 +277,7 @@
|
||||
}
|
||||
});
|
||||
}(jQuery, _));]]></file>
|
||||
<file javascript_app="blog" javascript_location="front" javascript_path="templates" javascript_name="ips.templates.view.js" javascript_type="template" javascript_version="5000074" javascript_position="1000050"><![CDATA[/* CLASS LIST TEMPLATES */
|
||||
<file javascript_app="blog" javascript_location="front" javascript_path="templates" javascript_name="ips.templates.view.js" javascript_type="template" javascript_version="5001302" javascript_position="1000050"><![CDATA[/* CLASS LIST TEMPLATES */
|
||||
ips.templates.set('blog.view.addButton', "\
|
||||
<li><button type=\"button\" class=\"ipsButton ipsButton--primary ipsHide\" data-action=\"addNew\">{{#lang}}manage_cats_new_row{{/lang}}</button></li>\
|
||||
");
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<language>
|
||||
<app key="blog" version="5000074">
|
||||
<app key="blog" version="5001302">
|
||||
<word key="__app_blog" js="0">Blogs</word>
|
||||
<word key="frontnavigation_blogs" js="0">Blogs</word>
|
||||
<word key="__indefart_blog_entry_comment" js="0">a comment on a blog entry</word>
|
||||
@@ -11,6 +11,7 @@
|
||||
<word key="__defart_blog_entry_plural" js="0">{!#[1:blog entry][?:blog entries]}</word>
|
||||
<word key="blog_entry_container" js="0">blog</word>
|
||||
<word key="blog_entry_pl_lc" js="0">blog entries</word>
|
||||
<word key="blog_categories_sg" js="0">Blog Category</word>
|
||||
<word key="module__blog_blogs" js="0">Blogs</word>
|
||||
<word key="menu__blog_blogs" js="0">Blogs</word>
|
||||
<word key="menu__blog_blogs_settings" js="0">Settings</word>
|
||||
|
||||
+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" */
|
||||
|
||||
@@ -348,5 +348,54 @@
|
||||
"5000071": "5.0.6 Beta 2",
|
||||
"5000072": "5.0.6 Beta 3",
|
||||
"5000073": "5.0.6 Beta 4",
|
||||
"5000074": "5.0.6"
|
||||
"5000074": "5.0.6",
|
||||
"5000075": "5.0.7 Beta 1",
|
||||
"5000076": "5.0.7 Beta 2",
|
||||
"5000077": "5.0.7 Beta 2",
|
||||
"5000078": "5.0.7 Beta 3",
|
||||
"5000079": "5.0.7 Beta 4",
|
||||
"5000080": "5.0.7",
|
||||
"5000081": "5.0.7",
|
||||
"5000082": "5.0.7",
|
||||
"5000800": "5.0.8 Alpha 1",
|
||||
"5000801": "5.0.8 Alpha 2",
|
||||
"5000802": "5.0.8 Beta 1",
|
||||
"5000803": "5.0.8 Beta 2",
|
||||
"5000804": "5.0.8 Beta 3",
|
||||
"5000805": "5.0.8",
|
||||
"5000900": "5.0.9 Beta 1",
|
||||
"5000901": "5.0.9 Beta 1",
|
||||
"5000902": "5.0.9 Beta 1",
|
||||
"5000903": "5.0.9 Beta 2",
|
||||
"5000904": "5.0.9",
|
||||
"5000905": "5.0.9",
|
||||
"5000906": "5.0.10 Beta 1",
|
||||
"5000907": "5.0.10 Beta 1",
|
||||
"5000908": "5.0.10 Beta 1",
|
||||
"5000909": "5.0.10 Beta 1",
|
||||
"5000910": "5.0.10 Beta 2",
|
||||
"5000911": "5.0.10 Beta 3",
|
||||
"5000912": "5.0.10 Beta 4",
|
||||
"5000913": "5.0.10 Beta 4",
|
||||
"5000914": "5.0.10",
|
||||
"5000915": "5.0.10",
|
||||
"5000916": "5.0.10",
|
||||
"5000917": "5.0.10",
|
||||
"5000918": "5.0.10",
|
||||
"5000919": "5.0.10",
|
||||
"5000920": "5.0.10",
|
||||
"5001100": "5.0.11 Beta 1",
|
||||
"5001101": "5.0.11 Beta 1",
|
||||
"5001102": "5.0.11 Beta 2",
|
||||
"5001103": "5.0.11",
|
||||
"5001104": "5.0.11",
|
||||
"5001105": "5.0.11",
|
||||
"5001200": "5.0.12 Beta 1",
|
||||
"5001201": "5.0.12 Beta 2",
|
||||
"5001202": "5.0.12 Beta 3",
|
||||
"5001203": "5.0.12",
|
||||
"5001204": "5.0.12",
|
||||
"5001300": "5.0.13 Beta 1",
|
||||
"5001301": "5.0.13 Beta 2",
|
||||
"5001302": "5.0.13"
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Club plugin
|
||||
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) Invision Power Services, Inc.
|
||||
* @license https://www.invisioncommunity.com/legal/standards/
|
||||
* @package Invision Community
|
||||
* @subpackage Blogs
|
||||
* @since 08 Jul 2025
|
||||
*/
|
||||
|
||||
namespace IPS\blog\extensions\core\Club;
|
||||
|
||||
/* To prevent PHP errors (extending class does not exist) revealing path */
|
||||
|
||||
use IPS\blog\Blog as BlogClass;
|
||||
use IPS\Content\ContentMenuLink;
|
||||
use IPS\Helpers\Menu\MenuItem;
|
||||
use IPS\Member\Club;
|
||||
use IPS\Extensions\ClubAbstract;
|
||||
use IPS\Member\Club\Page as ClubPage;
|
||||
use IPS\Node\Model;
|
||||
use function defined;
|
||||
|
||||
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
{
|
||||
header( ( $_SERVER['SERVER_PROTOCOL'] ?? 'HTTP/1.0' ) . ' 403 Forbidden' );
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* Club Menu plugin
|
||||
*/
|
||||
class Blog extends ClubAbstract
|
||||
{
|
||||
/**
|
||||
* Return an array of menu elements to add to the club menu
|
||||
*
|
||||
* @param Club $club
|
||||
* @param Model|ClubPage|null $container
|
||||
* @return array<string,MenuItem>
|
||||
*/
|
||||
public function menu( Club $club, Model|ClubPage|null $container = null ) : array
|
||||
{
|
||||
if( $container instanceof BlogClass and $container->canEdit() )
|
||||
{
|
||||
$categoryLink = new ContentMenuLink( $container->url()->setQueryString( 'do', 'manageCategories' ), 'blog_manage_entry_categories' );
|
||||
$categoryLink->opensDialog( 'blog_manage_entry_categories' );
|
||||
return [ $categoryLink ];
|
||||
}
|
||||
return [];
|
||||
}
|
||||
}
|
||||
@@ -13,6 +13,7 @@ namespace IPS\blog\extensions\core\EditorLocations;
|
||||
|
||||
/* To prevent PHP errors (extending class does not exist) revealing path */
|
||||
|
||||
use Exception;
|
||||
use InvalidArgumentException;
|
||||
use IPS\blog\Blog;
|
||||
use IPS\blog\Entry\Comment;
|
||||
@@ -27,6 +28,7 @@ use IPS\Text\Parser;
|
||||
use LogicException;
|
||||
use RuntimeException;
|
||||
use function defined;
|
||||
use function is_array;
|
||||
|
||||
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
{
|
||||
@@ -127,14 +129,20 @@ class Blogs extends EditorLocationsAbstract
|
||||
*/
|
||||
public function attachmentLookup( ?int $id1=null, ?int $id2=null, ?string $id3=null ): Model|Content|Url|Member|null
|
||||
{
|
||||
/* The attachment is attached to a comment */
|
||||
if ( $id2 )
|
||||
{
|
||||
return Comment::load( $id2 );
|
||||
try
|
||||
{/* The attachment is attached to a comment */
|
||||
if( $id2 )
|
||||
{
|
||||
return Comment::load( $id2 );
|
||||
}
|
||||
else
|
||||
{
|
||||
return Blog::load( $id1 );
|
||||
}
|
||||
}
|
||||
else
|
||||
catch( Exception $e )
|
||||
{
|
||||
return Blog::load( $id1 );
|
||||
throw new LogicException( );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -208,7 +216,7 @@ class Blogs extends EditorLocationsAbstract
|
||||
}
|
||||
catch( InvalidArgumentException $e )
|
||||
{
|
||||
if( $callback[1] == 'parseStatic' AND $e->getcode() == 103014 )
|
||||
if( is_array( $callback ) and $callback[1] == 'parseStatic' AND $e->getcode() == 103014 )
|
||||
{
|
||||
$rebuilt = preg_replace( "#\[/?([^\]]+?)\]#", '', $word['word_custom'] );
|
||||
}
|
||||
|
||||
@@ -13,6 +13,7 @@ namespace IPS\blog\extensions\core\EditorLocations;
|
||||
|
||||
/* To prevent PHP errors (extending class does not exist) revealing path */
|
||||
|
||||
use Exception;
|
||||
use InvalidArgumentException;
|
||||
use IPS\Content;
|
||||
use IPS\Db;
|
||||
@@ -24,6 +25,7 @@ use IPS\Node\Model;
|
||||
use IPS\Text\Parser;
|
||||
use LogicException;
|
||||
use function defined;
|
||||
use function is_array;
|
||||
|
||||
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
{
|
||||
@@ -78,7 +80,14 @@ class Categories extends EditorLocationsAbstract
|
||||
switch ( $id3 )
|
||||
{
|
||||
case 'bcategory':
|
||||
return Url::internal( "app=blog&module=blogs&controller=categories&do=form&id={$id1}", 'admin' );
|
||||
try
|
||||
{
|
||||
return Url::internal( "app=blog&module=blogs&controller=categories&do=form&id={$id1}", 'admin' );
|
||||
}
|
||||
catch( Exception $e )
|
||||
{
|
||||
throw new LogicException;
|
||||
}
|
||||
}
|
||||
|
||||
return NULL;
|
||||
@@ -142,7 +151,7 @@ class Categories extends EditorLocationsAbstract
|
||||
}
|
||||
catch( InvalidArgumentException $e )
|
||||
{
|
||||
if( $callback[1] == 'parseStatic' AND $e->getcode() == 103014 )
|
||||
if( is_array( $callback ) and $callback[1] == 'parseStatic' AND $e->getcode() == 103014 )
|
||||
{
|
||||
$rebuilt = preg_replace( "#\[/?([^\]]+?)\]#", '', $word['word_custom'] );
|
||||
}
|
||||
|
||||
@@ -13,6 +13,7 @@ namespace IPS\blog\extensions\core\EditorLocations;
|
||||
|
||||
/* To prevent PHP errors (extending class does not exist) revealing path */
|
||||
|
||||
use Exception;
|
||||
use IPS\blog\Entry;
|
||||
use IPS\Content;
|
||||
use IPS\Extensions\EditorLocationsAbstract;
|
||||
@@ -99,7 +100,14 @@ class Entries extends EditorLocationsAbstract
|
||||
*/
|
||||
public function attachmentLookup( ?int $id1=null, ?int $id2=null, ?string $id3=null ): Model|Content|Url|Member|null
|
||||
{
|
||||
return Entry::load( $id1 );
|
||||
try
|
||||
{
|
||||
return Entry::load( $id1 );
|
||||
}
|
||||
catch( Exception $e )
|
||||
{
|
||||
throw new LogicException;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -71,9 +71,9 @@ class Blog extends GroupFormAbstract
|
||||
/* We intval here because (some of) the columns do not accept null values, but these are null when creating a new group */
|
||||
$group->g_blog_allowlocal = (int) $values['g_blog_allowlocal'];
|
||||
$group->g_blog_maxblogs = (int) $values['g_blog_maxblogs'];
|
||||
$group->g_blog_allowprivate = (int) $values['g_blog_allowprivate'];
|
||||
$group->g_blog_allowownmod = (int) $values['g_blog_allowownmod'];
|
||||
$group->g_blog_allowdelete = (int) $values['g_blog_allowdelete'];
|
||||
$group->g_blog_allowprivate = $values['g_blog_allowlocal'] ? (int) $values['g_blog_allowprivate'] : 0;
|
||||
$group->g_blog_allowownmod = $values['g_blog_allowlocal'] ? (int) $values['g_blog_allowownmod'] : 0;
|
||||
$group->g_blog_allowdelete = $values['g_blog_allowlocal'] ? (int) $values['g_blog_allowdelete'] : 0;
|
||||
}
|
||||
|
||||
$group->g_blog_allowcomment = $values['g_blog_allowcomment'];
|
||||
|
||||
@@ -67,8 +67,23 @@ class Blogs extends OverviewStatisticsAbstract
|
||||
*/
|
||||
public function getBlock( array|string|null $dateRange = NULL, string $subBlock = NULL ): string
|
||||
{
|
||||
$total = Db::i()->select( 'COUNT(*)', 'blog_blogs' )->first();
|
||||
return Theme::i()->getTemplate( 'stats' )->overviewComparisonCount(
|
||||
$this->getBlockNumbers( $dateRange, $subBlock )['statsreports_current_count'],
|
||||
NULL,
|
||||
NULL
|
||||
);
|
||||
}
|
||||
|
||||
return Theme::i()->getTemplate( 'stats' )->overviewComparisonCount( $total, NULL, NULL );
|
||||
/**
|
||||
* @param array|string $dateRange=null
|
||||
* @param string $subBlock = null
|
||||
*
|
||||
* @return array{statsreports_current_count: number}
|
||||
*/
|
||||
public function getBlockNumbers( array|string $dateRange = null, string $subBlock = null ) : array
|
||||
{
|
||||
return [
|
||||
'statsreports_current_count' => Db::i()->select( "COUNT(*)", 'blog_blogs' )->first()
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -45,17 +45,6 @@ class RssImport extends RssImportAbstract
|
||||
$this->classes = array( 'IPS\\blog\\Entry' );
|
||||
}
|
||||
|
||||
/**
|
||||
* Return available options for a Form\Select
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function availableOptions(): array
|
||||
{
|
||||
/* We don't want to set up Blog feeds in the ACP */
|
||||
return array();
|
||||
}
|
||||
|
||||
/**
|
||||
* Show in the Admin CP?
|
||||
*
|
||||
@@ -115,7 +104,7 @@ class RssImport extends RssImportAbstract
|
||||
*/
|
||||
public function form( Form $form, ?Import $rss=NULL ): void
|
||||
{
|
||||
/* Blogs has it's own front end controller */
|
||||
/* Blogs has its own front end controller */
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -127,7 +116,7 @@ class RssImport extends RssImportAbstract
|
||||
*/
|
||||
public function saveForm( array &$values, Import $rss ): array
|
||||
{
|
||||
/* Blogs has it's own front end controller */
|
||||
/* Blogs has its own front end controller */
|
||||
return array( $values );
|
||||
}
|
||||
}
|
||||
@@ -169,8 +169,9 @@ class browse extends Controller
|
||||
/* Set default search option */
|
||||
Output::i()->defaultSearchOption = array( 'blog_entry', 'blog_entry_pl' );
|
||||
}
|
||||
|
||||
Output::i()->bodyAttributes['contentClass'] = Category::class;
|
||||
Output::i()->jsFiles = array_merge( Output::i()->jsFiles, Output::i()->js( 'front_browse.js', 'blog', 'front' ) );
|
||||
Output::i()->title = $category ? $category->_title : Member::loggedIn()->language()->addToStack( 'blogs' );
|
||||
|
||||
}
|
||||
}
|
||||
@@ -87,6 +87,8 @@ class view extends Controller
|
||||
{
|
||||
Output::i()->metaTags['og:image'] = File::get( $this->_coverPhotoStorageExtension(), $this->blog->cover_photo )->url;
|
||||
}
|
||||
|
||||
Output::i()->bodyAttributes['contentClass'] = Blog::class;
|
||||
|
||||
parent::execute();
|
||||
}
|
||||
|
||||
@@ -1,92 +1 @@
|
||||
{
|
||||
"1": {
|
||||
"method": "addColumn",
|
||||
"params": [
|
||||
"core_groups",
|
||||
{
|
||||
"name": "g_blog_allowlocal",
|
||||
"type": "TINYINT",
|
||||
"length": 1,
|
||||
"null": false,
|
||||
"default": 0,
|
||||
"comment": "Can create blogs?",
|
||||
"unsigned": true
|
||||
}
|
||||
]
|
||||
},
|
||||
"2": {
|
||||
"method": "addColumn",
|
||||
"params": [
|
||||
"core_groups",
|
||||
{
|
||||
"name": "g_blog_maxblogs",
|
||||
"type": "INT",
|
||||
"length": 10,
|
||||
"null": false,
|
||||
"default": 0,
|
||||
"comment": "Maximum number of blogs",
|
||||
"unsigned": true
|
||||
}
|
||||
]
|
||||
},
|
||||
"3": {
|
||||
"method": "addColumn",
|
||||
"params": [
|
||||
"core_groups",
|
||||
{
|
||||
"name": "g_blog_allowprivate",
|
||||
"type": "TINYINT",
|
||||
"length": 1,
|
||||
"null": false,
|
||||
"default": 0,
|
||||
"comment": "Can create private blogs?",
|
||||
"unsigned": true
|
||||
}
|
||||
]
|
||||
},
|
||||
"4": {
|
||||
"method": "addColumn",
|
||||
"params": [
|
||||
"core_groups",
|
||||
{
|
||||
"name": "g_blog_allowownmod",
|
||||
"type": "TINYINT",
|
||||
"length": 1,
|
||||
"null": false,
|
||||
"default": 0,
|
||||
"comment": "Can moderate own blogs?",
|
||||
"unsigned": true
|
||||
}
|
||||
]
|
||||
},
|
||||
"5": {
|
||||
"method": "addColumn",
|
||||
"params": [
|
||||
"core_groups",
|
||||
{
|
||||
"name": "g_blog_allowdelete",
|
||||
"type": "TINYINT",
|
||||
"length": 1,
|
||||
"null": false,
|
||||
"default": 0,
|
||||
"comment": "Can delete own blogs?",
|
||||
"unsigned": true
|
||||
}
|
||||
]
|
||||
},
|
||||
"6": {
|
||||
"method": "addColumn",
|
||||
"params": [
|
||||
"core_groups",
|
||||
{
|
||||
"name": "g_blog_allowcomment",
|
||||
"type": "TINYINT",
|
||||
"length": 1,
|
||||
"null": false,
|
||||
"default": 0,
|
||||
"comment": "Can comment on blogs?",
|
||||
"unsigned": true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
[]
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000075,
|
||||
"name": "5.0.7 Beta 1",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": true,
|
||||
"themeeditor": true,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"html": {
|
||||
"added": [],
|
||||
"edited": [
|
||||
"front\/browse\/featuredEntries",
|
||||
"front\/browse\/index",
|
||||
"front\/browse\/indexGrid",
|
||||
"front\/view\/blogHeader",
|
||||
"front\/view\/blogTable",
|
||||
"front\/view\/entry",
|
||||
"front\/view\/view"
|
||||
],
|
||||
"removed": []
|
||||
},
|
||||
"css": {
|
||||
"added": [],
|
||||
"edited": [],
|
||||
"removed": []
|
||||
},
|
||||
"resources": {
|
||||
"added": [],
|
||||
"edited": [],
|
||||
"removed": []
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"categories": {
|
||||
"added": [],
|
||||
"edited": [],
|
||||
"removed": []
|
||||
},
|
||||
"settings": {
|
||||
"added": [],
|
||||
"edited": [
|
||||
"layout_blog_view"
|
||||
],
|
||||
"removed": []
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000076,
|
||||
"name": "5.0.7 Beta 2",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": true,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"categories": {
|
||||
"added": [],
|
||||
"edited": [],
|
||||
"removed": []
|
||||
},
|
||||
"settings": {
|
||||
"added": [],
|
||||
"edited": [
|
||||
"layout_blog_view"
|
||||
],
|
||||
"removed": []
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000077,
|
||||
"name": "5.0.7 Beta 2",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": true,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"categories": {
|
||||
"added": [],
|
||||
"edited": [],
|
||||
"removed": []
|
||||
},
|
||||
"settings": {
|
||||
"added": [],
|
||||
"edited": [
|
||||
"layout_blog_view"
|
||||
],
|
||||
"removed": []
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000078,
|
||||
"name": "5.0.7 Beta 3",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": true,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"categories": {
|
||||
"added": [],
|
||||
"edited": [],
|
||||
"removed": []
|
||||
},
|
||||
"settings": {
|
||||
"added": [],
|
||||
"edited": [
|
||||
"layout_blog_view"
|
||||
],
|
||||
"removed": []
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000079,
|
||||
"name": "5.0.7 Beta 4",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": true,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"categories": {
|
||||
"added": [],
|
||||
"edited": [],
|
||||
"removed": []
|
||||
},
|
||||
"settings": {
|
||||
"added": [],
|
||||
"edited": [
|
||||
"layout_blog_view"
|
||||
],
|
||||
"removed": []
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000080,
|
||||
"name": "5.0.7",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": true,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"categories": {
|
||||
"added": [],
|
||||
"edited": [],
|
||||
"removed": []
|
||||
},
|
||||
"settings": {
|
||||
"added": [],
|
||||
"edited": [
|
||||
"layout_blog_view"
|
||||
],
|
||||
"removed": []
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000081,
|
||||
"name": "5.0.7",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": true,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"categories": {
|
||||
"added": [],
|
||||
"edited": [],
|
||||
"removed": []
|
||||
},
|
||||
"settings": {
|
||||
"added": [],
|
||||
"edited": [
|
||||
"layout_blog_view"
|
||||
],
|
||||
"removed": []
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000082,
|
||||
"name": "5.0.7",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": true,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"categories": {
|
||||
"added": [],
|
||||
"edited": [],
|
||||
"removed": []
|
||||
},
|
||||
"settings": {
|
||||
"added": [],
|
||||
"edited": [
|
||||
"layout_blog_view"
|
||||
],
|
||||
"removed": []
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000800,
|
||||
"name": "5.0.8 Alpha 1",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": true,
|
||||
"themeeditor": true,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"html": {
|
||||
"added": [],
|
||||
"edited": [
|
||||
"front\/browse\/featuredEntries",
|
||||
"front\/browse\/indexGridEntry",
|
||||
"front\/widgets\/entryRow"
|
||||
],
|
||||
"removed": []
|
||||
},
|
||||
"css": {
|
||||
"added": [],
|
||||
"edited": [],
|
||||
"removed": []
|
||||
},
|
||||
"resources": {
|
||||
"added": [],
|
||||
"edited": [],
|
||||
"removed": []
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"categories": {
|
||||
"added": [],
|
||||
"edited": [],
|
||||
"removed": []
|
||||
},
|
||||
"settings": {
|
||||
"added": [],
|
||||
"edited": [
|
||||
"layout_blog_view"
|
||||
],
|
||||
"removed": []
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000801,
|
||||
"name": "5.0.8 Alpha 2",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": true,
|
||||
"themeeditor": true,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"html": {
|
||||
"added": [],
|
||||
"edited": [
|
||||
"front\/browse\/rows",
|
||||
"front\/widgets\/entryRow"
|
||||
],
|
||||
"removed": []
|
||||
},
|
||||
"css": {
|
||||
"added": [],
|
||||
"edited": [],
|
||||
"removed": []
|
||||
},
|
||||
"resources": {
|
||||
"added": [],
|
||||
"edited": [],
|
||||
"removed": []
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"categories": {
|
||||
"added": [],
|
||||
"edited": [],
|
||||
"removed": []
|
||||
},
|
||||
"settings": {
|
||||
"added": [],
|
||||
"edited": [
|
||||
"layout_blog_view"
|
||||
],
|
||||
"removed": []
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000802,
|
||||
"name": "5.0.8 Beta 1",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": true,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"categories": {
|
||||
"added": [],
|
||||
"edited": [],
|
||||
"removed": []
|
||||
},
|
||||
"settings": {
|
||||
"added": [],
|
||||
"edited": [
|
||||
"layout_blog_view"
|
||||
],
|
||||
"removed": []
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000803,
|
||||
"name": "5.0.8 Beta 2",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": false,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000804,
|
||||
"name": "5.0.8 Beta 3",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": false,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000805,
|
||||
"name": "5.0.8",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": false,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000900,
|
||||
"name": "5.0.9 Beta 1",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": false,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000901,
|
||||
"name": "5.0.9 Beta 1",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": false,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000902,
|
||||
"name": "5.0.9 Beta 1",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": false,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000903,
|
||||
"name": "5.0.9 Beta 2",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": false,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000904,
|
||||
"name": "5.0.9",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": false,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000905,
|
||||
"name": "5.0.9",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": false,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000906,
|
||||
"name": "5.0.10 Beta 1",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": true,
|
||||
"themeeditor": false,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"html": {
|
||||
"added": [],
|
||||
"edited": [
|
||||
"front\/widgets\/entryRow"
|
||||
],
|
||||
"removed": []
|
||||
},
|
||||
"css": {
|
||||
"added": [],
|
||||
"edited": [],
|
||||
"removed": []
|
||||
},
|
||||
"resources": {
|
||||
"added": [],
|
||||
"edited": [],
|
||||
"removed": []
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000907,
|
||||
"name": "5.0.10 Beta 1",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": false,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000908,
|
||||
"name": "5.0.10 Beta 1",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": false,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000909,
|
||||
"name": "5.0.10 Beta 1",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": false,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000910,
|
||||
"name": "5.0.10 Beta 2",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": false,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000911,
|
||||
"name": "5.0.10 Beta 3",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": false,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000912,
|
||||
"name": "5.0.10 Beta 4",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": false,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000913,
|
||||
"name": "5.0.10 Beta 4",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": false,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000914,
|
||||
"name": "5.0.10",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": false,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000915,
|
||||
"name": "5.0.10",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": false,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000916,
|
||||
"name": "5.0.10",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": false,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000917,
|
||||
"name": "5.0.10",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": false,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000918,
|
||||
"name": "5.0.10",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": false,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000919,
|
||||
"name": "5.0.10",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": false,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5000920,
|
||||
"name": "5.0.10",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": false,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5001100,
|
||||
"name": "5.0.11 Beta 1",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": false,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5001101,
|
||||
"name": "5.0.11 Beta 1",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": true,
|
||||
"themeeditor": false,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"html": {
|
||||
"added": [],
|
||||
"edited": [
|
||||
"front\/browse\/indexGridEntry",
|
||||
"front\/browse\/rows",
|
||||
"front\/view\/blogHeader",
|
||||
"front\/view\/blogViewLarge",
|
||||
"front\/view\/blogViewMedium",
|
||||
"front\/view\/coverPhotoOverlay",
|
||||
"front\/view\/entry",
|
||||
"front\/view\/view",
|
||||
"front\/widgets\/blogCommentFeed",
|
||||
"front\/widgets\/blogs",
|
||||
"front\/widgets\/entryRow"
|
||||
],
|
||||
"removed": []
|
||||
},
|
||||
"css": {
|
||||
"added": [],
|
||||
"edited": [],
|
||||
"removed": []
|
||||
},
|
||||
"resources": {
|
||||
"added": [],
|
||||
"edited": [],
|
||||
"removed": []
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5001102,
|
||||
"name": "5.0.11 Beta 2",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": false,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5001103,
|
||||
"name": "5.0.11",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": false,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5001104,
|
||||
"name": "5.0.11",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": false,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5001105,
|
||||
"name": "5.0.11",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": false,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5001200,
|
||||
"name": "5.0.12 Beta 1",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": true,
|
||||
"themeeditor": false,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"html": {
|
||||
"added": [],
|
||||
"edited": [
|
||||
"front\/browse\/indexButtons",
|
||||
"front\/global\/categoryLink",
|
||||
"front\/view\/blogTable",
|
||||
"front\/view\/view",
|
||||
"front\/widgets\/blogCommentFeed"
|
||||
],
|
||||
"removed": []
|
||||
},
|
||||
"css": {
|
||||
"added": [],
|
||||
"edited": [],
|
||||
"removed": []
|
||||
},
|
||||
"resources": {
|
||||
"added": [],
|
||||
"edited": [],
|
||||
"removed": []
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5001201,
|
||||
"name": "5.0.12 Beta 2",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": false,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5001202,
|
||||
"name": "5.0.12 Beta 3",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": false,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5001203,
|
||||
"name": "5.0.12",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": false,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5001204,
|
||||
"name": "5.0.12",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": false,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5001300,
|
||||
"name": "5.0.13 Beta 1",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": true,
|
||||
"theme": true,
|
||||
"themeeditor": false,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"normal": {
|
||||
"added": [
|
||||
"blog_categories_sg"
|
||||
],
|
||||
"edited": [],
|
||||
"removed": []
|
||||
},
|
||||
"js": {
|
||||
"added": [],
|
||||
"edited": [],
|
||||
"removed": []
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"html": {
|
||||
"added": [],
|
||||
"edited": [
|
||||
"front\/browse\/indexButtons",
|
||||
"front\/view\/blogTable",
|
||||
"front\/view\/view",
|
||||
"front\/widgets\/blogCommentFeed"
|
||||
],
|
||||
"removed": []
|
||||
},
|
||||
"css": {
|
||||
"added": [],
|
||||
"edited": [],
|
||||
"removed": []
|
||||
},
|
||||
"resources": {
|
||||
"added": [],
|
||||
"edited": [],
|
||||
"removed": []
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5001301,
|
||||
"name": "5.0.13 Beta 2",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": false,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"id": 5001302,
|
||||
"name": "5.0.13",
|
||||
"steps": {
|
||||
"queries": false,
|
||||
"lang": false,
|
||||
"theme": false,
|
||||
"themeeditor": false,
|
||||
"javascript": false,
|
||||
"emailTemplates": false,
|
||||
"acpSearchKeywords": false,
|
||||
"settings": false,
|
||||
"tasks": false,
|
||||
"modules": false,
|
||||
"widgets": false,
|
||||
"customOptions": false,
|
||||
"customRoutines": false
|
||||
},
|
||||
"forceMainUpgrader": false,
|
||||
"forceManualDownloadNoCiC": false,
|
||||
"forceManualDownloadCiC": false
|
||||
}
|
||||
@@ -185,6 +185,11 @@ class Blog extends Model implements Embeddable
|
||||
*/
|
||||
public static bool $canBeExtended = true;
|
||||
|
||||
/**
|
||||
* @brief [Node] Sortable?
|
||||
*/
|
||||
public static bool $nodeSortable = false;
|
||||
|
||||
/**
|
||||
* Columns needed to query for search result / stream view
|
||||
*
|
||||
@@ -240,7 +245,7 @@ class Blog extends Model implements Embeddable
|
||||
{
|
||||
/* We don't want any kind of specific comment moderation here, just leave it up to the
|
||||
general rules */
|
||||
if( $action == 'moderate_comments' )
|
||||
if( $action == 'moderate_comments' or $action == 'moderate_items' )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@@ -1096,7 +1101,17 @@ class Blog extends Model implements Embeddable
|
||||
*/
|
||||
protected function get_description(): ?string
|
||||
{
|
||||
return $this->member_id ? $this->desc : Member::loggedIn()->language()->addToStack( static::$titleLangPrefix . $this->_id . static::$descriptionLangSuffix );
|
||||
if( $this->member_id )
|
||||
{
|
||||
return $this->desc;
|
||||
}
|
||||
|
||||
if( Member::loggedIn()->language()->checkKeyExists( static::$titleLangPrefix . $this->_id . static::$descriptionLangSuffix ) )
|
||||
{
|
||||
return Member::loggedIn()->language()->addToStack( static::$titleLangPrefix . $this->_id . static::$descriptionLangSuffix );
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1348,7 +1363,6 @@ class Blog extends Model implements Embeddable
|
||||
{
|
||||
Output::i()->jsFiles = array_merge( Output::i()->jsFiles, Output::i()->js( 'front_view.js', 'blog', 'front' ) );
|
||||
|
||||
$form->addTab( 'blog_settings' );
|
||||
$itemClass = static::$contentItemClass;
|
||||
$form->add( new Text( 'club_node_name', $this->_id ? $this->_title : Member::loggedIn()->language()->addToStack( 'blogs_sg' ), TRUE, array( 'maxLength' => 255 ) ) );
|
||||
$form->add( new Editor( 'club_node_description', $this->_id ? Member::loggedIn()->language()->get( static::$titleLangPrefix . $this->_id . '_desc' ) : NULL, FALSE, array( 'app' => 'blog', 'key' => 'Blogs', 'autoSaveKey' => ( $this->id ? "blogs-blog-{$this->id}" : "blogs-new-blog" ), 'attachIds' => $this->id ? array( $this->id, NULL, 'description' ) : NULL, 'minimize' => 'blog_desc_placeholder' ) ) );
|
||||
@@ -1362,13 +1376,6 @@ class Blog extends Model implements Embeddable
|
||||
$form->add( new Radio( 'club_node_public', $this->id ? $this->isPublic() : 0, TRUE, array( 'options' => array( '0' => 'club_node_public_no', '1' => 'club_node_public_view', '2' => 'club_node_public_participate' ) ) ) );
|
||||
}
|
||||
|
||||
/* Categories */
|
||||
if ( $this->id )
|
||||
{
|
||||
$form->addTab( 'blog_entry_categories' );
|
||||
$form->addHtml( Theme::i()->getTemplate( 'view', 'blog', 'front' )->manageCategories( $this ) );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1554,7 +1561,7 @@ class Blog extends Model implements Embeddable
|
||||
|
||||
if( $this->canDelete() )
|
||||
{
|
||||
$deleteLink = new ContentMenuLink( $this->url()->setQueryString( 'do', 'deleteBlog' )->csrf(), 'delete_blog', 'ipsMenu_item', [
|
||||
$deleteLink = new ContentMenuLink( $this->url()->setQueryString( 'do', 'deleteBlog' )->csrf(), 'delete_blog', 'iDropdown__li', [
|
||||
'data-confirm' => '',
|
||||
'data-confirmMessage' => Member::loggedIn()->language()->addToStack( 'delete_blog_confirm' ),
|
||||
'data-confirmSubMessage' => Member::loggedIn()->language()->addToStack( 'delete_blog_warning' )
|
||||
|
||||
@@ -808,7 +808,7 @@ class Entry extends Item implements
|
||||
and Login::registrationType() != 'disabled' )
|
||||
{
|
||||
/* We can override post before register for guests */
|
||||
return (bool) Group::load( Settings::i()->member_group )->g_blog_allowcomment;
|
||||
return (bool) Group::load( Settings::i()->guest_group )->g_blog_allowcomment;
|
||||
}
|
||||
elseif( $member->member_id )
|
||||
{
|
||||
|
||||
Reference in new issue
Block a user