[FEATURE] Signal to process actions in Extension Manager
[Packages/TYPO3.CMS.git] / typo3 / sysext / extensionmanager / Resources / Private / Templates / List / Index.html
1 {namespace em=TYPO3\CMS\Extensionmanager\ViewHelpers}
2
3 <f:layout name="main" />
4
5 <f:section name="docheader-buttons">
6 <f:be.buttons.icon uri="{f:uri.action(action:'form',controller:'UploadExtensionFile')}" icon="actions-edit-upload" title="{f:translate(key:'extensionList.uploadExtension')}"/>
7 </f:section>
8
9 <f:section name="module-headline">
10 <h1><f:translate key="manageExtensions">Manage extensions</f:translate></h1>
11 </f:section>
12
13 <f:section name="Content">
14 <f:flashMessages renderMode="div" />
15
16 <f:render partial="List/UploadForm" />
17
18 <div class="headerRow ui-helper-clearfix">
19 <div class="typo3-extensionmanager-headerRowLeft">
20 </div>
21 <div class="typo3-extensionmanager-headerRowRight">
22 </div>
23 </div>
24 <table id="typo3-extension-list" class="t3-table typo3-extension-list">
25 <thead>
26 <tr>
27 <th title="{f:translate(key:'extensionList.header.title.update')}"><f:translate key="extensionList.header.update"/></th>
28 <th title="{f:translate(key:'extensionList.header.title.activate')}"><f:translate key="extensionList.header.activate"/></th>
29 <th><f:translate key="extensionList.header.extensionName"/></th>
30 <th><f:translate key="extensionList.header.extensionKey"/></th>
31 <th><f:translate key="extensionList.header.extensionVersion"/></th>
32 <th><f:translate key="extensionList.header.extensionActions"/></th>
33 <th><f:translate key="extensionList.header.extensionState"/></th>
34 </tr>
35 </thead>
36 <tbody>
37 <f:for each="{extensions}" as="extension" key="extensionKey">
38 <f:if condition="{extension.terObject}">
39 <f:then>
40 <tr id="{extensionKey}" class="{f:if(condition:'{extension.terObject.reviewState} == -1', then:'insecure')}{f:if(condition:'{extension.terObject.reviewState} == -2', then:'outdated')} {f:if(condition:'{extension.installed}', then: '', else: 'inactive')}">
41 </f:then>
42 <f:else>
43 <tr id="{extensionKey}" class="{f:if(condition:'{extension.installed}', then: '', else: 'inactive')}">
44 </f:else>
45 </f:if>
46 <td>
47 <f:if condition="{extension.updateAvailable}">
48 <f:if condition="{extension.state} == 'excludeFromUpdates'">
49 <f:then>
50 <f:be.buttons.icon
51 icon="actions-system-extension-update-disabled"
52 title="{f:translate(key:'extensionList.updateDisabled')}"
53 />
54 </f:then>
55 <f:else>
56 <f:be.buttons.icon
57 uri="{f:uri.action(action:'updateCommentForUpdatableVersions',controller:'Download',arguments:{extension:extension.key, integerVersion: extension.terObject.integerVersion},format:'json')}"
58 icon="actions-system-extension-update"
59 title="{f:translate(key:'extensionList.updateToVersion', arguments:{0:extension.updateToVersion.version})}"
60 />
61 </f:else>
62 </f:if>
63 </f:if>
64 </td>
65 <td>
66 <em:toggleExtensionInstallationState extension="{extension}" />
67 </td>
68 <f:if condition="{extension.description}">
69 <f:then>
70 <td title="{extension.description}">
71 </f:then>
72 <f:else>
73 <td>
74 </f:else>
75 </f:if>
76 <f:if condition="{extension.ext_icon}">
77 <img class="ext-icon" src="../{extension.siteRelPath}/{extension.ext_icon}" alt="{extension.title}" />
78 </f:if>
79 <em:configureExtension extension="{extension}" forceConfiguration="0" showDescription="1">{extension.title}</em:configureExtension>
80 </td>
81 <td>
82 {extensionKey}
83 </td>
84 <td>
85 {extension.version}
86 </td>
87 <td class="icons">
88 <em:processAvailableActions extension="{extension}">
89 <em:configureExtension extension="{extension}"><f:be.buttons.icon icon="actions-system-extension-configure" title="{f:translate(key:'extensionList.configure')}" /></em:configureExtension>
90 <em:updateScript extensionKey="{extension.key}" />
91 <em:removeExtension extension="{extension}" />
92 <f:be.buttons.icon uri="{f:uri.action(action:'downloadExtensionZip',controller:'Action',arguments:'{extension:extension.key}')}" icon="actions-system-extension-download" title="{f:translate(key:'extensionList.downloadzip')}"/>
93 <em:downloadExtensionData extension="{extension}" />
94 </em:processAvailableActions>
95 </td>
96 <td class="state {extension.state}">
97 {extension.state}
98 </td>
99 </tr>
100 </f:for>
101 </tbody>
102 </table>
103 </f:section>
104
105