Version 4.6.0
This commit is contained in:
1 parent
f79dcf067a
commit
517a5e1f70
2036 files changed
+110041
-26162
No files matched your search
@@ -112,7 +112,7 @@
|
||||
{template="categoryMenu" group="browse" params="$category->children()"}
|
||||
|
||||
<ul class="ipsToolList ipsToolList_horizontal ipsResponsive_hidePhone ipsClearfix ipsSpacer_both">
|
||||
{template="categoryButtons" group="browse" params="\IPS\downloads\Category::canOnAny('add') or $category->can('add'), $category, FALSE"}
|
||||
{template="categoryButtons" group="browse" params="$category->can('add'), $category, FALSE"}
|
||||
</ul>
|
||||
|
||||
<div class='ipsBox ipsResponsive_pull cDownloadsCategoryTable'>
|
||||
@@ -120,7 +120,7 @@
|
||||
</div>
|
||||
|
||||
<ul class="ipsToolList ipsToolList_horizontal ipsResponsive_showPhone ipsResponsive_block ipsClearfix ipsSpacer_top">
|
||||
{template="categoryButtons" group="browse" params="\IPS\downloads\Category::canOnAny('add') or $category->can('add'), $category, TRUE"}
|
||||
{template="categoryButtons" group="browse" params="$category->can('add'), $category, TRUE"}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@@ -205,11 +205,11 @@
|
||||
{{if $lastPost = $category->lastFile()}}
|
||||
<li>{template="userPhoto" app="core" group="global" params="$lastPost->author(), 'tiny'"}</li>
|
||||
<li><a href="{$lastPost->url()}" class='ipsType_break ipsContained'>{$lastPost->name}</a></li>
|
||||
<li class='ipsType_blendLinks'>{lang="byline_nodate" htmlsprintf="$lastPost->author()->link()"}</li>
|
||||
<li class='ipsType_blendLinks'>{lang="byline_nodate" htmlsprintf="$lastPost->author()->link( NULL, NULL, $lastPost->isAnonymous() )"}</li>
|
||||
<li data-short="1 dy" class="ipsType_light">{datetime="$lastPost->submitted"}</li>
|
||||
{{endif}}
|
||||
</ul>
|
||||
{{if method_exists( $table, 'canModerate' ) AND $table->canModerate()}}
|
||||
{{if $table AND method_exists( $table, 'canModerate' ) AND $table->canModerate()}}
|
||||
<div class='ipsDataItem_modCheck'>
|
||||
<span class='ipsCustomInput'>
|
||||
<input type='checkbox' data-role='moderation' name="moderate[{$category->_id}]" data-actions="{expression="implode( ' ', $table->multimodActions( $category ) )"}" data-state=''>
|
||||
@@ -247,7 +247,7 @@
|
||||
{{endif}}
|
||||
</span>
|
||||
{{endif}}
|
||||
<span class='ipsType_large ipsType_light ipsType_unbold ipsType_noBreak'>{lang="byline_nodate" htmlsprintf="$file->author()->link()"}</span>
|
||||
<span class='ipsType_large ipsType_light ipsType_unbold ipsType_noBreak'>{lang="byline_nodate" htmlsprintf="$file->author()->link( NULL, NULL, $file->isAnonymous() )"}</span>
|
||||
</h2>
|
||||
<ul class='ipsList_inline ipsSpacer_top ipsSpacer_half'>
|
||||
{{if $price = $file->price()}}
|
||||
@@ -310,11 +310,11 @@
|
||||
</li>
|
||||
{{if ( $file->canDownload() or ( $file->container()->message('npd') and !$file->canBuy() ) ) && !$file->canBuy()}}
|
||||
<li class='ipsToolList_primaryAction ipsPos_left'>
|
||||
<a href='{{if settings.idm_antileech}}{$file->url('download')->csrf()}{{else}}{$file->url('download')}{{endif}}' class='ipsButton ipsButton_light ipsButton_fullWidth ipsButton_small' {{if $file->container()->message('disclaimer') or \count( $file->files() ) > 1 or member.group['idm_wait_period']}}data-ipsDialog{{endif}}>{lang="download"}</a>
|
||||
<a href='{{if settings.idm_antileech AND !$file->requiresDownloadConfirmation()}}{$file->url('download')->csrf()}{{else}}{$file->url('download')}{{endif}}' class='ipsButton ipsButton_light ipsButton_fullWidth ipsButton_small' {{if $file->requiresDownloadConfirmation()}}data-ipsDialog{{endif}}>{lang="download"}</a>
|
||||
</li>
|
||||
{{elseif $file->canBuy()}}
|
||||
<li class='ipsToolList_primaryAction ipsPos_left'>
|
||||
<a href='{$file->url('buy')->csrf()}' class='ipsButton ipsButton_small ipsButton_fullWidth ipsButton_important'><i class='fa fa-shopping-cart'></i> {lang="buy_now"}{{if $price}} - {expression="strip_tags($price)"}{{endif}}</a>
|
||||
<a href='{{if !$file->container()->message('disclaimer') OR !\in_array( $file->container()->disclaimer_location, [ 'purchase', 'both' ] )}}{$file->url('buy')->csrf()}{{else}}{$file->url('buy')}{{endif}}' class='ipsButton ipsButton_small ipsButton_fullWidth ipsButton_important'><i class='fa fa-shopping-cart'></i> {lang="buy_now"}{{if $price}} - {expression="strip_tags($price)"}{{endif}}</a>
|
||||
</li>
|
||||
{{endif}}
|
||||
</ul>
|
||||
@@ -465,7 +465,7 @@
|
||||
<a href='{$file->url( "getPrefComment" )}' title='{lang="view_this_file" sprintf="$file->name"}'>{$file->name}</a>
|
||||
</h3>
|
||||
|
||||
<p class='ipsType_medium ipsType_reset ipsType_blendLinks ipsTruncate ipsTruncate_line'>{lang="byline_nodate" htmlsprintf="$file->author()->link()"}</p>
|
||||
<p class='ipsType_medium ipsType_reset ipsType_blendLinks ipsTruncate ipsTruncate_line'>{lang="byline_nodate" htmlsprintf="$file->author()->link( NULL, NULL, $file->isAnonymous() )"}</p>
|
||||
{{if $file->container()->bitoptions['reviews']}}
|
||||
{template="rating" group="global" location="front" app="core" params="'medium', $file->averageReviewRating(), \IPS\Settings::i()->reviews_rating_out_of"}
|
||||
{{endif}}
|
||||
@@ -555,7 +555,7 @@
|
||||
<span class='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>
|
||||
<p class='ipsType_reset ipsType_light ipsType_blendLinks'>
|
||||
{lang="byline_nodate" htmlsprintf="$file->author()->link()"}
|
||||
{lang="byline_nodate" htmlsprintf="$file->author()->link( NULL, NULL, $file->isAnonymous() )"}
|
||||
{{if \IPS\Request::i()->app != 'downloads'}}
|
||||
{lang="in"} <a href="{$file->container()->url()}">{$file->container()->_title}</a>
|
||||
{{endif}}
|
||||
@@ -594,7 +594,7 @@
|
||||
{{endif}}
|
||||
<p class='ipsType_medium'><strong>{{if $file->updated == $file->submitted}}{lang="submitted"} {datetime="$file->submitted" lowercase="true"}{{else}}{lang="updated"} {datetime="$file->updated" lowercase="true"}{{endif}}</strong></p>
|
||||
</div>
|
||||
{{if method_exists( $table, 'canModerate' ) AND $table->canModerate()}}
|
||||
{{if $table AND method_exists( $table, 'canModerate' ) AND $table->canModerate()}}
|
||||
<div class='ipsDataItem_modCheck'>
|
||||
<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}}'>
|
||||
@@ -689,15 +689,15 @@
|
||||
<div class='ipsSpacer_top ipsSpacer_half'>
|
||||
{{if $item->canBuy() AND $item->isPurchasable()}}
|
||||
{{if $item->canDownload()}}
|
||||
<a href='{{if settings.idm_antileech}}{$item->url('download')->csrf()}{{else}}{$item->url('download')}{{endif}}' class='ipsButton ipsButton_fullWidth ipsButton_small ipsButton_primary' {{if $item->container()->message('disclaimer') or \count( $item->files() ) > 1 or member.group['idm_wait_period']}}data-dialog{{endif}}>{lang="download_now"}</a>
|
||||
<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='{$item->url('buy')->csrf()}' class='ipsButton ipsButton_fullWidth ipsButton_small ipsButton_primary'><i class='fa fa-shopping-cart'></i> {lang="buy_now"}{{if $price = $item->price()}} - {$price|raw}{{endif}}</a>
|
||||
<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> {lang="buy_now"}{{if $price = $item->price()}} - {$price|raw}{{endif}}</a>
|
||||
{{endif}}
|
||||
{{elseif !$item->isPurchasable( FALSE )}}
|
||||
{lang="purchasing_disabled"}
|
||||
{{else}}
|
||||
{{if $item->canDownload() or !$item->downloadTeaser()}}
|
||||
<a href='{{if settings.idm_antileech}}{$item->url('download')->csrf()}{{else}}{$item->url('download')}{{endif}}' class='ipsButton ipsButton_fullWidth ipsButton_small ipsButton_primary' {{if $item->container()->message('disclaimer') or \count( $item->files() ) > 1 or member.group['idm_wait_period']}}data-dialog{{endif}}>{lang="download_now"}</a>
|
||||
<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}}
|
||||
<span class="ipsButton ipsButton_light ipsButton_fullWidth ipsButton_small ipsButton_disable">{lang="download_teaser"}</span>
|
||||
{{endif}}
|
||||
@@ -1068,12 +1068,19 @@
|
||||
</div>
|
||||
</div>]]></template>
|
||||
<template template_group="nexus" template_name="fileInfo" template_data="$file" template_location="front" template_app="downloads"></template>
|
||||
<template template_group="nexus" template_name="filePurchaseInfo" template_data="$file" template_location="front" template_app="downloads"><![CDATA[{{if $file->container()->can( 'download' )}}
|
||||
<a {{if $file->canView() }}href='{{if settings.idm_antileech}}{$file->url('download')->csrf()}{{else}}{$file->url('download')}{{endif}}'{{endif}} class='ipsButton ipsButton_medium {{if $file->canView()}}ipsButton_primary{{else}}ipsButton_disabled{{endif}}' {{if $file->container()->message('disclaimer') or \count( $file->files() ) > 1 or member.group['idm_wait_period']}}data-ipsDialog{{endif}}>{lang="download_now"}</a>
|
||||
{{endif}}
|
||||
{{if $file->container()->can( 'view' )}}
|
||||
<a {{if $file->canView() }}href='{$file->url( "getPrefComment" )}'{{endif}} class='ipsButton ipsButton_medium {{if $file->canView()}}ipsButton_alternate{{else}}ipsButton_disabled{{endif}}'>{lang="file_view_details"}</a>
|
||||
{{endif}}
|
||||
<template template_group="nexus" template_name="filePurchaseInfo" template_data="$file, $reactivateUrl=NULL" template_location="front" template_app="downloads"><![CDATA[
|
||||
<ul class='ipsList_inline'>
|
||||
{{if $reactivateUrl}}
|
||||
<li><a href="{$reactivateUrl}" class='ipsButton ipsButton_light'>{lang="reactivate_package"}</a></li>
|
||||
{{endif}}
|
||||
|
||||
{{if $file->canDownload()}}
|
||||
<li><a {{if $file->canView()}}href='{{if settings.idm_antileech AND !$file->requiresDownloadConfirmation()}}{$file->url('download')->csrf()}{{else}}{$file->url('download')}{{endif}}'{{endif}} class='ipsButton ipsButton_medium {{if $file->canView()}}ipsButton_primary{{else}}ipsButton_disabled{{endif}}' {{if $file->requiresDownloadConfirmation()}}data-ipsDialog{{endif}}>{lang="download_now"}</a></li>
|
||||
{{endif}}
|
||||
{{if $file->container()->can( 'view' )}}
|
||||
<li><a {{if $file->canView() }}href='{$file->url( "getPrefComment" )}'{{endif}} class='ipsButton ipsButton_medium {{if $file->canView()}}ipsButton_alternate{{else}}ipsButton_disabled{{endif}}'>{lang="file_view_details"}</a></li>
|
||||
{{endif}}
|
||||
</ul>
|
||||
{{if !$file->canView()}}
|
||||
<p class='ipsType_light'>{lang="nexus_file_no_longer_available"}</p>
|
||||
{{endif}}]]></template>
|
||||
@@ -1150,6 +1157,38 @@
|
||||
{$pagination|raw}
|
||||
{{else}}
|
||||
<p class="ipsPad">{lang="no_results"}</p>
|
||||
{{endif}}]]></template>
|
||||
<template template_group="stats" template_name="topDownloadsTable" template_data="$downloads, $pagination" template_location="admin" template_app="downloads"><![CDATA[
|
||||
{{if trim( $pagination )}}
|
||||
{$pagination|raw}
|
||||
<br><br>
|
||||
{{endif}}
|
||||
{{if \count( $downloads )}}
|
||||
<table class="ipsTable ipsTable_zebra">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{lang="dfid"}</th>
|
||||
<th>{lang="downloads"}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{foreach $downloads as $row}}
|
||||
<tr>
|
||||
<td>
|
||||
{$row['file']|raw}
|
||||
</td>
|
||||
<td>
|
||||
{$row['downloads']}
|
||||
</td>
|
||||
</tr>
|
||||
{{endforeach}}
|
||||
</tbody>
|
||||
</table>
|
||||
<br>
|
||||
|
||||
{$pagination|raw}
|
||||
{{else}}
|
||||
<p class="ipsPad">{lang="no_results"}</p>
|
||||
{{endif}}]]></template>
|
||||
<template template_group="submit" template_name="bulkForm" template_data="$form, $category" template_location="front" template_app="downloads"><![CDATA[
|
||||
{template="pageHeader" group="global" app="core" params="\IPS\Member::loggedIn()->language()->addToStack('submit_bulk_information')"}
|
||||
@@ -1290,8 +1329,6 @@
|
||||
{$form->elements['']['files']->html( $form )|raw}
|
||||
{{if $category->multiple_files}}
|
||||
<button type='button' class='ipsButton ipsButton_light ipsButton_verySmall ipsHide ipsMargin_top' data-action='uploadMore'>{lang="upload_more_files"}</button>
|
||||
{{else}}
|
||||
<p id='elDownloadsSingleMessage' class='ipsHide'><i class="fa fa-exclamation-circle"></i> {lang="downloads_single_upload"}</p>
|
||||
{{endif}}
|
||||
</div>
|
||||
</div>
|
||||
@@ -1453,7 +1490,7 @@
|
||||
<strong>{lang="file_submitter"}</strong>
|
||||
</div>
|
||||
<div class='ipsDataItem_main'>
|
||||
{$file->author()->link()|raw}
|
||||
{$file->author()->link( NULL, NULL, $file->isAnonymous() )|raw}
|
||||
</div>
|
||||
</li>
|
||||
<li class='ipsDataItem'>
|
||||
@@ -1508,7 +1545,7 @@
|
||||
<ul class='ipsList_inline'>
|
||||
<li><img src='{resource="subitem_stem.png" app="core"}' alt=''> <strong>{lang="with_version" sprintf="$versionNumber"}</strong></li>
|
||||
{{if $file->canDownload()}}
|
||||
<li><a href='{$file->url()->setQueryString( array( 'do' => 'download', 'version' => $version['b_id'] ) )->csrf()}' {{if $file->container()->message('disclaimer') or \count( $file->files( $version['b_id'] ) ) > 1}}data-ipsDialog{{endif}}>{lang="download"}</a></li>
|
||||
<li><a href='{{if settings.idm_antileech AND !$file->requiresDownloadConfirmation()}}{$file->url('download')->setQueryString( array( 'version' => $version['b_id'] ) )->csrf()}{{else}}{$file->url('download')->setQueryString( array( 'version' => $version['b_id'] ) )}{{endif}}' {{if $file->requiresDownloadConfirmation()}}data-ipsDialog{{endif}}>{lang="download"}</a></li>
|
||||
{{endif}}
|
||||
{{if $file->canEdit() and member.group['idm_bypass_revision']}}
|
||||
<li><a href="{$file->url()->setQueryString( array( 'do' => 'restorePreviousVersion', 'version' => $version['b_id'] ) )->csrf()}" data-confirm data-confirmMessage="{lang="version_restore_confirm"}" data-confirmSubMessage="{lang="version_restore_confirm_desc" sprintf="$versionNumber"}">{lang="restore"}</a></li>
|
||||
@@ -1603,7 +1640,7 @@
|
||||
</div>
|
||||
{{endif}}
|
||||
</div>]]></template>
|
||||
<template template_group="view" template_name="download" template_data="$file, $terms = NULL, $download = NULL, $confirmUrl, $multipleFiles, $waitingOn=NULL, $waitingFor=0" template_location="front" template_app="downloads"><![CDATA[<div data-controller='downloads.front.view.download'>
|
||||
<template template_group="view" template_name="download" template_data="$file, $terms=NULL, $download=NULL, $confirmUrl=NULL, $multipleFiles=NULL, $waitingOn=NULL, $waitingFor=0" template_location="front" template_app="downloads"><![CDATA[<div data-controller='downloads.front.view.download'>
|
||||
{{if $terms}}
|
||||
{template="downloadTerms" group="view" app="downloads" params="$file, $terms, $confirmUrl, $multipleFiles"}
|
||||
{{else}}
|
||||
@@ -1620,7 +1657,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}}{$file->url('download')->csrf()}{{else}}{$file->url('download')}{{endif}}' class='ipsButton ipsButton_fullWidth ipsButton_large ipsButton_important' {{if $file->container()->message('disclaimer') or \count( $file->files() ) > 1 or ( member.group['idm_wait_period'] AND ( !$file->isPaid() OR member.group['idm_paid_restrictions'] ) )}}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}}>{lang="download_now"}</a>
|
||||
{{endif}}
|
||||
</li>
|
||||
]]></template>
|
||||
@@ -1656,14 +1693,9 @@
|
||||
{{endforeach}}]]></template>
|
||||
<template template_group="view" template_name="logTable" template_data="$table, $headers, $rows, $quickSearch" template_location="front" template_app="downloads"><![CDATA[<div data-baseurl='{$table->baseUrl}' data-resort='{$table->resortKey}' data-controller='core.global.core.table' {{if $table->getPaginationKey() != 'page'}}data-pageParam='{$table->getPaginationKey()}'{{endif}}>
|
||||
|
||||
{{if $table->pages > 1}}
|
||||
<div class="ipsButtonBar ipsPad_half ipsClearfix ipsClear">
|
||||
<div data-role="tablePagination">
|
||||
{template="pagination" group="global" app="core" location="global" params="$table->baseUrl, $table->pages, $table->page, $table->limit, TRUE, $table->getPaginationKey()"}
|
||||
</div>
|
||||
</div>
|
||||
{{endif}}
|
||||
|
||||
<div class="ipsButtonBar ipsPad_half ipsClearfix ipsClear {{if $table->pages <= 1}}ipsHide{{endif}}" data-role="tablePagination">
|
||||
{template="pagination" group="global" app="core" location="global" params="$table->baseUrl, $table->pages, $table->page, $table->limit, TRUE, $table->getPaginationKey()"}
|
||||
</div>
|
||||
|
||||
{{if \count( $rows )}}
|
||||
<ol class='ipsGrid ipsGrid_collapsePhone ipsPad ipsClear {{foreach $table->classes as $class}}{$class} {{endforeach}}' id='elTable_{$table->uniqueId}' data-role="tableRows">
|
||||
@@ -1682,13 +1714,9 @@
|
||||
</div>
|
||||
{{endif}}
|
||||
|
||||
{{if $table->pages > 1}}
|
||||
<div class="ipsButtonBar ipsPad_half ipsClearfix ipsClear">
|
||||
<div data-role="tablePagination">
|
||||
{template="pagination" group="global" app="core" location="global" params="$table->baseUrl, $table->pages, $table->page, $table->limit, TRUE, $table->getPaginationKey()"}
|
||||
</div>
|
||||
</div>
|
||||
{{endif}}
|
||||
<div class="ipsButtonBar ipsPad_half ipsClearfix ipsClear {{if $table->pages <= 1}}ipsHide{{endif}}" data-role="tablePagination">
|
||||
{template="pagination" group="global" app="core" location="global" params="$table->baseUrl, $table->pages, $table->page, $table->limit, TRUE, $table->getPaginationKey()"}
|
||||
</div>
|
||||
</div>]]></template>
|
||||
<template template_group="view" template_name="multipleFiles" template_data="$fileObject, $files, $waitingOn, $waitingFor" template_location="front" template_app="downloads"><![CDATA[<div class='ipsPad'>
|
||||
<h1 class='ipsType_pageTitle'>{lang="download_your_files"}</h1>
|
||||
@@ -1709,7 +1737,7 @@
|
||||
{{endif}}
|
||||
<div class='ipsDataItem_generic ipsDataItem_size4 ipsType_right'>
|
||||
<span class="ipsHide" data-role="downloadCounterContainer">{lang="download_begins_in"} <span data-role="downloadCounter"></span> {lang="seconds"}</span>
|
||||
<a href='{$fileObject->url()->setQueryString( array( 'do' => 'download', 'r' => $k, 'confirm' => 1, 't' => 1, 'version' => isset( \IPS\Request::i()->version ) ? \IPS\Request::i()->version : NULL ) )->csrf()}' class='ipsButton ipsButton_primary ipsButton_small' data-action="download" {{if member.group['idm_wait_period']}}data-wait='true'{{endif}}>{lang="download"}</a>
|
||||
<a href='{$fileObject->url('download')->setQueryString( array( 'r' => $k, 'confirm' => 1, 't' => 1, 'version' => isset( \IPS\Request::i()->version ) ? \IPS\Request::i()->version : NULL ) )->csrf()}' class='ipsButton ipsButton_primary ipsButton_small' data-action="download" {{if member.group['idm_wait_period']}}data-wait='true'{{endif}}>{lang="download"}</a>
|
||||
</div>
|
||||
</li>
|
||||
{{endforeach}}
|
||||
@@ -1733,7 +1761,7 @@
|
||||
{lang="file_notify_none"}
|
||||
{{endif}}
|
||||
<br>
|
||||
<a href="{url='app=core&module=system&controller=notifications&do=options&type=new_file_version'}">Change how the notification is sent</a>
|
||||
<a href="{url='app=core&module=system&controller=notifications&do=options&type=new_file_version'}">{lang="follow_type_immediate_change"}</a>
|
||||
</div>]]></template>
|
||||
<template template_group="view" template_name="pendingView" template_data="$file, $pendingVersion" template_location="front" template_app="downloads"><![CDATA[
|
||||
{{if $club = $file->container()->club()}}
|
||||
@@ -1778,7 +1806,7 @@
|
||||
{template="userPhoto" app="core" group="global" params="$file->author(), 'tiny', $file->warningRef()"}
|
||||
<div>
|
||||
<p class='ipsType_reset ipsType_large ipsType_blendLinks'>
|
||||
{lang="byline_nodate_itemprop" htmlsprintf="$file->author()->link( $file->warningRef() )"}{{if member.group['idm_view_approvers'] and $file->approver}} {lang="file_approved_by" sprintf="\IPS\Member::load( $file->approver )->name" htmlsprintf="\IPS\DateTime::ts( $file->approvedon )->html()"}{{endif}}
|
||||
{lang="byline_nodate_itemprop" htmlsprintf="$file->author()->link( $file->warningRef(), NULL, $file->isAnonymous() )"}{{if member.group['idm_view_approvers'] and $file->approver}} {lang="file_approved_by" sprintf="\IPS\Member::load( $file->approver )->name" htmlsprintf="\IPS\DateTime::ts( $file->approvedon )->html()"}{{endif}}
|
||||
</p>
|
||||
{{if $file->author()->member_id}}
|
||||
<ul class='ipsList_inline'>
|
||||
@@ -1854,12 +1882,12 @@
|
||||
{{$data = $files->data();}}
|
||||
<li class='ipsDataItem'>
|
||||
<div class='ipsDataItem_main'>
|
||||
<h4 class='ipsDataItem_title ipsContained_container'><a href="{$pendingVersion->url('download')->csrf()->setQueryString( 'fileId', $data['record_id'] )}">{$f->originalFilename}</a></h4>
|
||||
<h4 class='ipsDataItem_title ipsContained_container'><a href="{{if settings.idm_antileech AND !$file->requiresDownloadConfirmation()}}{$pendingVersion->url('download')->csrf()->setQueryString( 'fileId', $data['record_id'] )}{{else}}{$pendingVersion->url('download')->setQueryString( 'fileId', $data['record_id'] )}{{endif}}">{$f->originalFilename}</a></h4>
|
||||
{{if $data['record_size']}}<p class='ipsType_reset ipsDataItem_meta'>{filesize="$data['record_size']"}</p>{{endif}}
|
||||
</div>
|
||||
<div class='ipsDataItem_generic ipsDataItem_size4'>
|
||||
<span class="ipsHide" data-role="downloadCounterContainer">{lang="download_begins_in"} <span data-role="downloadCounter"></span> {lang="seconds"}</span>
|
||||
<a href="{$pendingVersion->url('download')->csrf()->setQueryString( 'fileId', $data['record_id'] )}" class='ipsButton ipsButton_primary ipsButton_small'>{lang="download"}</a>
|
||||
<a href="{{if settings.idm_antileech AND !$file->requiresDownloadConfirmation()}}{$pendingVersion->url('download')->csrf()->setQueryString( 'fileId', $data['record_id'] )}{{else}}{$pendingVersion->url('download')->setQueryString( 'fileId', $data['record_id'] )}{{endif}}" class='ipsButton ipsButton_primary ipsButton_small'>{lang="download"}</a>
|
||||
</div>
|
||||
</li>
|
||||
{{endforeach}}
|
||||
@@ -2054,7 +2082,10 @@
|
||||
{template="userPhoto" app="core" group="global" params="$file->author(), 'tiny', $file->warningRef()"}
|
||||
<div>
|
||||
<p class='ipsType_reset ipsType_large ipsType_blendLinks'>
|
||||
{lang="byline_nodate_itemprop" htmlsprintf="$file->author()->link( $file->warningRef() )"}{{if member.group['idm_view_approvers'] and $file->approver}} {lang="file_approved_by" sprintf="\IPS\Member::load( $file->approver )->name" htmlsprintf="\IPS\DateTime::ts( $file->approvedon )->html()"}{{endif}}
|
||||
{lang="byline_nodate_itemprop" htmlsprintf="$file->author()->link( $file->warningRef(), NULL, $file->isAnonymous() )"}{{if member.group['idm_view_approvers'] and $file->approver}} {lang="file_approved_by" sprintf="\IPS\Member::load( $file->approver )->name" htmlsprintf="\IPS\DateTime::ts( $file->approvedon )->html()"}{{endif}}
|
||||
{{if $file->isAnonymous() and \IPS\Member::loggedIn()->modPermission('can_view_anonymous_posters')}}
|
||||
<a data-ipsHover data-ipsHover-width="370" data-ipsHover-onClick href="{$file->url( 'reveal' )->csrf()}"><span class="cAuthorPane_badge cAuthorPane_badge_small cAuthorPane_badge--anon" data-ipsTooltip title="{lang="post_anonymously_reveal"}"></span></a>
|
||||
{{endif}}
|
||||
</p>
|
||||
{{if $file->author()->member_id OR $file->canChangeAuthor()}}
|
||||
<ul class='ipsList_inline ipsType_light ipsType_blendLinks'>
|
||||
@@ -2087,11 +2118,11 @@
|
||||
{template="contentItemMessages" group="global" app="core" params="$file->getMessages(), $file"}
|
||||
|
||||
{{if ( \IPS\Member::loggedIn()->member_id == $file->author()->member_id OR $file->canUnhide() OR $file->canHide() ) AND $file->hasPendingVersion()}}
|
||||
<div class="ipsMessage ipsMessage_warning ipsSpacer_both">
|
||||
<div class="ipsMessage ipsMessage_warning ipsSpacer_both ipsClearfix">
|
||||
<p class="ipsType_reset">
|
||||
{lang="file_pending_approval_version"}
|
||||
{{if $file->canUnhide() OR $file->canHide()}}
|
||||
<a href="{expression="\IPS\downloads\File\PendingVersion::load($file->id, 'pending_file_id')->url()"}" class="ipsPos_right ipsButton ipsButton_positive ipsButton_verySmall" title='{lang="file_pending_version_button"}'>{lang="file_pending_version_button"}</a>
|
||||
<a href="{expression="\IPS\downloads\File\PendingVersion::load($file->id, 'pending_file_id')->url()"}" class="ipsPos_right ipsButton ipsButton_positive ipsButton_verySmall sm:ipsMargin_top:half sm:ipsPos_left" title='{lang="file_pending_version_button"}'>{lang="file_pending_version_button"}</a>
|
||||
{{endif}}
|
||||
</p>
|
||||
</div>
|
||||
@@ -2233,7 +2264,7 @@
|
||||
{{if !$file->isPurchasable( FALSE )}}
|
||||
<span class="ipsType_light ipsType_blendLinks ipsResponsive_hidePhone ipsResponsive_inline"><i class="fa fa-info-circle"></i> {lang="purchasing_disabled"}</span>
|
||||
{{else}}
|
||||
<a href='{$file->url('buy')->csrf()}' class='ipsButton ipsButton_fullWidth ipsButton_large ipsButton_important' {{if $file->container()->message('disclaimer') AND \in_array( $file->container()->disclaimer_location, [ 'purchase', 'both'])}}data-ipsDialog{{endif}}><i class='fa fa-shopping-cart'></i> {lang="buy_now"}{{if $price = $file->price()}} - {$price|raw}{{endif}}</a>
|
||||
<a href='{{if !$file->container()->message('disclaimer') OR !\in_array( $file->container()->disclaimer_location, [ 'purchase', 'both' ] )}}{$file->url('buy')->csrf()}{{else}}{$file->url('buy')}{{endif}}' class='ipsButton ipsButton_fullWidth ipsButton_large ipsButton_important' {{if $file->container()->message('disclaimer') AND \in_array( $file->container()->disclaimer_location, [ 'purchase', 'both'])}}data-ipsDialog{{endif}}><i class='fa fa-shopping-cart'></i> {lang="buy_now"}{{if $price = $file->price()}} - {$price|raw}{{endif}}</a>
|
||||
{{endif}}
|
||||
</li>
|
||||
{{else}}
|
||||
@@ -2332,7 +2363,7 @@
|
||||
<ul id='elFileActions_menu' class='ipsMenu ipsMenu_auto ipsHide'>
|
||||
{{if $file->canReportOrRevoke() === TRUE}}
|
||||
<li class='ipsMenu_item'>
|
||||
<a href='{$file->url('report')}' data-ipsDialog data-ipsDialog-size='medium' data-ipsDialog-title="{lang="report_file"}" data-ipsDialog-remoteSubmit data-ipsDialog-flashMessage="{lang="report_submit_success"}" title="{lang="report_file"}" >{lang="report"}</a>
|
||||
<a href='{$file->url('report')}' {{if member.member_id or \IPS\Helpers\Form\Captcha::supportsModal()}}data-ipsDialog data-ipsDialog-size='medium' data-ipsDialog-title="{lang="report_file"}" data-ipsDialog-remoteSubmit data-ipsDialog-flashMessage="{lang="report_submit_success"}"{{endif}} title="{lang="report_file"}" >{lang="report"}</a>
|
||||
</li>
|
||||
<li class='ipsMenu_sep'><hr></li>
|
||||
{{endif}}
|
||||
@@ -2341,12 +2372,14 @@
|
||||
<li class='ipsMenu_item'><a href='{$file->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'restoreAsHidden' ) )}' data-confirm data-confirmSubMessage='{lang="restore_as_hidden_desc"}'>{lang="restore_as_hidden"}</a></li>
|
||||
<li class='ipsMenu_item'><a href='{$file->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'delete', 'immediate' => 1 ) )}' data-confirm data-confirmSubMessage='{lang="delete_immediately_desc"}'>{lang="delete_immediately"}</a></li>
|
||||
{{else}}
|
||||
{{if $file->canEdit()}}
|
||||
{{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}}
|
||||
<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}}
|
||||
{{if $file->canEdit()}}
|
||||
<li class='ipsMenu_item'><a href='{$file->url()->setQueryString( array( 'do' => 'edit' ) )}' title='{lang="downloads_edit_details_title"}'>{lang="downloads_edit_details"}</a></li>
|
||||
{{endif}}
|
||||
{{if $file->canFeature()}}
|
||||
@@ -2362,7 +2395,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()->csrf()->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()->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>
|
||||
@@ -2380,7 +2413,7 @@
|
||||
<li class='ipsMenu_item'><a href='{$file->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'delete' ) )}' data-confirm title='{lang="downloads_delete_title"}'>{lang="delete"}</a></li>
|
||||
{{endif}}
|
||||
{{if $file->canOnMessage( 'add' )}}
|
||||
<li class='ipsMenu_item'><a href='{$file->url()->csrf()->setQueryString( array( 'do' => 'messageForm' ) )}' data-ipsDialog data-ipsDialog-title='{lang="add_message"}'>{lang='add_message'}</a></li>
|
||||
<li class='ipsMenu_item'><a href='{$file->url()->setQueryString( array( 'do' => 'messageForm' ) )}' data-ipsDialog data-ipsDialog-title='{lang="add_message"}'>{lang='add_message'}</a></li>
|
||||
{{endif}}
|
||||
{{if $file->isPurchasable() AND $file->canDisablePurchases()}}
|
||||
<li class='ipsMenu_item'><a href='{$file->url()->csrf()->setQueryString( array( 'do' => 'purchaseStatus', 'value' => 0 ) )}' data-confirm>{lang="disable_purchases"}</a></li>
|
||||
@@ -2390,14 +2423,14 @@
|
||||
{{endif}}
|
||||
{{if \IPS\Member::loggedIn()->modPermission('can_view_moderation_log')}}
|
||||
<li class='ipsMenu_sep'><hr></li>
|
||||
<li class="ipsMenu_item"><a href='{$file->url()->csrf()->setQueryString( array( 'do' => 'modLog' ) )}' data-ipsDialog data-ipsDialog-title='{lang="moderation_history"}'>{lang="moderation_history"}</a></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}}
|
||||
{{endif}}
|
||||
</ul>
|
||||
</li>
|
||||
{{elseif $file->canReportOrRevoke() === TRUE}}
|
||||
<li>
|
||||
<a href='{$file->url('report')}' data-ipsDialog data-ipsDialog-size='medium' data-ipsDialog-title="{lang="report_file"}" data-ipsDialog-remoteSubmit data-ipsDialog-flashMessage="{lang="report_submit_success"}" title="{lang="report_file"}" class='ipsButton ipsButton_link ipsButton_verySmall ipsButton_fullWidth'>{lang="report"}</a>
|
||||
<a href='{$file->url('report')}' {{if member.member_id or \IPS\Helpers\Form\Captcha::supportsModal()}}data-ipsDialog data-ipsDialog-size='medium' data-ipsDialog-title="{lang="report_file"}" data-ipsDialog-remoteSubmit data-ipsDialog-flashMessage="{lang="report_submit_success"}"{{endif}} title="{lang="report_file"}" class='ipsButton ipsButton_link ipsButton_verySmall ipsButton_fullWidth'>{lang="report"}</a>
|
||||
</li>
|
||||
{{endif}}
|
||||
</ul>
|
||||
@@ -2469,7 +2502,7 @@
|
||||
</div>
|
||||
<div class='ipsDataItem_main'>
|
||||
<div class='ipsType_break ipsContained'><a href="{$comment->url()}" class='ipsType_medium ipsTruncate ipsTruncate_line'>{$comment->item()->name}</a></div>
|
||||
<p class='ipsType_reset ipsType_light ipsType_medium ipsType_blendLinks'>{lang="byline_nodate" htmlsprintf="$comment->author()->link()"} · <a href='{$comment->item()->url()->setQueryString( array( 'do' => 'findComment', 'comment' => $comment->id ) )}' class='ipsType_blendLinks'>{$comment->dateLine()|raw}</a></p>
|
||||
<p class='ipsType_reset ipsType_light ipsType_medium ipsType_blendLinks'>{lang="byline_nodate" htmlsprintf="$comment->author()->link( NULL, NULL, $comment->isAnonymous() )"} · <a href='{$comment->item()->url()->setQueryString( array( 'do' => 'findComment', 'comment' => $comment->id ) )}' class='ipsType_blendLinks'>{$comment->dateLine()|raw}</a></p>
|
||||
<div class='ipsType_medium ipsType_textBlock ipsType_richText ipsType_break ipsContained ipsSpacer_top ipsSpacer_half' data-ipsTruncate data-ipsTruncate-type='remove' data-ipsTruncate-size='{{if $orientation == 'vertical'}}6 lines{{else}}2 lines{{endif}}' data-ipsTruncate-watch='false'>
|
||||
{$comment->truncated( true )|raw}
|
||||
</div>
|
||||
@@ -2501,7 +2534,7 @@
|
||||
</div>
|
||||
{{endif}}
|
||||
<h3 class='ipsComment_author ipsType_blendLinks'>
|
||||
<strong class='ipsType_normal'>{template="userLink" app="core" group="global" params="$comment->author(), $comment->warningRef()"}</strong>
|
||||
<strong class='ipsType_normal'>{template="userLink" app="core" group="global" params="$comment->author(), $comment->warningRef(), NULL, $comment->isAnonymous()"}</strong>
|
||||
{template="reputationBadge" group="global" app="core" params="$comment->author()"}
|
||||
</h3>
|
||||
<p class='ipsComment_meta ipsType_light ipsType_medium'>
|
||||
@@ -2536,7 +2569,7 @@
|
||||
<div class='ipsItemControls'>
|
||||
<ul class='ipsComment_controls ipsClearfix ipsItemControls_left' data-role="commentControls">
|
||||
{{if $comment->canReportOrRevoke() === TRUE}}
|
||||
<li><a href='{$comment->url('report')}' data-ipsDialog data-ipsDialog-remoteSubmit data-ipsDialog-size='medium' data-ipsDialog-flashMessage='{lang="report_submit_success"}' data-ipsDialog-title="{lang="report"}" data-action='reportComment' title='{lang="report_content"}'>{lang="report"}</a></li>
|
||||
<li><a href='{$comment->url('report')}' {{if member.member_id or \IPS\Helpers\Form\Captcha::supportsModal()}}data-ipsDialog data-ipsDialog-remoteSubmit data-ipsDialog-size='medium' data-ipsDialog-flashMessage='{lang="report_submit_success"}' data-ipsDialog-title="{lang="report"}"{{endif}} data-action='reportComment' title='{lang="report_content"}'>{lang="report"}</a></li>
|
||||
{{endif}}
|
||||
</ul>
|
||||
{{if $comment->hidden() !== 1 && \IPS\IPS::classUsesTrait( $comment, 'IPS\Content\Reactable' ) and settings.reputation_enabled}}
|
||||
@@ -2619,7 +2652,7 @@
|
||||
<div class='ipsItemControls'>
|
||||
<ul class='ipsComment_controls ipsClearfix ipsItemControls_left' data-role="commentControls">
|
||||
{{if $comment->canReportOrRevoke() === TRUE}}
|
||||
<li><a href='{$comment->url('report')}' data-ipsDialog data-ipsDialog-remoteSubmit data-ipsDialog-size='medium' data-ipsDialog-flashMessage='{lang="report_submit_success"}' data-ipsDialog-title="{lang="report"}" data-action='reportComment' title='{lang="report_content"}'>{lang="report"}</a></li>
|
||||
<li><a href='{$comment->url('report')}' {{if member.member_id or \IPS\Helpers\Form\Captcha::supportsModal()}}data-ipsDialog data-ipsDialog-remoteSubmit data-ipsDialog-size='medium' data-ipsDialog-flashMessage='{lang="report_submit_success"}' data-ipsDialog-title="{lang="report"}"{{endif}} data-action='reportComment' title='{lang="report_content"}'>{lang="report"}</a></li>
|
||||
{{endif}}
|
||||
|
||||
<li><a href='{$comment->item()->url()->setQueryString( array( 'do' => 'findReview', 'review' => $comment->id ) )}' data-ipsMenu data-ipsMenu-closeOnClick='false' id='elShareComment_{$comment->id}'>{lang="share_this_comment"}</a></li>
|
||||
@@ -2676,7 +2709,7 @@
|
||||
<div class='ipsWidget_latestItem'>
|
||||
<strong class='ipsType_small ipsType_uppercase'>{lang="latest_file"}</strong><br>
|
||||
<div class='ipsType_break ipsContained'><a href="{$latestFile->url( "getPrefComment" )}" title='{lang="view_this_file" sprintf="$latestFile->name"}' class='ipsTruncate ipsTruncate_line'>{$latestFile->name}</a></div>
|
||||
<span class='ipsType_light ipsType_medium'>{lang="byline_nodate" htmlsprintf="$latestFile->author()->link()"}</span>
|
||||
<span class='ipsType_light ipsType_medium'>{lang="byline_nodate" htmlsprintf="$latestFile->author()->link( NULL, NULL, $latestFile->isAnonymous() )"}</span>
|
||||
<p class='ipsType_medium ipsType_reset'>{{if !$latestFile->downloads}}<span class='ipsType_light'>{{endif}}<i class='fa fa-arrow-circle-down'></i> {number="$latestFile->downloads"}{{if !$latestFile->downloads}}</span>{{endif}} {{if $latestFile->container()->bitoptions['comments']}} {{if !$latestFile->comments}}<span class='ipsType_light'>{{endif}}<i class='fa fa-comment'></i> {$latestFile->comments}{{endif}}{{if !$latestFile->comments}}</span>{{endif}}</p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -2771,7 +2804,7 @@
|
||||
</div>
|
||||
<div class='ipsDataItem_main'>
|
||||
<div class='ipsType_break ipsContained'><a href="{$file->url( "getPrefComment" )}" title='{lang="view_this_file" sprintf="$file->name"}' class='ipsTruncate ipsTruncate_line'>{$file->name}</a></div>
|
||||
<span class='ipsType_light ipsType_medium ipsType_blendLinks'>{lang="byline_nodate" htmlsprintf="$file->author()->link()"}</span><br>
|
||||
<span class='ipsType_light ipsType_medium ipsType_blendLinks'>{lang="byline_nodate" htmlsprintf="$file->author()->link( NULL, NULL, $file->isAnonymous() )"}</span><br>
|
||||
{{if $file->container()->bitoptions['reviews']}}
|
||||
{template="rating" group="global" location="front" app="core" params="'small', $file->rating, \IPS\Settings::i()->reviews_rating_out_of"}
|
||||
{{endif}}
|
||||
@@ -3209,11 +3242,40 @@ html[dir="rtl"] #elDownloadStatsLatest > .ipsWidget_latestItem {
|
||||
}
|
||||
|
||||
#elDownloadsSubmit .ipsAttachment_dropZone {
|
||||
background: rgb( var(--theme-area_background_reset) );
|
||||
border: 3px dashed rgba( var(--theme-text_color), 0.15 );
|
||||
margin-top: 7px;
|
||||
background: rgb( var(--theme-area_background_light) );
|
||||
border: 2px dashed rgba( var(--theme-text_light), 0.3 );
|
||||
background-clip: padding-box;
|
||||
}
|
||||
|
||||
#elDownloadsSubmit .ipsUploader__row {
|
||||
border: 1px solid rgba(var(--theme-text_light), 0.2);
|
||||
}
|
||||
|
||||
.cDownloadsPrimaryRadio {
|
||||
background: rgb(var(--theme-area_background_reset));
|
||||
border-radius: 40px;
|
||||
position: absolute;
|
||||
top: 110px;
|
||||
left: var(--sp-3);
|
||||
padding: var(--sp-1) var(--sp-2) var(--sp-1) var(--sp-1);
|
||||
font-size: {fontsize="11"} !important;
|
||||
}
|
||||
|
||||
.cDownloadsPrimaryRadio .ipsCustomInput {
|
||||
margin-right: 2px;
|
||||
}
|
||||
|
||||
.ipsUploader__row.ipsAttach_error .cDownloadsPrimaryRadio {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/*#elDownloadsSubmit .ipsUploader__container {
|
||||
background: rgb(var(--theme-area_background));
|
||||
margin: var(--sp-6) calc(var(--sp-4) * -1) calc(var(--sp-4) * -1);
|
||||
padding: var(--sp-2) var(--sp-2) var(--sp-2);
|
||||
}*/
|
||||
|
||||
.cDownloadsSubmit_step {
|
||||
display: block;
|
||||
width: 40px;
|
||||
|
||||
Reference in new issue
Block a user