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

+44 -41
View File
@@ -1,37 +1,13 @@
{
"core": {
"MemberACPProfileContentTab": {
"Downloads": "IPS\\downloads\\extensions\\core\\MemberACPProfileContentTab\\Downloads"
},
"ContentRouter": {
"Files": "IPS\\downloads\\extensions\\core\\ContentRouter\\Files"
},
"AchievementAction": {
"DownloadFile": "IPS\\downloads\\extensions\\core\\AchievementAction\\DownloadFile"
},
"LiveSearch": {
"Downloads": "IPS\\downloads\\extensions\\core\\LiveSearch\\Downloads"
},
"ModeratorPermissions": {
"Files": "IPS\\downloads\\extensions\\core\\ModeratorPermissions\\Files"
},
"FileStorage": {
"FileField": "IPS\\downloads\\extensions\\core\\FileStorage\\FileField",
"Files": "IPS\\downloads\\extensions\\core\\FileStorage\\Files",
"Screenshots": "IPS\\downloads\\extensions\\core\\FileStorage\\Screenshots"
},
"Announcements": {
"Categories": "IPS\\downloads\\extensions\\core\\Announcements\\Categories"
},
"GroupForm": {
"Downloads": "IPS\\downloads\\extensions\\core\\GroupForm\\Downloads"
},
"EditorLocations": {
"Downloads": "IPS\\downloads\\extensions\\core\\EditorLocations\\Downloads",
"Categories": "IPS\\downloads\\extensions\\core\\EditorLocations\\Categories"
},
"Permissions": {
"Permissions": "IPS\\downloads\\extensions\\core\\Permissions\\Permissions"
"ContentRouter": {
"Files": "IPS\\downloads\\extensions\\core\\ContentRouter\\Files"
},
"CreateMenu": {
"File": "IPS\\downloads\\extensions\\core\\CreateMenu\\File"
@@ -39,34 +15,61 @@
"Dashboard": {
"Overview": "IPS\\downloads\\extensions\\core\\Dashboard\\Overview"
},
"MemberRestrictions": {
"Downloads": "IPS\\downloads\\extensions\\core\\MemberRestrictions\\Downloads"
"EditorLocations": {
"Categories": "IPS\\downloads\\extensions\\core\\EditorLocations\\Categories",
"Downloads": "IPS\\downloads\\extensions\\core\\EditorLocations\\Downloads"
},
"EditorMedia": {
"Files": "IPS\\downloads\\extensions\\core\\EditorMedia\\Files"
},
"GroupLimits": {
"Downloads": "IPS\\downloads\\extensions\\core\\GroupLimits\\Downloads"
},
"Queue": {
"RebuildScreenshotWatermarks": "IPS\\downloads\\extensions\\core\\Queue\\RebuildScreenshotWatermarks",
"Follow": "IPS\\downloads\\extensions\\core\\Queue\\Follow",
"Notify": "IPS\\downloads\\extensions\\core\\Queue\\Notify"
},
"OverviewStatistics": {
"Downloads": "IPS\\downloads\\extensions\\core\\OverviewStatistics\\Downloads"
},
"IpAddresses": {
"DownloadLog": "IPS\\downloads\\extensions\\core\\IpAddresses\\DownloadLog"
"FileStorage": {
"FileField": "IPS\\downloads\\extensions\\core\\FileStorage\\FileField",
"Files": "IPS\\downloads\\extensions\\core\\FileStorage\\Files",
"Screenshots": "IPS\\downloads\\extensions\\core\\FileStorage\\Screenshots"
},
"FrontNavigation": {
"Downloads": "IPS\\downloads\\extensions\\core\\FrontNavigation\\Downloads"
},
"GroupForm": {
"Downloads": "IPS\\downloads\\extensions\\core\\GroupForm\\Downloads"
},
"GroupLimits": {
"Downloads": "IPS\\downloads\\extensions\\core\\GroupLimits\\Downloads"
},
"IpAddresses": {
"DownloadLog": "IPS\\downloads\\extensions\\core\\IpAddresses\\DownloadLog"
},
"LiveSearch": {
"Downloads": "IPS\\downloads\\extensions\\core\\LiveSearch\\Downloads"
},
"MemberACPProfileContentTab": {
"Downloads": "IPS\\downloads\\extensions\\core\\MemberACPProfileContentTab\\Downloads"
},
"MemberRestrictions": {
"Downloads": "IPS\\downloads\\extensions\\core\\MemberRestrictions\\Downloads"
},
"MemberSync": {
"Downloads": "IPS\\downloads\\extensions\\core\\MemberSync\\Downloads"
},
"ModeratorPermissions": {
"Files": "IPS\\downloads\\extensions\\core\\ModeratorPermissions\\Files"
},
"Notifications": {
"Files": "IPS\\downloads\\extensions\\core\\Notifications\\Files"
},
"OverviewStatistics": {
"Downloads": "IPS\\downloads\\extensions\\core\\OverviewStatistics\\Downloads"
},
"Permissions": {
"Permissions": "IPS\\downloads\\extensions\\core\\Permissions\\Permissions"
},
"Queue": {
"Follow": "IPS\\downloads\\extensions\\core\\Queue\\Follow",
"Notify": "IPS\\downloads\\extensions\\core\\Queue\\Notify",
"RebuildScreenshotWatermarks": "IPS\\downloads\\extensions\\core\\Queue\\RebuildScreenshotWatermarks"
},
"Statistics": {
"Downloads": "IPS\\downloads\\extensions\\core\\Statistics\\Downloads"
}
},
"nexus": {
+9 -10
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<javascript app="downloads">
<file javascript_app="downloads" javascript_location="front" javascript_path="controllers/downloads" javascript_name="ips.downloads.browse.js" javascript_type="controller" javascript_version="107643" javascript_position="1000050">/**
<file javascript_app="downloads" javascript_location="front" javascript_path="controllers/downloads" javascript_name="ips.downloads.browse.js" javascript_type="controller" javascript_version="107712" javascript_position="1000050">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -59,7 +59,7 @@
}
});
}(jQuery, _));</file>
<file javascript_app="downloads" javascript_location="front" javascript_path="controllers/pending" javascript_name="ips.pending.buttons.js" javascript_type="controller" javascript_version="107643" javascript_position="1000100">/**
<file javascript_app="downloads" javascript_location="front" javascript_path="controllers/pending" javascript_name="ips.pending.buttons.js" javascript_type="controller" javascript_version="107712" javascript_position="1000100">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -87,7 +87,7 @@
});
}(jQuery, _));</file>
<file javascript_app="downloads" 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="downloads" 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
*
@@ -140,7 +140,7 @@
});
}(jQuery, _));</file>
<file javascript_app="downloads" javascript_location="front" javascript_path="controllers/submit" javascript_name="ips.submit.linkedScreenshots.js" javascript_type="controller" javascript_version="107643" javascript_position="1000150">/**
<file javascript_app="downloads" javascript_location="front" javascript_path="controllers/submit" javascript_name="ips.submit.linkedScreenshots.js" javascript_type="controller" javascript_version="107712" javascript_position="1000150">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -212,7 +212,7 @@
}
});
}(jQuery, _));</file>
<file javascript_app="downloads" javascript_location="front" javascript_path="controllers/submit" javascript_name="ips.submit.main.js" javascript_type="controller" javascript_version="107643" javascript_position="1000150"><![CDATA[/**
<file javascript_app="downloads" javascript_location="front" javascript_path="controllers/submit" javascript_name="ips.submit.main.js" javascript_type="controller" javascript_version="107712" javascript_position="1000150"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -655,7 +655,7 @@
}
});
}(jQuery, _));]]></file>
<file javascript_app="downloads" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.changeLog.js" javascript_type="controller" javascript_version="107643" javascript_position="1000200"><![CDATA[/**
<file javascript_app="downloads" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.changeLog.js" javascript_type="controller" javascript_version="107712" javascript_position="1000200"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -778,7 +778,7 @@
});
}(jQuery, _));]]></file>
<file javascript_app="downloads" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.download.js" javascript_type="controller" javascript_version="107643" javascript_position="1000200">/**
<file javascript_app="downloads" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.download.js" javascript_type="controller" javascript_version="107712" javascript_position="1000200">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -906,7 +906,7 @@
});
}(jQuery, _));</file>
<file javascript_app="downloads" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.subscribe.js" javascript_type="controller" javascript_version="107643" javascript_position="1000200">/**
<file javascript_app="downloads" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.subscribe.js" javascript_type="controller" javascript_version="107712" javascript_position="1000200">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -969,7 +969,7 @@
}
});
}(jQuery, _));</file>
<file javascript_app="downloads" javascript_location="front" javascript_path="templates" javascript_name="ips.templates.submit.js" javascript_type="template" javascript_version="107643" javascript_position="1000250"><![CDATA[/* VIEW TEMPLATES */
<file javascript_app="downloads" javascript_location="front" javascript_path="templates" javascript_name="ips.templates.submit.js" javascript_type="template" javascript_version="107712" javascript_position="1000250"><![CDATA[/* VIEW TEMPLATES */
ips.templates.set('downloads.submit.screenshot', " \
<div class='ipsUploader__row ipsUploader__row--withBorder ipsUploader__row--image ipsAttach ipsContained {{#done}}ipsAttach_done{{/done}}' id='{{id}}' data-role='file' data-fileid='{{id}}' data-filesize='{{sizeRaw}}' data-fullsizeurl='{{imagesrc}}' data-thumbnailurl='{{thumbnail}}' data-fileType='image'>\
<div class='ipsUploader__rowPreview ipsType_center' data-role='preview'>\
@@ -1042,7 +1042,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
+2 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<language>
<app key="downloads" version="107643">
<app key="downloads" version="107712">
<word key="__app_downloads" js="0">Downloads</word>
<word key="frontnavigation_downloads" js="0">Downloads</word>
<word key="__indefart_downloads_file_comment" js="0">a comment on a file</word>
@@ -120,6 +120,7 @@
<word key="log_days" js="0">The log is pruned after {# [1:day][?:days]}</word>
<word key="category_forums_integration" js="0">Forum Topics</word>
<word key="cforum_on" js="0">Post a topic when a file is submitted?</word>
<word key="cforum_on_desc" js="0">Post a topic to the specific forum each time a new file is submitted.</word>
<word key="cforum_id" js="0">Forum</word>
<word key="ctopic_prefix" js="0">Topic prefix</word>
<word key="ctopic_suffix" js="0">Topic suffix</word>
+59 -16
View File
@@ -97,6 +97,9 @@
<div class='ipsFlex ipsFlex-jc:between ipsFlex-ai:center ipsMargin_bottom:half'>
<h1 class="ipsType_pageTitle ipsFlex-flex:11 ipsType_break">{$category->_title}</h1>
<div class='ipsFlex-flex:00 ipsResponsive_hidePhone'>
{{if \IPS\Application::appIsEnabled('cloud')}}
{template="analyticsButton" app="cloud" group="analytics" params="$category, $category->id"}
{{endif}}
{template="follow" app="core" group="global" params="'downloads', 'category', $category->_id, \IPS\downloads\File::containerFollowerCount( $category )"}
</div>
</div>
@@ -608,7 +611,7 @@
{{if \IPS\downloads\Category::getMemberView() == 'grid'}}
<div class="ipsFluidGrid ipsFluidGrid--downloads">
{{foreach $files as $file}}
<li>
<li class='ipsDataItem {{if $file->unread()}}ipsDataItem_unread{{endif}} {{if method_exists( $file, 'tableClass' ) && $file->tableClass()}}ipsDataItem_{$file->tableClass()}{{endif}} {{if $file->hidden()}}ipsModerated{{endif}}'>
<div class='ipsMargin_bottom:half'>
{template="thumbImage" group="global" app="core" params="$file->primary_screenshot_thumb, $file->name, 'large', '', '', $file->url( 'getPrefComment' )"}
</div>
@@ -625,7 +628,28 @@
</div>
{{endif}}
<div class='ipsFlex ipsFlex-jc:between ipsGap:1'>
<div class='ipsType_semiBold ipsType_normal ipsType_break ipsContained'><a href="{$file->url( "getPrefComment" )}" title='{lang="view_this_file" sprintf="$file->name"}'>{$file->name}</a></div>
<h4 class='ipsContained_container'>
{{if $file->unread()}}
<span><span class='ipsItemStatus ipsItemStatus_small' data-ipsTooltip title='{{if $file->unread() === -1}}{lang="new"}{{else}}{lang="updated"}{{endif}}'><i class="fa fa-circle"></i></span>&nbsp;</span>
{{endif}}
{{if $file->mapped('pinned') || $file->mapped('featured') || $file->hidden() === -1 || $file->hidden() === 1}}
{{if $file->hidden() === -1}}
<span><span class="ipsBadge ipsBadge_small ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{$file->hiddenBlurb()}'><i class='fa fa-eye-slash'></i></span></span>
{{elseif $file->hidden() === 1}}
<span><span class="ipsBadge ipsBadge_small ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{lang="pending_approval"}'><i class='fa fa-warning'></i></span></span>
{{endif}}
{{if $file->mapped('pinned')}}
<span><span class="ipsBadge ipsBadge_small ipsBadge_icon ipsBadge_positive" data-ipsTooltip title='{lang="pinned"}'><i class='fa fa-thumb-tack'></i></span></span>
{{endif}}
{{if $file->mapped('featured')}}
<span><span class="ipsBadge ipsBadge_small ipsBadge_icon ipsBadge_positive" data-ipsTooltip title='{lang="featured"}'><i class='fa fa-star'></i></span></span>
{{endif}}
{{endif}}
{{if $file->prefix()}}
<span>{template="prefix" group="global" app="core" params="$file->prefix( TRUE ), $file->prefix()"}</span>
{{endif}}
<span class='ipsType_semiBold ipsType_normal ipsType_break ipsContained'><a href='{$file->url( "getPrefComment" )}' title='{lang="view_this_file" sprintf="$file->name"} {{if $file->canEdit()}}{lang="click_hold_edit"}{{endif}}' {{if $file->canEdit()}}data-role="editableTitle"{{endif}}>{$file->name}</a></span>
</h4>
{{if $file->container()->bitoptions['reviews']}}
<div class='ipsFlex-flex:00'>
{template="rating" group="global" location="front" app="core" params="'small', $file->rating, \IPS\Settings::i()->reviews_rating_out_of"}
@@ -646,18 +670,25 @@
<span {{if !$file->downloads}}class='ipsType_light'{{endif}} title='{lang="downloads"}' data-ipsTooltip><i class='fa fa-download'></i> {number="$file->downloads"}</span>
{{endif}}
{{if $file->container()->bitoptions['comments']}}<span {{if !$file->comments}}class='ipsType_light'{{endif}} title='{lang="total_comments"}' data-ipsTooltip><i class='fa fa-comments-o'></i> {$file->comments}</span>{{endif}}
</span>
{{if $table AND method_exists( $table, 'canModerate' ) AND $table->canModerate()}}
<div>
<span class='ipsCustomInput'>
<input type='checkbox' data-role='moderation' name="moderate[{$file->id}]" data-actions="{expression="implode( ' ', $table->multimodActions( $file ) )"}" data-state='{{if $file->tableStates()}}{$file->tableStates()}{{endif}}'>
<span></span>
</span>
</div>
{{endif}}
</div>
</div>
</div>
</li>
{{endforeach}}
</div>
{{else}}
{{foreach $files as $file}}
{template="tableRow" group="browse" app="downloads" params="$file, $table"}
{{endforeach}}
{{endif}}
{{endforeach}}
</div>
{{else}}
{{foreach $files as $file}}
{template="tableRow" group="browse" app="downloads" params="$file, $table"}
{{endforeach}}
{{endif}}
{{endif}}]]></template>
<template template_group="browse" template_name="tableRow" template_data="$file, $table" template_location="front" template_app="downloads"><![CDATA[<li class='ipsDataItem {{if $file->unread()}}ipsDataItem_unread{{endif}} {{if method_exists( $file, 'tableClass' ) && $file->tableClass()}}ipsDataItem_{$file->tableClass()}{{endif}} {{if $file->hidden()}}ipsModerated{{endif}}' data-ipsLazyLoad>
<div class='ipsDataItem_generic ipsDataItem_size3 ipsPos_top'>
@@ -2280,6 +2311,10 @@
{template="shareButton" app="core" group="sharelinks" params="$file"}
{{endif}}
{template="notify" app="downloads" group="view" params="$file"}
{{if \IPS\Application::appIsEnabled('cloud')}}
{template="spam" app="cloud" group="spam" params="$file"}
{{endif}}
{template="analyticsItemLink" app="core" group="system" params="$file"}
{template="promote" app="core" group="global" params="$file"}
{template="follow" app="core" group="global" params="'downloads', 'file', $file->id, $file->followersCount()"}
</div>
@@ -2611,10 +2646,10 @@
{{if !$file->isPurchasable() AND $file->canEnablePurchases()}}
<li class='ipsMenu_item'><a href='{$file->url()->csrf()->setQueryString( array( 'do' => 'purchaseStatus', 'value' => 1 ) )}' data-confirm>{lang="enable_purchases"}</a></li>
{{endif}}
{{if \IPS\Member::loggedIn()->modPermission('can_view_moderation_log')}}
<li class='ipsMenu_sep'><hr></li>
<li class="ipsMenu_item"><a href='{$file->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='{$file->url()->setQueryString( array( 'do' => 'modLog' ) )}'>{lang="moderation_log"}</a></li>
{{endif}}
{{endif}}
</ul>
</li>
@@ -2635,6 +2670,10 @@
{{if \count( $file->shareLinks() )}}
{template="shareButton" app="core" group="sharelinks" params="$file, 'verySmall', 'light'"}
{{endif}}
{{if \IPS\Application::appIsEnabled('cloud')}}
{template="spam" app="cloud" group="spam" params="$file"}
{{endif}}
{template="analyticsItemLink" app="core" group="system" params="$file"}
{template="follow" app="core" group="global" params="'downloads', 'file', $file->id, $file->followersCount()"}
{template="promote" app="core" group="global" params="$file"}
</div>
@@ -3490,10 +3529,14 @@ html[dir="rtl"] #elDownloadStatsLatest > .ipsWidget_latestItem {
}
.ipsFluidGrid--downloads{
padding: var(--sp-6);
--FluidGrid--width: 280px;
--FluidGrid--gap: var(--sp-9) var(--sp-7);
--FluidGrid--gap: 0px;
}
.ipsFluidGrid--downloads .ipsDataItem{
display: block;
border-width: 0;
padding: var(--sp-6) var(--sp-5);
}
.ipsFluidGrid--downloads .ipsThumb{
width: 100%;
+31 -1
View File
@@ -543,5 +543,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"
}