2 {assign var='pageTitle' value='wcf.acp.package.startInstall'}
4 {assign var='pageTitle' value='wcf.acp.package.startUpdate'}
6 {include file='header'}
8 <script data-relocate="true">
9 require(['Language', 'WoltLabSuite/Core/Acp/Ui/Package/Search'], function(Language, AcpUiPackageSearch) {
11 'wcf.acp.package.install.title': '{lang}wcf.acp.package.install.title{/lang}',
12 'wcf.acp.package.update.unauthorized': '{lang}wcf.acp.package.update.unauthorized{/lang}'
15 new AcpUiPackageSearch();
17 {if $errorField === 'uploadPackage'}
18 elBySel('.jsButtonUploadPackage').click();
23 <header class="contentHeader">
24 <div class="contentHeaderTitle">
25 <h1 class="contentTitle">{lang}{@$pageTitle}{/lang}</h1>
28 <nav class="contentHeaderNavigation">
30 {if !ENABLE_ENTERPRISE_MODE || $__wcf->getUser()->hasOwnerAccess()}
31 <li><a href="#" class="button jsButtonUploadPackage jsStaticDialog" data-dialog-id="packageUploadDialog"><span class="icon icon16 fa-upload"></span> <span>{lang}wcf.acp.package.upload{/lang}</span></a></li>
33 <li><a href="{link controller='PackageList'}{/link}" class="button"><span class="icon icon16 fa-list"></span> <span>{lang}wcf.acp.menu.link.package.list{/lang}</span></a></li>
35 {event name='contentHeaderNavigation'}
40 {if $errorField && $installingImportedStyle}
41 <p class="info">{lang}wcf.acp.package.install.installingImportedStyle{/lang}</p>
44 {include file='formError'}
47 <section class="section" id="packageSearch">
48 <h2 class="sectionTitle">{lang}wcf.acp.package.search{/lang}</h2>
51 <dt><label for="packageSearchInput">{lang}wcf.acp.package.search.input{/lang}</label></dt>
53 <input type="text" id="packageSearchInput" value="" class="long" autocomplete="off">
54 <small>{lang}wcf.acp.package.search.input.description{/lang}</small>
59 <section class="section tabularBox" id="packageSearchResultContainer" data-status="idle">
60 <h2 class="sectionTitle">{lang}wcf.acp.package.search.resultList{/lang} <span class="badge" id="packageSearchResultCounter">0</span></h2>
62 <div class="packageSearchStatus packageSearchStatusIdle">
63 <span class="packageSearchStatusLabel">{lang}wcf.acp.package.search.status.idle{/lang}</span>
66 <div class="packageSearchStatus packageSearchStatusRefreshDatabase">
67 <span class="icon icon64 fa-spinner"></span>
68 <span class="packageSearchStatusLabel">{lang}wcf.acp.package.search.status.refreshDatabase{/lang}</span>
71 <div class="packageSearchStatus packageSearchStatusLoading">
72 <span class="icon icon64 fa-spinner"></span>
73 <span class="packageSearchStatusLabel">{lang}wcf.acp.package.search.status.loading{/lang}</span>
76 <div class="packageSearchStatus packageSearchStatusNoResults">
77 <span class="packageSearchStatusLabel">{lang}wcf.acp.package.search.status.noResults{/lang}</span>
80 <div id="packageSearchResultList"></div>
84 {if !ENABLE_ENTERPRISE_MODE || $__wcf->getUser()->hasOwnerAccess()}
85 <div id="packageUploadDialog" class="jsStaticDialogContent" data-title="{lang}wcf.acp.package.upload{/lang}">
86 <form method="post" action="{link controller='PackageStartInstall'}{/link}" enctype="multipart/form-data">
88 <dl{if $errorField == 'uploadPackage'} class="formError"{/if}>
89 <dt><label for="uploadPackage">{lang}wcf.acp.package.source.upload{/lang}</label></dt>
91 <input type="file" id="uploadPackage" name="uploadPackage" value="" accept="application/x-tar,application/gzip,application/tar+gzip">
92 {if $errorField == 'uploadPackage'}
93 <small class="innerError">
94 {if $errorType == 'empty'}
95 {lang}wcf.global.form.error.empty{/lang}
97 {lang}wcf.acp.package.error.{@$errorType}{/lang}
101 <small>{lang}wcf.acp.package.source.upload.description{/lang}</small>
106 <div class="formSubmit">
107 <input type="submit" name="submitButton" value="{lang}wcf.global.button.submit{/lang}" accesskey="s">
108 <input type="hidden" name="action" value="{$action}">
109 {@SECURITY_TOKEN_INPUT_TAG}
115 {include file='footer'}