4491752e8b3d0d9e3162174561c03144cd81acb1
[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 <div id="upload-button-wrap">
7 <f:be.buttons.icon uri="{f:uri.action(action:'form',controller:'UploadExtensionFile')}" icon="actions-edit-upload" title="{f:translate(key:'extensionList.uploadExtension')}"/>
8 </div>
9 </f:section>
10
11 <f:section name="module-headline">
12 <h1><f:translate key="installedExtensions" /></h1>
13 </f:section>
14
15 <f:section name="Content">
16 <f:flashMessages />
17
18 <f:render partial="List/UploadForm" />
19
20 <form class="form-inline">
21 <div class="form-group">
22 <f:form.textfield name="Tx_Extensionmanager_extensionkey" placeholder="{f:translate(key:'extensionList.search')}" id="Tx_Extensionmanager_extensionkey" value="{search}" class="form-control" />
23 </div>
24 </form>
25 <div class="table-fit">
26 <table id="typo3-extension-list" class="table table-striped table-hover typo3-extension-list">
27 <thead>
28 <tr>
29 <th title="{f:translate(key:'extensionList.header.title.update')}"><f:translate key="extensionList.header.update"/></th>
30 <th title="{f:translate(key:'extensionList.header.title.activate')}"><f:translate key="extensionList.header.activate"/></th>
31 <th><f:translate key="extensionList.header.extensionName"/></th>
32 <th><f:translate key="extensionList.header.extensionKey"/></th>
33 <th><f:translate key="extensionList.header.extensionVersion"/></th>
34 <th><f:translate key="extensionList.header.extensionState"/></th>
35 <th><f:translate key="extensionList.header.extensionActions"/></th>
36 </tr>
37 </thead>
38 <tbody>
39 <f:for each="{extensions}" as="extension" key="extensionKey">
40 <f:if condition="{extension.terObject}">
41 <f:then>
42 <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')}">
43 </f:then>
44 <f:else>
45 <tr id="{extensionKey}" class="{f:if(condition:'{extension.installed}', then: '', else: 'inactive')}">
46 </f:else>
47 </f:if>
48 <td>
49 <f:if condition="{extension.updateAvailable}">
50 <div class="btn-group">
51 <f:if condition="{extension.state} == 'excludeFromUpdates'">
52 <f:then>
53 <span class="btn btn-default disabled">
54 <f:be.buttons.icon
55 icon="actions-system-extension-update"
56 title="{f:translate(key:'extensionList.updateDisabled')}"
57 />
58 </span>
59 </f:then>
60 <f:else>
61 <span class="btn btn-default">
62 <f:be.buttons.icon
63 uri="{f:uri.action(action:'updateCommentForUpdatableVersions',controller:'Download',arguments:{extension:extension.key, integerVersionStart: extension.terObject.integerVersion, integerVersionStop: extension.updateToVersion.integerVersion},format:'json')}"
64 icon="actions-system-extension-update"
65 title="{f:translate(key:'extensionList.updateToVersion', arguments:{0:extension.updateToVersion.version})}"
66 additionalAttributes="{data-action:'update-extension'}"
67 />
68 </span>
69 </f:else>
70 </f:if>
71 </div>
72 </f:if>
73 </td>
74 <td>
75 <em:toggleExtensionInstallationState extension="{extension}" />
76 </td>
77 <f:if condition="{extension.description}">
78 <f:then>
79 <td title="{extension.description}">
80 </f:then>
81 <f:else>
82 <td>
83 </f:else>
84 </f:if>
85 <f:if condition="{extension.ext_icon}">
86 <img class="ext-icon" src="../{extension.siteRelPath}{extension.ext_icon}" alt="{extension.title}" />
87 </f:if>
88 <em:configureExtension extension="{extension}" forceConfiguration="0" showDescription="1">{extension.title}</em:configureExtension>
89 </td>
90 <td>
91 {extensionKey}
92 </td>
93 <td>
94 {extension.version}
95 </td>
96 <td>
97 <span class="label label-{extension.state}">{extension.state}</span>
98 </td>
99 <td>
100 <div class="btn-group">
101 <em:processAvailableActions extension="{extension}">
102 <em:configureExtension class="btn btn-default" extension="{extension}"><f:be.buttons.icon icon="actions-system-extension-configure" title="{f:translate(key:'extensionList.configure')}" /></em:configureExtension>
103 <em:updateScript class="btn btn-default" extensionKey="{extension.key}" />
104 <em:removeExtension class="btn btn-default" extension="{extension}" />
105 <span class="btn btn-default"><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')}"/></span>
106 <em:downloadExtensionData class="btn btn-default" extension="{extension}" />
107 </em:processAvailableActions>
108 </div>
109 </td>
110 </tr>
111 </f:for>
112 </tbody>
113 </table>
114 </div>
115 </f:section>
116
117