Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
services
t3o sites
extensions.typo3.org
extensions.typo3.org
Commits
a373e75c
Commit
a373e75c
authored
Apr 21, 2017
by
Thomas Löffler
Browse files
[FEATURE] First bunch of new detail view design
parent
ff674873
Pipeline
#342
passed with stages
in 1 minute and 41 seconds
Changes
4
Pipelines
1
Show whitespace changes
Inline
Side-by-side
html/typo3conf/ext/ter_fe2/Resources/Private/Partials/ExtensionSingleInfo.html
View file @
a373e75c
{namespace terfe2=Tx_TerFe2_ViewHelpers}
<div
class=
"ter-ext-single-info ter-ext-info"
>
<table>
<tr
class=
"ter-ext-single-info-key"
>
<th>
<f:translate
key=
"extensionKey"
/>
</th>
<td><strong>
{extension.extKey}
</strong></td>
</tr>
<tr>
<th>
<f:translate
key=
"version"
/>
</th>
<td>
{extension.lastVersion.versionString}
<span
class=
"ter-ext-state ter-ext-state-{extension.lastVersion.state}"
>
{extension.lastVersion.state}
</span>
</td>
</tr>
<tr>
<th>
<f:translate
key=
"last_updated"
/>
</th>
<td>
<terfe2:dateTime
format=
"{settings.dateFormat}"
>
{extension.lastVersion.uploadDate}
</terfe2:dateTime>
</td>
</tr>
<tr>
<th>
<f:translate
key=
"first_upload"
/>
</th>
<td>
<terfe2:dateTime
format=
"{settings.dateFormat}"
>
{extension.crdate}
</terfe2:dateTime>
</td>
</tr>
<tr>
<th>
<f:translate
key=
"downloads"
/>
</th>
<td>
<f:format.number
decimals=
"0"
thousandsSeparator=
","
decimalSeparator=
"."
>
{extension.downloads}
</f:format.number>
</td>
</tr>
<dl
class=
"row"
>
<dt
class=
"col-sm-3"
><f:translate
key=
"version"
/></dt>
<dd
class=
"col-sm-9"
>
{extension.lastVersion.versionString}
</dd>
<dt
class=
"col-sm-3"
><f:translate
key=
"last_updated"
/></dt>
<dd
class=
"col-sm-9"
><terfe2:dateTime
format=
"{settings.dateFormat}"
>
{extension.lastVersion.uploadDate}
</terfe2:dateTime></dd>
<dt
class=
"col-sm-3"
><f:translate
key=
"first_upload"
/></dt>
<dd
class=
"col-sm-9"
><terfe2:dateTime
format=
"{settings.dateFormat}"
>
{extension.crdate}
</terfe2:dateTime></dd>
<dt
class=
"col-sm-3"
><f:translate
key=
"downloads"
/></dt>
<dd
class=
"col-sm-9"
><f:format.number
decimals=
"0"
thousandsSeparator=
","
decimalSeparator=
"."
>
{extension.downloads}
</f:format.number></dd>
<f:security.ifHasRole
role=
"{settings.reviewerGroupUid}"
>
<tr>
<th>
Owner:
</th>
<td>
Name: {owner.name}
<br/>
Email: {owner.email}
<br/>
Username: {owner.username}
</td>
</tr>
<dt
class=
"col-sm-3"
>
Owner:
</dt>
<dd
class=
"col-sm-9"
>
Name: {owner.name}
<br
/>
Email: {owner.email}
<br
/>
Username: {owner.username}
</dd>
</f:security.ifHasRole>
<tr>
<th>
<f:translate
key=
"category"
/>
</th>
<td>
<dt
class=
"col-sm-3"
><f:translate
key=
"category"
/></dt>
<dd
class=
"col-sm-9"
>
<f:if
condition=
"{extension.lastVersion.emCategory}"
>
<f:then>
<f:translate
key=
"category_{extension.lastVersion.emCategory}"
/>
<f:translate
key=
"category_{extension.lastVersion.emCategory}"
/>
</f:then>
<f:else>
<f:translate
key=
"none"
/>
<f:translate
key=
"none"
/>
</f:else>
</f:if>
</td>
</tr>
<tr
class=
"ter-ext-single-info-relations"
>
<th>
<f:translate
key=
"dependencies"
/>
</th>
<td>
<f:render
partial=
"InlineRelationList"
arguments=
"{relations: extension.lastVersion.dependencies}"
/>
</td>
</tr>
<tr
class=
"ter-ext-single-info-relations"
>
<th>
<f:translate
key=
"conflicts"
/>
</th>
<td>
<f:render
partial=
"InlineRelationList"
arguments=
"{relations: extension.lastVersion.conflicts}"
/>
</td>
</tr>
<tr
class=
"ter-ext-single-info-manual"
>
<th>
<f:translate
key=
"manual"
/>
</th>
<td>
</dd>
<dt
class=
"col-sm-3"
><f:translate
key=
"dependencies"
/></dt>
<dd
class=
"col-sm-9"
><f:render
partial=
"InlineRelationList"
arguments=
"{relations: extension.lastVersion.dependencies}"
/></dd>
<dt
class=
"col-sm-3"
><f:translate
key=
"conflicts"
/></dt>
<dd
class=
"col-sm-9"
><f:render
partial=
"InlineRelationList"
arguments=
"{relations: extension.lastVersion.conflicts}"
/></dd>
<dt
class=
"col-sm-3"
><f:translate
key=
"manual"
/></dt>
<dd
class=
"col-sm-9"
>
<f:if
condition=
"{documentationLink}"
>
<f:then>
<terfe2:raw>
{documentationLink}
</terfe2:raw>
<f:if
condition=
"{extension.externalManual}"
>
<br/>
<br
/>
<f:link.external
rel=
"nofollow"
uri=
"{extension.externalManual}"
target=
"_blank"
>
<f:translate
key=
"external_manual"
/>
<f:translate
key=
"external_manual"
/>
</f:link.external>
</f:if>
</f:then>
...
...
@@ -100,83 +44,56 @@
<f:if
condition=
"{extension.externalManual}"
>
<f:then>
<f:link.external
rel=
"nofollow"
uri=
"{extension.externalManual}"
target=
"_blank"
>
<f:translate
key=
"extension_manual"
/>
<f:translate
key=
"extension_manual"
/>
</f:link.external>
</f:then>
<f:else>
<f:translate
key=
"extension_manual_not_available"
/>
<f:translate
key=
"extension_manual_not_available"
/>
</f:else>
</f:if>
</f:else>
</f:if>
</td>
</tr>
</dd>
<f:if
condition=
"{extension.forgeLink}"
>
<tr
class=
"ter-ext-single-info-key"
>
<th>
<f:translate
key=
"bugtracker"
/>
</th>
<td>
<dt
class=
"col-sm-3"
>
<f:translate
key=
"bugtracker"
/>
</dt>
<dd
class=
"col-sm-9"
>
<f:link.external
rel=
"nofollow"
uri=
"{extension.forgeLink}"
target=
"_blank"
>
<f:translate
key=
"found_a_bug"
/>
<f:translate
key=
"found_a_bug"
/>
</f:link.external>
</td>
</tr>
</dd>
</f:if>
<f:if
condition=
"{extension.repositoryUrl}"
>
<tr
class=
"ter-ext-single-info-key"
>
<th>
<f:translate
key=
"repository_url"
/>
</th>
<td>
<dt
class=
"col-sm-3"
>
<f:translate
key=
"repository_url"
/>
</dt>
<dd
class=
"col-sm-9"
>
<f:link.external
rel=
"nofollow"
uri=
"{extension.repositoryUrl}"
target=
"_blank"
>
<f:translate
key=
"repository_url_value"
/>
<f:translate
key=
"repository_url_value"
/>
</f:link.external>
</td>
</tr>
</dd>
</f:if>
<f:if
condition=
"{flattrUrl}"
>
<tr
class=
"ter-ext-single-flattr"
>
<th>
<f:translate
key=
"donate"
/>
</th>
<td>
<dt
class=
"col-sm-3"
>
<f:translate
key=
"donate"
/>
</dt>
<dd
class=
"col-sm-9"
>
<f:link.external
uri=
"{flattrUrl}"
target=
"_blank"
><img
src=
"https://api.flattr.com/button/flattr-badge-large.png"
alt=
"{f:translate(key:'donate')}"
/></f:link.external>
</td>
</tr>
alt=
"{f:translate(key:'donate')}"
/></f:link.external>
</dd>
</f:if>
<f:if
condition=
"{extension.paypalUrl}"
>
<tr
class=
"ter-ext-single-info-key"
>
<th>
<f:translate
key=
"like_it"
/>
</th>
<td>
<dt
class=
"col-sm-3"
>
<f:translate
key=
"like_it"
/>
</dt>
<dd
class=
"col-sm-9"
>
<f:link.external
rel=
"nofollow"
uri=
"{extension.paypalUrl}"
target=
"_blank"
>
<f:translate
key=
"donate_url"
/>
<f:translate
key=
"donate_url"
/>
</f:link.external>
</td>
</tr>
</dd>
</f:if>
<f:if
condition=
"{owner.username}"
>
<tr>
<th>
Username
</th>
<td>
{owner.username}
</td>
</tr>
</f:if>
<f:if
condition=
"{owner}"
>
<tr>
<th>
<f:translate
key=
"author"
/>
</th>
<td>
{owner.name}
<br/>
</td>
</tr>
</f:if>
</table>
</div>
<dt
class=
"col-sm-3"
><f:translate
key=
"author"
/></dt>
<dd
class=
"col-sm-9"
>
{owner.name}
</dd>
</dl>
html/typo3conf/ext/ter_fe2/Resources/Private/Partials/ExtensionUploadHistoryList.html
View file @
a373e75c
{namespace terfe2=Tx_TerFe2_ViewHelpers}
<table>
<table
class=
"table table-hover"
>
<thead>
<tr>
<th
class=
"col-sm-3"
><i
class=
"fa fa-info"
></i>
Version
</th>
<th
class=
"col-sm-4"
><i
class=
"fa fa-comment-o"
></i>
Upload comment
</th>
<th
class=
"col-sm-3"
>
Supports TYPO3 version
</th>
<th
class=
"col-sm-2"
><i
class=
"fa fa-download"
></i>
Download
</th>
</tr>
</thead>
<tbody>
<f:for
each=
"{versionHistory}"
as=
"version"
>
<tr
<
f:if
condition=
"{version} == {version.extension.lastVersion}"
>
class="
latest-version-row
"
</f:if>
<f:if
condition=
"{version.reviewState} == -1"
>
class="
insecure-version-row
"
</f:if>
<
f:if
condition=
"{version} == {version.extension.lastVersion}"
>
class="
table-success
"
</f:if>
<f:if
condition=
"{version.reviewState} == -1"
>
class="
table-danger
"
</f:if>
>
<td
class=
"col1"
>
<td
>
<strong>
{version.versionString}
</strong>
<br/>
<br
/>
<small>
<f:format.date
format=
"F d, Y"
>
{version.uploadDate}
</f:format.date>
</small>
</td>
<td
class=
"col2"
>
<td
>
<f:format.nl2br>
{version.uploadComment}
</f:format.nl2br>
</td>
<td>
<f:if
condition=
"{version.typo3Dependency}"
>
<f:then>
<br/>
<strong>
Supports TYPO3 version {version.typo3Dependency.versionString}
</strong>
</f:then>
<strong>
{version.typo3Dependency.versionString}
</strong>
</f:if>
</td>
<td
class=
"col3"
>
<td
>
<f:if
condition=
"{version.reviewState} != -1"
>
<f:then>
<f:link.action
controller=
"Extension"
action=
"download"
arguments=
"{extension : extension, versionString : version.versionString, format : 't3x'}"
title=
"{f:translate(key:'filesize')}: {version.t3xFileSize -> terfe2:filesize()}"
class=
"ter-download-icon ter-download-icon-t3x"
>
<f:translate
key=
"download_t3x"
/>
</f:link.action>
<f:link.action
controller=
"Extension"
action=
"download"
arguments=
"{extension : extension, versionString : version.versionString, format : 'zip'}"
title=
"{f:translate(key:'filesize')}: {version.zipFileSize -> terfe2:filesize()}"
class=
"ter-download-icon ter-download-icon-zip
"
>
<f:translate
key=
"download_zip"
/>
class=
"btn btn-primary
"
>
<f:translate
key=
"download_zip"
/>
</f:link.action>
</f:then>
<f:else>
<f:security.ifHasRole
role=
"{settings.reviewerGroupUid}"
>
<f:then>
<f:link.action
controller=
"Extension"
action=
"download"
arguments=
"{extension : extension, versionString : version.versionString, format : 't3x'}"
class=
"ter-download-icon ter-download-icon-t3x"
title=
"{f:translate(key:'filesize')}: {version.t3xFileSize -> terfe2:filesize()}"
>
<f:translate
key=
"download_t3x"
/>
</f:link.action>
<f:link.action
controller=
"Extension"
action=
"download"
arguments=
"{extension : extension, versionString : version.versionString, format : 'zip'}"
class=
"ter-download-icon ter-download-icon-zip"
title=
"{f:translate(key:'filesize')}: {version.zipFileSize -> terfe2:filesize()}"
>
<f:translate
key=
"download_zip"
/>
<f:translate
key=
"download_zip"
/>
</f:link.action>
</f:then>
<f:else>
</f:else>
</f:security.ifHasRole>
</f:else>
</f:if>
</td>
</tr>
</f:for>
</tbody>
</table>
html/typo3conf/ext/ter_fe2/Resources/Private/Partials/InlineRelationList.html
View file @
a373e75c
...
...
@@ -2,47 +2,28 @@
<f:if
condition=
"{relations}"
>
<f:then>
<ul>
<ul
class=
"list-unstyled mb-0"
>
<f:for
each=
"{relations}"
as=
"relation"
iteration=
"relationIteration"
>
<li>
<f:if
condition=
"{relation.isExtension}"
>
<f:if
condition=
"{relation.relatedExtension}"
>
<f:then>
<f:link.action
controller=
"Extension"
action=
"show"
arguments=
"{extension : relation.relatedExtension}"
>
{relation.relationKey}
</f:link.action>
<f:link.action
controller=
"Extension"
action=
"show"
arguments=
"{extension : relation.relatedExtension}"
>
{relation.relationKey}
</f:link.action>
<f:if
condition=
"{relation.versionString}"
>
({relation.versionString})
</f:if>
<f:if
condition=
"{relationIteration.isLast}"
>
<f:then></f:then>
<f:else><br/></f:else>
</f:if>
</f:then>
<f:else>
{relation.relationKey}
<f:if
condition=
"{relation.versionString}"
>
({relation.versionString})
</f:if>
<f:if
condition=
"{relationIteration.isLast}"
>
<f:then></f:then>
<f:else><br/></f:else>
</f:if>
</f:else>
</f:if>
</f:if>
<f:if
condition=
"{relation.isSystem}"
>
<terfe2:format
function=
"strtoupper"
>
{relation.relationKey}
</terfe2:format>
<f:if
condition=
"{relation.versionString}"
>
({relation.versionString})
</f:if>
<f:if
condition=
"{relationIteration.isLast}"
>
<f:then></f:then>
<f:else><br/></f:else>
</f:if>
</f:if>
<f:if
condition=
"{relation.isCore}"
>
TYPO3
<f:if
condition=
"{relation.versionString}"
>
({relation.versionString})
</f:if>
<f:if
condition=
"{relationIteration.isLast}"
>
<f:then></f:then>
<f:else><br/></f:else>
</f:if>
</f:if>
</li>
</f:for>
...
...
html/typo3conf/ext/ter_fe2/Resources/Private/Templates/Extension/Show.html
View file @
a373e75c
{namespace terfe2=Tx_TerFe2_ViewHelpers}
<f:layout
name=
"Default"
/>
<f:layout
name=
"Default"
/>
<f:section
name=
"main"
>
<f:if
condition=
"{extension}"
>
<f:then>
<div
id=
"ter-ext-single"
class=
"ter-toggle-from-here"
>
<div
class=
"ter-ext-single-header"
>
<terfe2:extensionIcon
version=
"{extension.lastVersion}"
alt=
"{extension.lastVersion.title}"
class=
"ter-ext-icon"
/>
<header
class=
"mt-3"
>
<terfe2:extensionIcon
version=
"{extension.lastVersion}"
alt=
"{extension.lastVersion.title}"
class=
"ter-ext-icon"
/>
<h1>
{extension.lastVersion.title}
<small
class=
"text-muted"
>
{extension.extKey} /
<span
class=
"ter-ext-state-{extension.lastVersion.state}"
>
{extension.lastVersion.state}
</span>
</small>
</h1>
</div
>
</header
>
<f:if
condition=
"{extension.lastVersion.reviewState} == -2"
>
<div
class=
"tx-extbase-flash-message"
>
<div
class=
"typo3-message message-notice"
>
<div
class=
"alert alert-warning"
role=
"alert"
>
<h4
class=
"alert-header"
>
Outdated extension
</h4>
<p>
<strong>
Outdated extension
</strong><br/>
This extension supports none of the currently supported TYPO3 core versions or was
uploaded before the release of the oldest TYPO3 core version.
<br/>
It may no longer be maintained or supported by the extension owner.
<br/>
Please be careful using this extension for your up-to-date TYPO3 instance.
<br/><br/>
uploaded before the release of the oldest TYPO3 core version.
<br
/>
It may no longer be maintained or supported by the extension owner.
<br
/>
Please be careful using this extension for your up-to-date TYPO3 instance.
<br
/><br
/>
</p>
<p>
If you are sure this extension is flagged as outdated by mistake, please contact the
<f:link.page
pageUid=
"90"
>
t3o team
</f:link.page>
</p>
</div>
</div>
</f:if>
<div
class=
"extension-header-image
"
>
<div
class=
"extension-description
"
>
<div
class=
"row mb-3
"
>
<div
class=
"col-md-8
"
>
<p>
{extension.lastVersion.description}
</p>
</div>
<div
class=
"col-md-4"
>
<f:if
condition=
"{extension.lastVersion.reviewState} != -1"
>
<div
class=
"download-button"
>
<f:link.action
class=
"bu large"
controller=
"Extension"
action=
"download"
arguments=
"{extension : extension, versionString : extension.lastVersion.versionString, format : 't3x'}"
>
<f:translate
key=
"download_header"
/>
version {extension.lastVersion.versionString}
</f:link.action>
<div
class=
"btn-group mb-3"
>
<button
type=
"button"
class=
"btn btn-primary pull-right dropdown-toggle"
data-toggle=
"dropdown"
aria-haspopup=
"true"
aria-expanded=
"false"
>
Install {extension.extKey} via
</button>
<div
class=
"dropdown-menu"
>
<a
class=
"dropdown-item"
data-parent=
"#collapse-container"
data-toggle=
"collapse"
data-target=
"#install-zip"
>
ZIP file
</a>
<a
class=
"dropdown-item"
data-parent=
"#collapse-container"
data-toggle=
"collapse"
data-target=
"#install-composer"
>
composer
</a>
<a
class=
"dropdown-item"
data-parent=
"#collapse-container"
data-toggle=
"collapse"
data-target=
"#install-t3x"
>
T3X file
</a>
</div>
</div>
</f:if>
</div>
<div
style=
"clear: both;"
>
</div>
<div
class=
"b-tabs"
>
<ul
class=
"tabs lite-tabs"
>
<li
class=
"act"
>
<a
href=
"#"
>
<f:translate
key=
"description"
/>
</a>
</div>
<div
class=
"row mb-3 justify-content-center"
>
<div
id=
"collapse-container"
>
<div
class=
"collapse"
id=
"install-zip"
>
<div
class=
"card card-block bgWhite"
>
<h4>
Install {extension.extKey} via ZIP file
</h4>
<ol>
<li>
<f:link.action
class=
""
controller=
"Extension"
action=
"download"
arguments=
"{extension : extension, versionString : extension.lastVersion.versionString, format : 'zip'}"
>
Download ZIP file
</f:link.action>
</li>
<li
class=
""
>
<a
href=
"#"
>
<f:translate
key=
"download"
/>
</a>
<li>
Log into your TYPO3 backend
</li>
<f:if
condition=
"{settings.show.reviewForm}"
>
<f:security.ifHasRole
role=
"{settings.reviewerGroupUid}"
>
<li
class=
""
>
<a
href=
"#"
>
<f:translate
key=
"review"
/>
</a>
<li>
Go to Extension Manager module
</li>
</f:security.ifHasRole>
</f:if>
</ul>
<div
class=
"tab-panes"
>
<div
class=
"show-tab tab-content lite-tab-panes-black"
>
<div
class=
"ter-ext-single-content cl"
>
<div
class=
"ter-ext-single-description"
>
<li>
Press the upload button on the top bar
</li>
<li>
Select the ZIP file and upload it. If you want to overwrite an existing extension installation, activate the
checkbox.
</li>
</ol>
</div>
</div>
<div
class=
"collapse"
id=
"install-composer"
>
<div
class=
"card card-block bgWhite"
>
<h4>
Install {extension.extKey} via composer command
</h4>
<ol>
<li>
Go to your folder where the root composer.json file is located
</li>
<li>
Type:
<code>
composer require {extension.composerPackageName}
</code>
to get the latest version that runs on
your TYPO3 version.
</li>
</ol>
</div>
</div>
<div
class=
"collapse"
id=
"install-t3x"
>
<div
class=
"card card-block bgWhite"
>
<h4>
Install {extension.extKey} via T3X file
</h4>
<ol>
<li>
<f:link.action
class=
""
controller=
"Extension"
action=
"download"
arguments=
"{extension : extension, versionString : extension.lastVersion.versionString, format : 't3x'}"
>
Download T3X file
</f:link.action>
</li>
<li>
Log into your TYPO3 backend
</li>
<li>
Go to Extension Manager module
</li>
<li>
Press the upload button on the top bar
</li>
<li>
Select the T3X file and upload it. If you want to overwrite an existing extension installation, activate the checkbox.
</li>
</ol>
</div>
</div>
</div>
</div>
<f:if
condition=
"{extension.lastVersion.typo3Dependency}"
>
<div
class=
"row"
>
<div
class=
"col-md-6"
>
<h3>
TYPO3 version support
</h3>
<p>
This version works for
<strong>
TYPO3
{extension.lastVersion.typo3Dependency.versionString}
</strong><br/>
If you look for other TYPO3 versions, click the "Download" tab to get a
history of all extension versions.
</p>
</f:if>
<!-- Comments / changelog -->
<f:if
condition=
"{extension.lastVersion.uploadComment}"
>
<div
class=
"ter-ext-single-lastUploadComment"
>
<h3>
<f:translate
key=
"last_upload_comment"
/>
</h3>
<p>
<f:format.nl2br>
{extension.lastVersion.uploadComment}
</f:format.nl2br>
</p>
<div
class=
"alert alert-info"
>
This version works for
<strong>
TYPO3 {extension.lastVersion.typo3Dependency.versionString}
</strong><br
/>
If you look for other TYPO3 versions, go to the "Download" area to get a history of all extension versions.
</div>
</div>
</f:if>
<f:if
condition=
"{extension.tags}"
>
<div
class=
"col-md-6"
>
<h3>
Tags
</h3>
<p
class=
"tags"
>
<f:for
each=
"{extension.tags}"
as=
"tag"
>
<f:link.page
additionalParams=
"{q: '{tag.title}'}"
><span