Merge branch '2.0'
[GitHub/WoltLab/WCF.git] / wcfsetup / install / files / acp / templates / packageList.tpl
1 {include file='header' pageTitle='wcf.acp.package.list'}
2
3 <script data-relocate="true">
4 //<![CDATA[
5 $(function() {
6 WCF.Language.addObject({
7 'wcf.acp.package.searchForUpdates': '{lang}wcf.acp.package.searchForUpdates{/lang}',
8 'wcf.acp.package.searchForUpdates.noResults': '{lang}wcf.acp.package.searchForUpdates.noResults{/lang}',
9 'wcf.acp.package.uninstallation.title': '{lang}wcf.acp.package.uninstallation.title{/lang}',
10 'wcf.acp.pluginStore.authorization': '{lang}wcf.acp.pluginStore.authorization{/lang}',
11 'wcf.acp.pluginStore.purchasedItems': '{lang}wcf.acp.pluginStore.purchasedItems{/lang}',
12 'wcf.acp.pluginStore.purchasedItems.button.search': '{lang}wcf.acp.pluginStore.purchasedItems.button.search{/lang}',
13 'wcf.acp.pluginStore.purchasedItems.noResults': '{lang}wcf.acp.pluginStore.purchasedItems.noResults{/lang}'
14 });
15
16 {if $__wcf->session->getPermission('admin.system.package.canUninstallPackage')}
17 new WCF.ACP.Package.Uninstallation($('.jsPackageRow .jsUninstallButton'), {if PACKAGE_ID > 1}'{link controller='PackageList' forceWCF=true}packageID={literal}{packageID}{/literal}{/link}'{else}null{/if});
18 {if $packageID}
19 new WCF.PeriodicalExecuter(function(pe) {
20 pe.stop();
21 $('.jsUninstallButton[data-object-id={@$packageID}]').trigger('click');
22 }, 250);
23 {/if}
24 {/if}
25
26 {if $__wcf->session->getPermission('admin.system.package.canUpdatePackage')}
27 new WCF.ACP.Package.Update.Search();
28 {/if}
29
30 {if $__wcf->session->getPermission('admin.system.package.canUpdatePackage') && $__wcf->session->getPermission('admin.system.package.canUninstallPackage')}
31 new WCF.ACP.PluginStore.PurchasedItems.Search();
32 {/if}
33 });
34 //]]>
35 </script>
36
37 <header class="boxHeadline">
38 <h1>{lang}wcf.acp.package.list{/lang}</h1>
39 </header>
40
41 <div class="contentNavigation">
42 {pages print=true assign=pagesLinks controller='PackageList' link="pageNo=%d&sortField=$sortField&sortOrder=$sortOrder"}
43
44 {hascontent}
45 <nav>
46 <ul>
47 {content}
48 {if $__wcf->session->getPermission('admin.system.package.canInstallPackage')}
49 <li><a href="{link controller='PackageStartInstall'}action=install{/link}" class="button"><span class="icon icon16 icon-plus"></span> <span>{lang}wcf.acp.package.startInstall{/lang}</span></a></li>
50 {/if}
51
52 {event name='contentNavigationButtonsTop'}
53 {/content}
54 </ul>
55 </nav>
56 {/hascontent}
57 </div>
58
59 {if $objects|count}
60 <div class="tabularBox tabularBoxTitle marginTop">
61 <header>
62 <h2>{lang}wcf.acp.package.list{/lang} <span class="badge badgeInverse">{#$items}</span></h2>
63 </header>
64
65 <table class="table">
66 <thead>
67 <tr>
68 <th colspan="2" class="columnID{if $sortField == 'packageID'} active {@$sortOrder}{/if}"><a href="{link controller='PackageList'}pageNo={@$pageNo}&sortField=packageID&sortOrder={if $sortField == 'packageID' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{/link}">{lang}wcf.global.objectID{/lang}</a></th>
69 <th class="columnTitle{if $sortField == 'packageName'} active {@$sortOrder}{/if}"><a href="{link controller='PackageList'}pageNo={@$pageNo}&sortField=packageName&sortOrder={if $sortField == 'packageName' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{/link}">{lang}wcf.acp.package.name{/lang}</a></th>
70 <th class="columnText{if $sortField == 'author'} active {@$sortOrder}{/if}"><a href="{link controller='PackageList'}pageNo={@$pageNo}&sortField=author&sortOrder={if $sortField == 'author' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{/link}">{lang}wcf.acp.package.author{/lang}</a></th>
71 <th class="columnText">{lang}wcf.acp.package.version{/lang}</th>
72 <th class="columnDate{if $sortField == 'updateDate'} active {@$sortOrder}{/if}"><a href="{link controller='PackageList'}pageNo={@$pageNo}&sortField=updateDate&sortOrder={if $sortField == 'updateDate' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{/link}">{lang}wcf.acp.package.updateDate{/lang}</a></th>
73
74 {event name='columnHeads'}
75 </tr>
76 </thead>
77
78 <tbody>
79 {foreach from=$objects item=$package}
80 <tr class="jsPackageRow">
81 <td class="columnIcon">
82 {if $package->canUninstall()}
83 <span class="icon icon16 icon-remove pointer jsUninstallButton jsTooltip" title="{lang}wcf.acp.package.button.uninstall{/lang}" data-object-id="{@$package->packageID}" data-confirm-message="{lang}wcf.acp.package.uninstallation.confirm{/lang}" data-is-required="{if $package->isRequired()}true{else}false{/if}" data-is-application="{if $package->isApplication}true{else}false{/if}"></span>
84 {else}
85 <span class="icon icon16 icon-remove disabled" title="{lang}wcf.acp.package.button.uninstall{/lang}"></span>
86 {/if}
87
88 {event name='rowButtons'}
89 </td>
90 <td class="columnID">{@$package->packageID}</td>
91 <td id="packageName{@$package->packageID}" class="columnTitle" title="{$package->packageDescription|language}">
92 <a href="{link controller='Package' id=$package->packageID}{/link}"><span>{$package}</span></a>
93 </td>
94 <td class="columnText">{if $package->authorURL}<a href="{@$__wcf->getPath()}acp/dereferrer.php?url={$package->authorURL|rawurlencode}" class="externalURL">{$package->author}</a>{else}{$package->author}{/if}</td>
95 <td class="columnText">{$package->packageVersion}</td>
96 <td class="columnDate">{@$package->updateDate|time}</td>
97
98 {event name='columns'}
99 </tr>
100 {/foreach}
101 </tbody>
102 </table>
103
104 </div>
105
106 <div class="contentNavigation">
107 {@$pagesLinks}
108
109 {hascontent}
110 <script data-relocate="true">
111 //<![CDATA[
112 $(function() {
113 new WCF.ACP.Package.Uninstallation($('.jsPluginContainer .jsUninstallButton'));
114 });
115 //]]>
116 </script>
117
118 <nav>
119 <ul>
120 {content}
121 {if $__wcf->session->getPermission('admin.system.package.canInstallPackage')}
122 <li><a href="{link controller='PackageStartInstall'}action=install{/link}" class="button"><span class="icon icon16 icon-plus"></span> <span>{lang}wcf.acp.package.startInstall{/lang}</span></a></li>
123 {/if}
124
125 {event name='contentNavigationButtonsBottom'}
126 {/content}
127 </ul>
128 </nav>
129 {/hascontent}
130 </div>
131 {/if}
132
133 {include file='footer'}