Version 4.7.13

This commit is contained in:
Neo committed 2025-12-19 16:14:56 -08:00
1 parent fd22d99e69
commit 7124a02564
954 files changed
+29277 -59308

No files matched your search

+4 -5
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<javascript app="blog">
<file javascript_app="blog" javascript_location="front" javascript_path="controllers/browse" javascript_name="ips.browse.grid.js" javascript_type="controller" javascript_version="107643" javascript_position="1000050"><![CDATA[/**
<file javascript_app="blog" javascript_location="front" javascript_path="controllers/browse" javascript_name="ips.browse.grid.js" javascript_type="controller" javascript_version="107712" javascript_position="1000050"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -37,7 +37,7 @@
}
});
}(jQuery, _));]]></file>
<file javascript_app="blog" javascript_location="front" javascript_path="controllers/browse" javascript_name="ips.browse.list.js" javascript_type="controller" javascript_version="107643" javascript_position="1000050">/**
<file javascript_app="blog" javascript_location="front" javascript_path="controllers/browse" javascript_name="ips.browse.list.js" javascript_type="controller" javascript_version="107712" javascript_position="1000050">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -66,7 +66,7 @@
}
});
}(jQuery, _));</file>
<file javascript_app="blog" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.manageCategories.js" javascript_type="controller" javascript_version="107643" 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="107712" javascript_position="1000100"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -343,7 +343,7 @@
}
});
}(jQuery, _));]]></file>
<file javascript_app="blog" javascript_location="front" javascript_path="templates" javascript_name="ips.templates.view.js" javascript_type="template" javascript_version="107643" javascript_position="1000150"><![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="107712" javascript_position="1000150"><![CDATA[/* CLASS LIST TEMPLATES */
ips.templates.set('blog.view.addButton', "\
<button type=\"button\" class=\"ipsButton ipsButton_primary ipsHide\" data-action=\"addNew\">{{#lang}}manage_cats_new_row{{/lang}}</button>\
");
@@ -373,7 +373,6 @@ controllers</order>
<order app="global" path="/dev/js//library/">underscore
jquery
mustache
IntersectionObserver
Debug.js
app.js</order>
<order app="global" path="/dev/js//library//jquery">jquery.js
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<language>
<app key="blog" version="107643">
<app key="blog" version="107712">
<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>
+38 -19
View File
@@ -112,7 +112,7 @@
{{endif}}
</li>
{{endif}}
{{if \IPS\Settings::i()->blog_allow_grid AND !$forMobile AND member.member_id}}
{{if \IPS\Settings::i()->blog_allow_grid AND !$forMobile AND member.member_id and member.optionalCookiesAllowed}}
<li class='ipsType_center ipsMargin_bottom:none'>
<ul class='ipsButton_split'>
<li class='ipsType_center'>
@@ -241,7 +241,8 @@
{{if $entry->isFutureDate() || $entry->mapped('pinned') || $entry->mapped('featured') || $entry->hidden() === -1 || $entry->hidden() === 1 || $entry->status === 'draft'}}
{{if $entry->isFutureDate()}}
<span><span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{$entry->futureDateBlurb()}'><i class='fa fa-clock-o'></i></span></span>
{{elseif $entry->hidden() === -1}}
{{endif}}
{{if $entry->hidden() === -1}}
<span><span class="ipsBadge ipsBadge_icon ipsBadge_small ipsBadge_warning" data-ipsTooltip title='{$entry->hiddenBlurb()}'><i class='fa fa-eye-slash'></i></span></span>
{{elseif $entry->hidden() === 1}}
<span><span class="ipsBadge ipsBadge_icon ipsBadge_small ipsBadge_warning" data-ipsTooltip title='{lang="pending_approval"}'><i class='fa fa-warning'></i></span></span>
@@ -344,7 +345,8 @@
{{if $blog->latestEntry()->isFutureDate() || $blog->latestEntry()->mapped('pinned') || $blog->latestEntry()->mapped('featured') || $blog->latestEntry()->hidden() === -1 || $blog->latestEntry()->hidden() === 1 || $blog->latestEntry()->status === 'draft'}}
{{if $blog->latestEntry()->isFutureDate()}}
<span><span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{$blog->latestEntry()->futureDateBlurb()}'><i class='fa fa-clock-o'></i></span></span>
{{elseif $blog->latestEntry()->hidden() === -1}}
{{endif}}
{{if $blog->latestEntry()->hidden() === -1}}
<span><span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{$blog->latestEntry()->hiddenBlurb()}'><i class='fa fa-eye-slash'></i></span></span>
{{elseif $blog->latestEntry()->hidden() === 1}}
<span><span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{lang="pending_approval"}'><i class='fa fa-warning'></i></span></span>
@@ -744,9 +746,14 @@
<strong class='ipsType_minorHeading'>{lang="blog_comments" pluralize="$blog->_comments"}</strong><br>
<strong class='ipsType_normal'>{number="$blog->_comments"}</strong>
</li>
<li class='ipsGrid_span4'>
<strong class='ipsType_minorHeading'>{lang="blog_views" pluralize="$blog->num_views"}</strong><br>
<strong class='ipsType_normal'>{number="$blog->num_views"}</strong>
<li class='ipsGrid_span4' id='elBlogViews'>
<strong class='ipsType_minorHeading'>{lang="blog_views" pluralize="$blog->num_views"}</strong><br>
{{if \IPS\Application::appIsEnabled('cloud') and \IPS\Member::loggedIn()->modPermission('can_view_moderation_log')}}
{{$url = "app=cloud&module=analytics&controller=analytics&contentClass=" . get_class($blog) . "&contentId=" . $blog->id;}}
<strong class='ipsType_normal ipsType_blendLinks'><a href='{url="$url"}' data-ipsDialog data-ipsDialog-title='{lang="analytics"}' data-ipsTooltip title='{lang="analytics"}'>{number="$blog->num_views"}</a></strong>
{{else}}
<strong class='ipsType_normal'>{number="$blog->num_views"}</strong>
{{endif}}
</li>
{{else}}
<li class='ipsGrid_span12'>
@@ -944,7 +951,8 @@
<span>
{{if $entry->isFutureDate() and $entry->status !== 'draft'}}
<span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{$entry->futureDateBlurb()}'><i class='fa fa-clock-o'></i></span>
{{elseif $entry->hidden() === -1}}
{{endif}}
{{if $entry->hidden() === -1}}
<span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{$entry->hiddenBlurb()}'><i class='fa fa-eye-slash'></i></span>
{{elseif $entry->hidden() === 1}}
<span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{lang="pending_approval"}'><i class='fa fa-warning'></i></span>
@@ -1016,7 +1024,8 @@
{{if $entry->isFutureDate() || $entry->mapped('pinned') || $entry->mapped('featured') || $entry->hidden() === -1 || $entry->hidden() === 1}}
{{if $entry->isFutureDate() and $entry->status !== 'draft'}}
<span><span class="ipsBadge ipsBadge_icon ipsBadge_small ipsBadge_warning" data-ipsTooltip title='{$entry->futureDateBlurb()}'><i class='fa fa-clock-o'></i></span></span>
{{elseif $entry->hidden() === 1}}
{{endif}}
{{if $entry->hidden() === 1}}
<span><span class="ipsBadge ipsBadge_icon ipsBadge_small ipsBadge_warning" data-ipsTooltip title='{lang="pending_approval"}'><i class='fa fa-warning'></i></span></span>
{{endif}}
{{if $entry->mapped('pinned')}}
@@ -1201,7 +1210,8 @@
{{if $entry->isFutureDate() || $entry->mapped('pinned') || $entry->mapped('featured') || $entry->hidden() === -1 || $entry->hidden() === 1 || $entry->hidden() === -2 || $entry->status === 'draft'}}
{{if $entry->isFutureDate() and $entry->status !== 'draft'}}
<span><span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{$entry->futureDateBlurb()}'><i class='fa fa-clock-o'></i></span></span>
{{elseif $entry->hidden() === -1}}
{{endif}}
{{if $entry->hidden() === -1}}
<span><span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{$entry->hiddenBlurb()}'><i class='fa fa-eye-slash'></i></span></span>
{{elseif $entry->hidden() === -2}}
<span><span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{$entry->deletedBlurb()}'><i class='fa fa-trash'></i></span></span>
@@ -1253,7 +1263,7 @@
<p class='ipsType_reset ipsType_blendLinks'>
{{if $entry->category_id}}
{{if $entry->date > time()}}
{lang="entry_future_posted_with_cat" htmlsprintf="$entry->author()->link(),$entry->category()->url()"}
{lang="entry_future_posted_with_cat" htmlsprintf="$entry->author()->link(),$entry->category()->link()"}
{{else}}
{lang="entry_posted_with_cat" htmlsprintf="$entry->author()->link(),$entry->category()->link()"}
{{endif}}
@@ -1264,7 +1274,7 @@
{lang="entry_posted" htmlsprintf="$entry->author()->link()"}
{{endif}}
{{endif}}
&middot; {datetime="$entry->date"}
{datetime="$entry->date"}
</p>
<p class='ipsType_light ipsType_reset'>{lang="num_views_with_number" pluralize="$entry->views"}</p>
</div>
@@ -1274,6 +1284,10 @@
{{if \count( $entry->shareLinks() )}}
{template="shareButton" app="core" group="sharelinks" params="$entry"}
{{endif}}
{{if \IPS\Application::appIsEnabled('cloud')}}
{template="spam" app="cloud" group="spam" params="$entry"}
{{endif}}
{template="analyticsItemLink" app="core" group="system" params="$entry"}
{template="promote" app="core" group="global" params="$entry"}
{template="follow" app="core" group="global" params="'blog', 'entry', $entry->id, $entry->followersCount()"}
</div>
@@ -1344,19 +1358,19 @@
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'unpin' ) )}' title='{lang="unpin_title_blog"}'>{lang="unpin"}</a></li>
{{endif}}
{{if $entry->canHide()}}
<li class='ipsMenu_item'><a href='{$entry->url()->setQueryString( array( 'do' => 'moderate', 'action' => 'hide' ) )}' title='{lang="hide_title_blog"}' data-ipsDialog data-ipsDialog-title="{lang="hide"}">{lang="hide"}</a></li>
<li class='ipsMenu_item'><a href='{$entry->url()->setQueryString( array( 'do' => 'moderate', 'action' => 'hide' ) )}' title='{lang="hide_title_blog"}' {{if member.modPermission('can_manage_alerts') AND $entry->author()->member_id }} data-ipsDialog data-ipsDialog-size='medium' data-ipsDialog-title="{lang="hide"}" data-ipsDialog-destructOnClose='true' {{endif}}>{lang="hide"}</a></li>
{{endif}}
{{if $entry->canUnhide()}}
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'unhide' ) )}' title='{{if $entry->hidden() === 1}}{lang="approve_title_blog"}{{else}}{lang="unhide_title_blog"}{{endif}}'>{{if $entry->hidden() === 1}}{lang="approve"}{{else}}{lang="unhide"}{{endif}}</a></li>
{{endif}}
{{if $entry->canLock()}}
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'lock' ) )}' title='{lang="blog_lock_title"}'>{lang="lock"}</a></li>
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'lock' ) )}' title='{lang="blog_lock_title"}' {{if member.modPermission('can_manage_alerts') AND $entry->author()->member_id }} data-ipsDialog data-ipsDialog-size='medium' data-ipsDialog-title="{lang="lock"}" data-ipsDialog-destructOnClose='true' {{endif}}>{lang="lock"}</a></li>
{{endif}}
{{if $entry->canUnlock()}}
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'unlock' ) )}' title='{lang="blog_unlock_title"}'>{lang="unlock"}</a></li>
{{endif}}
{{if $entry->canMove()}}
<li class='ipsMenu_item'><a href='{$entry->url()->setQueryString( array( 'do' => 'move' ) )}' data-ipsDialog data-ipsDialog-size='narrow' data-ipsDialog-title="{lang="move"}" title='{lang="blog_move_title"}'>{lang="move"}</a></li>
<li class='ipsMenu_item'><a href='{$entry->url()->setQueryString( array( 'do' => 'move', '_new' => 1 ) )}'>{lang="move"}</a></li>
{{endif}}
{{if $entry->canDelete()}}
<li class='ipsMenu_item'><a href='{$entry->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'delete' ) )}' data-confirm title='{lang="blog_delete_title"}'>{lang="delete"}</a></li>
@@ -1364,10 +1378,10 @@
{{if $entry->canOnMessage( 'add' )}}
<li class='ipsMenu_item'><a href='{$entry->url()->setQueryString( array( 'do' => 'messageForm' ) )}' data-ipsDialog data-ipsDialod-title='{lang="add_message"}'>{lang="add_message"}</a></li>
{{endif}}
{{if \IPS\Member::loggedIn()->modPermission('can_view_moderation_log')}}
<li class='ipsMenu_sep'><hr></li>
<li class="ipsMenu_item"><a href='{$entry->url()->setQueryString( array( 'do' => 'modLog' ) )}' data-ipsDialog data-ipsDialog-title='{lang="moderation_history"}'>{lang="moderation_history"}</a></li>
{{endif}}
{{if \IPS\Member::loggedIn()->modPermission('can_view_moderation_log')}}
<li class='ipsMenu_sep'><hr></li>
<li class="ipsMenu_item"><a data-ipsDialog data-ipsDialogTitle="{lang="moderation_log"}" href='{$entry->url()->setQueryString( array( 'do' => 'modLog' ) )}'>{lang="moderation_log"}</a></li>
{{endif}}
{{endif}}
</ul>
</li>
@@ -1388,6 +1402,10 @@
{{if \count( $entry->shareLinks() )}}
{template="shareButton" app="core" group="sharelinks" params="$entry, 'verySmall', 'light'"}
{{endif}}
{{if \IPS\Application::appIsEnabled('cloud')}}
{template="spam" app="cloud" group="spam" params="$entry"}
{{endif}}
{template="analyticsItemLink" app="core" group="system" params="$entry"}
{template="follow" app="core" group="global" params="'blog', 'entry', $entry->id, $entry->followersCount()"}
{template="promote" app="core" group="global" params="$entry"}
</div>
@@ -1734,7 +1752,8 @@
{{if $blog->latestEntry()->isFutureDate() || $blog->latestEntry()->mapped('pinned') || $blog->latestEntry()->mapped('featured') || $blog->latestEntry()->hidden() === -1 || $blog->latestEntry()->hidden() === 1 || $blog->latestEntry()->status === 'draft'}}
{{if $blog->latestEntry()->isFutureDate()}}
<span><span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{$blog->latestEntry()->futureDateBlurb()}'><i class='fa fa-clock-o'></i></span></span>
{{elseif $blog->latestEntry()->hidden() === -1}}
{{endif}}
{{if $blog->latestEntry()->hidden() === -1}}
<span><span class="ipsBadge ipsBadge_icon ipsBadge_small ipsBadge_warning" data-ipsTooltip title='{$blog->latestEntry()->hiddenBlurb()}'><i class='fa fa-eye-slash'></i></span></span>
{{elseif $blog->latestEntry()->hidden() === 1}}
<span><span class="ipsBadge ipsBadge_icon ipsBadge_small ipsBadge_warning" data-ipsTooltip title='{lang="pending_approval"}'><i class='fa fa-warning'></i></span></span>
+31 -1
View File
@@ -549,5 +549,35 @@
"107640": "4.7.8 Beta 1",
"107641": "4.7.8 Beta 2",
"107642": "4.7.8 Beta 3",
"107643": "4.7.8"
"107643": "4.7.8",
"107644": "4.7.8",
"107645": "4.7.8",
"107660": "4.7.9 Beta 1",
"107661": "4.7.9 Beta 2",
"107662": "4.7.9 Beta 3",
"107663": "4.7.9",
"107664": "4.7.9",
"107665": "4.7.9",
"107666": "4.7.9",
"107667": "4.7.9",
"107668": "4.7.9",
"107680": "4.7.10 Beta 1",
"107681": "4.7.10 Beta 2",
"107682": "4.7.10",
"107683": "4.7.10",
"107684": "4.7.10",
"107690": "4.7.11 Beta 1",
"107691": "4.7.11 Beta 2",
"107692": "4.7.11",
"107693": "4.7.11",
"107694": "4.7.11",
"107695": "4.7.11.1",
"107700": "4.7.12 Beta 1",
"107701": "4.7.12 Beta 2",
"107702": "4.7.12 Beta 3",
"107703": "4.7.12 Beta 4",
"107704": "4.7.12",
"107710": "4.7.13 Beta 1",
"107711": "4.7.13 Beta 2",
"107712": "4.7.13"
}
@@ -300,4 +300,157 @@ class _entry extends \IPS\Content\Controller
{
return $form->customTemplate( array( \IPS\Theme::i()->getTemplate( 'submit', 'blog' ), 'submitFormTemplate' ) );
}
/**
* Move
*
* @return void
*/
protected function move()
{
try
{
$item = \IPS\blog\Entry::loadAndCheckPerms( \IPS\Request::i()->id );
if ( !$item->canMove() )
{
throw new \DomainException;
}
$container = $item->container();
$wizard = new \IPS\Helpers\Wizard( array(
'blog' => function( $data ) use ( $container ) {
$data['item'] = \IPS\Request::i()->id;
$item = \IPS\blog\Entry::loadAndCheckPerms( $data['item'] );
$form = new \IPS\Helpers\Form;
$form->class = 'ipsForm_vertical';
$form->add( new \IPS\Helpers\Form\Node( 'move_to', NULL, TRUE, array(
'class' => \get_class( $item->container() ),
'permissionCheck' => function( $node ) use ( $item )
{
try
{
/* If the item is in a club, only allow moving to other clubs that you moderate */
if ( \IPS\IPS::classUsesTrait( $item->container(), 'IPS\Content\ClubContainer' ) and $item->container()->club() )
{
return $item::modPermission( 'move', \IPS\Member::loggedIn(), $node ) and $node->can( 'add' ) ;
}
if ( $node->can( 'add' ) )
{
return true;
}
}
catch( \OutOfBoundsException $e ) { }
return false;
},
'clubs' => TRUE
) ) );
if ( $values = $form->values() )
{
$data['blog'] = $values['move_to'];
return $data;
}
return $form;
},
'category' => function( $data ) {
$item = \IPS\blog\Entry::loadAndCheckPerms( $data['item'] );
$newBlog = $data['blog'];
$form = new \IPS\Helpers\Form;
$categories = \IPS\blog\Entry\Category::roots( NULL, NULL, array( 'entry_category_blog_id=?', $newBlog->id ) );
$choiceOptions = array( 0 => 'entry_category_choice_new' );
$choiceToggles = array( 0 => array( 'blog_entry_new_category' ) );
if( \count( $categories ) )
{
$choiceOptions[1] = 'entry_category_choice_existing';
$choiceToggles[1] = array( 'entry_category_id' );
}
$form->add( new \IPS\Helpers\Form\Radio( 'entry_category_choice', 0, FALSE, array(
'options' => $choiceOptions,
'toggles' => $choiceToggles
) ) );
if( \count( $categories ) )
{
$options = array();
foreach ( $categories as $category )
{
$options[ $category->id ] = $category->name;
}
$form->add( new \IPS\Helpers\Form\Select( 'entry_category_id', NULL, FALSE, array( 'options' => $options, 'parse' => 'normal' ), NULL, NULL, NULL, "entry_category_id" ) );
}
$form->add( new \IPS\Helpers\Form\Text( 'blog_entry_new_category', NULL, TRUE, array(), NULL, NULL, NULL, "blog_entry_new_category" ) );
$this->moderationAlertField( $form, $item );
if ( $values = $form->values() )
{
if ( $data['blog'] === NULL OR !$data['blog']->can( 'add' ) )
{
\IPS\Output::i()->error( 'node_move_invalid', '1S136/L', 403, '' );
}
/* If this item is read, we need to re-mark it as such after moving */
if( $item instanceof \IPS\Content\ReadMarkers )
{
$unread = $item->unread();
}
$item->move( $data['blog'], FALSE );
if( $values['entry_category_choice'] == 1 and $values['entry_category_id'] )
{
$item->category_id = $values['entry_category_id'];
}
else
{
$newCategory = new \IPS\blog\Entry\Category;
$newCategory->name = $values['blog_entry_new_category'];
$newCategory->seo_name = \IPS\Http\Url\Friendly::seoTitle( $values['blog_entry_new_category'] );
$newCategory->blog_id = $item->blog_id;
$newCategory->save();
$item->category_id = $newCategory->id;
}
$item->save();
/* Mark it as read */
if( $item instanceof \IPS\Content\ReadMarkers and $unread == 0 )
{
$item->markRead( NULL, NULL, NULL, TRUE );
}
if( isset( $values['moderation_alert_content']) AND $values['moderation_alert_content'] )
{
$item->sendModerationAlert($values, $item);
}
\IPS\Session::i()->modLog( 'modlog__action_move', array( $item::$title => TRUE, $item->url()->__toString() => FALSE, $item->mapped( 'title' ) ?: ( method_exists( $item, 'item' ) ? $item->item()->mapped( 'title' ) : NULL ) => FALSE ), $item );
\IPS\Output::i()->redirect( $item->url() );
}
return $form;
}
), $item->url()->setQueryString( array( 'do' => 'move' ) ) );
$this->_setBreadcrumbAndTitle( $item );
\IPS\Output::i()->title = \IPS\Member::loggedIn()->language()->addToStack( 'move_item', FALSE, array( 'sprintf' => array( \IPS\Member::loggedIn()->language()->addToStack( \IPS\blog\Entry::$title ) ) ) );
\IPS\Output::i()->output = \IPS\Theme::i()->getTemplate( 'global', 'core' )->box( $wizard, array( 'ipsPad' ) );
}
catch ( \Exception $e )
{
\IPS\Output::i()->error( 'node_error', '2S136/D', 403, '' );
}
}
}
@@ -107,14 +107,10 @@ class _view extends \IPS\Helpers\CoverPhoto\Controller
$table->sortBy = \IPS\Request::i()->sortby ?: 'date';
/* Update views */
\IPS\Db::i()->update(
'blog_blogs',
"`blog_num_views`=`blog_num_views`+1",
array( "blog_id=?", $this->blog->id ),
array(),
NULL,
\IPS\Db::LOW_PRIORITY
);
if ( !\IPS\Request::i()->isAjax() )
{
$this->blog->updateViews();
}
/* Online User Location */
if( !$this->blog->social_group )
@@ -386,6 +382,10 @@ class _view extends \IPS\Helpers\CoverPhoto\Controller
{
$options['autocomplete']['filterProfanity'] = TRUE;
}
if ( \IPS\Settings::i()->tags_alphabetical )
{
$options['autocomplete']['alphabetical'] = TRUE;
}
$options['autocomplete']['prefix'] = \IPS\Content\Item::canPrefix( NULL, $this->blog );
$options['autocomplete']['disallowedCharacters'] = array( '#' ); // @todo Pending \IPS\Http\Url rework, hashes cannot be used in URLs
@@ -0,0 +1,23 @@
{
"id": 107644,
"name": "4.7.8",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": 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 @@
{
"id": 107645,
"name": "4.7.8",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": 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 @@
{
"id": 107660,
"name": "4.7.9 Beta 1",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": 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 @@
{
"id": 107661,
"name": "4.7.9 Beta 2",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": 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 @@
{
"id": 107662,
"name": "4.7.9 Beta 3",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": 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 @@
{
"id": 107663,
"name": "4.7.9",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": 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 @@
{
"id": 107664,
"name": "4.7.9",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": 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 @@
{
"id": 107665,
"name": "4.7.9",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": 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 @@
{
"id": 107666,
"name": "4.7.9",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": 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 @@
{
"id": 107667,
"name": "4.7.9",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": 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 @@
{
"id": 107668,
"name": "4.7.9",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": 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 @@
{
"id": 107680,
"name": "4.7.10 Beta 1",
"steps": {
"queries": false,
"lang": false,
"theme": true,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": 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\/view\/entry"
],
"removed": []
},
"css": {
"added": [],
"edited": [],
"removed": []
},
"resources": {
"added": [],
"edited": [],
"removed": []
}
}
@@ -0,0 +1,23 @@
{
"id": 107681,
"name": "4.7.10 Beta 2",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": 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 @@
{
"id": 107682,
"name": "4.7.10",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": 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 @@
{
"id": 107683,
"name": "4.7.10",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": 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 @@
{
"id": 107684,
"name": "4.7.10",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": 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 @@
{
"id": 107690,
"name": "4.7.11 Beta 1",
"steps": {
"queries": false,
"lang": false,
"theme": true,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,26 @@
{
"html": {
"added": [],
"edited": [
"front\/browse\/indexButtons",
"front\/browse\/indexGridEntry",
"front\/browse\/rows",
"front\/view\/blogHeader",
"front\/view\/blogViewLarge",
"front\/view\/blogViewMedium",
"front\/view\/entry",
"front\/widgets\/blogs"
],
"removed": []
},
"css": {
"added": [],
"edited": [],
"removed": []
},
"resources": {
"added": [],
"edited": [],
"removed": []
}
}
@@ -0,0 +1,23 @@
{
"id": 107691,
"name": "4.7.11 Beta 2",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": 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 @@
{
"id": 107692,
"name": "4.7.11",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": 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 @@
{
"id": 107693,
"name": "4.7.11",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": 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 @@
{
"id": 107694,
"name": "4.7.11",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": 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 @@
{
"id": 107695,
"name": "4.7.11.1",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": 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 @@
{
"id": 107700,
"name": "4.7.12 Beta 1",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": true,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": true,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,14 @@
{
"files": {
"added": [],
"edited": [],
"removed": []
},
"orders": {
"added": [],
"edited": [
"global\/\/dev\/js\/\/library\/"
],
"removed": []
}
}
@@ -0,0 +1,23 @@
{
"id": 107701,
"name": "4.7.12 Beta 2",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": 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 @@
{
"id": 107702,
"name": "4.7.12 Beta 3",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": 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 @@
{
"id": 107703,
"name": "4.7.12 Beta 4",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": 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 @@
{
"id": 107704,
"name": "4.7.12",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": 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 @@
{
"id": 107710,
"name": "4.7.13 Beta 1",
"steps": {
"queries": false,
"lang": false,
"theme": true,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": 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\/view\/entry"
],
"removed": []
},
"css": {
"added": [],
"edited": [],
"removed": []
},
"resources": {
"added": [],
"edited": [],
"removed": []
}
}
@@ -0,0 +1,23 @@
{
"id": 107711,
"name": "4.7.13 Beta 2",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": 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 @@
{
"id": 107712,
"name": "4.7.13",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
+1 -1
View File
@@ -23,7 +23,7 @@ if ( !\defined( '\IPS\SUITE_UNIQUE_KEY' ) )
*/
class _Blog extends \IPS\Node\Model implements \IPS\Node\Ratings, \IPS\Content\Embeddable
{
use \IPS\Content\ClubContainer;
use \IPS\Content\ClubContainer, \IPS\Content\ViewUpdates;
/**
* @brief [ActiveRecord] Multiton Store
@@ -23,6 +23,8 @@ if ( !\defined( '\IPS\SUITE_UNIQUE_KEY' ) )
*/
class _Category extends \IPS\Node\Model
{
use \IPS\Content\ViewUpdates;
/**
* @brief [ActiveRecord] Multiton Store
*/
+1 -2
View File
@@ -27,7 +27,6 @@ class _Entry extends \IPS\Content\Item implements
\IPS\Content\Followable,
\IPS\Content\Shareable,
\IPS\Content\ReadMarkers,
\IPS\Content\Views,
\IPS\Content\Polls,
\IPS\Content\Ratings,
\IPS\Content\EditHistory,
@@ -37,7 +36,7 @@ class _Entry extends \IPS\Content\Item implements
\IPS\Content\MetaData,
\IPS\Content\Anonymous
{
use \IPS\Content\Reactable, \IPS\Content\Reportable;
use \IPS\Content\Reactable, \IPS\Content\Reportable, \IPS\Content\ViewUpdates, \IPS\Content\Statistics;
/**
* @brief Multiton Store