Version 4.7.6

This commit is contained in:
Neo committed 2025-12-19 16:05:19 -08:00
1 parent 8ba7d43898
commit 7b7404e741
1085 files changed
+30590 -7837

No files matched your search

+6 -6
View File
@@ -277,15 +277,15 @@ class _comments extends \IPS\Content\Api\CommentController
/**
* POST /gallery/comments/{id}/report
* Reports a post
* Reports a comment
*
* @param int $id ID Number
* @apiparam int author ID of the member reporting
* @apiparam int report_type Report type (0 is default and is for letting CMGR team know, more options via core_automatic_moderation_types)
* @apiparam string message Optional message
* @return \IPS\gallery\Image\Comment
* @param int $id ID Number
* @apiparam int author ID of the member reporting
* @apiparam int report_type Report type (0 is default and is for letting CMGR team know, more options via core_automatic_moderation_types)
* @apiparam string message Optional message
* @throws 1S425/B NO_AUTHOR The author ID does not exist
* @throws 1S425/C REPORTED_ALREADY The member has reported this item in the past 24 hours
* @return \IPS\gallery\Image\Comment
*/
public function POSTitem_report( $id )
{
+6 -6
View File
@@ -292,15 +292,15 @@ class _reviews extends \IPS\Content\Api\CommentController
/**
* POST /gallery/reviews/{id}/report
* Reports a post
* Reports a review
*
* @param int $id ID Number
* @apiparam int author ID of the member reporting
* @apiparam int report_type Report type (0 is default and is for letting CMGR team know, more options via core_automatic_moderation_types)
* @apiparam string message Optional message
* @return \IPS\gallery\Image\Review
* @param int $id ID Number
* @apiparam int author ID of the member reporting
* @apiparam int report_type Report type (0 is default and is for letting CMGR team know, more options via core_automatic_moderation_types)
* @apiparam string message Optional message
* @throws 1S425/B NO_AUTHOR The author ID does not exist
* @throws 1S425/C REPORTED_ALREADY The member has reported this item in the past 24 hours
* @return \IPS\gallery\Image\Review
*/
public function POSTitem_report( $id )
{
+39 -13
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<javascript app="gallery">
<file javascript_app="gallery" javascript_location="front" javascript_path="controllers/browse" javascript_name="ips.browse.lightbox.js" javascript_type="controller" javascript_version="107014" javascript_position="1000200"><![CDATA[/**
<file javascript_app="gallery" javascript_location="front" javascript_path="controllers/browse" javascript_name="ips.browse.lightbox.js" javascript_type="controller" javascript_version="107601" javascript_position="1000050"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -193,7 +193,7 @@
}
});
}(jQuery, _));]]></file>
<file javascript_app="gallery" javascript_location="front" javascript_path="controllers/browse" javascript_name="ips.browse.list.js" javascript_type="controller" javascript_version="107014" javascript_position="1000200">/**
<file javascript_app="gallery" javascript_location="front" javascript_path="controllers/browse" javascript_name="ips.browse.list.js" javascript_type="controller" javascript_version="107601" javascript_position="1000050">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -241,7 +241,7 @@
}
});
}(jQuery, _));</file>
<file javascript_app="gallery" javascript_location="admin" javascript_path="controllers/settings" javascript_name="ips.settings.settings.js" javascript_type="controller" javascript_version="107014" javascript_position="1000050">/**
<file javascript_app="gallery" javascript_location="admin" javascript_path="controllers/settings" javascript_name="ips.settings.settings.js" javascript_type="controller" javascript_version="107601" javascript_position="1000050">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -298,7 +298,7 @@
});
}(jQuery, _));</file>
<file javascript_app="gallery" javascript_location="front" javascript_path="controllers/submit" javascript_name="ips.submit.chooseCategory.js" javascript_type="controller" javascript_version="107014" javascript_position="1000100"><![CDATA[/**
<file javascript_app="gallery" javascript_location="front" javascript_path="controllers/submit" javascript_name="ips.submit.chooseCategory.js" javascript_type="controller" javascript_version="107601" javascript_position="1000100"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -498,7 +498,7 @@
});
}(jQuery, _));
]]></file>
<file javascript_app="gallery" javascript_location="front" javascript_path="controllers/submit" javascript_name="ips.submit.existingAlbums.js" javascript_type="controller" javascript_version="107014" javascript_position="1000100"><![CDATA[/**
<file javascript_app="gallery" javascript_location="front" javascript_path="controllers/submit" javascript_name="ips.submit.existingAlbums.js" javascript_type="controller" javascript_version="107601" javascript_position="1000100"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -545,7 +545,7 @@
}
});
}(jQuery, _));]]></file>
<file javascript_app="gallery" javascript_location="front" javascript_path="controllers/submit" javascript_name="ips.submit.uploadImages.js" javascript_type="controller" javascript_version="107014" javascript_position="1000100"><![CDATA[/**
<file javascript_app="gallery" javascript_location="front" javascript_path="controllers/submit" javascript_name="ips.submit.uploadImages.js" javascript_type="controller" javascript_version="107601" javascript_position="1000100"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -676,7 +676,7 @@
}
});
}(jQuery, _));]]></file>
<file javascript_app="gallery" javascript_location="front" javascript_path="controllers/submit" javascript_name="ips.submit.wrapper.js" javascript_type="controller" javascript_version="107014" javascript_position="1000100"><![CDATA[/**
<file javascript_app="gallery" javascript_location="front" javascript_path="controllers/submit" javascript_name="ips.submit.wrapper.js" javascript_type="controller" javascript_version="107601" javascript_position="1000100"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -1051,6 +1051,21 @@
* @returns {void}
*/
setUpImageDescriptionRich: function(e) {
var currentDescription = $( e.currentTarget ).closest('[data-role="imageDescriptionTextarea"]')
.find( '> textarea' )
.val()
.trim();
if( currentDescription.length ){
var editorObj = ips.ui.editor.getObj( $( e.currentTarget ).closest('[data-role="imageDescriptionTextarea"]')
.prev('[data-role="imageDescriptionEditor"]')
.find('[data-ipseditor]') );
var editorInstance = editorObj.getInstance();
editorInstance.setData( currentDescription );
$( e.currentTarget ).closest('[data-role="imageDescriptionTextarea"]')
.find( '> textarea' )
.val('');
}
$( e.currentTarget ).closest('[data-role="imageDescriptionTextarea"]')
.addClass('ipsHide')
.prev('[data-role="imageDescriptionEditor"]')
@@ -1065,6 +1080,17 @@
* @returns {void}
*/
setUpImageDescriptionPlain: function (e) {
var editorObj = ips.ui.editor.getObj( $( e.currentTarget ).closest('[data-role="imageDescriptionEditor"]')
.find('[data-ipseditor]') );
var currentDescription = $( editorObj.getInstance().getData() ).text()
.trim();
if( currentDescription.length ){
$( e.currentTarget ).closest('[data-role="imageDescriptionEditor"]')
.next('[data-role="imageDescriptionTextarea"]')
.find( 'textarea' )
.val( currentDescription );
}
$( e.currentTarget ).closest('[data-role="imageDescriptionEditor"]')
.addClass('ipsHide')
.next('[data-role="imageDescriptionTextarea"]')
@@ -1409,7 +1435,7 @@
}
});
}(jQuery, _));]]></file>
<file javascript_app="gallery" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.image.js" javascript_type="controller" javascript_version="107014" javascript_position="1000150"><![CDATA[/**
<file javascript_app="gallery" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.image.js" javascript_type="controller" javascript_version="107601" javascript_position="1000150"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -2194,7 +2220,7 @@
}
});
}(jQuery, _));]]></file>
<file javascript_app="gallery" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.note.js" javascript_type="controller" javascript_version="107014" javascript_position="1000150"><![CDATA[/**
<file javascript_app="gallery" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.note.js" javascript_type="controller" javascript_version="107601" javascript_position="1000150"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -2660,7 +2686,7 @@
}
});
}(jQuery, _));]]></file>
<file javascript_app="gallery" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.notes.js" javascript_type="controller" javascript_version="107014" javascript_position="1000150"><![CDATA[/**
<file javascript_app="gallery" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.notes.js" javascript_type="controller" javascript_version="107601" javascript_position="1000150"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -2743,7 +2769,7 @@
}
});
}(jQuery, _));]]></file>
<file javascript_app="gallery" javascript_location="front" javascript_path="templates" javascript_name="ips.templates.browse.js" javascript_type="template" javascript_version="107014" javascript_position="1000050"><![CDATA[ips.templates.set('gallery.patchwork.indexItem', " \
<file javascript_app="gallery" javascript_location="front" javascript_path="templates" javascript_name="ips.templates.browse.js" javascript_type="template" javascript_version="107601" javascript_position="1000200"><![CDATA[ips.templates.set('gallery.patchwork.indexItem', " \
{{#showThumb}}\
<span class='cGalleryPatchwork_item' style='width: {{dims.width}}px; height: {{dims.height}}px; margin: {{dims.margin}}px {{dims.marginRight}}px {{dims.margin}}px {{dims.marginLeft}}px'>\
{{/showThumb}}\
@@ -2858,7 +2884,7 @@ ips.templates.set('gallery.lightbox.wrapper', " \
<div class='cLightboxBack'></div>\
</div>\
");]]></file>
<file javascript_app="gallery" javascript_location="front" javascript_path="templates" javascript_name="ips.templates.submit.js" javascript_type="template" javascript_version="107014" javascript_position="1000050"><![CDATA[ips.templates.set('gallery.submit.imageItem', " \
<file javascript_app="gallery" javascript_location="front" javascript_path="templates" javascript_name="ips.templates.submit.js" javascript_type="template" javascript_version="107601" javascript_position="1000200"><![CDATA[ips.templates.set('gallery.submit.imageItem', " \
<div class='ipsAttach ipsImageAttach ipsPad_half ipsAreaBackground_light {{#done}}ipsAttach_done{{/done}}' id='{{id}}' data-role='file' data-fileid='{{id}}' data-fullsizeurl='{{imagesrc}}' data-thumbnailurl='{{thumbnail}}' data-isImage='1'>\
<ul class='ipsList_inline ipsImageAttach_controls'>\
<li data-role='insert' {{#insertable}}style='display: none'{{/insertable}}><a href='#' data-action='insertFile' class='ipsAttach_selection' data-ipsTooltip title='{{#lang}}insertIntoPost{{/lang}}'><i class='fa fa-plus'></i></a></li>\
@@ -2885,7 +2911,7 @@ ips.templates.set('gallery.lightbox.wrapper', " \
ips.templates.set('gallery.submit.imageItemWrapper', " \
<div class='cGallerySubmit_fileList'>{{{content}}}</div>\
");]]></file>
<file javascript_app="gallery" javascript_location="front" javascript_path="templates" javascript_name="ips.templates.view.js" javascript_type="template" javascript_version="107014" javascript_position="1000050"><![CDATA[ips.templates.set('gallery.notes.wrapper', " \
<file javascript_app="gallery" javascript_location="front" javascript_path="templates" javascript_name="ips.templates.view.js" javascript_type="template" javascript_version="107601" javascript_position="1000200"><![CDATA[ips.templates.set('gallery.notes.wrapper', " \
<div class='cGalleryNote' data-controller='gallery.front.view.note' data-noteID='{{id}}' data-note=\"{{note}}\" {{#editable}}data-editable{{/editable}} data-posLeft='{{left}}' data-posTop='{{top}}' data-dimWidth='{{width}}' data-dimHeight='{{height}}'>\
<div class='cGalleryNote_border'></div>\
<div class='cGalleryNote_note' style='display: none'>\
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<language>
<app key="gallery" version="107014">
<app key="gallery" version="107601">
<word key="__app_gallery" js="0">Gallery</word>
<word key="frontnavigation_gallery" js="0">Gallery</word>
<word key="gallery_title" js="0">Gallery</word>
+193 -190
View File
@@ -698,21 +698,22 @@
</li>
{{endif}}
</ul>
<form action='{$table->baseUrl}' method='post'>
<input type='hidden' name='csrfKey' value='{expression="\IPS\Session::i()->csrfKey"}'>
<ul class='ipsButtonRow ipsPos_right ipsClearfix'>
<li>
<button type='submit' name='thumbnailSize' value='thumb' data-ipsTooltip title='{lang="view_as_thumbnails"}' class='ipsCursor_pointer{{if !isset( \IPS\Request::i()->cookie['thumbnailSize'] ) OR \IPS\Request::i()->cookie['thumbnailSize'] == 'thumb' }} ipsButtonRow_active{{endif}}'><i class='fa fa-th-large'></i></button>
</li>
<li>
<button type='submit' name='thumbnailSize' value='large' data-ipsTooltip title='{lang="view_as_large"}' class='ipsCursor_pointer{{if isset( \IPS\Request::i()->cookie['thumbnailSize'] ) AND \IPS\Request::i()->cookie['thumbnailSize'] == 'large' }} ipsButtonRow_active{{endif}}'><i class='fa fa-square'></i></button>
</li>
<li>
<button type='submit' name='thumbnailSize' value='rows' data-ipsTooltip title='{lang="view_as_list"}' class='ipsCursor_pointer{{if isset( \IPS\Request::i()->cookie['thumbnailSize'] ) AND \IPS\Request::i()->cookie['thumbnailSize'] == 'rows' }} ipsButtonRow_active{{endif}}'><i class='fa fa-th-list'></i></button>
</li>
</ul>
</form>
{{if member.member_id}}
<form action='{$table->baseUrl}' method='post'>
<input type='hidden' name='csrfKey' value='{expression="\IPS\Session::i()->csrfKey"}'>
<ul class='ipsButtonRow ipsPos_right ipsClearfix'>
<li>
<button type='submit' name='thumbnailSize' value='thumb' data-ipsTooltip title='{lang="view_as_thumbnails"}' class='ipsCursor_pointer{{if !isset( \IPS\Request::i()->cookie['thumbnailSize'] ) OR \IPS\Request::i()->cookie['thumbnailSize'] == 'thumb' }} ipsButtonRow_active{{endif}}'><i class='fa fa-th-large'></i></button>
</li>
<li>
<button type='submit' name='thumbnailSize' value='large' data-ipsTooltip title='{lang="view_as_large"}' class='ipsCursor_pointer{{if isset( \IPS\Request::i()->cookie['thumbnailSize'] ) AND \IPS\Request::i()->cookie['thumbnailSize'] == 'large' }} ipsButtonRow_active{{endif}}'><i class='fa fa-square'></i></button>
</li>
<li>
<button type='submit' name='thumbnailSize' value='rows' data-ipsTooltip title='{lang="view_as_list"}' class='ipsCursor_pointer{{if isset( \IPS\Request::i()->cookie['thumbnailSize'] ) AND \IPS\Request::i()->cookie['thumbnailSize'] == 'rows' }} ipsButtonRow_active{{endif}}'><i class='fa fa-th-list'></i></button>
</li>
</ul>
</form>
{{endif}}
<div data-role="tablePagination" {{if $table->pages <= 1}}class='ipsHide'{{endif}}>
{template="pagination" group="global" app="core" location="global" params="$table->baseUrl, $table->pages, $table->page, $table->limit"}
@@ -1431,7 +1432,13 @@
</div>
</article>
</div>
]]></template>
{{if $reason = $item->approvalQueueReason()}}
<br>
<div class='ipsType_sectionTitle'>{lang="reason_for_approval"}</div>
<div class='ipsAreaBackground_light ipsBorder_bottom ipsPadding:half'>
<p class='ipsType_light'>{$reason}</p>
</div>
{{endif}}]]></template>
<template template_group="global" template_name="comment" template_data="$item, $comment, $editorName, $app, $type, $class=''" template_location="front" template_app="gallery"><![CDATA[{{$idField = $comment::$databaseColumnId;}}
<div id='comment-{$comment->$idField}_wrap' data-controller='core.front.core.comment' data-commentApp='{$app}' data-commentType='{$type}' data-commentID="{$comment->$idField}" data-quoteData='{expression="json_encode( array('userid' => $comment->author()->member_id, 'username' => $comment->author()->name, 'timestamp' => $comment->mapped('date'), 'contentapp' => $app, 'contenttype' => $type, 'contentclass' => $class, 'contentid' => $item->id, 'contentcommentid' => $comment->$idField) )"}' class='ipsComment_content ipsType_medium'>
@@ -3302,12 +3309,10 @@
</div>
{{endif}}
<span class='elGalleryImageNav'>
{{if $prev = $image->prevItem()}}
<a href='{$prev->url()->setQueryString( 'browse', 1 )}' class='elGalleryImageNav_prev' title='{$prev->caption}'><i class='fa fa-angle-left'></i></a>
{{endif}}
{{if $next = $image->nextItem()}}
<a href='{$next->url()->setQueryString( 'browse', 1 )}' class='elGalleryImageNav_next' title='{$next->caption}'><i class='fa fa-angle-right'></i></a>
{{endif}}
{{if $image->hasPreviousOrNext()}}
<a href='{$image->url()->setQueryString( [ 'browse' => 1, 'do' => 'previous' ] )}' class='elGalleryImageNav_prev'><i class='fa fa-angle-left'></i></a>
<a href='{$image->url()->setQueryString( [ 'browse' => 1, 'do' => 'next' ] )}' class='elGalleryImageNav_next'><i class='fa fa-angle-right'></i></a>
{{endif}}
</span>
</div>]]></template>
<template template_group="view" template_name="imageInfo" template_data="$image" template_location="front" template_app="gallery"><![CDATA[
@@ -3360,7 +3365,7 @@
{{endif}}
</h1>
{{if \count( $image->tags() ) OR ( $image->canEdit() AND $image::canTag( NULL, $image->container() ) )}}
{template="tags" group="global" app="core" params="$image->tags(), FALSE, FALSE, ( $image->canEdit() AND $image::canTag( NULL, $image->container() ) ) ? $image->url() : NULL"}
{template="tags" group="global" app="core" params="$image->tags(), FALSE, FALSE, ( $image->canEdit() AND ( \count( $image->tags() ) OR $image::canTag( NULL, $image->container() ) ) ) ? $image->url() : NULL"}
{{endif}}
</div>
</div>
@@ -3563,7 +3568,7 @@
<hr class='ipsHr'>
{{endif}}
{{if \count($image->metadata)}}
{{if \is_countable($image->metadata) AND \count($image->metadata)}}
<h2 class='ipsType_minorHeading ipsType_break'>{lang="gallery_metadata" sprintf="$image->caption"}</h2>
<div class='cGalleryExif'>
{{if isset( $image->metadata['EXIF.FocalLength'] ) || ( isset( $image->metadata['IFD0.Make'] ) AND isset( $image->metadata['IFD0.Model'] ) ) || isset( $image->metadata['EXIF.ShutterSpeedValue'] ) || isset( $image->metadata['COMPUTED.ApertureFNumber'] ) || isset( $image->metadata['Exif.Photo.ISOSpeed'] )}}
@@ -3823,12 +3828,10 @@
</div>
<span class='elGalleryImageNav'>
{{if $prev = $image->prevItem( \IPS\Request::i()->context )}}
<a href='{$prev->url()->setQueryString( array( 'browse' => 1, 'lightbox' => 1, 'context' => \IPS\Request::i()->context ) )}' class='elGalleryImageNav_prev' data-action='prevImage' data-imageID='{$prev->id}' title='{$prev->caption}'><i class='fa fa-angle-left'></i></a>
{{endif}}
{{if $next = $image->nextItem( \IPS\Request::i()->context )}}
<a href='{$next->url()->setQueryString( array( 'browse' => 1, 'lightbox' => 1, 'context' => \IPS\Request::i()->context ) )}' class='elGalleryImageNav_next' data-action='nextImage' data-imageID='{$next->id}' title='{$next->caption}'><i class='fa fa-angle-right'></i></a>
{{endif}}
{{if $image->hasPreviousOrNext()}}
<a href='{$image->url()->setQueryString( [ 'browse' => 1, 'do' => 'previous' ] )}' class='elGalleryImageNav_prev'><i class='fa fa-angle-left'></i></a>
<a href='{$image->url()->setQueryString( [ 'browse' => 1, 'do' => 'next' ] )}' class='elGalleryImageNav_next'><i class='fa fa-angle-right'></i></a>
{{endif}}
</span>
</div>]]></template>
<template template_group="view" template_name="imageLightboxInfo" template_data="$image, $commentsAndReviews" template_location="front" template_app="gallery"><![CDATA[<div data-role='imageDescription' {{if $image->hidden() === -1}}class='ipsModerated'{{endif}}>
@@ -3926,7 +3929,7 @@
{{if \count( $image->tags() ) OR ( $image->canEdit() AND $image::canTag( NULL, $image->container() ) )}}
<div class='ipsClear'>
{template="tags" group="global" app="core" params="$image->tags(), FALSE, FALSE, ( $image->canEdit() AND $image::canTag( NULL, $image->container() ) ) ? $image->url() : NULL"}
{template="tags" group="global" app="core" params="$image->tags(), FALSE, FALSE, ( $image->canEdit() AND ( \count( $image->tags() ) OR $image::canTag( NULL, $image->container() ) ) ) ? $image->url() : NULL"}
</div>
{{endif}}
@@ -5599,165 +5602,165 @@ html[dir] .cGalleryLightbox_info .ipsRecommendedComments .ipsComment_recommended
.elGalleryImage .ipsType_pageTitle input[type='text']{
color: rgb( var(--theme-text_color) );
}]]></css>
<css css_location="front" css_app="gallery" css_attributes="" css_path="." css_name="global.css"><![CDATA[.cGalleryAlbums_recent > ul {
height: 204px;
position: relative;
overflow: hidden;
}
html[dir="ltr"] .cGalleryAlbums_recent > ul {
padding-left: 208px;
}
html[dir="rtl"] .cGalleryAlbums_recent > ul {
padding-right: 208px;
}
.cGalleryAlbums_recent > ul > li {
width: 100px;
height: 100px;
float: left;
position: relative;
margin: 0 0 4px 4px;
}
html[dir="rtl"] .cGalleryAlbums_recent > ul > li {
float: right;
margin: 0 4px 4px 0;
}
.cGalleryAlbums_recent > ul > li a {
display: block;
width: 100px;
height: 100px;
}
.cGalleryAlbums_recent > ul > li span {
padding-right: 7px;
text-align: right;
font-size: {fontsize="x_small"};
font-weight: bold;
color: #fff;
position: absolute;
left: 0;
right: 0;
bottom: 0;
line-height: 26px;
text-shadow: 1px 1px 0px rgba(0,0,0,0.8);
background-image: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0.6) 100%);
}
html[dir="rtl"] .cGalleryAlbums_recent > ul > li span {
text-align: left;
}
.cGalleryAlbums_recent > ul > li img {
display: none;
}
.cGalleryAlbums_recent > ul > li:first-child {
width: 204px;
height: 204px;
overflow: hidden;
position: absolute;
}
html[dir="ltr"] .cGalleryAlbums_recent > ul > li:first-child {
left: 0;
}
html[dir="rtl"] .cGalleryAlbums_recent > ul > li:first-child {
right: 0;
}
.cGalleryAlbums_recent > ul > li:first-child a {
width: 204px;
height: 204px;
}
/* Restyle the above for the sidebar */
.ipsWidget_vertical .cGalleryAlbums_recent > ul{
padding: 0 !important;
display: flex;
flex-wrap: wrap;
height: auto;
}
.ipsWidget_vertical .cGalleryAlbums_recent > ul > li:first-child,
.ipsWidget_vertical .cGalleryAlbums_recent > ul > li:first-child a,
.ipsWidget_vertical .cGalleryAlbums_recent > ul > li,
.ipsWidget_vertical .cGalleryAlbums_recent > ul > li a{
width: auto;
height: auto;
position: static;
}
.ipsWidget_vertical .cGalleryAlbums_recent > ul > li{
flex: 0 0 calc(33.3% - 4px);
max-width: 120px; /* Used if a widget stretches to 100% of the viewport one it wraps */
}
/* Since results are unlimited, display a maximum of 12 using css */
.ipsWidget_vertical .cGalleryAlbums_recent > ul > li:nth-child(12) ~ li{
display: none;
}
.ipsWidget_vertical .cGalleryAlbums_recent > ul > li a::before{
content: '';
display: block;
padding-top: 100%;
}
/* General style which creates the square thumb container */
.cGalleryTrimmedImage {
background-color: #333;
background-size: cover;
background-position: 50%;
background-repeat: no-repeat;
overflow: hidden;
border: .5px solid #333;
}
.cGalleryTrimmedImage img {
display: none;
}
.cGalleryThumb {
max-width: 170px;
max-height: 170px;
}
.cGalleryAlbumThumb {
width: 280px;
height: 235px;
}
@media screen and (max-width: 767px) {
.ipsApp .cGalleryAlbums_recent {
padding: 0;
margin-bottom: 3px;
}
.cGalleryAlbums_recent > ul {
height: 134px;
}
html[dir="ltr"] .cGalleryAlbums_recent > ul {
padding-left: 138px;
}
html[dir="rtl"] .cGalleryAlbums_recent > ul {
padding-right: 138px;
}
.cGalleryAlbums_recent > ul > li:first-child,
.cGalleryAlbums_recent > ul > li:first-child a {
width: 134px;
height: 134px;
}
.cGalleryAlbums_recent > ul > li,
.cGalleryAlbums_recent > ul > li a {
width: 65px;
height: 65px;
}
.cGalleryAlbums_recent + ul.ipsList_inline {
padding-left: 4px;
}
<css css_location="front" css_app="gallery" css_attributes="" css_path="." css_name="global.css"><![CDATA[.cGalleryAlbums_recent > ul {
height: 204px;
position: relative;
overflow: hidden;
}
html[dir="ltr"] .cGalleryAlbums_recent > ul {
padding-left: 208px;
}
html[dir="rtl"] .cGalleryAlbums_recent > ul {
padding-right: 208px;
}
.cGalleryAlbums_recent > ul > li {
width: 100px;
height: 100px;
float: left;
position: relative;
margin: 0 0 4px 4px;
}
html[dir="rtl"] .cGalleryAlbums_recent > ul > li {
float: right;
margin: 0 4px 4px 0;
}
.cGalleryAlbums_recent > ul > li a {
display: block;
width: 100px;
height: 100px;
}
.cGalleryAlbums_recent > ul > li span {
padding-right: 7px;
text-align: right;
font-size: {fontsize="x_small"};
font-weight: bold;
color: #fff;
position: absolute;
left: 0;
right: 0;
bottom: 0;
line-height: 26px;
text-shadow: 1px 1px 0px rgba(0,0,0,0.8);
background-image: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0.6) 100%);
}
html[dir="rtl"] .cGalleryAlbums_recent > ul > li span {
text-align: left;
}
.cGalleryAlbums_recent > ul > li img {
display: none;
}
.cGalleryAlbums_recent > ul > li:first-child {
width: 204px;
height: 204px;
overflow: hidden;
position: absolute;
}
html[dir="ltr"] .cGalleryAlbums_recent > ul > li:first-child {
left: 0;
}
html[dir="rtl"] .cGalleryAlbums_recent > ul > li:first-child {
right: 0;
}
.cGalleryAlbums_recent > ul > li:first-child a {
width: 204px;
height: 204px;
}
/* Restyle the above for the sidebar */
.ipsWidget_vertical .cGalleryAlbums_recent > ul{
padding: 0 !important;
display: flex;
flex-wrap: wrap;
height: auto;
}
.ipsWidget_vertical .cGalleryAlbums_recent > ul > li:first-child,
.ipsWidget_vertical .cGalleryAlbums_recent > ul > li:first-child a,
.ipsWidget_vertical .cGalleryAlbums_recent > ul > li,
.ipsWidget_vertical .cGalleryAlbums_recent > ul > li a{
width: auto;
height: auto;
position: static;
}
.ipsWidget_vertical .cGalleryAlbums_recent > ul > li{
flex: 0 0 calc(33.3% - 4px);
max-width: 120px; /* Used if a widget stretches to 100% of the viewport one it wraps */
}
/* Since results are unlimited, display a maximum of 12 using css */
.ipsWidget_vertical .cGalleryAlbums_recent > ul > li:nth-child(12) ~ li{
display: none;
}
.ipsWidget_vertical .cGalleryAlbums_recent > ul > li a::before{
content: '';
display: block;
padding-top: 100%;
}
/* General style which creates the square thumb container */
.cGalleryTrimmedImage {
background-color: #333;
background-size: cover;
background-position: 50%;
background-repeat: no-repeat;
overflow: hidden;
border: .5px solid #333;
}
.cGalleryTrimmedImage img {
display: none;
}
.cGalleryThumb {
max-width: 170px;
max-height: 170px;
}
.cGalleryAlbumThumb {
width: 280px;
height: 235px;
}
@media screen and (max-width: 767px) {
.ipsApp .cGalleryAlbums_recent {
padding: 0;
margin-bottom: 3px;
}
.cGalleryAlbums_recent > ul {
height: 134px;
}
html[dir="ltr"] .cGalleryAlbums_recent > ul {
padding-left: 138px;
}
html[dir="rtl"] .cGalleryAlbums_recent > ul {
padding-right: 138px;
}
.cGalleryAlbums_recent > ul > li:first-child,
.cGalleryAlbums_recent > ul > li:first-child a {
width: 134px;
height: 134px;
}
.cGalleryAlbums_recent > ul > li,
.cGalleryAlbums_recent > ul > li a {
width: 65px;
height: 65px;
}
.cGalleryAlbums_recent + ul.ipsList_inline {
padding-left: 4px;
}
}]]></css>
<css css_location="front" css_app="gallery" css_attributes="" css_path="." css_name="profile.css"><![CDATA[/* Styles used to display albums in profiles */
+48 -1
View File
@@ -487,5 +487,52 @@
"107011": "4.7.0 Beta 9",
"107012": "4.7.0 Beta 10",
"107013": "4.7.0",
"107014": "4.7.0"
"107014": "4.7.0",
"107015": "4.7.0",
"107016": "4.7.0",
"107017": "4.7.0",
"107018": "4.7.1 Beta 1",
"107019": "4.7.1 Beta 1",
"107020": "4.7.1 Beta 2",
"107021": "4.7.1",
"107022": "4.7.1",
"107023": "4.7.1",
"107024": "4.7.1",
"107025": "4.7.2 Beta 1",
"107026": "4.7.2 Beta 1",
"107027": "4.7.2 Beta 2",
"107028": "4.7.2 Beta 3",
"107029": "4.7.2 Beta 4",
"107030": "4.7.2 Beta 5",
"107031": "4.7.2 Beta 6",
"107032": "4.7.2",
"107033": "4.7.2",
"107034": "4.7.2.1",
"107035": "4.7.2.1",
"107036": "4.7.2.1",
"107037": "4.7.2.1",
"107038": "4.7.2.1",
"107300": "4.7.3 Beta 1",
"107301": "4.7.3 Beta 2",
"107302": "4.7.3 Beta 3",
"107303": "4.7.3 Beta 4",
"107304": "4.7.3",
"107305": "4.7.3",
"107306": "4.7.3",
"107307": "4.7.3",
"107400": "4.7.4 Beta 1",
"107401": "4.7.4 Beta 2",
"107402": "4.7.4 Beta 3",
"107403": "4.7.4",
"107404": "4.7.4",
"107405": "4.7.4",
"107406": "4.7.4",
"107500": "4.7.5 Beta 1",
"107501": "4.7.5",
"107502": "4.7.5",
"107503": "4.7.5",
"107504": "4.7.5",
"107505": "4.7.5",
"107600": "4.7.6 Beta 1",
"107601": "4.7.6"
}
@@ -33,6 +33,11 @@ class _Gallery
*/
public $embeddableContent = array( 'IPS\gallery\Album\Item' );
/**
* @brief Can be shown in similar content
*/
public $similarContent = TRUE;
/**
* Constructor
*
@@ -34,6 +34,54 @@ class _Gallery extends \IPS\gallery\extensions\core\EditorLocations\Images
{
return NULL;
}
/**
* Permission check for attachments
*
* @param \IPS\Member $member The member
* @param int|null $id1 Primary ID
* @param int|null $id2 Secondary ID
* @param string|null $id3 Arbitrary data
* @param array $attachment The attachment data
* @param bool $viewOnly If true, just check if the user can see the attachment rather than download it
* @return bool
*/
public function attachmentPermissionCheck( $member, $id1, $id2, $id3, $attachment, $viewOnly=FALSE )
{
if( $id3 and $id3 == 'album' )
{
try
{
$album = \IPS\gallery\Album::load( $id1 );
return $album->canView( $member );
}
catch ( \OutOfRangeException $e )
{
return FALSE;
}
}
return parent::attachmentPermissionCheck( $member, $id1, $id2, $id3, $attachment, $viewOnly );
}
/**
* Attachment lookup
*
* @param int|null $id1 Primary ID
* @param int|null $id2 Secondary ID
* @param string|null $id3 Arbitrary data
* @return \IPS\Http\Url|\IPS\Content|\IPS\Node\Model
* @throws \LogicException
*/
public function attachmentLookup( $id1, $id2, $id3 )
{
if( $id3 and $id3 == 'album' )
{
return \IPS\gallery\Album\Comment::load( $id2 );
}
return parent::attachmentLookup( $id1, $id2, $id3 );
}
/**
* Can whatever is posted in this editor be moderated?
@@ -341,6 +341,8 @@ class _submit extends \IPS\Dispatcher\Controller
\IPS\Api\Webhook::fire( 'galleryAlbum_create', $album, $album->webhookFilters() );
\IPS\Member::loggedIn()->achievementAction( 'core', 'NewContentItem', $album->asItem() );
return array( 'category' => $category, 'album' => $album, 'guest_email' => isset( \IPS\Request::i()->guest_email ) ? \IPS\Request::i()->guest_email : NULL );
}
@@ -276,7 +276,7 @@ class _view extends \IPS\Content\Controller
'height' => $dimensions['large'][1],
);
if( \count( $this->image->metadata ) )
if( \is_countable( $this->image->metadata ) AND \count( $this->image->metadata ) )
{
\IPS\Output::i()->jsonLd['gallery']['image']['exifData'] = array();
@@ -661,6 +661,28 @@ class _view extends \IPS\Content\Controller
}
}
/**
* Get the next image
*
* @return void
*/
protected function next()
{
$image = $this->image->nextItem() ? $this->image->nextItem() : $this->image->fetchFirstOrLast('first');
$this->redirectToUrl( $image );
}
/**
* Get the previous image
*
* @return void
*/
protected function previous()
{
$image = $this->image->prevItem() ? $this->image->prevItem() : $this->image->fetchFirstOrLast('last');
$this->redirectToUrl( $image );
}
/**
* Move
*
@@ -764,4 +786,36 @@ class _view extends \IPS\Content\Controller
$title = ( isset( \IPS\Request::i()->page ) and \IPS\Request::i()->page > 1 ) ? \IPS\Member::loggedIn()->language()->addToStack( 'title_with_page_number', FALSE, array( 'sprintf' => array( $this->image->mapped('title'), \intval( \IPS\Request::i()->page ) ) ) ) : $this->image->mapped('title');
\IPS\Output::i()->title = $container ? ( $title . ' - ' . $container->_title ) : $title;
}
/**
* Redirect to the URL or album/category on error
*
* @param $image
* @return void
*/
protected function redirectToUrl( $image ): void
{
if ( $image )
{
$url = $image->url();
if ( \IPS\Request::i()->url()->queryString )
{
foreach ( \IPS\Request::i()->url()->queryString as $k => $v )
{
if ( $k != 'do' )
{
$url = $url->setQueryString( $k, $v );
}
}
}
\IPS\Output::i()->redirect( $url );
}
else
{
/* Go to the album or category */
\IPS\Output::i()->redirect( $this->image->directContainer()->url() );
}
}
}
@@ -0,0 +1,24 @@
{
"id": 107015,
"name": "4.7.0",
"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,
"whatsnew": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,19 @@
{
"html": {
"added": [],
"edited": [],
"removed": []
},
"css": {
"added": [],
"edited": [
"front\/global.css"
],
"removed": []
},
"resources": {
"added": [],
"edited": [],
"removed": []
}
}
@@ -0,0 +1,24 @@
{
"id": 107016,
"name": "4.7.0",
"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,
"whatsnew": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,19 @@
{
"html": {
"added": [],
"edited": [],
"removed": []
},
"css": {
"added": [],
"edited": [
"front\/global.css"
],
"removed": []
},
"resources": {
"added": [],
"edited": [],
"removed": []
}
}
@@ -0,0 +1,24 @@
{
"id": 107017,
"name": "4.7.0",
"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,
"whatsnew": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,19 @@
{
"html": {
"added": [],
"edited": [],
"removed": []
},
"css": {
"added": [],
"edited": [
"front\/global.css"
],
"removed": []
},
"resources": {
"added": [],
"edited": [],
"removed": []
}
}
@@ -0,0 +1,24 @@
{
"id": 107018,
"name": "4.7.1 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,
"whatsnew": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,24 @@
{
"id": 107019,
"name": "4.7.1 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,
"whatsnew": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,24 @@
{
"id": 107020,
"name": "4.7.1 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,
"whatsnew": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,24 @@
{
"id": 107021,
"name": "4.7.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,
"whatsnew": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,24 @@
{
"id": 107022,
"name": "4.7.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,
"whatsnew": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,24 @@
{
"id": 107023,
"name": "4.7.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,
"whatsnew": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,24 @@
{
"id": 107024,
"name": "4.7.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,
"whatsnew": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,24 @@
{
"id": 107025,
"name": "4.7.2 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,
"whatsnew": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,19 @@
{
"html": {
"added": [],
"edited": [],
"removed": []
},
"css": {
"added": [],
"edited": [
"front\/global.css"
],
"removed": []
},
"resources": {
"added": [],
"edited": [],
"removed": []
}
}
@@ -0,0 +1,24 @@
{
"id": 107026,
"name": "4.7.2 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,
"whatsnew": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,19 @@
{
"html": {
"added": [],
"edited": [],
"removed": []
},
"css": {
"added": [],
"edited": [
"front\/global.css"
],
"removed": []
},
"resources": {
"added": [],
"edited": [],
"removed": []
}
}
@@ -0,0 +1,24 @@
{
"id": 107027,
"name": "4.7.2 Beta 2",
"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,
"whatsnew": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,19 @@
{
"html": {
"added": [],
"edited": [],
"removed": []
},
"css": {
"added": [],
"edited": [
"front\/global.css"
],
"removed": []
},
"resources": {
"added": [],
"edited": [],
"removed": []
}
}
@@ -0,0 +1,23 @@
{
"id": 107028,
"name": "4.7.2 Beta 3",
"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": [],
"removed": []
},
"css": {
"added": [],
"edited": [
"front\/global.css"
],
"removed": []
},
"resources": {
"added": [],
"edited": [],
"removed": []
}
}
@@ -0,0 +1,23 @@
{
"id": 107029,
"name": "4.7.2 Beta 4",
"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": [],
"removed": []
},
"css": {
"added": [],
"edited": [
"front\/global.css"
],
"removed": []
},
"resources": {
"added": [],
"edited": [],
"removed": []
}
}
@@ -0,0 +1,23 @@
{
"id": 107030,
"name": "4.7.2 Beta 5",
"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": [],
"removed": []
},
"css": {
"added": [],
"edited": [
"front\/global.css"
],
"removed": []
},
"resources": {
"added": [],
"edited": [],
"removed": []
}
}
@@ -0,0 +1,23 @@
{
"id": 107031,
"name": "4.7.2 Beta 6",
"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": [],
"removed": []
},
"css": {
"added": [],
"edited": [
"front\/global.css"
],
"removed": []
},
"resources": {
"added": [],
"edited": [],
"removed": []
}
}
@@ -0,0 +1,23 @@
{
"id": 107032,
"name": "4.7.2",
"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": [],
"removed": []
},
"css": {
"added": [],
"edited": [
"front\/global.css"
],
"removed": []
},
"resources": {
"added": [],
"edited": [],
"removed": []
}
}
@@ -0,0 +1,23 @@
{
"id": 107033,
"name": "4.7.2",
"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": [],
"removed": []
},
"css": {
"added": [],
"edited": [
"front\/global.css"
],
"removed": []
},
"resources": {
"added": [],
"edited": [],
"removed": []
}
}
@@ -0,0 +1,23 @@
{
"id": 107034,
"name": "4.7.2.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": [],
"removed": []
},
"css": {
"added": [],
"edited": [
"front\/global.css"
],
"removed": []
},
"resources": {
"added": [],
"edited": [],
"removed": []
}
}
@@ -0,0 +1,23 @@
{
"id": 107035,
"name": "4.7.2.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": [],
"removed": []
},
"css": {
"added": [],
"edited": [
"front\/global.css"
],
"removed": []
},
"resources": {
"added": [],
"edited": [],
"removed": []
}
}
@@ -0,0 +1,23 @@
{
"id": 107036,
"name": "4.7.2.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": 107037,
"name": "4.7.2.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": 107038,
"name": "4.7.2.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": 107300,
"name": "4.7.3 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": [],
"removed": []
},
"css": {
"added": [],
"edited": [
"front\/global.css"
],
"removed": []
},
"resources": {
"added": [],
"edited": [],
"removed": []
}
}
@@ -0,0 +1,23 @@
{
"id": 107301,
"name": "4.7.3 Beta 2",
"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": [],
"removed": []
},
"css": {
"added": [],
"edited": [
"front\/global.css"
],
"removed": []
},
"resources": {
"added": [],
"edited": [],
"removed": []
}
}
@@ -0,0 +1,23 @@
{
"id": 107302,
"name": "4.7.3 Beta 3",
"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": true
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,19 @@
{
"html": {
"added": [],
"edited": [],
"removed": []
},
"css": {
"added": [],
"edited": [
"front\/global.css"
],
"removed": []
},
"resources": {
"added": [],
"edited": [],
"removed": []
}
}
@@ -0,0 +1,23 @@
{
"id": 107303,
"name": "4.7.3 Beta 4",
"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": [],
"removed": []
},
"css": {
"added": [],
"edited": [
"front\/global.css"
],
"removed": []
},
"resources": {
"added": [],
"edited": [],
"removed": []
}
}
@@ -0,0 +1,23 @@
{
"id": 107304,
"name": "4.7.3",
"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": [],
"removed": []
},
"css": {
"added": [],
"edited": [
"front\/global.css"
],
"removed": []
},
"resources": {
"added": [],
"edited": [],
"removed": []
}
}
@@ -0,0 +1,23 @@
{
"id": 107305,
"name": "4.7.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": 107306,
"name": "4.7.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": 107307,
"name": "4.7.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": 107400,
"name": "4.7.4 Beta 1",
"steps": {
"queries": false,
"lang": false,
"theme": true,
"themeSettings": false,
"javascript": true,
"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,14 @@
{
"files": {
"added": [],
"edited": [
"gallery\/front\/controllers\/submit\/ips.submit.wrapper.js"
],
"removed": []
},
"orders": {
"added": [],
"edited": [],
"removed": []
}
}
@@ -0,0 +1,21 @@
{
"html": {
"added": [],
"edited": [
"front\/global\/approvalQueueItem",
"front\/view\/imageFrame",
"front\/view\/imageLightboxFrame"
],
"removed": []
},
"css": {
"added": [],
"edited": [],
"removed": []
},
"resources": {
"added": [],
"edited": [],
"removed": []
}
}
@@ -0,0 +1,23 @@
{
"id": 107401,
"name": "4.7.4 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": 107402,
"name": "4.7.4 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": 107403,
"name": "4.7.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": 107404,
"name": "4.7.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": 107405,
"name": "4.7.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": 107406,
"name": "4.7.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": 107500,
"name": "4.7.5 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": 107501,
"name": "4.7.5",
"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": 107502,
"name": "4.7.5",
"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": 107503,
"name": "4.7.5",
"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": 107504,
"name": "4.7.5",
"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": 107505,
"name": "4.7.5",
"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": 107600,
"name": "4.7.6 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,21 @@
{
"html": {
"added": [],
"edited": [
"front\/browse\/imageTable",
"front\/view\/imageInfo",
"front\/view\/imageLightboxInfo"
],
"removed": []
},
"css": {
"added": [],
"edited": [],
"removed": []
},
"resources": {
"added": [],
"edited": [],
"removed": []
}
}
@@ -0,0 +1,23 @@
{
"id": 107601,
"name": "4.7.6",
"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
}
@@ -188,4 +188,16 @@ class _Comment extends \IPS\Content\Comment implements \IPS\Content\EditHistory,
{
return 'IPS\gallery\Album\Item';
}
/**
* Get attachment IDs
*
* @return array
*/
public function attachmentIds()
{
$return = parent::attachmentIds();
$return[] = 'album';
return $return;
}
}
+7 -3
View File
@@ -263,9 +263,10 @@ class _Item extends \IPS\Content\Item implements
* @param bool $joinAuthor If true, will join the members table for the author
* @param bool $joinLastCommenter If true, will join the members table for the last commenter
* @param bool $showMovedLinks If true, moved item links are included in the results
* @param array|null $location Array of item lat and long
* @return \IPS\Patterns\ActiveRecordIterator|int
*/
public static function getItemsWithPermission( $where=array(), $order=NULL, $limit=10, $permissionKey='read', $includeHiddenItems=\IPS\Content\Hideable::FILTER_AUTOMATIC, $queryFlags=0, \IPS\Member $member=NULL, $joinContainer=FALSE, $joinComments=FALSE, $joinReviews=FALSE, $countOnly=FALSE, $joins=NULL, $skipPermission=FALSE, $joinTags=TRUE, $joinAuthor=TRUE, $joinLastCommenter=TRUE, $showMovedLinks=FALSE )
public static function getItemsWithPermission( $where=array(), $order=NULL, $limit=10, $permissionKey='read', $includeHiddenItems=\IPS\Content\Hideable::FILTER_AUTOMATIC, $queryFlags=0, \IPS\Member $member=NULL, $joinContainer=FALSE, $joinComments=FALSE, $joinReviews=FALSE, $countOnly=FALSE, $joins=NULL, $skipPermission=FALSE, $joinTags=TRUE, $joinAuthor=TRUE, $joinLastCommenter=TRUE, $showMovedLinks=FALSE, $location=NULL )
{
if( $permissionKey == 'add' )
{
@@ -450,8 +451,11 @@ class _Item extends \IPS\Content\Item implements
if ( \count( $imageIds ) )
{
\IPS\gallery\Application::outputCss();
if( \IPS\Dispatcher::hasInstance() )
{
\IPS\gallery\Application::outputCss();
}
$return = array();
foreach ( \IPS\gallery\Image::getItemsWithPermission( array( array( 'image_id IN(' . implode( ',', $imageIds ) . ')' ) ), NULL, NULL ) as $image )
@@ -1007,5 +1007,38 @@ class _Category extends \IPS\Node\Model implements \IPS\Node\Permissions
* @brief The class of the ACP \IPS\Node\Controller that manages this node type
*/
protected static $acpController = "IPS\\gallery\\modules\\admin\\gallery\\categories";
/**
* Content was held for approval by container
* Allow node classes that can determine if content should be held for approval in individual nodes
*
* @param string $content The type of content we are checking (item, comment, review).
* @param \IPS\Member|NULL $member Member to check or NULL for currently logged in member.
* @return bool
*/
public function contentHeldForApprovalByNode( string $content, ?\IPS\Member $member = NULL ): bool
{
/* If members group bypasses, then no. */
$member = $member ?: \IPS\Member::loggedIn();
if ( $member->group['g_avoid_q'] )
{
return FALSE;
}
switch( $content )
{
case 'item':
return (bool) $this->approve_img;
break;
case 'comment':
return (bool) $this->approve_com;
break;
case 'review':
return (bool) $this->review_moderate;
break;
}
}
}
+49 -50
View File
@@ -900,9 +900,51 @@ class _Image extends \IPS\Content\Item implements
}
/**
* @brief Images that match the current one based on the current sort
* Does this image need next/previous icons?
*
* @return bool
*/
protected $imagesSameSort = NULL;
public function hasPreviousOrNext(): bool
{
$images = $this->directContainer()->_items;
if ( static::canViewHiddenItems( NULL, $this->directContainer() ) )
{
$images += $this->directContainer()->_unapprovedItems;
}
return $images > 1;
}
/**
* Return the first or last image in this album or category
*
* @return \IPS\Patterns\ActiveRecord|null
*/
public function fetchFirstOrLast( $which='first')
{
$where = array();
$direction = $which == 'first' ? 'DESC' : 'ASC';
if( $this->album_id )
{
$where[] = array( 'image_album_id=?', $this->album_id );
$sortBy = static::$databaseColumnMap[ $this->directContainer()->_sortBy ?: 'updated' ];
}
else
{
$where[] = array( 'image_category_id=?', $this->category_id );
$where[] = array( 'image_album_id=?', 0 );
$sortBy = static::$databaseColumnMap[ $this->directContainer()->sort_options_img ?: 'updated' ];
}
foreach( \IPS\gallery\Image::getItemsWithPermission( $where, static::$databasePrefix . $sortBy . ' ' . $direction . ', image_id ' . $direction, 1 ) as $image )
{
return $image;
}
return NULL;
}
/**
* Get the next or previous 5 images in the container
@@ -928,7 +970,7 @@ class _Image extends \IPS\Content\Item implements
$sortBy = static::$databaseColumnMap[ $this->directContainer()->sort_options_img ?: 'updated' ];
}
$where['id'] = array( 'image_id<>?', $this->id );
$where['id'] = array( 'image_id' . $dir . '?', $this->id );
if( $sortBy == 'caption' )
{
@@ -936,52 +978,8 @@ class _Image extends \IPS\Content\Item implements
$dir = ( $dir == '>' ) ? '<' : '>';
}
if( $this->imagesSameSort === NULL )
{
$where['date'] = array( static::$databasePrefix . $sortBy . '= ?', $this->$sortBy );
$this->imagesSameSort = \IPS\Db::i()->select( 'COUNT(*)', 'gallery_images', $where )->first();
}
if( !$this->imagesSameSort )
{
$where['date'] = array( static::$databasePrefix . $sortBy . " {$dir}= ?", $this->$sortBy );
return iterator_to_array( \IPS\gallery\Image::getItemsWithPermission( $where, static::$databasePrefix . $sortBy . ' ' . $direction . ', image_id ' . $direction, $count ) );
}
else
{
unset( $where['id'] );
$results = array();
$seen = FALSE;
foreach( \IPS\gallery\Image::getItemsWithPermission( $where, static::$databasePrefix . $sortBy . ' ' . $direction . ', image_id ' . $direction, NULL ) as $image )
{
if( !$seen )
{
if( $image->id == $this->id )
{
$seen = TRUE;
}
continue;
}
$results[] = $image;
if( \count( $results ) == $count )
{
break;
}
}
if( \count( $results ) < $count )
{
$where['date'] = array( static::$databasePrefix . $sortBy . " {$dir} ?", $this->$sortBy );
$results = array_merge( $results, iterator_to_array( \IPS\gallery\Image::getItemsWithPermission( $where, static::$databasePrefix . $sortBy . ' ' . $direction, $count - \count( $results ) ) ) );
}
return $results;
}
$where['date'] = array( static::$databasePrefix . $sortBy . " {$dir}= ?", $this->$sortBy );
return iterator_to_array( \IPS\gallery\Image::getItemsWithPermission( $where, static::$databasePrefix . $sortBy . ' ' . $direction . ', image_id ' . $direction, $count ) );
}
/**
@@ -2101,9 +2099,10 @@ class _Image extends \IPS\Content\Item implements
* @param bool $joinAuthor If true, will join the members table for the author
* @param bool $joinLastCommenter If true, will join the members table for the last commenter
* @param bool $showMovedLinks If true, moved item links are included in the results
* @param array|null $location Array of item lat and long
* @return \IPS\Patterns\ActiveRecordIterator|int
*/
public static function getItemsWithPermission( $where=array(), $order=NULL, $limit=10, $permissionKey='read', $includeHiddenItems=NULL, $queryFlags=0, \IPS\Member $member=NULL, $joinContainer=FALSE, $joinComments=FALSE, $joinReviews=FALSE, $countOnly=FALSE, $joins=NULL, $skipPermission=FALSE, $joinTags=TRUE, $joinAuthor=TRUE, $joinLastCommenter=TRUE, $showMovedLinks=FALSE )
public static function getItemsWithPermission( $where=array(), $order=NULL, $limit=10, $permissionKey='read', $includeHiddenItems=NULL, $queryFlags=0, \IPS\Member $member=NULL, $joinContainer=FALSE, $joinComments=FALSE, $joinReviews=FALSE, $countOnly=FALSE, $joins=NULL, $skipPermission=FALSE, $joinTags=TRUE, $joinAuthor=TRUE, $joinLastCommenter=TRUE, $showMovedLinks=FALSE, $location=NULL )
{
if ( $order === NULL )
{