Version 5.0.13
This commit is contained in:
1 parent
b89858b2ff
commit
5efe744c5f
1407 files changed
+69690
-30177
No files matched your search
@@ -11,7 +11,7 @@ IPSCONTENT;
|
||||
$versionNumber = $version['b_version'] ?: (string) \IPS\DateTime::ts( $version['b_backup'] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<p class='i-color_soft i-margin-bottom_2'>
|
||||
<p class='i-color_soft i-margin-bottom_1'>
|
||||
IPSCONTENT;
|
||||
|
||||
$htmlsprintf = array(\IPS\DateTime::ts( $version['b_backup'] )->html( false )); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'file_version_released', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'htmlsprintf' => $htmlsprintf ) );
|
||||
@@ -55,18 +55,13 @@ IPSCONTENT;
|
||||
if ( isset( $version['b_id'] ) and ( $file->canDownload() or ( $file->canEdit() and \IPS\Member::loggedIn()->group['idm_bypass_revision'] ) ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<ul class='ipsList ipsList--inline'>
|
||||
<li><img src='
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->resource( "subitem_stem.png", "core", 'front', false );
|
||||
$return .= <<<IPSCONTENT
|
||||
' alt=''> <strong>
|
||||
<div class="ipsTitle ipsTitle--h5 i-margin-top_3 i-margin-bottom_1">
|
||||
IPSCONTENT;
|
||||
|
||||
$sprintf = array($versionNumber); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'with_version', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'sprintf' => $sprintf ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</strong></li>
|
||||
</div>
|
||||
<ul class='ipsList ipsList--inline'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -802,12 +797,22 @@ IPSCONTENT;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
<span class="i-color_soft ipsResponsive_hidePhone"><i class="fa-solid fa-circle-info"></i>
|
||||
<a class='ipsButton ipsButton--inherit ipsButton--wide' href='
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=system&controller=login", null, "login", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' data-ipsDialog data-ipsDialog-size='medium' data-ipsDialog-title='
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'teaser_signin_button', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
'><i class="fa-solid fa-circle-info"></i>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'download_teaser', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span>
|
||||
</a>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -1013,7 +1018,7 @@ IPSCONTENT;
|
||||
|
||||
if ( !\IPS\Widget\Request::i()->isAjax() ):
|
||||
$return .= <<<IPSCONTENT
|
||||
class="ipsBox"
|
||||
class="ipsBox ipsBox--downloadLogTable"
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
@@ -1507,7 +1512,7 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
>
|
||||
<header class='ipsPageHeader ipsBox ipsPull ipsPageHeader--downloads-pending'>
|
||||
<header class='ipsPageHeader ipsBox ipsBox--downloadsPendingHeader ipsPull ipsPageHeader--downloads-pending'>
|
||||
<div class="ipsPageHeader__row">
|
||||
<div class='ipsPageHeader__primary'>
|
||||
<h1 class='ipsPageHeader__title'>
|
||||
@@ -1790,7 +1795,7 @@ endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
<div class='ipsBox i-margin-top_block'>
|
||||
<div class='ipsBox ipsBox--downloadsPending i-margin-top_block'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -2252,135 +2257,137 @@ $return .= <<<IPSCONTENT
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $file->reviewFeedId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' id='reviews' class='ipsEntries ipsEntries--reviews ipsEntries--download-reviews' data-follow-area-id="file-
|
||||
' id='reviews' data-follow-area-id="file-
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $file->id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
|
||||
<div class="ipsComposeAreaWrapper">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $file->reviewForm() ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $file->locked() ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<strong class='i-color_warning'><i class='fa-solid fa-circle-info'></i>
|
||||
<strong class='i-color_warning'><i class='fa-solid fa-circle-info'></i>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'item_locked_can_review', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</strong>
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div id='elFileReviewForm'>
|
||||
{$file->reviewForm()}
|
||||
</div>
|
||||
|
||||
<div id='elFileReviewForm'>
|
||||
{$file->reviewForm()}
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $file->hasReviewed() ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<!-- Already reviewed -->
|
||||
|
||||
<!-- Already reviewed -->
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
elseif ( $file->locked() ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "forms", "core", 'front' )->commentUnavailable( 'item_locked_cannot_review' );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
elseif ( \IPS\Member::loggedin()->restrict_post ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Member::loggedIn()->restrict_post == -1 ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "forms", "core", 'front' )->reviewUnavailable( 'restricted_cannot_comment' );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "forms", "core", 'front' )->reviewUnavailable( 'restricted_cannot_comment', \IPS\Member::loggedIn()->warnings(5,NULL,'rpa'), \IPS\Member::loggedIn()->restrict_post );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
elseif ( $file->mustDownloadBeforeReview() ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<p class='i-color_soft i-font-weight_600 i-text-align_center i-background_2 i-padding_2 i-border-start-start-radius_box i-border-start-end-radius_box'>
|
||||
<p class='i-color_soft i-font-weight_600 i-text-align_center i-background_2 i-padding_2 i-border-start-start-radius_box i-border-start-end-radius_box'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'no_download_review', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</p>
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
elseif ( \IPS\Member::loggedIn()->members_bitoptions['unacknowledged_warnings'] ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "forms", "core", 'front' )->reviewUnavailable( 'unacknowledged_warning_cannot_post', \IPS\Member::loggedIn()->warnings( 1, FALSE ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -2457,7 +2464,7 @@ $return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div data-role='commentFeed' data-controller='core.front.core.moderation'>
|
||||
<div data-role='commentFeed' data-controller='core.front.core.moderation' class='ipsEntries ipsEntries--reviews ipsEntries--download-reviews'>
|
||||
<form action="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $file->url()->csrf()->setQueryString( 'do', 'multimodReview' )->setPage('page',\IPS\Request::i()->page), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
@@ -2610,7 +2617,7 @@ IPSCONTENT;
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "downloads/front/view/view", "main:inside-start", [ $file,$commentsAndReviews,$versionData,$previousVersions,$next,$prev,$cfields ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class="ipsBox ipsPull">
|
||||
<div class="ipsBox ipsBox--downloadsFile ipsPull">
|
||||
<header class="ipsPageHeader">
|
||||
<div class="ipsPageHeader__row">
|
||||
|
||||
@@ -2624,17 +2631,7 @@ IPSCONTENT;
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "downloads/front/view/view", "header:inside-start", [ $file,$commentsAndReviews,$versionData,$previousVersions,$next,$prev,$cfields ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "downloads/front/view/view", "title:before", [ $file,$commentsAndReviews,$versionData,$previousVersions,$next,$prev,$cfields ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
<div data-ips-hook="title" class="ipsPageHeader__title">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "downloads/front/view/view", "title:inside-start", [ $file,$commentsAndReviews,$versionData,$previousVersions,$next,$prev,$cfields ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class="ipsPageHeader__title">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -2668,7 +2665,17 @@ IPSCONTENT;
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "downloads/front/view/view", "badges:after", [ $file,$commentsAndReviews,$versionData,$previousVersions,$next,$prev,$cfields ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<h1>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "downloads/front/view/view", "title:before", [ $file,$commentsAndReviews,$versionData,$previousVersions,$next,$prev,$cfields ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
<h1 data-ips-hook="title">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "downloads/front/view/view", "title:inside-start", [ $file,$commentsAndReviews,$versionData,$previousVersions,$next,$prev,$cfields ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -2732,18 +2739,18 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</h1>
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "downloads/front/view/view", "title:inside-end", [ $file,$commentsAndReviews,$versionData,$previousVersions,$next,$prev,$cfields ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
</div>
|
||||
</h1>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "downloads/front/view/view", "title:after", [ $file,$commentsAndReviews,$versionData,$previousVersions,$next,$prev,$cfields ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -2841,7 +2848,17 @@ IPSCONTENT;
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "downloads/front/view/view", "header:after", [ $file,$commentsAndReviews,$versionData,$previousVersions,$next,$prev,$cfields ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class="ipsButtons">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "downloads/front/view/view", "fileMainButtons:before", [ $file,$commentsAndReviews,$versionData,$previousVersions,$next,$prev,$cfields ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
<div class="ipsButtons" data-ips-hook="fileMainButtons">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "downloads/front/view/view", "fileMainButtons:inside-start", [ $file,$commentsAndReviews,$versionData,$previousVersions,$next,$prev,$cfields ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -2890,7 +2907,17 @@ IPSCONTENT;
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core" )->follow( 'downloads', 'file', $file->id, $file->followersCount() );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "downloads/front/view/view", "fileMainButtons:inside-end", [ $file,$commentsAndReviews,$versionData,$previousVersions,$next,$prev,$cfields ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
</div>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "downloads/front/view/view", "fileMainButtons:after", [ $file,$commentsAndReviews,$versionData,$previousVersions,$next,$prev,$cfields ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
<div class="ipsPageHeader__row ipsPageHeader__row--footer">
|
||||
<div class="ipsPageHeader__primary">
|
||||
@@ -3199,37 +3226,45 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
<div class="ipsColumns ipsColumns--lines">
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $file->screenshots()->getInnerIterator()->count() ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<section class="i-basis_100p">
|
||||
<h2 class="ipsBox__header ipsHide">
|
||||
<section class="i-border-bottom_3">
|
||||
<h2 class="ipsBox__header ipsHide">
|
||||
IPSCONTENT;
|
||||
|
||||
$pluralize = array( $file->screenshots()->getInnerIterator()->count() ); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'screenshots_ct', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'pluralize' => $pluralize ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</h2>
|
||||
<div class="">
|
||||
<ul class="ipsCarousel ipsCarousel--padding ipsCarousel--images ipsCarousel--downloads-file-screenshots" id="downloads-file-screenshots" tabindex="0">
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "downloads/front/view/view", "screenshots:before", [ $file,$commentsAndReviews,$versionData,$previousVersions,$next,$prev,$cfields ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
<div data-ips-hook="screenshots">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "downloads/front/view/view", "screenshots:inside-start", [ $file,$commentsAndReviews,$versionData,$previousVersions,$next,$prev,$cfields ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<ul class="ipsCarousel ipsCarousel--padding ipsCarousel--images ipsCarousel--downloads-file-screenshots" id="downloads-file-screenshots" tabindex="0">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$fullScreenshots = iterator_to_array( $file->screenshots() );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $file->screenshots( 1 ) as $id => $screenshot ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li>
|
||||
<a href="
|
||||
<li>
|
||||
<a href="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $fullScreenshots[ $id ]->url, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
@@ -3238,34 +3273,45 @@ IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $file->id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
<img src="
|
||||
<img src="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $screenshot->url, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" alt="">
|
||||
</a>
|
||||
</li>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
|
||||
</ul>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core" )->carouselNavigation( 'downloads-file-screenshots', 'i-margin-bottom_2' );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "downloads/front/view/view", "screenshots:inside-end", [ $file,$commentsAndReviews,$versionData,$previousVersions,$next,$prev,$cfields ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
</div>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "downloads/front/view/view", "screenshots:after", [ $file,$commentsAndReviews,$versionData,$previousVersions,$next,$prev,$cfields ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</section>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
<div class="ipsColumns ipsColumns--lines">
|
||||
<article class="ipsColumns__primary i-flex i-flex-direction_column">
|
||||
|
||||
IPSCONTENT;
|
||||
@@ -3384,7 +3430,7 @@ if ( $versionData['b_changelog'] or !empty( $previousVersions ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<section data-controller="downloads.front.view.changeLog" class="i-margin-top_4 i-background_2 i-padding_3 i-border-radius_box">
|
||||
<div class="i-flex i-align-items_center i-gap_1 i-flex-wrap_wrap i-justify-content_space-between i-margin-bottom_3">
|
||||
<div class="i-flex i-align-items_center i-gap_1 i-flex-wrap_wrap i-justify-content_space-between i-margin-bottom_2">
|
||||
<h2 class="ipsTitle ipsTitle--h5">
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -3396,7 +3442,8 @@ IPSCONTENT;
|
||||
|
||||
if ( !empty( $previousVersions ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
<a href="#" id="elChangelog" data-ipsmenu data-ipsmenu-selectable="radio" class="i-color_soft i-font-weight_500" title="
|
||||
|
||||
<button type="button" id="elChangelog" popovertarget="elChangelog_menu" class="i-color_soft i-font-weight_500" title="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'see_changelog_title', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
@@ -3406,7 +3453,8 @@ IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'see_changelog', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span><i class="fa-solid fa-caret-down i-margin-start_icon"></i></a>
|
||||
</span><i class="fa-solid fa-caret-down i-margin-start_icon"></i></button>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
@@ -3421,28 +3469,16 @@ $return .= \IPS\Theme::i()->getTemplate( "view", \IPS\Request::i()->app )->chang
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
<ul class="ipsMenu ipsMenu_selectable ipsMenu_auto ipsHide" id="elChangelog_menu">
|
||||
|
||||
<i-dropdown popover id="elChangelog_menu" data-i-dropdown-selectable="radio">
|
||||
<div class="iDropdown">
|
||||
<ul class="iDropdown__items">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$versionNumber = $file->version ?: (string) \IPS\DateTime::ts( $file->published );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li class="ipsMenu_item
|
||||
IPSCONTENT;
|
||||
|
||||
if ( !\IPS\Widget\Request::i()->changelog ):
|
||||
$return .= <<<IPSCONTENT
|
||||
ipsMenu_itemChecked
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
" data-ipsmenuvalue="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $versionNumber, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
"><a href="
|
||||
<li><a href="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $file->url()->setQuerystring( 'changelog', 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
@@ -3451,34 +3487,38 @@ IPSCONTENT;
|
||||
|
||||
$sprintf = array($versionNumber); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'see_changelog_for', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'sprintf' => $sprintf ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
"
|
||||
IPSCONTENT;
|
||||
|
||||
if ( !\IPS\Widget\Request::i()->changelog ):
|
||||
$return .= <<<IPSCONTENT
|
||||
aria-selected="true"
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
data-ipsmenuvalue="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $versionNumber, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
"><i class="iDropdown__input"></i>
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $versionNumber, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a></li>
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $previousVersions as $version ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$versionNumber = $version['b_version'] ?: (string) \IPS\DateTime::ts( $version['b_backup'] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li class="ipsMenu_item
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Widget\Request::i()->changelog == $version['b_id'] ):
|
||||
$return .= <<<IPSCONTENT
|
||||
ipsMenu_itemChecked
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li class="
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $version['b_hidden'] ):
|
||||
@@ -3488,7 +3528,27 @@ IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
" data-ipsmenuvalue="
|
||||
">
|
||||
<a href="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $file->url()->setQueryString( 'changelog', $version['b_id'] ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" title="
|
||||
IPSCONTENT;
|
||||
|
||||
$sprintf = array($versionNumber); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'see_changelog_for', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'sprintf' => $sprintf ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
"
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Widget\Request::i()->changelog == $version['b_id'] ):
|
||||
$return .= <<<IPSCONTENT
|
||||
aria-selected="true"
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
data-ipsmenuvalue="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( md5( $versionNumber . $version['b_backup'] . mt_rand() ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
@@ -3498,36 +3558,31 @@ IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $versionNumber, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
<a href="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $file->url()->setQueryString( 'changelog', $version['b_id'] ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" title="
|
||||
IPSCONTENT;
|
||||
|
||||
$sprintf = array($versionNumber); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'see_changelog_for', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'sprintf' => $sprintf ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
|
||||
<i class="iDropdown__input"></i>
|
||||
<div>
|
||||
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $versionNumber, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
<br>
|
||||
<span class="i-color_soft">
|
||||
|
||||
<span class="iDropdown__minor">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\DateTime::ts( $version['b_backup'] )->html();
|
||||
$return .= <<<IPSCONTENT
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
</ul>
|
||||
</div>
|
||||
</i-dropdown>
|
||||
</section>
|
||||
|
||||
IPSCONTENT;
|
||||
@@ -3647,9 +3702,29 @@ IPSCONTENT;
|
||||
if ( $menu->hasContent() ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<menu class="ipsEntry__controls">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "downloads/front/view/view", "menu:before", [ $file,$commentsAndReviews,$versionData,$previousVersions,$next,$prev,$cfields ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
<menu class="ipsEntry__controls" data-ips-hook="menu">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "downloads/front/view/view", "menu:inside-start", [ $file,$commentsAndReviews,$versionData,$previousVersions,$next,$prev,$cfields ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li>{$menu}</li>
|
||||
</menu>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "downloads/front/view/view", "menu:inside-end", [ $file,$commentsAndReviews,$versionData,$previousVersions,$next,$prev,$cfields ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
</menu>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "downloads/front/view/view", "menu:after", [ $file,$commentsAndReviews,$versionData,$previousVersions,$next,$prev,$cfields ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -3726,7 +3801,7 @@ IPSCONTENT;
|
||||
if ( !$file->isPurchasable( FALSE ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<button class="ipsButton ipsButton--inherit ipsResponsive_hidePhone" disabled type="button"><i class="fa-solid fa-circle-info"></i><span>
|
||||
<button class="ipsButton ipsButton--inherit" disabled type="button"><i class="fa-solid fa-circle-info"></i><span>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'purchasing_disabled', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
@@ -3818,7 +3893,7 @@ IPSCONTENT;
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
{$file->downloadTeaser()}
|
||||
<li>{$file->downloadTeaser()}</li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -3876,20 +3951,22 @@ IPSCONTENT;
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<a href="#elFileRenew_menu" id="elFileRenew" class="ipsButton ipsButton--primary ipsButton--large i-width_100p" data-ipsmenu><i class="fa-solid fa-arrows-rotate"></i><span>
|
||||
<button type="button" id="elFileRenew" popovertarget="elFileRenew_menu" class="ipsButton ipsButton--primary ipsButton--large i-width_100p"><i class="fa-solid fa-arrows-rotate"></i><span>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'purchase_renew_now', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span><i class="fa-solid fa-caret-down"></i></a>
|
||||
<ul id="elFileRenew_menu" class="ipsMenu ipsMenu_auto ipsHide">
|
||||
|
||||
</span><i class="fa-solid fa-caret-down"></i></button>
|
||||
<i-dropdown popover id="elFileRenew_menu">
|
||||
<div class="iDropdown">
|
||||
<ul class="iDropdown__items">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $purchasesToRenew as $purchase ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li class="ipsMenu_item"><a href="
|
||||
<li><a href="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $purchase->url()->setQueryString('do', 'renew')->csrf(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
@@ -3897,18 +3974,20 @@ $return .= <<<IPSCONTENT
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $purchase->name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
<br><span class="i-color_soft">
|
||||
<span class="iDropdown__minor">
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $purchase->renewals, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span></a></li>
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
</ul>
|
||||
</div>
|
||||
</i-dropdown>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
|
||||
Reference in new issue
Block a user