Version 4.7.0

This commit is contained in:
Neo committed 2025-12-19 16:00:35 -08:00
1 parent 517a5e1f70
commit 8ba7d43898
1933 files changed
+65613 -11332

No files matched your search

+45 -42
View File
@@ -1,69 +1,72 @@
{
"core": {
"Announcements": {
"Categories": "IPS\\downloads\\extensions\\core\\Announcements\\Categories"
"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"
},
"CreateMenu": {
"File": "IPS\\downloads\\extensions\\core\\CreateMenu\\File"
},
"Dashboard": {
"Overview": "IPS\\downloads\\extensions\\core\\Dashboard\\Overview"
},
"EditorLocations": {
"Categories": "IPS\\downloads\\extensions\\core\\EditorLocations\\Categories",
"Downloads": "IPS\\downloads\\extensions\\core\\EditorLocations\\Downloads"
"MemberRestrictions": {
"Downloads": "IPS\\downloads\\extensions\\core\\MemberRestrictions\\Downloads"
},
"EditorMedia": {
"Files": "IPS\\downloads\\extensions\\core\\EditorMedia\\Files"
},
"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"
"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"
},
"Permissions": {
"Permissions": "IPS\\downloads\\extensions\\core\\Permissions\\Permissions"
"IpAddresses": {
"DownloadLog": "IPS\\downloads\\extensions\\core\\IpAddresses\\DownloadLog"
},
"Queue": {
"Follow": "IPS\\downloads\\extensions\\core\\Queue\\Follow",
"Notify": "IPS\\downloads\\extensions\\core\\Queue\\Notify",
"RebuildScreenshotWatermarks": "IPS\\downloads\\extensions\\core\\Queue\\RebuildScreenshotWatermarks"
"FrontNavigation": {
"Downloads": "IPS\\downloads\\extensions\\core\\FrontNavigation\\Downloads"
},
"MemberSync": {
"Downloads": "IPS\\downloads\\extensions\\core\\MemberSync\\Downloads"
},
"Notifications": {
"Files": "IPS\\downloads\\extensions\\core\\Notifications\\Files"
}
},
"nexus": {
+40 -9
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="106107" javascript_position="1000200">/**
<file javascript_app="downloads" javascript_location="front" javascript_path="controllers/downloads" javascript_name="ips.downloads.browse.js" javascript_type="controller" javascript_version="107014" javascript_position="1000200">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -59,7 +59,35 @@
}
});
}(jQuery, _));</file>
<file javascript_app="downloads" javascript_location="admin" javascript_path="controllers/settings" javascript_name="ips.settings.settings.js" javascript_type="controller" javascript_version="106107" javascript_position="1000050">/**
<file javascript_app="downloads" javascript_location="front" javascript_path="controllers/pending" javascript_name="ips.pending.buttons.js" javascript_type="controller" javascript_version="107014" javascript_position="1000250">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
* ips.pending.buttons.js - Pending Version
*
* Author: Stuart Silvester
*/
;( function($, _, undefined){
&quot;use strict&quot;;
ips.controller.register('downloads.front.pending.buttons', {
initialize: function () {
this.on( 'click', 'a', this.processButton );
},
processButton: function(e) {
if( $(e.currentTarget).hasClass('ipsButton_disabled') )
{
e.preventDefault();
}
$(e.currentTarget).addClass('ipsButton_disabled');
}
});
}(jQuery, _));</file>
<file javascript_app="downloads" javascript_location="admin" javascript_path="controllers/settings" javascript_name="ips.settings.settings.js" javascript_type="controller" javascript_version="107014" javascript_position="1000050">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -112,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="106107" javascript_position="1000100">/**
<file javascript_app="downloads" javascript_location="front" javascript_path="controllers/submit" javascript_name="ips.submit.linkedScreenshots.js" javascript_type="controller" javascript_version="107014" javascript_position="1000100">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -184,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="106107" javascript_position="1000100"><![CDATA[/**
<file javascript_app="downloads" javascript_location="front" javascript_path="controllers/submit" javascript_name="ips.submit.main.js" javascript_type="controller" javascript_version="107014" javascript_position="1000100"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -627,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="106107" javascript_position="1000150"><![CDATA[/**
<file javascript_app="downloads" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.changeLog.js" javascript_type="controller" javascript_version="107014" javascript_position="1000150"><![CDATA[/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -750,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="106107" javascript_position="1000150">/**
<file javascript_app="downloads" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.download.js" javascript_type="controller" javascript_version="107014" javascript_position="1000150">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -838,9 +866,12 @@
var that = this;
if ( $( e.currentTarget ).attr('data-wait') ) {
e.preventDefault();
ips.getAjax()( $( e.currentTarget ).attr('href') )
.done( function (response) {
// The download succeeded so we should get the cached session event
$(e.currentTarget).trigger('ipsDataLayerSync');
var secondsRemaining = response.download - response.currentTime;
$( e.currentTarget )
@@ -875,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="106107" javascript_position="1000150">/**
<file javascript_app="downloads" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.subscribe.js" javascript_type="controller" javascript_version="107014" javascript_position="1000150">/**
* Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*
@@ -938,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="106107" javascript_position="1000050"><![CDATA[/* VIEW TEMPLATES */
<file javascript_app="downloads" javascript_location="front" javascript_path="templates" javascript_name="ips.templates.submit.js" javascript_type="template" javascript_version="107014" javascript_position="1000050"><![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'>\
+15 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<language>
<app key="downloads" version="106107">
<app key="downloads" version="107014">
<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>
@@ -13,6 +13,7 @@
<word key="__defart_downloads_file_plural" js="0">{!#[1:file][?:files]}</word>
<word key="__defart_downloads_file_review" js="0">review on a file</word>
<word key="__defart_downloads_file_review_plural" js="0">{!#[1:review][?:reviews]} on a file</word>
<word key="__defart_downloads_file_pending" js="0">new versions</word>
<word key="menu__downloads_downloads" js="0">Downloads</word>
<word key="module__downloads_downloads" js="0">Downloads</word>
<word key="menu__downloads_stats" js="0">Downloads</word>
@@ -22,11 +23,13 @@
<word key="search_contextual_item_downloads_categories" js="0">This Category</word>
<word key="search_contextual_item_downloads_file" js="0">This File</word>
<word key="downloads_categories" js="0">Downloads Categories</word>
<word key="download_categories_lc" js="0">downloads categories</word>
<word key="filestorage__downloads_Files" js="0">Downloads Files</word>
<word key="filestorage__downloads_Screenshots" js="0">Downloads Screenshots</word>
<word key="filestorage__downloads_FileField" js="0">Downloads Custom Fields</word>
<word key="downloads_files" js="0">Downloads Files</word>
<word key="downloads_file" js="0">File</word>
<word key="downloads_file_sg_lc" js="0">downloads file</word>
<word key="modlog__action_restorebackup" js="0"><![CDATA[Restored a previous version for a file: <a href='%s'>%s</a>]]></word>
<word key="modlog__action_visibilitybackup" js="0"><![CDATA[Toggled visibility for a previous version for a file: <a href='%s'>%s</a>]]></word>
<word key="modlog__action_deletebackup" js="0"><![CDATA[Deleted a previous version for a file: <a href='%s'>%s</a>]]></word>
@@ -320,6 +323,7 @@
<word key="file_requires_approval_g" js="0">The file you submitted must be approved by a staff member before it will be visible</word>
<word key="file_no_changelog" js="0">No changelog available for this version.</word>
<word key="file_version_released" js="0">Released %s</word>
<word key="file_published" js="0">Published</word>
<word key="restore" js="0">Restore</word>
<word key="hide_from_members" js="0">Hide from members</word>
<word key="unhide_from_members" js="0">Unhide from members</word>
@@ -479,6 +483,8 @@
<word key="r__topdownloads_manage" js="0">Can view Top Files?</word>
<word key="stats_overview_downloads" js="0">File Downloads</word>
<word key="stats_overview_downloads_desc" js="0">Logging of downloads and the retention period for logs can be adjusted on a per-category basis</word>
<word key="downloads_stats_uploader_count" js="0">{# [1:member][?:members]} uploaded files.</word>
<word key="downloads_stats_downloader_count" js="0">{# [1:member][?:members]} downloaded files.</word>
<word key="ipAddresses__downloads_DownloadLog" js="0">Downloads</word>
<word key="block_fileFeed" js="0">Files Feed</word>
<word key="block_fileFeed_desc" js="0">Create a feed of files</word>
@@ -590,6 +596,7 @@
<word key="file_notify_current" js="0">You are currently receiving these notifications by %s</word>
<word key="file_notify_none" js="0">You do not have any notification methods set up</word>
<word key="file_version_pending_approval" js="0">The new version of this file is not yet approved and is only visible to staff. The previous version of the file remains visible to members.</word>
<word key="file_version_pending_cannot_approve" js="0">The base version of this file is pending approval, this base version must be approved before this version can be approved.</word>
<word key="pending_no_new_files" js="0">This version does not have any updated files.</word>
<word key="pending_no_changelog" js="0">The author did not provide a change log for this version.</word>
<word key="pending_version" js="0">Pending version</word>
@@ -597,6 +604,13 @@
<word key="pending_version_reject_title" js="0">Reject this version?</word>
<word key="pending_version_reject_desc" js="0">This will delete this pending version and leave the current version of the file visible</word>
<word key="file_new_version_date" js="0">New Version Submitted: %s</word>
<word key="achievement_filter_DownloadFile_nth_suffix" js="0">th download</word>
<word key="achievement_filter_DownloadFile_receiver" js="0">To the user who uploaded the file</word>
<word key="achievement_filter_DownloadFile_giver" js="0">To the user who downloaded the file</word>
<word key="AchievementAction__DownloadFile_log" js="0">Downloaded the file %s</word>
<word key="AchievementAction__DownloadFile_title_generic" js="0">file downloaded</word>
<word key="AchievementAction__DownloadFile_title" js="0">User downloads a file</word>
<word key="AchievementAction__DownloadFile" js="0">Member downloads a Downloads File</word>
<word key="makePrimaryScreenshot" js="1">Make this the primary screenshot for this file</word>
<word key="makePrimary" js="1">Primary</word>
<word key="removeScreenshot" js="1">Remove this screenshot</word>
+40 -20
View File
@@ -341,6 +341,18 @@
"comment": "Is changelog required?",
"unsigned": false,
"auto_increment": false
},
"cfiles": {
"name": "cfiles",
"type": "BIGINT",
"length": null,
"decimals": null,
"values": null,
"allow_null": false,
"default": 0,
"comment": "",
"unsigned": false,
"auto_increment": false
}
},
"indexes": {
@@ -801,18 +813,16 @@
"zerofill": false
},
"file_desc": {
"allow_null": true,
"auto_increment": false,
"binary": false,
"comment": "",
"decimals": null,
"default": null,
"length": 0,
"name": "file_desc",
"type": "TEXT",
"unsigned": false,
"type": "MEDIUMTEXT",
"length": 0,
"decimals": null,
"values": [],
"zerofill": false
"allow_null": true,
"default": null,
"comment": "",
"unsigned": false,
"auto_increment": false
},
"file_size": {
"name": "file_size",
@@ -1367,6 +1377,18 @@
"comment": "",
"unsigned": true,
"auto_increment": false
},
"file_published": {
"name": "file_published",
"type": "INT",
"length": null,
"decimals": null,
"values": null,
"allow_null": false,
"default": 0,
"comment": "",
"unsigned": false,
"auto_increment": false
}
},
"indexes": {
@@ -2509,18 +2531,16 @@
"zerofill": false
},
"b_filedesc": {
"allow_null": true,
"auto_increment": false,
"binary": false,
"comment": "",
"decimals": null,
"default": null,
"length": 0,
"name": "b_filedesc",
"type": "TEXT",
"unsigned": false,
"type": "MEDIUMTEXT",
"length": 0,
"decimals": null,
"values": [],
"zerofill": false
"allow_null": true,
"default": null,
"comment": "",
"unsigned": false,
"auto_increment": false
},
"b_hidden": {
"allow_null": false,
+29 -12
View File
@@ -136,16 +136,16 @@
<li class='ipsToolList_primaryAction'>
{{if $currentCategory OR $currentCategory = \IPS\downloads\Category::theOnlyNode()}}
{{if \IPS\Member::loggedIn()->group['idm_bulk_submit']}}
<a class="ipsButton ipsButton_medium ipsButton_important ipsButton_fullWidth" href="{url="app=downloads&module=downloads&controller=submit&category={$currentCategory->id}&_new=1" seoTemplate="downloads_submit"}" data-ipsDialog data-ipsDialog-title='{lang="submit_a_file"}' data-ipsDialog-size='narrow'>
<a class="ipsButton ipsButton_medium ipsButton_important ipsButton_fullWidth" href="{url="app=downloads&module=downloads&controller=submit&category={$currentCategory->id}&_new=1" seoTemplate="downloads_submit"}" data-ipsDialog data-ipsDialog-title='{lang="submit_a_file"}' data-ipsDialog-size='narrow' rel='nofollow noindex'>
{lang="submit_a_file"}
</a>
{{else}}
<a class="ipsButton ipsButton_medium ipsButton_important ipsButton_fullWidth" href="{url="app=downloads&module=downloads&controller=submit&category={$currentCategory->id}&_new=1&do=submit" seoTemplate="downloads_submit"}">
<a class="ipsButton ipsButton_medium ipsButton_important ipsButton_fullWidth" href="{url="app=downloads&module=downloads&controller=submit&category={$currentCategory->id}&_new=1&do=submit" seoTemplate="downloads_submit"}" rel='nofollow noindex'>
{lang="submit_a_file"}
</a>
{{endif}}
{{else}}
<a class="ipsButton ipsButton_medium ipsButton_important ipsButton_fullWidth" href="{url="app=downloads&module=downloads&controller=submit&_new=1" seoTemplate="downloads_submit"}" data-ipsDialog data-ipsDialog-title='{lang="submit_a_file"}' data-ipsDialog-size='narrow'>
<a class="ipsButton ipsButton_medium ipsButton_important ipsButton_fullWidth" href="{url="app=downloads&module=downloads&controller=submit&_new=1" seoTemplate="downloads_submit"}" data-ipsDialog data-ipsDialog-title='{lang="submit_a_file"}' data-ipsDialog-size='narrow' rel='nofollow noindex'>
{lang="submit_a_file"}
</a>
{{endif}}
@@ -691,7 +691,7 @@
{{if $item->canDownload()}}
<a href='{{if settings.idm_antileech AND !$item->requiresDownloadConfirmation()}}{$item->url('download')->csrf()}{{else}}{$item->url('download')}{{endif}}' class='ipsButton ipsButton_fullWidth ipsButton_small ipsButton_primary' {{if $item->requiresDownloadConfirmation()}}data-dialog{{endif}}>{lang="download_now"}</a>
{{else}}
<a href='{{if !$item->container()->message('disclaimer') OR !\in_array( $item->container()->disclaimer_location, [ 'purchase', 'both' ] )}}{$item->url('buy')->csrf()}{{else}}{$item->url('buy')}{{endif}}' class='ipsButton ipsButton_fullWidth ipsButton_small ipsButton_primary'><i class='fa fa-shopping-cart'></i> &nbsp;{lang="buy_now"}{{if $price = $item->price()}} - {$price|raw}{{endif}}</a>
<a href='{$item->url('buy')->csrf()}' class='ipsButton ipsButton_fullWidth ipsButton_small ipsButton_primary'><i class='fa fa-shopping-cart'></i> &nbsp;{lang="buy_now"}{{if $price = $item->price()}} - {$price|raw}{{endif}}</a>
{{endif}}
{{elseif !$item->isPurchasable( FALSE )}}
{lang="purchasing_disabled"}
@@ -1084,7 +1084,10 @@
{{if !$file->canView()}}
<p class='ipsType_light'>{lang="nexus_file_no_longer_available"}</p>
{{endif}}]]></template>
<template template_group="stats" template_name="downloadsTable" template_data="$select, $pagination, $members" template_location="admin" template_app="downloads"><![CDATA[
<template template_group="stats" template_name="downloadsTable" template_data="$select, $pagination, $members, $total" template_location="admin" template_app="downloads"><![CDATA[
<div class="acpBlock">
<h1 class="ipsBox_titleBar">{lang="downloads_stats_downloader_count" pluralize="$total"}</h1></div>
<br>
{{if trim( $pagination )}}
{$pagination|raw}
<br><br>
@@ -1119,7 +1122,9 @@
</div>]]></template>
<template template_group="stats" template_name="link" template_data="$member, $type, $lang" template_location="admin" template_app="downloads"><![CDATA[
&nbsp;&nbsp;<a href="{url="app=core&module=members&controller=members&do=editBlock&block=IPS\\downloads\\extensions\\core\\MemberACPProfileContentTab\\Downloads&id={$member->member_id}&chart={$type}"}" data-ipsDialog data-ipsDialog-title="{lang="$lang"}">({lang="$lang"})</a>]]></template>
<template template_group="stats" template_name="submittersTable" template_data="$select, $pagination, $members" template_location="admin" template_app="downloads"><![CDATA[
<template template_group="stats" template_name="submittersTable" template_data="$select, $pagination, $members, $total" template_location="admin" template_app="downloads"><![CDATA[<div class="acpBlock">
<h1 class="ipsBox_titleBar">{lang="downloads_stats_uploader_count" pluralize="$total"}</h1></div>
<br>
{{if trim( $pagination )}}
{$pagination|raw}
<br><br>
@@ -1657,7 +1662,7 @@
<span class="ipsType_light ipsType_blendLinks ipsResponsive_hidePhone ipsResponsive_inline"><i class="fa fa-info-circle"></i> {lang="download_no_permission"}</span>
{{endif}}
{{else}}
<a href='{{if settings.idm_antileech AND !$file->requiresDownloadConfirmation()}}{$file->url('download')->csrf()}{{else}}{$file->url('download')}{{endif}}' class='ipsButton ipsButton_fullWidth ipsButton_large ipsButton_important' {{if $file->requiresDownloadConfirmation()}}data-ipsDialog{{endif}}>{lang="download_now"}</a>
<a href='{{if settings.idm_antileech AND !$file->requiresDownloadConfirmation()}}{$file->url('download')->csrf()}{{else}}{$file->url('download')}{{endif}}' class='ipsButton ipsButton_fullWidth ipsButton_large ipsButton_important' {{if $file->requiresDownloadConfirmation()}}data-ipsDialog{{endif}} data-datalayer-postfetch >{lang="download_now"}</a>
{{endif}}
</li>
]]></template>
@@ -1827,10 +1832,16 @@
{{if $pendingVersion->hidden() === 1 and $pendingVersion->canUnhide()}}
<div class="ipsMessage ipsMessage_warning ipsSpacer_both">
<p class="ipsType_reset">{lang="file_version_pending_approval"}</p>
{{if $file->hidden() === 1}}
<br>
<p class="ipsType_reset">{lang="file_version_pending_cannot_approve"}</p>
{{endif}}
<br>
<ul class='ipsList_inline'>
<ul class='ipsList_inline' data-controller="downloads.front.pending.buttons">
{{if $file->hidden() !== 1}}
<li><a href="{$pendingVersion->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'unhide' ) )}" class="ipsButton ipsButton_positive ipsButton_verySmall" title='{lang="approve_title_file"}'><i class="fa fa-check"></i> {lang="approve"}</a></li>
<li><a href='{$pendingVersion->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'delete' ) )}' data-confirm title='{lang="downloads_delete_title"}' data-confirmMessage="{lang="pending_version_reject_title"}" data-confirmSubMessage="{lang="pending_version_reject_desc"}" class='ipsButton ipsButton_negative ipsButton_verySmall'><i class='fa fa-times'></i> {lang="pending_version_reject"}</a></li>
{{endif}}
<li><a href='{$pendingVersion->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'delete' ) )}' data-confirm title='{lang="pending_version_reject_title"}' data-confirmMessage="{lang="pending_version_reject_title"}" data-confirmSubMessage="{lang="pending_version_reject_desc"}" class='ipsButton ipsButton_negative ipsButton_verySmall'><i class='fa fa-times'></i> {lang="pending_version_reject"}</a></li>
</ul>
</div>
{{endif}}
@@ -2213,7 +2224,7 @@
{template="changeLog" group="view" params="$file, $versionData"}
</div>
<ul class='ipsMenu ipsMenu_selectable ipsMenu_auto ipsHide' id='elChangelog_menu'>
{{$versionNumber = $file->version ?: (string) \IPS\DateTime::ts( $file->updated );}}
{{$versionNumber = $file->version ?: (string) \IPS\DateTime::ts( $file->published );}}
<li class='ipsMenu_item {{if !request.changelog}}ipsMenu_itemChecked{{endif}}' data-ipsMenuValue='{$versionNumber}'><a href='{$file->url()->setQuerystring( 'changelog', 0 )}' title='{lang="see_changelog_for" sprintf="$versionNumber"}'>{$versionNumber}</a></li>
{{foreach $previousVersions as $version}}
{{$versionNumber = $version['b_version'] ?: (string) \IPS\DateTime::ts( $version['b_backup'] );}}
@@ -2319,6 +2330,12 @@
<span class="ipsDataItem_generic ipsDataItem_size3"><strong>{lang="submitted"}</strong></span>
<span class="ipsDataItem_generic cFileInfoData">{datetime="$file->submitted"}</span>
</li>
{{if $file->published}}
<li class="ipsDataItem">
<span class="ipsDataItem_generic ipsDataItem_size3"><strong>{lang="file_published"}</strong></span>
<span class="ipsDataItem_generic cFileInfoData">{datetime="$file->published"}</span>
</li>
{{endif}}
{{if $file->updated != $file->submitted}}
<li class="ipsDataItem">
<span class="ipsDataItem_generic ipsDataItem_size3"><strong>{lang="updated"}</strong></span>
@@ -2375,7 +2392,7 @@
{{if $file->canEdit() AND $file->container()->can('add')}}
{{if $file->hasPendingVersion()}}
<li class='ipsMenu_item ipsMenu_itemDisabled'><a href='#'>{lang="upload_new_version_pending"}</a></li>
{{else}}
{{else}}
<li class='ipsMenu_item'><a href='{$file->url()->setQueryString( array( 'do' => 'newVersion' ) )}' title='{lang="upload_new_version_title"}'>{lang="upload_new_version"}</a></li>
{{endif}}
{{endif}}
@@ -2395,7 +2412,7 @@
<li class='ipsMenu_item'><a href='{$file->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'unpin' ) )}' title='{lang="unpin_title_file"}'>{lang="unpin"}</a></li>
{{endif}}
{{if $file->canHide()}}
<li class='ipsMenu_item'><a href='{$file->url()->setQueryString( array( 'do' => 'moderate', 'action' => 'hide' ) )}' title='{lang="hide_title_file"}' data-ipsDialog data-ipsDialog-title="{lang="hide"}">{lang="hide"}</a></li>
<li class='ipsMenu_item'><a href='{$file->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'hide' ) )}' title='{lang="hide_title_file"}' data-ipsDialog data-ipsDialog-title="{lang="hide"}">{lang="hide"}</a></li>
{{endif}}
{{if $file->canUnhide()}}
<li class='ipsMenu_item'><a href='{$file->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'unhide' ) )}' title='{{if $file->hidden() === 1}}{lang="approve_title_file"}{{else}}{lang="unhide_title_file"}{{endif}}'>{{if $file->hidden() === 1}}{lang="approve"}{{else}}{lang="unhide"}{{endif}}</a></li>
+76 -1
View File
@@ -407,5 +407,80 @@
"106104": "4.6.0 Beta 3",
"106105": "4.6.0 Beta 3.1",
"106106": "4.6.0 Beta 4",
"106107": "4.6.0"
"106107": "4.6.0",
"106108": "4.6.0",
"106109": "4.6.0",
"106110": "4.6.1",
"106111": "4.6.1",
"106112": "4.6.1",
"106113": "4.6.2",
"106114": "4.6.2",
"106115": "4.6.2",
"106116": "4.6.3",
"106117": "4.6.3",
"106118": "4.6.4",
"106119": "4.6.4",
"106120": "4.6.4",
"106121": "4.6.4",
"106122": "4.6.5",
"106123": "4.6.5.1",
"106125": "4.6.5.1",
"106126": "4.6.5.1",
"106127": "4.6.5.1",
"106128": "4.6.5.1",
"106129": "4.6.5.1",
"106130": "4.6.5.1",
"106131": "4.6.5.1",
"106132": "4.6.6",
"106133": "4.6.6",
"106134": "4.6.7 Beta 1",
"106135": "4.6.7 Beta 2",
"106136": "4.6.7",
"106137": "4.6.7",
"106138": "4.6.8 Beta 1",
"106139": "4.6.8 Beta 2",
"106140": "4.6.8",
"106141": "4.6.8",
"106142": "4.6.8",
"106143": "4.6.8",
"106144": "4.6.9 Beta 1",
"106145": "4.6.9 Beta 2",
"106146": "4.6.9 Beta 3",
"106147": "4.6.9",
"106148": "4.6.9",
"106149": "4.6.10 Beta 1",
"106150": "4.6.10 Beta 2",
"106151": "4.6.10",
"106152": "4.6.10",
"106153": "4.6.10",
"106154": "4.6.10",
"106155": "4.6.10",
"106156": "4.6.11 Beta 1",
"106157": "4.6.11 Beta 1",
"106158": "4.6.11 Beta 2",
"106159": "4.6.11",
"106160": "4.6.11",
"106161": "4.6.12 Beta 1",
"106162": "4.6.12 Beta 1",
"106163": "4.6.12 Beta 2",
"106164": "4.6.12",
"106165": "4.6.12",
"106166": "4.6.12",
"106167": "4.6.12.1",
"106168": "4.6.13 Beta 1",
"107000": "4.7.0 Beta 1",
"107001": "4.7.0 Beta 1",
"107002": "4.7.0 Beta 2",
"107003": "4.7.0 Beta 2",
"107004": "4.7.0 Beta 3",
"107005": "4.7.0 Beta 4",
"107006": "4.7.0 Beta 4.1",
"107007": "4.7.0 Beta 5",
"107008": "4.7.0 Beta 6",
"107009": "4.7.0 Beta 7",
"107010": "4.7.0 Beta 8",
"107011": "4.7.0 Beta 9",
"107012": "4.7.0 Beta 10",
"107013": "4.7.0",
"107014": "4.7.0"
}