</li>
</ul>
</div>
-
- <script data-relocate="true">
+
+ <script data-relocate="true">
require(['WoltLabSuite/Core/Ui/User/ObjectWatch', 'WoltLabSuite/Core/Language'], (ObjectWatch, Language) => {
Language.addObject({
'wcf.user.objectWatch.button.subscribe': '{jslang}wcf.user.objectWatch.button.subscribe{/jslang}',
ObjectWatch.setup();
});
- </script>
+ </script>
{/if}
{assign var='__events' value=$eventList->getObjects()}
{assign var='__lastEvent' value=$__events|end}
<ul class="containerList recentActivityList"
- data-last-event-time="{@$lastEventTime}"
- data-last-event-id="{if $__lastEvent}{@$__lastEvent->eventID}{else}0{/if}"
- data-filtered-by-followed-users="{if $filteredByFollowedUsers}true{else}false{/if}"
- data-user-id="0"
- data-box-id="{@$boxID}"
+ data-last-event-time="{@$lastEventTime}"
+ data-last-event-id="{if $__lastEvent}{@$__lastEvent->eventID}{else}0{/if}"
+ data-filtered-by-followed-users="{if $filteredByFollowedUsers}true{else}false{/if}"
+ data-user-id="0"
+ data-box-id="{@$boxID}"
>
{if $canFilterByFollowedUsers}
<li class="containerListButtonGroup jsOnly jsRecentActivitySwitchContext">
{capture assign='wysiwygSelector'}commentEditor{@$comment->commentID}{/capture}
<textarea id="{$wysiwygSelector}" class="wysiwygTextarea"
- data-disable-attachments="true"
- data-support-mention="true"
+ data-disable-attachments="true"
+ data-support-mention="true"
>{$comment->message}</textarea>
{include file='messageFormTabsInline'}
{capture assign='wysiwygSelector'}commentResponseEditor{@$response->responseID}{/capture}
<textarea id="{$wysiwygSelector}" class="wysiwygTextarea"
- data-disable-attachments="true"
- data-support-mention="true"
+ data-disable-attachments="true"
+ data-support-mention="true"
>{$response->message}</textarea>
{include file='messageFormTabsInline'}
<!DOCTYPE html>
<html
- dir="{lang}wcf.global.pageDirection{/lang}"
- lang="{$__wcf->language->getBcp47()}"
- data-color-scheme="{$__wcf->getStyleHandler()->getColorScheme()}"
+ dir="{lang}wcf.global.pageDirection{/lang}"
+ lang="{$__wcf->language->getBcp47()}"
+ data-color-scheme="{$__wcf->getStyleHandler()->getColorScheme()}"
>
{if !MESSAGE_ENABLE_USER_CONSENT || ($__wcf->user->userID && $__wcf->user->getUserOption('enableEmbeddedMedia'))}
- {assign var='googleMapsHidden' value=false}
+ {assign var='googleMapsHidden' value=false}
{else}
- {assign var='googleMapsHidden' value=true}
+ {assign var='googleMapsHidden' value=true}
{/if}
<woltlab-core-google-maps
- id="{$googleMapsElementID}"
- class="googleMap"
- api-key="{GOOGLE_MAPS_API_KEY}"
- zoom="{GOOGLE_MAPS_ZOOM}"
- lat="{if !$googleMapsLat|empty}{$googleMapsLat}{else}{GOOGLE_MAPS_DEFAULT_LATITUDE}{/if}"
- lng="{if !$googleMapsLng|empty}{$googleMapsLng}{else}{GOOGLE_MAPS_DEFAULT_LONGITUDE}{/if}"
- {if !$googleMapsBounds|empty}bounds="{$googleMapsBounds|json}"{/if}
- {if !$accessUserLocation|empty}access-user-location{/if}
- {if $googleMapsHidden}hidden{/if}
+ id="{$googleMapsElementID}"
+ class="googleMap"
+ api-key="{GOOGLE_MAPS_API_KEY}"
+ zoom="{GOOGLE_MAPS_ZOOM}"
+ lat="{if !$googleMapsLat|empty}{$googleMapsLat}{else}{GOOGLE_MAPS_DEFAULT_LATITUDE}{/if}"
+ lng="{if !$googleMapsLng|empty}{$googleMapsLng}{else}{GOOGLE_MAPS_DEFAULT_LONGITUDE}{/if}"
+ {if !$googleMapsBounds|empty}bounds="{$googleMapsBounds|json}"{/if}
+ {if !$accessUserLocation|empty}access-user-location{/if}
+ {if $googleMapsHidden}hidden{/if}
></woltlab-core-google-maps>
{if $googleMapsHidden}
- {include file='messageUserConsent' host="maps.google.com" url="https://www.google.com/maps/" target=$googleMapsElementID sandbox=true}
+ {include file='messageUserConsent' host="maps.google.com" url="https://www.google.com/maps/" target=$googleMapsElementID sandbox=true}
{/if}
<meta name="msapplication-config" content="{$__wcf->getStyleHandler()->getStyle()->getFaviconBrowserconfig()}">
<meta name="theme-color" content="{$__wcf->getStyleHandler()->getStyle()->getVariable('wcfPageThemeColor', true)}">
<script>
- {
- document.querySelector('meta[name="theme-color"]').content = window.getComputedStyle(document.documentElement).getPropertyValue("--wcfPageThemeColor");
- }
+ {
+ document.querySelector('meta[name="theme-color"]').content = window.getComputedStyle(document.documentElement).getPropertyValue("--wcfPageThemeColor");
+ }
</script>
<div class="section">
- <dl>
- <dt>
- <label for="message">{lang}wcf.moderation.report.removeContent.reason{/lang}</label>
- </dt>
- <dd>
- <textarea name="message" cols="40" rows="3"></textarea>
- </dd>
- </dl>
+ <dl>
+ <dt>
+ <label for="message">{lang}wcf.moderation.report.removeContent.reason{/lang}</label>
+ </dt>
+ <dd>
+ <textarea name="message" cols="40" rows="3"></textarea>
+ </dd>
+ </dl>
</div>
<div class="section">
- <dl>
- <dt></dt>
- <dd>
- <label>
- <input type="checkbox" name="markAsJustified" id="markAsJustified" value="1">
- {lang}wcf.moderation.report.removeReport.markAsJustified{/lang}
- </label>
- </dd>
- </dl>
+ <dl>
+ <dt></dt>
+ <dd>
+ <label>
+ <input type="checkbox" name="markAsJustified" id="markAsJustified" value="1">
+ {lang}wcf.moderation.report.removeReport.markAsJustified{/lang}
+ </label>
+ </dd>
+ </dl>
</div>
{if $__wcf->session->getPermission('user.like.canViewLike')}
{assign var='__reactionSummaryJson' value='[]'}
- {if $reactionData[$objectID]|isset}
+ {if $reactionData[$objectID]|isset}
{assign var='__reactionSummaryJson' value=$reactionData[$objectID]->getReactionsJson()}
{/if}
<span{if $field->getValue()} style="background-color: {$field->getValue()}"{/if}></span>
</a>
<input type="hidden" {*
- *}id="{$field->getPrefixedId()}" {*
- *}name="{$field->getPrefixedId()}" {*
- *}value="{$field->getValue()}"{*
- *}>
+ *}id="{$field->getPrefixedId()}" {*
+ *}name="{$field->getPrefixedId()}" {*
+ *}value="{$field->getValue()}"{*
+ *}>
{include file='shared_colorPickerJavaScript'}
<script data-relocate="true">
<ul class="scrollableCheckboxList" {*
- *}id="lineBreakSeparatedTextOption_{@$identifier}"{*
- *}{if $values|empty} style="display: none"{/if}{*
+ *}id="lineBreakSeparatedTextOption_{@$identifier}"{*
+ *}{if $values|empty} style="display: none"{/if}{*
*}>
- {foreach from=$values item=value}
- <li data-value="{$value}">
- <button type="button" class="jsDeleteItem jsTooltip" title="{lang}wcf.global.button.delete{/lang}">
- {icon name='xmark'}
- </button>
- <span>{$value}</span>
- </li>
- {/foreach}
+ {foreach from=$values item=value}
+ <li data-value="{$value}">
+ <button type="button" class="jsDeleteItem jsTooltip" title="{lang}wcf.global.button.delete{/lang}">
+ {icon name='xmark'}
+ </button>
+ <span>{$value}</span>
+ </li>
+ {/foreach}
</ul>
<input type="hidden" name="values[{$option->optionName}]">
<script data-relocate="true">
- require(['Language', 'WoltLabSuite/Core/Ui/ItemList/LineBreakSeparatedText'], (Language, { UiItemListLineBreakSeparatedText }) => {
- Language.addObject({
- 'wcf.acp.option.type.lineBreakSeparatedText.placeholder': '{jslang}wcf.acp.option.type.lineBreakSeparatedText.placeholder{/jslang}',
- 'wcf.acp.option.type.lineBreakSeparatedText.error.duplicate': '{jslang __literal=true}wcf.acp.option.type.lineBreakSeparatedText.error.duplicate{/jslang}',
- 'wcf.acp.option.type.lineBreakSeparatedText.clearList.confirmMessage': '{jslang}wcf.acp.option.type.lineBreakSeparatedText.clearList.confirmMessage{/jslang}',
- });
-
- new UiItemListLineBreakSeparatedText(
- document.getElementById("lineBreakSeparatedTextOption_{@$identifier}")
- );
- });
+ require(['Language', 'WoltLabSuite/Core/Ui/ItemList/LineBreakSeparatedText'], (Language, { UiItemListLineBreakSeparatedText }) => {
+ Language.addObject({
+ 'wcf.acp.option.type.lineBreakSeparatedText.placeholder': '{jslang}wcf.acp.option.type.lineBreakSeparatedText.placeholder{/jslang}',
+ 'wcf.acp.option.type.lineBreakSeparatedText.error.duplicate': '{jslang __literal=true}wcf.acp.option.type.lineBreakSeparatedText.error.duplicate{/jslang}',
+ 'wcf.acp.option.type.lineBreakSeparatedText.clearList.confirmMessage': '{jslang}wcf.acp.option.type.lineBreakSeparatedText.clearList.confirmMessage{/jslang}',
+ });
+
+ new UiItemListLineBreakSeparatedText(
+ document.getElementById("lineBreakSeparatedTextOption_{@$identifier}")
+ );
+ });
</script>
<textarea id="{$field->getPrefixedId()}" {*
- *}name="{$field->getPrefixedId()}" {*
- *}{if !$field->getFieldClasses()|empty} class="{implode from=$field->getFieldClasses() item='class' glue=' '}{$class}{/implode}"{/if}{*
- *}{if $field->isAutofocused()} autofocus{/if}{*
- *}{if $field->isImmutable()} disabled{/if}{*
- *}{foreach from=$field->getFieldAttributes() key='attributeName' item='attributeValue'} {$attributeName}="{$attributeValue}"{/foreach}{*
+ *}name="{$field->getPrefixedId()}" {*
+ *}{if !$field->getFieldClasses()|empty} class="{implode from=$field->getFieldClasses() item='class' glue=' '}{$class}{/implode}"{/if}{*
+ *}{if $field->isAutofocused()} autofocus{/if}{*
+ *}{if $field->isImmutable()} disabled{/if}{*
+ *}{foreach from=$field->getFieldAttributes() key='attributeName' item='attributeValue'} {$attributeName}="{$attributeValue}"{/foreach}{*
*}>{$field->getValue()}</textarea>
{include file='shared_codemirror' codemirrorMode=$field->getLanguage() codemirrorSelector='#'|concat:$field->getPrefixedId()}
<script data-relocate="true">
- (() => {
- document.getElementById('{@$field->getPrefixedId()|encodeJS}').parentNode.dir = 'ltr';
- })();
+ (() => {
+ document.getElementById('{@$field->getPrefixedId()|encodeJS}').parentNode.dir = 'ltr';
+ })();
</script>
require(['WoltLabSuite/Core/Form/Builder/Field/Dependency/ValueInterval'], ({ ValueInterval }) => {
- // dependency '{@$dependency->getId()}'
- new ValueInterval(
- '{@$dependency->getDependentNode()->getPrefixedId()|encodeJS}Container',
- '{@$dependency->getField()->getPrefixedId()|encodeJS}'
- )
- .minimum({if $dependency->getMinimum() !== null}{@$dependency->getMinimum()}{else}null{/if})
- .maximum({if $dependency->getMaximum() !== null}{@$dependency->getMaximum()}{else}null{/if});
+ // dependency '{@$dependency->getId()}'
+ new ValueInterval(
+ '{@$dependency->getDependentNode()->getPrefixedId()|encodeJS}Container',
+ '{@$dependency->getField()->getPrefixedId()|encodeJS}'
+ )
+ .minimum({if $dependency->getMinimum() !== null}{@$dependency->getMinimum()}{else}null{/if})
+ .maximum({if $dependency->getMaximum() !== null}{@$dependency->getMaximum()}{else}null{/if});
});
<dt><label for="text">{lang}wcf.user.signature{/lang}</label></dt>
<dd class="messageSignatureConstraints">
<textarea id="text" class="wysiwygTextarea" name="text" rows="20" cols="40"
- data-disable-media="true"
+ data-disable-media="true"
>{$text}</textarea>
{if $errorField == 'text'}
<small class="innerError">
<script data-relocate="true">
{
- const name = document.getElementById("name");
- const path = document.getElementById("path");
- path.addEventListener("paste", (event) => {
- if (name.value.trim() !== "") {
- return;
- }
+ const name = document.getElementById("name");
+ const path = document.getElementById("path");
+ path.addEventListener("paste", (event) => {
+ if (name.value.trim() !== "") {
+ return;
+ }
- const value = event.clipboardData.getData("text/plain").trim();
+ const value = event.clipboardData.getData("text/plain").trim();
- const matches = value.match(/.+[/\\]([^/\\]+)[/\\]?$/);
- if (matches !== null && matches[1].includes(".")) {
- name.value = matches[1];
- }
- });
+ const matches = value.match(/.+[/\\]([^/\\]+)[/\\]?$/);
+ if (matches !== null && matches[1].includes(".")) {
+ name.value = matches[1];
+ }
+ });
}
</script>
<button type="button" class="jsObjectAction jsTooltip" {*
- *}title="{lang}wcf.global.button.delete{/lang}" {*
- *}data-object-action="delete" {*
- *}{if $objectActionConfirmMessage}data-confirm-message="{lang __encode=true}{$objectActionConfirmMessage}{/lang}" {/if}{*
+ *}title="{lang}wcf.global.button.delete{/lang}" {*
+ *}data-object-action="delete" {*
+ *}{if $objectActionConfirmMessage}data-confirm-message="{lang __encode=true}{$objectActionConfirmMessage}{/lang}" {/if}{*
*}>
- {icon name='xmark'}
+ {icon name='xmark'}
</button>
-<button type="button" class="jsObjectAction jsTooltip" {*
- *}title="{lang}wcf.global.button.{if !$object->isDisabled}disable{else}enable{/if}{/lang}" {*
- *}data-object-action="toggle"{*
-*}>
- {if $object->isDisabled}
- {icon name='square-check'}
- {else}
- {icon name='square'}
- {/if}
+<button
+ type="button"
+ class="jsObjectAction jsTooltip"
+ title="{lang}wcf.global.button.{if !$object->isDisabled}disable{else}enable{/if}{/lang}"
+ data-object-action="toggle"
+>
+ {if $object->isDisabled}
+ {icon name='square-check'}
+ {else}
+ {icon name='square'}
+ {/if}
</button>
{else}
<div dir="ltr">
<textarea name="content[{@$languageID}]" id="{@$__pageContentID}"
- {if $pageType == 'text'}
+ {if $pageType == 'text'}
class="wysiwygTextarea" data-disable-attachments="true" data-autosave="com.woltlab.wcf.page{$action|ucfirst}-{if $action == 'edit'}{@$pageID}{else}0{/if}-{@$languageID}"
- {if $action === 'edit'}data-autosave-last-edit-time="{@$page->lastUpdateTime}"{/if}
+ {if $action === 'edit'}data-autosave-last-edit-time="{@$page->lastUpdateTime}"{/if}
{/if}
>{if !$content[$languageID]|empty}{$content[$languageID]}{/if}</textarea>
</div>
{hascontent}
<div class="paginationTop">
{content}
- {assign var='linkParameters' value=''}
- {if $groupName}
+ {assign var='linkParameters' value=''}
+ {if $groupName}
{append var='linkParameters' value='&groupName='}
{append var='linkParameters' value=$groupName|rawurlencode}
- {/if}
- {if $groupDescription}
+ {/if}
+ {if $groupDescription}
{append var='linkParameters' value='&groupDescription='}
{append var='linkParameters' value=$groupDescription|rawurlencode}
- {/if}
-
+ {/if}
+
{pages print=true assign=pagesLinks controller="LabelGroupList" link="pageNo=%d&sortField=$sortField&sortOrder=$sortOrder$linkParameters"}
{/content}
</div>
{include file='header' pageTitle='wcf.acp.license'}
<style>
- .licensed_packages__package__title {
- font-size: var(--wcfFontSizeHeadline);
- font-weight: 600;
- }
+ .licensed_packages__package__title {
+ font-size: var(--wcfFontSizeHeadline);
+ font-weight: 600;
+ }
- .licensed_packages__package__version {
- color: var(--wcfContentDimmedText);
- }
-
- .licensed_packages__package__description {
- color: var(--wcfContentDimmedText);
- display: block;
- }
+ .licensed_packages__package__version {
+ color: var(--wcfContentDimmedText);
+ }
+
+ .licensed_packages__package__description {
+ color: var(--wcfContentDimmedText);
+ display: block;
+ }
- .licensed_packages__package__action {
- white-space: nowrap;
- }
+ .licensed_packages__package__action {
+ white-space: nowrap;
+ }
- .license_packages__package__purchase {
- display: flex;
- flex-direction: column;
- font-size: var(--wcfFontSizeSmall);
- row-gap: 5px;
- }
+ .license_packages__package__purchase {
+ display: flex;
+ flex-direction: column;
+ font-size: var(--wcfFontSizeSmall);
+ row-gap: 5px;
+ }
- .license_packages__package__purchase__outdated {
- color: var(--wcfContentDimmedText);
- }
+ .license_packages__package__purchase__outdated {
+ color: var(--wcfContentDimmedText);
+ }
</style>
<header class="contentHeader">
- <div class="contentHeaderTitle">
- <h1 class="contentTitle">{lang}wcf.acp.license{/lang}</span></h1>
- {if $licenseData->getLicenseNumber()}
- <p class="contentDescription">{lang licenseNumber=$licenseData->getLicenseNumber()}wcf.acp.license.licenseNo{/lang}</p>
- {/if}
- </div>
+ <div class="contentHeaderTitle">
+ <h1 class="contentTitle">{lang}wcf.acp.license{/lang}</span></h1>
+ {if $licenseData->getLicenseNumber()}
+ <p class="contentDescription">{lang licenseNumber=$licenseData->getLicenseNumber()}wcf.acp.license.licenseNo{/lang}</p>
+ {/if}
+ </div>
- {hascontent}
- <nav class="contentHeaderNavigation">
- <ul>
- {content}
- {if $__wcf->session->getPermission('admin.configuration.package.canEditServer')}
- <li>
- <a href="{link controller='LicenseEdit'}{/link}" class="button">
- {icon name='pencil'}
- <span>{lang}wcf.acp.license.edit{/lang}</span>
- </a>
- </li>
- {/if}
+ {hascontent}
+ <nav class="contentHeaderNavigation">
+ <ul>
+ {content}
+ {if $__wcf->session->getPermission('admin.configuration.package.canEditServer')}
+ <li>
+ <a href="{link controller='LicenseEdit'}{/link}" class="button">
+ {icon name='pencil'}
+ <span>{lang}wcf.acp.license.edit{/lang}</span>
+ </a>
+ </li>
+ {/if}
- {event name='contentHeaderNavigation'}
- {/content}
- </ul>
- </nav>
- {/hascontent}
+ {event name='contentHeaderNavigation'}
+ {/content}
+ </ul>
+ </nav>
+ {/hascontent}
</header>
{if $licenseData->getLicenseType() === 'developer'}
- <woltlab-core-notice type="warning">{lang}wcf.acp.license.developerLicense{/lang}</woltlab-core-notice>
+ <woltlab-core-notice type="warning">{lang}wcf.acp.license.developerLicense{/lang}</woltlab-core-notice>
{/if}
{hascontent}
<section class="section">
- <h1 class="sectionTitle">WoltLab®</h1>
+ <h1 class="sectionTitle">WoltLab®</h1>
- <div class="section tabularBox">
- <table class="table licensed_packages">
- <thead>
- <tr>
- <th colspan="2">{lang}wcf.acp.package.name{/lang}</th>
- </tr>
- </thead>
- <tbody>
- {content}
- {foreach from=$availablePackages[woltlab] key=package item=majorVersion}
- <tr class="licensed_packages__package" data-package="{$package}">
- {if $installedPackages[$package]|isset}
- <td class="columnText">
- <span class="licensed_packages__package__title">{$installedPackages[$package]}</span>
- <span class="licensed_packages__package__version">{$installedPackages[$package]->packageVersion}</span>
- <small class="licensed_packages__package__description">{$installedPackages[$package]->getDescription()}</small>
- </td>
- <td class="columnStatus">
- <small class="green licensed_packages__package__action">
- {icon name='check'}
- {lang}wcf.acp.license.package.installed{/lang}
- </small>
- </td>
- {else}
- <td class="columnText">
- <span class="licensed_packages__package__title">{$packageUpdates[$package]->packageName}</span>
- <span class="licensed_packages__package__version">{$installablePackages[$package]}</span>
- <small class="licensed_packages__package__description">{$packageUpdates[$package]->packageDescription}</small>
- </td>
- <td class="columnStatus">
- {if $requiresLicenseExtension[$package]|isset}
- <span class="license_packages__package__purchase">
- {if $requiresLicenseExtension[$package] !== 'purchase'}
- <span class="license_packages__package__purchase__outdated">
- {lang accessibleVersion=$requiresLicenseExtension[$package]}wcf.acp.license.package.outdated{/lang}
- </span>
- {/if}
- <a href="https://www.woltlab.com/license-extend/{$licenseData->getLicenseNumber()}/" class="externalURL" rel="nofollow noopener" target="_blank">{lang}wcf.acp.license.extend{/lang}</a>
- </span>
- {else}
- <button type="button" class="button small jsInstallPackage" data-package="{$package}" data-package-version="{$installablePackages[$package]}">
- {lang}wcf.acp.license.package.install{/lang}
- </button>
- {/if}
- </td>
- {/if}
- </tr>
- {/foreach}
- {/content}
- </tbody>
- </table>
- </div>
+ <div class="section tabularBox">
+ <table class="table licensed_packages">
+ <thead>
+ <tr>
+ <th colspan="2">{lang}wcf.acp.package.name{/lang}</th>
+ </tr>
+ </thead>
+ <tbody>
+ {content}
+ {foreach from=$availablePackages[woltlab] key=package item=majorVersion}
+ <tr class="licensed_packages__package" data-package="{$package}">
+ {if $installedPackages[$package]|isset}
+ <td class="columnText">
+ <span class="licensed_packages__package__title">{$installedPackages[$package]}</span>
+ <span class="licensed_packages__package__version">{$installedPackages[$package]->packageVersion}</span>
+ <small class="licensed_packages__package__description">{$installedPackages[$package]->getDescription()}</small>
+ </td>
+ <td class="columnStatus">
+ <small class="green licensed_packages__package__action">
+ {icon name='check'}
+ {lang}wcf.acp.license.package.installed{/lang}
+ </small>
+ </td>
+ {else}
+ <td class="columnText">
+ <span class="licensed_packages__package__title">{$packageUpdates[$package]->packageName}</span>
+ <span class="licensed_packages__package__version">{$installablePackages[$package]}</span>
+ <small class="licensed_packages__package__description">{$packageUpdates[$package]->packageDescription}</small>
+ </td>
+ <td class="columnStatus">
+ {if $requiresLicenseExtension[$package]|isset}
+ <span class="license_packages__package__purchase">
+ {if $requiresLicenseExtension[$package] !== 'purchase'}
+ <span class="license_packages__package__purchase__outdated">
+ {lang accessibleVersion=$requiresLicenseExtension[$package]}wcf.acp.license.package.outdated{/lang}
+ </span>
+ {/if}
+ <a href="https://www.woltlab.com/license-extend/{$licenseData->getLicenseNumber()}/" class="externalURL" rel="nofollow noopener" target="_blank">{lang}wcf.acp.license.extend{/lang}</a>
+ </span>
+ {else}
+ <button type="button" class="button small jsInstallPackage" data-package="{$package}" data-package-version="{$installablePackages[$package]}">
+ {lang}wcf.acp.license.package.install{/lang}
+ </button>
+ {/if}
+ </td>
+ {/if}
+ </tr>
+ {/foreach}
+ {/content}
+ </tbody>
+ </table>
+ </div>
</section>
{/hascontent}
{hascontent}
<section class="section">
- <h1 class="sectionTitle">WoltLab® Plugin-Store</h1>
+ <h1 class="sectionTitle">WoltLab® Plugin-Store</h1>
- <div class="section tabularBox">
- <table class="table licensed_packages">
- <thead>
- <tr>
- <th colspan="2">{lang}wcf.acp.package.name{/lang}</th>
- </tr>
- </thead>
- <tbody>
- {content}
- {foreach from=$availablePackages[pluginstore] key=package item=majorVersion}
- <tr class="licensed_packages__package" data-package="{$package}">
- {if $installedPackages[$package]|isset}
- <td class="columnText">
- <span class="licensed_packages__package__title">{$installedPackages[$package]}</span>
- <span class="licensed_packages__package__version">{$installedPackages[$package]->packageVersion}</span>
- <small class="licensed_packages__package__description">{$installedPackages[$package]->getDescription()}</small>
- </td>
- <td class="columnStatus">
- <small class="green licensed_packages__package__action">
- {icon name='check'}
- {lang}wcf.acp.license.package.installed{/lang}
- </small>
- </td>
- {else}
- <td class="columnText">
- <span class="licensed_packages__package__title">{$packageUpdates[$package]->packageName}</span>
- <span class="licensed_packages__package__version">{$installablePackages[$package]}</span>
- <small class="licensed_packages__package__description">{$packageUpdates[$package]->packageDescription}</small>
- </td>
- <td class="columnStatus">
- <button type="button" class="button small jsInstallPackage" data-package="{$package}" data-package-version="{$installablePackages[$package]}">
- {lang}wcf.acp.license.package.install{/lang}
- </button>
- </td>
- {/if}
- </tr>
- {/foreach}
- {/content}
- </tbody>
- </table>
- </div>
+ <div class="section tabularBox">
+ <table class="table licensed_packages">
+ <thead>
+ <tr>
+ <th colspan="2">{lang}wcf.acp.package.name{/lang}</th>
+ </tr>
+ </thead>
+ <tbody>
+ {content}
+ {foreach from=$availablePackages[pluginstore] key=package item=majorVersion}
+ <tr class="licensed_packages__package" data-package="{$package}">
+ {if $installedPackages[$package]|isset}
+ <td class="columnText">
+ <span class="licensed_packages__package__title">{$installedPackages[$package]}</span>
+ <span class="licensed_packages__package__version">{$installedPackages[$package]->packageVersion}</span>
+ <small class="licensed_packages__package__description">{$installedPackages[$package]->getDescription()}</small>
+ </td>
+ <td class="columnStatus">
+ <small class="green licensed_packages__package__action">
+ {icon name='check'}
+ {lang}wcf.acp.license.package.installed{/lang}
+ </small>
+ </td>
+ {else}
+ <td class="columnText">
+ <span class="licensed_packages__package__title">{$packageUpdates[$package]->packageName}</span>
+ <span class="licensed_packages__package__version">{$installablePackages[$package]}</span>
+ <small class="licensed_packages__package__description">{$packageUpdates[$package]->packageDescription}</small>
+ </td>
+ <td class="columnStatus">
+ <button type="button" class="button small jsInstallPackage" data-package="{$package}" data-package-version="{$installablePackages[$package]}">
+ {lang}wcf.acp.license.package.install{/lang}
+ </button>
+ </td>
+ {/if}
+ </tr>
+ {/foreach}
+ {/content}
+ </tbody>
+ </table>
+ </div>
</section>
{/hascontent}
<script data-relocate="true">
- require(["WoltLabSuite/Core/Acp/Component/License"], ({ setup }) => {
- {jsphrase name='wcf.acp.package.error.uniqueAlreadyInstalled'}
- {jsphrase name='wcf.acp.package.install.title'}
- {jsphrase name='wcf.acp.package.quickInstallation.code.error.invalid'}
- {jsphrase name='wcf.acp.package.update.excludedPackages'}
- {jsphrase name='wcf.acp.package.update.title'}
- {jsphrase name='wcf.acp.package.update.unauthorized'}
-
- setup();
- });
+ require(["WoltLabSuite/Core/Acp/Component/License"], ({ setup }) => {
+ {jsphrase name='wcf.acp.package.error.uniqueAlreadyInstalled'}
+ {jsphrase name='wcf.acp.package.install.title'}
+ {jsphrase name='wcf.acp.package.quickInstallation.code.error.invalid'}
+ {jsphrase name='wcf.acp.package.update.excludedPackages'}
+ {jsphrase name='wcf.acp.package.update.title'}
+ {jsphrase name='wcf.acp.package.update.unauthorized'}
+
+ setup();
+ });
</script>
{include file='footer'}
<p>{lang}wcf.acp.package.enableUpgradeOverride.issues{/lang}</p>
<ul class="nativeList">
- {foreach from=$issues item='issue'}
- <li>
- <strong>{@$issue['title']}</strong><br>
- {@$issue['description']}
- </li>
- {/foreach}
+ {foreach from=$issues item='issue'}
+ <li>
+ <strong>{@$issue['title']}</strong><br>
+ {@$issue['description']}
+ </li>
+ {/foreach}
</ul>
<dt><label for="description">{lang}wcf.global.description{/lang}</label></dt>
<dd>
<textarea id="description" name="description" class="wysiwygTextarea"
- data-disable-attachments="true"
- data-disable-media="true"
+ data-disable-attachments="true"
+ data-disable-media="true"
>{$i18nPlainValues[description]}</textarea>
{include file='shared_wysiwyg' wysiwygSelector='description'}
{if $errorField == 'description'}
<url>
- <loc>{$link}</loc>
- {if $lastModifiedTime}<lastmod>{$lastModifiedTime}</lastmod>{/if}
- <changefreq>{$changeFreq}</changefreq>
- <priority>{$priority}</priority>
+ <loc>{$link}</loc>
+ {if $lastModifiedTime}<lastmod>{$lastModifiedTime}</lastmod>{/if}
+ <changefreq>{$changeFreq}</changefreq>
+ <priority>{$priority}</priority>
</url>
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
- {foreach from=$sitemaps item="sitemap"}
- <sitemap>
- <loc>{$sitemap}</loc>
- <lastmod>{TIME_NOW|date:"c"}</lastmod>
- </sitemap>
- {/foreach}
+ {foreach from=$sitemaps item="sitemap"}
+ <sitemap>
+ <loc>{$sitemap}</loc>
+ <lastmod>{TIME_NOW|date:"c"}</lastmod>
+ </sitemap>
+ {/foreach}
</sitemapindex>
<dd>
<select name="templateGroupID" id="templateGroupID">
<option value="0">{lang}wcf.acp.template.group.default{/lang}</option>
- {htmlOptions options=$availableTemplateGroups selected=$templateGroupID disableEncoding=true}
+ {htmlOptions options=$availableTemplateGroups selected=$templateGroupID disableEncoding=true}
</select>
{if $errorField == 'templateGroupID'}
<small class="innerError">