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

+12 -2
View File
@@ -43,8 +43,18 @@ class _Application extends \IPS\Application
\IPS\Output::i()->error( 'node_error', '2D220/1', 404, '' );
}
}
\IPS\Output::i()->cssFiles = array_merge( \IPS\Output::i()->cssFiles, \IPS\Theme::i()->css( 'downloads.css' ) );
static::outputCss();
}
/**
* Output CSS files
*
* @return void
*/
public static function outputCss()
{
\IPS\Output::i()->cssFiles = array_merge( \IPS\Output::i()->cssFiles, \IPS\Theme::i()->css( 'downloads.css', 'downloads', 'front' ) );
if ( \IPS\Theme::i()->settings['responsive'] )
{
+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"
}
@@ -40,7 +40,7 @@ class _DownloadLog
* @return bool
* @note If the method does not exist in an extension, the result is presumed to be TRUE
*/
public function supportedInModCp()
public function supportedInModCp(): bool
{
return TRUE;
}
@@ -29,7 +29,7 @@ class _Files
* @param \IPS\Member|null $member The member (to take out any notification types a given member will never see) or NULL if this is for the ACP
* @return array
*/
public static function configurationOptions( \IPS\Member $member = NULL )
public static function configurationOptions( \IPS\Member $member = NULL ): array
{
return array(
'new_file_version' => array(
@@ -0,0 +1,96 @@
<?php
/**
* @brief Statistics Chart Extension
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
* @copyright (c) Invision Power Services, Inc.
* @license https://www.invisioncommunity.com/legal/standards/
* @subpackage Downloads
* @since 26 Jan 2023
*/
namespace IPS\downloads\extensions\core\Statistics;
/* To prevent PHP errors (extending class does not exist) revealing path */
if ( !\defined( '\IPS\SUITE_UNIQUE_KEY' ) )
{
header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
exit;
}
/**
* Statistics Chart Extension
*/
class _Downloads extends \IPS\core\Statistics\Chart
{
/**
* @brief Controller
*/
public $controller = 'downloads_stats_downloads';
/**
* Render Chart
*
* @param \IPS\Http\Url $url URL the chart is being shown on.
* @return \IPS\Helpers\Chart
*/
public function getChart( \IPS\Http\Url $url ): \IPS\Helpers\Chart
{
$chart = new \IPS\Helpers\Chart\Database( $url, 'downloads_downloads', 'dtime', '', array(
'backgroundColor' => '#ffffff',
'colors' => array( '#10967e', '#ea7963', '#de6470', '#6b9dde', '#b09be4', '#eec766', '#9fc973', '#e291bf', '#55c1a6', '#5fb9da' ),
'hAxis' => array( 'gridlines' => array( 'color' => '#f5f5f5' ) ),
'lineWidth' => 1,
'areaOpacity' => 0.4
), 'AreaChart', 'monthly', array( 'start' => 0, 'end' => 0 ), array( 'dmid', 'dfid', 'dtime', 'dsize', 'dua', 'dip' ) );
$chart->setExtension( $this );
$chart->addSeries( \IPS\Member::loggedIn()->language()->addToStack('downloads'), 'number', 'COUNT(*)', FALSE );
$chart->availableTypes = array( 'AreaChart', 'ColumnChart', 'BarChart' );
$chart->tableParsers = array(
'dmid' => function( $val )
{
$member = \IPS\Member::load( $val );
if( $member->member_id )
{
return \IPS\Theme::i()->getTemplate( 'global', 'core', 'global' )->basicUrl( $member->url(), TRUE, $member->name );
}
else
{
return \IPS\Member::loggedIn()->language()->addToStack('deleted_member');
}
},
'dfid' => function( $val )
{
try
{
$file = \IPS\downloads\File::load( $val );
return \IPS\Theme::i()->getTemplate( 'global', 'core', 'global' )->basicUrl( $file->url(), TRUE, $file->name );
}
catch ( \OutOfRangeException $e )
{
return \IPS\Member::loggedIn()->language()->addToStack('deleted_file');
}
},
'dtime' => function( $val )
{
return (string) \IPS\DateTime::ts( $val );
},
'dsize' => function( $val )
{
return \IPS\Output\Plugin\Filesize::humanReadableFilesize( $val );
},
'dua' => function( $val )
{
return (string) \IPS\Http\Useragent::parse( $val );
},
'dip' => function( $val )
{
return \IPS\Theme::i()->getTemplate( 'global', 'core', 'global' )->basicUrl( \IPS\Http\Url::internal( "app=core&module=members&controller=ip&ip={$val}&tab=downloads_DownloadLog" ), FALSE, $val );
}
);
return $chart;
}
}
@@ -51,61 +51,7 @@ class _downloads extends \IPS\Dispatcher\Controller
*/
protected function manage()
{
$chart = new \IPS\Helpers\Chart\Database( \IPS\Http\Url::internal( "app=downloads&module=stats&controller=downloads" ), 'downloads_downloads', 'dtime', '', array(
'backgroundColor' => '#ffffff',
'colors' => array( '#10967e', '#ea7963', '#de6470', '#6b9dde', '#b09be4', '#eec766', '#9fc973', '#e291bf', '#55c1a6', '#5fb9da' ),
'hAxis' => array( 'gridlines' => array( 'color' => '#f5f5f5' ) ),
'lineWidth' => 1,
'areaOpacity' => 0.4
), 'AreaChart', 'monthly', array( 'start' => 0, 'end' => 0 ), array( 'dmid', 'dfid', 'dtime', 'dsize', 'dua', 'dip' ) );
$chart->addSeries( \IPS\Member::loggedIn()->language()->addToStack('downloads'), 'number', 'COUNT(*)', FALSE );
$chart->availableTypes = array( 'AreaChart', 'ColumnChart', 'BarChart' );
$chart->tableParsers = array(
'dmid' => function( $val )
{
$member = \IPS\Member::load( $val );
if( $member->member_id )
{
return \IPS\Theme::i()->getTemplate( 'global', 'core', 'global' )->basicUrl( $member->url(), TRUE, $member->name );
}
else
{
return \IPS\Member::loggedIn()->language()->addToStack('deleted_member');
}
},
'dfid' => function( $val )
{
try
{
$file = \IPS\downloads\File::load( $val );
return \IPS\Theme::i()->getTemplate( 'global', 'core', 'global' )->basicUrl( $file->url(), TRUE, $file->name );
}
catch ( \OutOfRangeException $e )
{
return \IPS\Member::loggedIn()->language()->addToStack('deleted_file');
}
},
'dtime' => function( $val )
{
return (string) \IPS\DateTime::ts( $val );
},
'dsize' => function( $val )
{
return \IPS\Output\Plugin\Filesize::humanReadableFilesize( $val );
},
'dua' => function( $val )
{
return (string) \IPS\Http\Useragent::parse( $val );
},
'dip' => function( $val )
{
return \IPS\Theme::i()->getTemplate( 'global', 'core', 'global' )->basicUrl( \IPS\Http\Url::internal( "app=core&module=members&controller=ip&ip={$val}&tab=downloads_DownloadLog" ), FALSE, $val );
}
);
$chart = \IPS\core\Statistics\Chart::loadFromExtension( 'downloads', 'Downloads' )->getChart( \IPS\Http\Url::internal( "app=downloads&module=stats&controller=downloads" ) );
\IPS\Output::i()->title = \IPS\Member::loggedIn()->language()->addToStack('downloads_stats');
\IPS\Output::i()->output = (string) $chart;
}
@@ -236,6 +236,12 @@ class _browse extends \IPS\Dispatcher\Controller
/* Set default search option */
\IPS\Output::i()->defaultSearchOption = array( 'downloads_file', "downloads_file_pl" );
/* Update Views */
if ( !\IPS\Request::i()->isAjax() )
{
$category->updateViews();
}
/* Output */
\IPS\Output::i()->title = $category->_title;
@@ -177,7 +177,7 @@ class _pending extends \IPS\Content\Controller
{
if( !$this->version->canDelete())
{
\IPS\Output::i()->error( 'file_version_pending_cannot_delete', '2D417/4', 403, '' ); //TODO error code
\IPS\Output::i()->error( 'file_version_pending_cannot_delete', '2D417/6', 403, '' );
}
/* Make sure the user confirmed the deletion */
\IPS\Request::i()->confirmedDelete();
@@ -0,0 +1,23 @@
{
"id": 107644,
"name": "4.7.8",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107645,
"name": "4.7.8",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107660,
"name": "4.7.9 Beta 1",
"steps": {
"queries": false,
"lang": true,
"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,14 @@
{
"normal": {
"added": [
"cforum_on_desc"
],
"edited": [],
"removed": []
},
"js": {
"added": [],
"edited": [],
"removed": []
}
}
@@ -0,0 +1,21 @@
{
"html": {
"added": [],
"edited": [
"front\/browse\/rows"
],
"removed": []
},
"css": {
"added": [],
"edited": [
"front\/downloads.css"
],
"removed": []
},
"resources": {
"added": [],
"edited": [],
"removed": []
}
}
@@ -0,0 +1,23 @@
{
"id": 107661,
"name": "4.7.9 Beta 2",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107662,
"name": "4.7.9 Beta 3",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107663,
"name": "4.7.9",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107664,
"name": "4.7.9",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107665,
"name": "4.7.9",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107666,
"name": "4.7.9",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107667,
"name": "4.7.9",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107668,
"name": "4.7.9",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107680,
"name": "4.7.10 Beta 1",
"steps": {
"queries": false,
"lang": false,
"theme": true,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,19 @@
{
"html": {
"added": [],
"edited": [],
"removed": []
},
"css": {
"added": [],
"edited": [
"front\/downloads.css"
],
"removed": []
},
"resources": {
"added": [],
"edited": [],
"removed": []
}
}
@@ -0,0 +1,23 @@
{
"id": 107681,
"name": "4.7.10 Beta 2",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107682,
"name": "4.7.10",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107683,
"name": "4.7.10",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107684,
"name": "4.7.10",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107690,
"name": "4.7.11 Beta 1",
"steps": {
"queries": false,
"lang": false,
"theme": true,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,20 @@
{
"html": {
"added": [],
"edited": [
"front\/browse\/category",
"front\/view\/view"
],
"removed": []
},
"css": {
"added": [],
"edited": [],
"removed": []
},
"resources": {
"added": [],
"edited": [],
"removed": []
}
}
@@ -0,0 +1,23 @@
{
"id": 107691,
"name": "4.7.11 Beta 2",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107692,
"name": "4.7.11",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107693,
"name": "4.7.11",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107694,
"name": "4.7.11",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107695,
"name": "4.7.11.1",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107700,
"name": "4.7.12 Beta 1",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": true,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": true,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,14 @@
{
"files": {
"added": [],
"edited": [],
"removed": []
},
"orders": {
"added": [],
"edited": [
"global\/\/dev\/js\/\/library\/"
],
"removed": []
}
}
@@ -0,0 +1,23 @@
{
"id": 107701,
"name": "4.7.12 Beta 2",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107702,
"name": "4.7.12 Beta 3",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107703,
"name": "4.7.12 Beta 4",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107704,
"name": "4.7.12",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107710,
"name": "4.7.13 Beta 1",
"steps": {
"queries": false,
"lang": false,
"theme": true,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,19 @@
{
"html": {
"added": [],
"edited": [
"front\/view\/view"
],
"removed": []
},
"css": {
"added": [],
"edited": [],
"removed": []
},
"resources": {
"added": [],
"edited": [],
"removed": []
}
}
@@ -0,0 +1,23 @@
{
"id": 107711,
"name": "4.7.13 Beta 2",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107712,
"name": "4.7.13",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -23,7 +23,7 @@ if ( !\defined( '\IPS\SUITE_UNIQUE_KEY' ) )
*/
class _Category extends \IPS\Node\Model implements \IPS\Node\Permissions
{
use \IPS\Content\ClubContainer;
use \IPS\Content\ClubContainer, \IPS\Content\ViewUpdates;
/**
* @brief [ActiveRecord] Multiton Store
@@ -329,7 +329,7 @@ class _Category extends \IPS\Node\Model implements \IPS\Node\Permissions
$form->addHeader( 'category_tags' );
$form->add( new \IPS\Helpers\Form\YesNo( 'ctags_disabled', !$this->tags_disabled, FALSE, array( 'togglesOn' => array( 'ctags_noprefixes', 'ctags_predefined' ) ), NULL, NULL, NULL, 'ctags_disabled' ) );
$form->add( new \IPS\Helpers\Form\YesNo( 'ctags_noprefixes', !$this->tags_noprefixes, FALSE, array(), NULL, NULL, NULL, 'ctags_noprefixes' ) );
$form->add( new \IPS\Helpers\Form\Text( 'ctags_predefined', $this->tags_predefined, FALSE, array( 'autocomplete' => array( 'unique' => 'true' ), 'nullLang' => 'ctags_predefined_unlimited' ), NULL, NULL, NULL, 'ctags_predefined' ) );
$form->add( new \IPS\Helpers\Form\Text( 'ctags_predefined', $this->tags_predefined, FALSE, array( 'autocomplete' => array( 'unique' => 'true', 'alphabetical' => \IPS\Settings::i()->tags_alphabetical ), 'nullLang' => 'ctags_predefined_unlimited' ), NULL, NULL, NULL, 'ctags_predefined' ) );
}
$form->addTab( 'category_errors', NULL, 'category_errors_blurb' );
@@ -341,8 +341,6 @@ class _Category extends \IPS\Node\Model implements \IPS\Node\Permissions
if ( $this->id )
{
$rebuildUrl = \IPS\Http\Url::internal( 'app=downloads&module=downloads&controller=categories&id=' . $this->id . '&do=rebuildTopicContent' )->csrf();
\IPS\Member::loggedIn()->language()->words['cforum_on_desc'] = \IPS\Member::loggedIn()->language()->addToStack( 'database_forum_record__desc' );
}
$form->addTab( 'category_forums_integration' );
+4 -3
View File
@@ -26,7 +26,6 @@ class _File extends \IPS\Content\Item implements
\IPS\Content\Tags,
\IPS\Content\Followable,
\IPS\Content\ReadMarkers,
\IPS\Content\Views,
\IPS\Content\Hideable, \IPS\Content\Featurable, \IPS\Content\Pinnable, \IPS\Content\Lockable,
\IPS\Content\Shareable,
\IPS\Content\Searchable,
@@ -35,7 +34,7 @@ class _File extends \IPS\Content\Item implements
\IPS\Content\EditHistory,
\IPS\Content\Anonymous
{
use \IPS\Content\Reactable, \IPS\Content\Reportable, \IPS\Content\ItemTopic
use \IPS\Content\Reactable, \IPS\Content\Reportable, \IPS\Content\Statistics, \IPS\Content\ViewUpdates, \IPS\Content\ItemTopic
{
\IPS\Content\ItemTopic::changeAuthor as topicChangeAuthor;
}
@@ -263,6 +262,8 @@ class _File extends \IPS\Content\Item implements
*/
public static function contentTableTemplate()
{
/* Load our CSS */
\IPS\downloads\Application::outputCss();
return array( \IPS\Theme::i()->getTemplate( 'browse', 'downloads', 'front' ), 'rows' );
}
@@ -2238,7 +2239,7 @@ class _File extends \IPS\Content\Item implements
$categoryIdColumn = $category::$databaseColumnId;
if ( $count > static::NOTIFICATIONS_PER_BATCH )
if ( $count > \IPS\NOTIFICATION_BACKGROUND_THRESHOLD )
{
$queueData = array(
'followerCount' => $count,
+1 -1
View File
@@ -51,7 +51,7 @@ class _fileFeed extends \IPS\Content\Widget
public function init()
{
\IPS\Output::i()->cssFiles = array_merge( \IPS\Output::i()->cssFiles, \IPS\Theme::i()->css( 'widgets.css', 'downloads', 'front' ) );
\IPS\Output::i()->cssFiles = array_merge( \IPS\Output::i()->cssFiles, \IPS\Theme::i()->css( 'downloads.css', 'downloads', 'front' ) );
\IPS\downloads\Application::outputCss();
parent::init();
}