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

-9
View File
@@ -329,15 +329,6 @@
"large image"
]
},
"app=gallery&module=gallery&controller=settings&searchResult=form_gallery_medium_dims": {
"lang_key": "gallery_medium_dims",
"restriction": "settings_manage",
"keywords": [
"image dimensions",
"image size",
"medium image size"
]
},
"app=gallery&module=gallery&controller=settings&searchResult=form_gallery_rss_enabled": {
"lang_key": "gallery_rss_enabled",
"restriction": "settings_manage",
+9 -1
View File
@@ -9,8 +9,17 @@
<setting key="gallery_detailed_bandwidth"><![CDATA[{"key":"gallery_detailed_bandwidth","default":"1","report":"full"}]]></setting>
<setting key="gallery_large_dims"><![CDATA[{"key":"gallery_large_dims","default":"1600x1200","report":"full"}]]></setting>
<setting key="gallery_maps_default"><![CDATA[{"key":"gallery_maps_default","default":"0","report":"full"}]]></setting>
<setting key="gallery_new_images_count"><![CDATA[{"key":"gallery_new_images_count","default":"16","report":"none"}]]></setting>
<setting key="gallery_nsfw"><![CDATA[{"key":"gallery_nsfw","default":"0","report":"bool"}]]></setting>
<setting key="gallery_overview_carousel_count"><![CDATA[{"key":"gallery_overview_carousel_count","default":"20","report":"full"}]]></setting>
<setting key="gallery_overview_carousel_type"><![CDATA[{"key":"gallery_overview_carousel_type","default":"featured","report":"full"}]]></setting>
<setting key="gallery_overview_show_carousel"><![CDATA[{"key":"gallery_overview_show_carousel","default":"1","report":"full"}]]></setting>
<setting key="gallery_overview_show_categories"><![CDATA[{"key":"gallery_overview_show_categories","default":"1","report":"none"}]]></setting>
<setting key="gallery_recent_updated_albums_count"><![CDATA[{"key":"gallery_recent_updated_albums_count","default":"4","report":"none"}]]></setting>
<setting key="gallery_rss_enabled"><![CDATA[{"key":"gallery_rss_enabled","default":"1","report":"full"}]]></setting>
<setting key="gallery_show_new_images"><![CDATA[{"key":"gallery_show_new_images","default":"1","report":"none"}]]></setting>
<setting key="gallery_show_recent_comments"><![CDATA[{"key":"gallery_show_recent_comments","default":"1","report":"none"}]]></setting>
<setting key="gallery_show_recent_updated_albums"><![CDATA[{"key":"gallery_show_recent_updated_albums","default":"1","report":"none"}]]></setting>
<setting key="gallery_small_dims"><![CDATA[{"key":"gallery_small_dims","default":"600x600","report":"full"}]]></setting>
<setting key="gallery_use_square_thumbnails"><![CDATA[{"key":"gallery_use_square_thumbnails","default":"0","report":"full"}]]></setting>
<setting key="gallery_use_watermarks"><![CDATA[{"key":"gallery_use_watermarks","default":"0","report":"full"}]]></setting>
@@ -63,7 +72,6 @@
<acpsearch key="app=gallery&amp;module=gallery&amp;controller=settings&amp;searchResult=form_gallery_bandwidth_period"><![CDATA[{"lang_key":"gallery_bandwidth_period","restriction":"settings_manage","keywords":["bandwidth log retention","bandwidth logs","number of hours"]}]]></acpsearch>
<acpsearch key="app=gallery&amp;module=gallery&amp;controller=settings&amp;searchResult=form_gallery_detailed_bandwidth"><![CDATA[{"lang_key":"gallery_detailed_bandwidth","restriction":"settings_manage","keywords":["bandwidth","bandwidth logs","store bandwidth logs"]}]]></acpsearch>
<acpsearch key="app=gallery&amp;module=gallery&amp;controller=settings&amp;searchResult=form_gallery_large_dims"><![CDATA[{"lang_key":"gallery_large_dims","restriction":"settings_manage","keywords":["image dimensions","image size","large image"]}]]></acpsearch>
<acpsearch key="app=gallery&amp;module=gallery&amp;controller=settings&amp;searchResult=form_gallery_medium_dims"><![CDATA[{"lang_key":"gallery_medium_dims","restriction":"settings_manage","keywords":["image dimensions","image size","medium image size"]}]]></acpsearch>
<acpsearch key="app=gallery&amp;module=gallery&amp;controller=settings&amp;searchResult=form_gallery_rss_enabled"><![CDATA[{"lang_key":"gallery_rss_enabled","restriction":"settings_manage","keywords":["gallery rss","image rss"]}]]></acpsearch>
<acpsearch key="app=gallery&amp;module=gallery&amp;controller=settings&amp;searchResult=form_gallery_small_dims"><![CDATA[{"lang_key":"gallery_small_dims","restriction":"settings_manage","keywords":["image dimensions","image size","small image dimensions","thumbnail dimensions"]}]]></acpsearch>
<acpsearch key="app=gallery&amp;module=gallery&amp;controller=settings&amp;searchResult=form_gallery_use_square_thumbnails"><![CDATA[{"lang_key":"gallery_use_square_thumbnails","restriction":"settings_manage","keywords":["square thumbnails"]}]]></acpsearch>
+45 -42
View File
@@ -1,68 +1,71 @@
{
"core": {
"MemberACPProfileContentTab": {
"Gallery": "IPS\\gallery\\extensions\\core\\MemberACPProfileContentTab\\Gallery"
"AdvertisementLocations": {
"ImageLightbox": "IPS\\gallery\\extensions\\core\\AdvertisementLocations\\ImageLightbox"
},
"ContentRouter": {
"gallery": "IPS\\gallery\\extensions\\core\\ContentRouter\\gallery"
},
"LiveSearch": {
"Categories": "IPS\\gallery\\extensions\\core\\LiveSearch\\Categories"
},
"FileStorage": {
"Images": "IPS\\gallery\\extensions\\core\\FileStorage\\Images"
},
"Sitemap": {
"Videos": "IPS\\gallery\\extensions\\core\\Sitemap\\Videos",
"Images": "IPS\\gallery\\extensions\\core\\Sitemap\\Images"
},
"GroupForm": {
"Gallery": "IPS\\gallery\\extensions\\core\\GroupForm\\Gallery"
},
"EditorLocations": {
"Gallery": "IPS\\gallery\\extensions\\core\\EditorLocations\\Gallery",
"Albums": "IPS\\gallery\\extensions\\core\\EditorLocations\\Albums",
"Categories": "IPS\\gallery\\extensions\\core\\EditorLocations\\Categories",
"Images": "IPS\\gallery\\extensions\\core\\EditorLocations\\Images"
},
"Permissions": {
"Permissions": "IPS\\gallery\\extensions\\core\\Permissions\\Permissions"
},
"CreateMenu": {
"gallery": "IPS\\gallery\\extensions\\core\\CreateMenu\\gallery"
},
"Dashboard": {
"Overview": "IPS\\gallery\\extensions\\core\\Dashboard\\Overview"
},
"EditorLocations": {
"Albums": "IPS\\gallery\\extensions\\core\\EditorLocations\\Albums",
"Categories": "IPS\\gallery\\extensions\\core\\EditorLocations\\Categories",
"Gallery": "IPS\\gallery\\extensions\\core\\EditorLocations\\Gallery",
"Images": "IPS\\gallery\\extensions\\core\\EditorLocations\\Images"
},
"EditorMedia": {
"Images": "IPS\\gallery\\extensions\\core\\EditorMedia\\Images"
},
"FileStorage": {
"Images": "IPS\\gallery\\extensions\\core\\FileStorage\\Images"
},
"FrontNavigation": {
"Gallery": "IPS\\gallery\\extensions\\core\\FrontNavigation\\Gallery"
},
"GroupForm": {
"Gallery": "IPS\\gallery\\extensions\\core\\GroupForm\\Gallery"
},
"GroupLimits": {
"Album": "IPS\\gallery\\extensions\\core\\GroupLimits\\Album"
},
"LiveSearch": {
"Categories": "IPS\\gallery\\extensions\\core\\LiveSearch\\Categories"
},
"MemberACPProfileContentTab": {
"Gallery": "IPS\\gallery\\extensions\\core\\MemberACPProfileContentTab\\Gallery"
},
"MemberFilter": {
"Album": "IPS\\gallery\\extensions\\core\\MemberFilter\\Album"
},
"MemberRestrictions": {
"Gallery": "IPS\\gallery\\extensions\\core\\MemberRestrictions\\Gallery"
},
"MemberSync": {
"Gallery": "IPS\\gallery\\extensions\\core\\MemberSync\\Gallery"
},
"Permissions": {
"Permissions": "IPS\\gallery\\extensions\\core\\Permissions\\Permissions"
},
"Profile": {
"gallery": "IPS\\gallery\\extensions\\core\\Profile\\gallery",
"galleryImages": "IPS\\gallery\\extensions\\core\\Profile\\galleryImages"
},
"EditorMedia": {
"Images": "IPS\\gallery\\extensions\\core\\EditorMedia\\Images"
},
"GroupLimits": {
"Album": "IPS\\gallery\\extensions\\core\\GroupLimits\\Album"
},
"Queue": {
"CleanUpGalleryImages": "IPS\\gallery\\extensions\\core\\Queue\\CleanUpGalleryImages",
"RebuildGalleryImages": "IPS\\gallery\\extensions\\core\\Queue\\RebuildGalleryImages",
"Follow": "IPS\\gallery\\extensions\\core\\Queue\\Follow"
"Follow": "IPS\\gallery\\extensions\\core\\Queue\\Follow",
"RebuildGalleryImages": "IPS\\gallery\\extensions\\core\\Queue\\RebuildGalleryImages"
},
"MemberFilter": {
"Album": "IPS\\gallery\\extensions\\core\\MemberFilter\\Album"
"Sitemap": {
"Images": "IPS\\gallery\\extensions\\core\\Sitemap\\Images",
"Videos": "IPS\\gallery\\extensions\\core\\Sitemap\\Videos"
},
"FrontNavigation": {
"Gallery": "IPS\\gallery\\extensions\\core\\FrontNavigation\\Gallery"
},
"MemberSync": {
"Gallery": "IPS\\gallery\\extensions\\core\\MemberSync\\Gallery"
},
"AdvertisementLocations": {
"ImageLightbox": "IPS\\gallery\\extensions\\core\\AdvertisementLocations\\ImageLightbox"
"Statistics": {
"Bandwidth": "IPS\\gallery\\extensions\\core\\Statistics\\Bandwidth"
}
}
}
+14 -15
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.carousel.js" javascript_type="controller" javascript_version="107643" javascript_position="1000050"><![CDATA[/**
<file javascript_app="gallery" javascript_location="front" javascript_path="controllers/browse" javascript_name="ips.browse.carousel.js" javascript_type="controller" javascript_version="107712" javascript_position="1000050"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -61,7 +61,7 @@
});
}());]]></file>
<file javascript_app="gallery" 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="gallery" 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
*
@@ -90,7 +90,7 @@
}
});
}(jQuery, _));</file>
<file javascript_app="gallery" javascript_location="front" javascript_path="controllers/global" javascript_name="ips.global.nsfw.js" javascript_type="controller" javascript_version="107643" javascript_position="1000100">;( function($, _, undefined){
<file javascript_app="gallery" javascript_location="front" javascript_path="controllers/global" javascript_name="ips.global.nsfw.js" javascript_type="controller" javascript_version="107712" javascript_position="1000100">;( function($, _, undefined){
&quot;use strict&quot;;
ips.controller.register('gallery.front.global.nsfw', {
@@ -112,7 +112,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="107643" 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="107712" javascript_position="1000050">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -169,7 +169,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="107643" javascript_position="1000150"><![CDATA[/**
<file javascript_app="gallery" javascript_location="front" javascript_path="controllers/submit" javascript_name="ips.submit.chooseCategory.js" javascript_type="controller" javascript_version="107712" javascript_position="1000150"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -369,7 +369,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="107643" javascript_position="1000150"><![CDATA[/**
<file javascript_app="gallery" javascript_location="front" javascript_path="controllers/submit" javascript_name="ips.submit.existingAlbums.js" javascript_type="controller" javascript_version="107712" javascript_position="1000150"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -416,7 +416,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="107643" javascript_position="1000150"><![CDATA[/**
<file javascript_app="gallery" javascript_location="front" javascript_path="controllers/submit" javascript_name="ips.submit.uploadImages.js" javascript_type="controller" javascript_version="107712" javascript_position="1000150"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -547,7 +547,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="107643" javascript_position="1000150"><![CDATA[/**
<file javascript_app="gallery" javascript_location="front" javascript_path="controllers/submit" javascript_name="ips.submit.wrapper.js" javascript_type="controller" javascript_version="107712" javascript_position="1000150"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -1311,7 +1311,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="107643" javascript_position="1000200">/**
<file javascript_app="gallery" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.image.js" javascript_type="controller" javascript_version="107712" javascript_position="1000200">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -1453,7 +1453,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="107643" javascript_position="1000200"><![CDATA[/**
<file javascript_app="gallery" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.note.js" javascript_type="controller" javascript_version="107712" javascript_position="1000200"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -1911,7 +1911,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="107643" javascript_position="1000200"><![CDATA[/**
<file javascript_app="gallery" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.notes.js" javascript_type="controller" javascript_version="107712" javascript_position="1000200"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -1994,8 +1994,8 @@
}
});
}(jQuery, _));]]></file>
<file javascript_app="gallery" javascript_location="front" javascript_path="templates" javascript_name="ips.templates.browse.js" javascript_type="template" javascript_version="107643" javascript_position="1000250">// Empty</file>
<file javascript_app="gallery" javascript_location="front" javascript_path="templates" javascript_name="ips.templates.submit.js" javascript_type="template" javascript_version="107643" javascript_position="1000250"><![CDATA[ips.templates.set('gallery.submit.imageItem', " \
<file javascript_app="gallery" javascript_location="front" javascript_path="templates" javascript_name="ips.templates.browse.js" javascript_type="template" javascript_version="107712" javascript_position="1000250">// Empty</file>
<file javascript_app="gallery" javascript_location="front" javascript_path="templates" javascript_name="ips.templates.submit.js" javascript_type="template" javascript_version="107712" javascript_position="1000250"><![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>\
@@ -2022,7 +2022,7 @@
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="107643" javascript_position="1000250"><![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="107712" javascript_position="1000250"><![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'>\
@@ -2051,7 +2051,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
+18 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<language>
<app key="gallery" version="107643">
<app key="gallery" version="107712">
<word key="__app_gallery" js="0">Gallery</word>
<word key="frontnavigation_gallery" js="0">Gallery</word>
<word key="gallery_title" js="0">Gallery</word>
@@ -849,6 +849,23 @@
<word key="gallery_recently_commented_images" js="0">Recently Commented Images</word>
<word key="gallery_view_all_categories" js="0">View all categories</word>
<word key="gallery_recently_updated_albums" js="0">Recently Updated Albums</word>
<word key="gallery_overview_settings" js="0">Overview</word>
<word key="gallery_featured_images" js="0">Featured Images Carousel</word>
<word key="gallery_overview_show_carousel" js="0">Show carousel?</word>
<word key="gallery_overview_carousel_type" js="0">Show</word>
<word key="gallery_overview_carousel_featured" js="0">Featured images</word>
<word key="gallery_overview_carousel_new" js="0">New images</word>
<word key="gallery_overview_carousel_count" js="0">Number of images to show</word>
<word key="gallery_overview_recent_comments" js="0">Recent Comments</word>
<word key="gallery_show_recent_comments" js="0">Show recent comments?</word>
<word key="gallery_overview_categories" js="0">Categories</word>
<word key="gallery_overview_show_categories" js="0">Show categories?</word>
<word key="gallery_overview_recent_updated_albums" js="0">Recently Updated Albums</word>
<word key="gallery_show_recent_updated_albums" js="0">Show recently updated albums?</word>
<word key="gallery_recent_updated_albums_count" js="0">Number of recently updated albums to show</word>
<word key="gallery_overview_new_images" js="0">New Images</word>
<word key="gallery_show_new_images" js="0">Show new images?</word>
<word key="gallery_new_images_count" js="0">Number of new images to show</word>
<word key="gallery_nsfw" js="0">Enable NSFW?</word>
<word key="gallery_nsfw_desc" js="0">Images can be set as not safe for work (NSFW) and will appear blurred unless the member opts in to viewing them.</word>
<word key="gallery_image_is_nsfw" js="0">This image is NSFW</word>
+37 -31
View File
@@ -587,6 +587,18 @@
"zerofill": false,
"auto_increment": false,
"binary": false
},
"album_views": {
"name": "album_views",
"type": "BIGINT",
"length": null,
"decimals": null,
"values": null,
"allow_null": false,
"default": 0,
"comment": "",
"unsigned": false,
"auto_increment": false
}
},
"indexes": {
@@ -1413,18 +1425,16 @@
"zerofill": false
},
"comment_text": {
"allow_null": true,
"auto_increment": false,
"binary": false,
"comment": "",
"decimals": null,
"default": null,
"length": 0,
"name": "comment_text",
"type": "TEXT",
"unsigned": false,
"type": "MEDIUMTEXT",
"length": 0,
"decimals": null,
"values": [],
"zerofill": false
"allow_null": true,
"default": null,
"comment": "",
"unsigned": false,
"auto_increment": false
},
"comment_approved": {
"allow_null": false,
@@ -1692,18 +1702,16 @@
"zerofill": false
},
"image_file_size": {
"allow_null": false,
"auto_increment": false,
"binary": false,
"comment": "",
"decimals": null,
"default": "0",
"length": 10,
"name": "image_file_size",
"type": "INT",
"unsigned": false,
"type": "BIGINT",
"length": 20,
"decimals": null,
"values": [],
"zerofill": false
"allow_null": false,
"default": 0,
"comment": "",
"unsigned": false,
"auto_increment": false
},
"image_file_type": {
"allow_null": true,
@@ -2242,7 +2250,7 @@
"decimals": null,
"values": null,
"allow_null": false,
"default": "",
"default": 0,
"comment": "",
"unsigned": true,
"auto_increment": false
@@ -3039,18 +3047,16 @@
"zerofill": false
},
"comment_text": {
"allow_null": true,
"auto_increment": false,
"binary": false,
"comment": "",
"decimals": null,
"default": null,
"length": 0,
"name": "comment_text",
"type": "TEXT",
"unsigned": false,
"type": "MEDIUMTEXT",
"length": 0,
"decimals": null,
"values": [],
"zerofill": false
"allow_null": true,
"default": null,
"comment": "",
"unsigned": false,
"auto_increment": false
},
"comment_approved": {
"allow_null": false,
+45
View File
@@ -19,16 +19,61 @@
"default": "0",
"report": "full"
},
{
"key": "gallery_new_images_count",
"default": "16",
"report": "none"
},
{
"key": "gallery_nsfw",
"default": "0",
"report": "bool"
},
{
"key": "gallery_overview_carousel_count",
"default": "20",
"report": "full"
},
{
"key": "gallery_overview_carousel_type",
"default": "featured",
"report": "full"
},
{
"key": "gallery_overview_show_carousel",
"default": "1",
"report": "full"
},
{
"key": "gallery_overview_show_categories",
"default": "1",
"report": "none"
},
{
"key": "gallery_recent_updated_albums_count",
"default": "4",
"report": "none"
},
{
"key": "gallery_rss_enabled",
"default": "1",
"report": "full"
},
{
"key": "gallery_show_new_images",
"default": "1",
"report": "none"
},
{
"key": "gallery_show_recent_comments",
"default": "1",
"report": "none"
},
{
"key": "gallery_show_recent_updated_albums",
"default": "1",
"report": "none"
},
{
"key": "gallery_small_dims",
"default": "600x600",
+149 -128
View File
@@ -85,6 +85,16 @@
{{endif}}
{{if $album->use_reviews && $album->reviews > 0}}
<li><i class='fa fa-comment'></i> {lang="gallery_album_num_reviews_lc" pluralize="$album->reviews"}</li>
{{endif}}
{{if $album->views > -1}}
<li id='elAlbumViews'>
{{if \IPS\Application::appIsEnabled('cloud') and \IPS\Member::loggedIn()->modPermission('can_view_moderation_log')}}
{{$url = "app=cloud&module=analytics&controller=analytics&contentClass=\IPS\gallery\Album\Item&contentId=" . $album->id;}}
<i class='fa fa-eye'></i> <a href='{url="$url"}' data-ipsDialog data-ipsDialog-title='{lang="analytics"}' data-ipsTooltip title='{lang="analytics"}'>{lang="num_views_with_number" pluralize="$album->views"}</a>
{{else}}
<i class='fa fa-eye'></i> {lang="num_views_with_number" pluralize="$album->views"}
{{endif}}
</li>
{{endif}}
</ul>
@@ -143,6 +153,10 @@
{{if $album->asItem()->canOnMessage( 'add' )}}
<li class='ipsMenu_item'><a href='{$album->url()->setQueryString( array( 'do' => 'messageForm' ) )}' data-ipsDialog data-ipsDialog-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 data-ipsDialog data-ipsDialogTitle="{lang="moderation_log"}" href='{$album->url()->setQueryString( array( 'do' => 'modLog' ) )}'>{lang="moderation_log"}</a></li>
{{endif}}
</ul>
</li>
{{elseif $album->asItem()->canReportOrRevoke() === TRUE}}
@@ -505,6 +519,9 @@
{{endif}}
<hr class='ipsHr ipsResponsive_hidePhone'>
<div class='ipsPos_right ipsResponsive_noFloat ipsResponsive_hidePhone'>
{{if \IPS\Application::appIsEnabled('cloud')}}
{template="analyticsButton" app="cloud" group="analytics" params="$category, $category->id"}
{{endif}}
{{$followerCount = \IPS\gallery\Image::containerFollowerCount( $category );}}
{template="follow" app="core" group="global" params="'gallery', 'category', $category->_id, $followerCount"}
</div>
@@ -850,141 +867,143 @@
{{endif}}
</div>
{{if !empty( $featured )}}
{{if !empty( $featured ) or !empty($recentComments)}}
<div class='ipsColumns ipsColumns_collapseTablet ipsMargin_bottom ipsColumns--gallery-featured-carousel'{{if settings.gallery_nsfw}} data-controller="gallery.front.global.nsfw"{{endif}}>
<div class='ipsColumn ipsColumn_fluid'>
<div class='ipsPos_relative'>
<h2 class='ipsHide'>{lang="featured_images"}</h2>
<ol class='cGalleryCarousel cGalleryCarousel--wallpaper cGalleryCarousel--pull' id='gallery-carousel'>
{{foreach $featured as $image}}
<li class='cGalleryCarousel__item'>
<div class='ipsImageBlock ipsImageBlock--contain'>
<a href="{$image->url()->setQueryString( 'context', 'featured' )}" class='ipsImageBlock__main'>
{{if $image->media }}
<video loading="lazy"{{if $image->masked_file_name }} poster="{file="$image->masked_file_name" extension="gallery_Images"}"{{else}} preload="metadata"{{endif}}>
<source src="{file="$image->original_file_name" extension="gallery_Images"}{{if !$image->masked_file_name }}#t=1{{endif}}" type='{$image->file_type}' />
</video>
<div class='ipsImageBlock__video-icon'></div>
{{else}}
<img src='{file="$image->masked_file_name" extension="gallery_Images"}' alt="{$image->caption}" loading="lazy" />
{{endif}}
</a>
<div class='ipsImageBlock__header'>
{{if $image->hidden() === -1 || $image->hidden() === 1 || $image->mapped('pinned') || $image->mapped('featured')}}
<div>
{{if $image->hidden() === -1}}
<span class="ipsBadge ipsBadge_warning" data-ipsTooltip title='{$image->hiddenBlurb()}'><i class='fa fa-eye-slash'></i> {lang="hidden"}</span>
{{elseif $image->hidden() === 1}}
<span class="ipsBadge ipsBadge_warning"><i class='fa fa-warning'></i> {lang="pending_approval"}</span>
{{endif}}
{{if $image->mapped('featured')}}
<span class="ipsBadge ipsBadge_positive"><i class='fa fa-star'></i> {lang="featured"}</span>
{{endif}}
</div>
{{endif}}
</div>
<div class='ipsImageBlock__footer'>
<div class='ipsImageBlock__title'>
{{if $image->unread()}}
<span class='ipsItemStatus ipsItemStatus_small' data-ipsTooltip title='{{if $image->unread() === -1}}{lang="new"}{{else}}{lang="updated"}{{endif}}'><i class='fa fa-circle'></i></span>
{{if !empty( $featured )}}
<div class='ipsColumn ipsColumn_fluid'>
<div class='ipsPos_relative'>
<h2 class='ipsHide'>{lang="featured_images"}</h2>
<ol class='cGalleryCarousel cGalleryCarousel--wallpaper cGalleryCarousel--pull' id='gallery-carousel'>
{{foreach $featured as $image}}
<li class='cGalleryCarousel__item'>
<div class='ipsImageBlock ipsImageBlock--contain'>
<a href="{$image->url()->setQueryString( 'context', 'featured' )}" class='ipsImageBlock__main'>
{{if $image->media }}
<video loading="lazy"{{if $image->masked_file_name }} poster="{file="$image->masked_file_name" extension="gallery_Images"}"{{else}} preload="metadata"{{endif}}>
<source src="{file="$image->original_file_name" extension="gallery_Images"}{{if !$image->masked_file_name }}#t=1{{endif}}" type='{$image->file_type}' />
</video>
<div class='ipsImageBlock__video-icon'></div>
{{else}}
<img src='{file="$image->masked_file_name" extension="gallery_Images"}' alt="{$image->caption}" loading="lazy" />
{{endif}}
<a href="{$image->url()->setQueryString( 'context', 'featured' )}" tabindex='-1'>{$image->caption}</a>
</div>
<div>
{lang="byline_nodate_itemprop" htmlsprintf="$image->author()->link( $image->warningRef() )"}
</div>
</div>
{template="nsfwOverlay" app="gallery" location="front" group="global" params="$image"}
</div>
</li>
{{endforeach}}
</ol>
{{if \count( $featured ) > 1}}
<div class='cGalleryCarouselNav cGalleryCarouselNav--overlay' data-carousel-controls='gallery-carousel' data-controller="gallery.front.browse.carousel">
<button class='cGalleryCarouselNav__button' data-carousel-arrow='prev' aria-label='Previous' role='button'>
<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512" width="10"><path d="M34.52 239.03L228.87 44.69c9.37-9.37 24.57-9.37 33.94 0l22.67 22.67c9.36 9.36 9.37 24.52.04 33.9L131.49 256l154.02 154.75c9.34 9.38 9.32 24.54-.04 33.9l-22.67 22.67c-9.37 9.37-24.57 9.37-33.94 0L34.52 272.97c-9.37-9.37-9.37-24.57 0-33.94z"/></svg>
</button>
<button class='cGalleryCarouselNav__button' data-carousel-arrow='next' aria-label='Next' role='button'>
<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512" width="10"><path d="M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z"/></svg>
</button>
</div>
{{endif}}
</div>
</div>
{{if \count( $recentComments )}}
<div class='ipsColumn ipsColumn_veryWide'>
<div class='ipsBox ipsWidget ipsWidget--gallery-comments ipsResponsive_pull ipsFlex ipsFlex-fd:column'>
<h2 class='ipsType_reset ipsWidget_title ipsFlex-flex:00 ipsFlex ipsFlex-ai:center ipsFlex-jc:between ipsFlex-fw:wrap'>
<span>{lang="gallery_recently_commented_images"}</span>
</h2>
<div class='ipsWidget_inner ipsPos_relative ipsFlex-flex:11'>
<div class='cGalleryLatestComments'>
<ul>
{{foreach $recentComments as $image}}
{{$lastComment = $image->comments( 1, 0, 'date', 'desc', NULL, TRUE );}}
<li class='cGalleryLatestComments__item'>
<div class='cGalleryLatestComments__thumb'>
<div class='ipsImageBlock'>
<a href="{$image->url()->setQueryString( 'context', 'new' )}" class='ipsImageBlock__main' data-ipsToolTip title="{$image->caption}">
{{if $image->media }}
<video loading="lazy"{{if $image->masked_file_name }} poster="{file="$image->masked_file_name" extension="gallery_Images"}" preload="metadata"{{endif}}>
<source src="{file="$image->original_file_name" extension="gallery_Images"}{{if !$image->masked_file_name }}#t=1{{endif}}" type='{$image->file_type}' />
</video>
<div class='ipsImageBlock__video-icon'></div>
{{else}}
<img src='{file="$image->small_file_name" extension="gallery_Images"}' alt="{$image->caption}" loading="lazy" />
{{endif}}
</a>
{template="nsfwOverlay" app="gallery" location="front" group="global" params="$image, FALSE"}
</div>
</div>
<div class='cGalleryLatestComments__text'>
<a href="{$image->url()->setQueryString( 'context', 'new' )}">
<div class='ipsType_richText'>
{$lastComment->truncated(TRUE)|raw}
</div>
</a>
<div class='ipsType_blendLinks ipsType_light ipsType_small'>
{$image->lastCommenter()->link()|raw}
&middot; <a href='{$image->url( 'getLastComment' )}' title='{lang="get_last_post"}' class='ipsType_blendLinks'>{datetime="$image->mapped('last_comment')"}</a>
</div>
</div>
</li>
{{endforeach}}
</ul>
</div>
<div class='ipsImageBlock__header'>
{{if $image->hidden() === -1 || $image->hidden() === 1 || $image->mapped('pinned') || $image->mapped('featured')}}
<div>
{{if $image->hidden() === -1}}
<span class="ipsBadge ipsBadge_warning" data-ipsTooltip title='{$image->hiddenBlurb()}'><i class='fa fa-eye-slash'></i> {lang="hidden"}</span>
{{elseif $image->hidden() === 1}}
<span class="ipsBadge ipsBadge_warning"><i class='fa fa-warning'></i> {lang="pending_approval"}</span>
{{endif}}
{{if $image->mapped('featured')}}
<span class="ipsBadge ipsBadge_positive"><i class='fa fa-star'></i> {lang="featured"}</span>
{{endif}}
</div>
{{endif}}
</div>
<div class='ipsImageBlock__footer'>
<div class='ipsImageBlock__title'>
{{if $image->unread()}}
<span class='ipsItemStatus ipsItemStatus_small' data-ipsTooltip title='{{if $image->unread() === -1}}{lang="new"}{{else}}{lang="updated"}{{endif}}'><i class='fa fa-circle'></i></span>
{{endif}}
<a href="{$image->url()->setQueryString( 'context', 'featured' )}" tabindex='-1'>{$image->caption}</a>
</div>
<div>
{lang="byline_nodate_itemprop" htmlsprintf="$image->author()->link( $image->warningRef() )"}
</div>
</div>
{template="nsfwOverlay" app="gallery" location="front" group="global" params="$image"}
</div>
</li>
{{endforeach}}
</ol>
{{if \count( $featured ) > 1}}
<div class='cGalleryCarouselNav cGalleryCarouselNav--overlay' data-carousel-controls='gallery-carousel' data-controller="gallery.front.browse.carousel">
<button class='cGalleryCarouselNav__button' data-carousel-arrow='prev' aria-label='Previous' role='button'>
<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512" width="10"><path d="M34.52 239.03L228.87 44.69c9.37-9.37 24.57-9.37 33.94 0l22.67 22.67c9.36 9.36 9.37 24.52.04 33.9L131.49 256l154.02 154.75c9.34 9.38 9.32 24.54-.04 33.9l-22.67 22.67c-9.37 9.37-24.57 9.37-33.94 0L34.52 272.97c-9.37-9.37-9.37-24.57 0-33.94z"/></svg>
</button>
<button class='cGalleryCarouselNav__button' data-carousel-arrow='next' aria-label='Next' role='button'>
<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512" width="10"><path d="M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z"/></svg>
</button>
</div>
{{endif}}
</div>
</div>
{{endif}}
{{if \count( $recentComments )}}
<div class='ipsColumn ipsColumn_veryWide'>
<div class='ipsBox ipsWidget{{if \count( $featured )}} ipsWidget--gallery-comments {{endif}}ipsResponsive_pull ipsFlex ipsFlex-fd:column'>
<h2 class='ipsType_reset ipsWidget_title ipsFlex-flex:00 ipsFlex ipsFlex-ai:center ipsFlex-jc:between ipsFlex-fw:wrap'>
<span>{lang="gallery_recently_commented_images"}</span>
</h2>
<div class='ipsWidget_inner ipsPos_relative ipsFlex-flex:11'>
<div {{if \count( $featured )}} class='cGalleryLatestComments'{{endif}}>
<ul>
{{foreach $recentComments as $image}}
{{$lastComment = $image->comments( 1, 0, 'date', 'desc', NULL, TRUE );}}
<li class='cGalleryLatestComments__item'>
<div class='cGalleryLatestComments__thumb'>
<div class='ipsImageBlock'>
<a href="{$image->url()->setQueryString( 'context', 'new' )}" class='ipsImageBlock__main' data-ipsToolTip title="{$image->caption}">
{{if $image->media }}
<video loading="lazy"{{if $image->masked_file_name }} poster="{file="$image->masked_file_name" extension="gallery_Images"}" preload="metadata"{{endif}}>
<source src="{file="$image->original_file_name" extension="gallery_Images"}{{if !$image->masked_file_name }}#t=1{{endif}}" type='{$image->file_type}' />
</video>
<div class='ipsImageBlock__video-icon'></div>
{{else}}
<img src='{file="$image->small_file_name" extension="gallery_Images"}' alt="{$image->caption}" loading="lazy" />
{{endif}}
</a>
{template="nsfwOverlay" app="gallery" location="front" group="global" params="$image, FALSE"}
</div>
</div>
<div class='cGalleryLatestComments__text'>
<a href="{$image->url()->setQueryString( 'context', 'new' )}">
<div class='ipsType_richText'>
{$lastComment->truncated(TRUE)|raw}
</div>
</a>
<div class='ipsType_blendLinks ipsType_light ipsType_small'>
{$image->lastCommenter()->link()|raw}
&middot; <a href='{$image->url( 'getLastComment' )}' title='{lang="get_last_post"}' class='ipsType_blendLinks'>{datetime="$image->mapped('last_comment')"}</a>
</div>
</div>
</li>
{{endforeach}}
</ul>
</div>
</div>
</div>
</div>
</div>
{{endif}}
</div>
{{endif}}
{{$clubNodes = settings.club_nodes_in_apps ? \IPS\gallery\Category::clubNodes() : array();}}
{{if $rootCategories = \IPS\gallery\Category::roots()}}
<div class="ipsBox ipsResponsive_pull ipsSpacer_bottom">
<h2 class='ipsType_sectionTitle ipsFlex ipsFlex-ai:center ipsFlex-jc:between ipsFlex-fw:wrap'>
<span class='ipsType_reset'>{{if $clubNodes}}{lang="community_image_categories"}{{else}}{lang="gallery_categories"}{{endif}}</span>
<span class='ipsType_small ipsType_light ipsType_blendLinks ipsType_semiBold'>
<a href='{url="app=gallery&module=gallery&controller=browse&do=categories" seoTemplate="gallery_categories"}'>{lang="gallery_view_all_categories"}</a>
</span>
</h2>
<div class="ipsPadding">
{template="categoryGrid" group="browse" app="gallery" params="$rootCategories"}
</div>
</div>
{{endif}}
{{if settings.gallery_overview_show_categories}}
{{$clubNodes = settings.club_nodes_in_apps ? \IPS\gallery\Category::clubNodes() : array();}}
{{if $rootCategories = \IPS\gallery\Category::roots()}}
<div class="ipsBox ipsResponsive_pull ipsSpacer_bottom">
<h2 class='ipsType_sectionTitle ipsFlex ipsFlex-ai:center ipsFlex-jc:between ipsFlex-fw:wrap'>
<span class='ipsType_reset'>{{if $clubNodes}}{lang="community_image_categories"}{{else}}{lang="gallery_categories"}{{endif}}</span>
<span class='ipsType_small ipsType_light ipsType_blendLinks ipsType_semiBold'>
<a href='{url="app=gallery&module=gallery&controller=browse&do=categories" seoTemplate="gallery_categories"}'>{lang="gallery_view_all_categories"}</a>
</span>
</h2>
<div class="ipsPadding">
{template="categoryGrid" group="browse" app="gallery" params="$rootCategories"}
</div>
</div>
{{endif}}
{{if settings.club_nodes_in_apps and $clubNodes = \IPS\gallery\Category::clubNodes()}}
<div class="ipsBox ipsResponsive_pull ipsSpacer_bottom">
{{if $rootCategories}}<h2 class="ipsType_sectionTitle">{lang="club_node_gallery"}</h2>{{endif}}
<div class="ipsPadding">
{template="categoryGrid" group="browse" app="gallery" params="$clubNodes"}
</div>
</div>
{{if settings.club_nodes_in_apps and $clubNodes = \IPS\gallery\Category::clubNodes()}}
<div class="ipsBox ipsResponsive_pull ipsSpacer_bottom">
{{if $rootCategories}}<h2 class="ipsType_sectionTitle">{lang="club_node_gallery"}</h2>{{endif}}
<div class="ipsPadding">
{template="categoryGrid" group="browse" app="gallery" params="$clubNodes"}
</div>
</div>
{{endif}}
{{endif}}
{{if \count( $recentlyUpdatedAlbums )}}
<div class='ipsBox ipsResponsive_pull ipsSpacer_bottom' {{if settings.gallery_nsfw}}data-controller="gallery.front.global.nsfw"{{endif}}>
<h2 class='ipsType_reset ipsType_sectionTitle ipsFlex ipsFlex-ai:center ipsFlex-jc:between ipsFlex-fw:wrap'>
@@ -3805,6 +3824,7 @@
{{if \count( $image->shareLinks() )}}
{template="shareButton" app="core" group="sharelinks" params="$image"}
{{endif}}
{template="analyticsItemLink" app="core" group="system" params="$image"}
{template="promote" app="core" group="global" params="$image"}
{template="follow" app="core" group="global" params="'gallery', 'image', $image->id, $image->followersCount()"}
</div>
@@ -3906,10 +3926,10 @@
{{if $image->canOnMessage( 'add' )}}
<li class='ipsMenu_item'><a href='{$image->url()->setQueryString( array( 'do' => 'messageForm' ) )}' data-ipsDialog data-ipsDialog-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='{$image->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='{$image->url()->setQueryString( array( 'do' => 'modLog' ) )}'>{lang="moderation_log"}</a></li>
{{endif}}
{{endif}}
</ul>
</li>
@@ -4060,6 +4080,7 @@
{{if \count( $image->shareLinks() )}}
{template="shareButton" app="core" group="sharelinks" params="$image, 'verySmall', 'light'"}
{{endif}}
{template="analyticsItemLink" app="core" group="system" params="$image"}
{template="promote" app="core" group="global" params="$image"}
{template="follow" app="core" group="global" params="'gallery', 'image', $image->id, $image->followersCount()"}
</div>
+31 -1
View File
@@ -548,5 +548,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"
}