Skip to content

Commit 9733a52

Browse files
committed
Merge branch '6.2' into 6.2-typescript-inline-editor
2 parents 85cee10 + 5e10586 commit 9733a52

File tree

172 files changed

+9462
-1403
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

172 files changed

+9462
-1403
lines changed

com.woltlab.wcf/templates/__menu.tpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<span class="boxMenuLinkOutstandingItems badge badgeUpdate" aria-label="{lang}wcf.page.menu.outstandingItems{/lang}">{#$menuItemNode->getOutstandingItems()}</span>
1111
{/if}
1212
{if $menuIdentifier == 'com.woltlab.wcf.MainMenu' && $menuItemNode->hasChildren() && $menuItemNode->getDepth() == 1}
13-
{icon name='caret-down' type='solid'}
13+
{icon name='angle-down' type='solid'}
1414
{/if}
1515
</a>
1616

com.woltlab.wcf/templates/pageHeaderSearch.tpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
<div class="pageHeaderSearchType dropdown">
3030
<a href="#" class="button dropdownToggle" id="pageHeaderSearchTypeSelect">
3131
<span class="pageHeaderSearchTypeLabel">{@$__searchTypeLabel}</span>
32-
{icon name='caret-down' type='solid'}
32+
{icon name='angle-down' type='solid'}
3333
</a>
3434
<ul class="dropdownMenu">
3535
<li><a href="#" data-extended-link="{link controller='Search'}extended=1{/link}" data-object-type="everywhere">{lang}wcf.search.type.everywhere{/lang}</a></li>
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<input
2+
type="{if $field->supportsTime()}datetime{else}date{/if}"
3+
id="{$field->getPrefixedId()}_from"
4+
name="{$field->getPrefixedId()}[from]"
5+
value="{$field->getFromValue()}"
6+
data-placeholder="{lang}wcf.date.period.start{/lang}"
7+
{if !$field->getFieldClasses()|empty} class="{implode from=$field->getFieldClasses() item='class' glue=' '}{$class}{/implode}"{/if}
8+
{if $field->isAutofocused()} autofocus{/if}
9+
{if $field->isRequired()} required{/if}
10+
{if $field->isImmutable()} disabled{/if}
11+
{foreach from=$field->getFieldAttributes() key='attributeName' item='attributeValue'} {$attributeName}="{$attributeValue}"{/foreach}
12+
>
13+
<input
14+
type="{if $field->supportsTime()}datetime{else}date{/if}"
15+
id="{$field->getPrefixedId()}_to"
16+
name="{$field->getPrefixedId()}[to]"
17+
value="{$field->getToValue()}"
18+
data-placeholder="{lang}wcf.date.period.end{/lang}"
19+
{if !$field->getFieldClasses()|empty} class="{implode from=$field->getFieldClasses() item='class' glue=' '}{$class}{/implode}"{/if}
20+
{if $field->isRequired()} required{/if}
21+
{if $field->isImmutable()} disabled{/if}
22+
{foreach from=$field->getFieldAttributes() key='attributeName' item='attributeValue'} {$attributeName}="{$attributeValue}"{/foreach}
23+
>
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
<dl>
2+
<dt></dt>
3+
<dd>
4+
<button type="button" class="button jsCopyButton">{lang}wcf.acp.exceptionLog.exception.copy{/lang}</button>
5+
<textarea rows="5" cols="40" class="jsCopyException" hidden>{$exception[0]}</textarea>
6+
</dd>
7+
</dl>
8+
<dl>
9+
<dt>{lang}wcf.acp.exceptionLog.search.exceptionID{/lang}</dt>
10+
<dd>{$exceptionID}</dd>
11+
</dl>
12+
<dl>
13+
<dt>{lang}wcf.acp.exceptionLog.exception.date{/lang}</dt>
14+
<dd>{$exception[date]|plainTime}</dd>
15+
</dl>
16+
<dl>
17+
<dt>{lang}wcf.acp.exceptionLog.exception.requestURI{/lang}</dt>
18+
<dd>{$exception[requestURI]}</dd>
19+
</dl>
20+
<dl>
21+
<dt>{lang}wcf.acp.exceptionLog.exception.referrer{/lang}</dt>
22+
<dd>{$exception[referrer]}</dd>
23+
</dl>
24+
<dl>
25+
<dt>{lang}wcf.acp.exceptionLog.exception.userAgent{/lang}</dt>
26+
<dd>{$exception[userAgent]}</dd>
27+
</dl>
28+
<dl>
29+
<dt>{lang}wcf.acp.exceptionLog.exception.memory{/lang}</dt>
30+
<dd>{$exception[peakMemory]|filesizeBinary} / {if $exception[maxMemory] == -1}&infin;{else}{$exception[maxMemory]|filesizeBinary}{/if}</dd>
31+
</dl>
32+
{foreach from=$exception[chain] item=chain}
33+
<dl>
34+
<dt>{lang}wcf.acp.exceptionLog.exception.message{/lang}</dt>
35+
<dd>{$chain[message]}</dd>
36+
</dl>
37+
<dl>
38+
<dt>{lang}wcf.acp.exceptionLog.exception.class{/lang}</dt>
39+
<dd>{$chain[class]}</dd>
40+
</dl>
41+
<dl>
42+
<dt>{lang}wcf.acp.exceptionLog.exception.file{/lang}</dt>
43+
<dd>{$chain[file]} ({$chain[line]})</dd>
44+
</dl>
45+
{if !$chain[information]|empty}
46+
{foreach from=$chain[information] item=extraInformation}
47+
<dl>
48+
<dt>{$extraInformation[0]}</dt>
49+
<dd style="white-space: pre-wrap;">{$extraInformation[1]}</dd>
50+
</dl>
51+
{/foreach}
52+
{/if}
53+
<dl>
54+
<dt>{lang}wcf.acp.exceptionLog.exception.stacktrace{/lang}</dt>
55+
<dd>
56+
<ol start="0" class="nativeList">
57+
{foreach from=$chain[stack] item=stack}
58+
<li>{$stack[file]} ({$stack[line]}): {$stack[class]}{$stack[type]}{$stack[function]}(&hellip;)</li>
59+
{/foreach}
60+
</ol>
61+
</dd>
62+
</dl>
63+
{/foreach}
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
<div class="gridView">
2+
{if $view->isFilterable()}
3+
<div class="gridView__filterBar">
4+
<div class="gridView__filters" id="{$view->getID()}_filters">
5+
{foreach from=$view->getActiveFilters() item='value' key='key'}
6+
<button type="button" class="button small" data-filter="{$key}" data-filter-value="{$value}">
7+
{icon name='circle-xmark'}
8+
{$view->getFilterLabel($key)}
9+
</button>
10+
{/foreach}
11+
</div>
12+
<div class="gridView__filterButton">
13+
<button type="button" class="button small" id="{$view->getID()}_filterButton" data-endpoint="{$view->getFilterActionEndpoint()}">
14+
{icon name='filter'}
15+
{lang}wcf.global.filter{/lang}
16+
</button>
17+
</div>
18+
</div>
19+
{/if}
20+
21+
<div class="gridView__tableContainer">
22+
<table class="gridView__table" id="{$view->getID()}_table"{if !$view->countRows()} hidden{/if}>
23+
<thead>
24+
<tr class="gridView__headerRow">
25+
{if $view->hasBulkInteractions()}
26+
<th class="gridView__headerColumn gridView__selectColumn">
27+
<input type="checkbox" class="gridView__selectAllRows" aria-label="{lang}wcf.clipboard.item.markAll{/lang}">
28+
</th>
29+
{/if}
30+
{foreach from=$view->getVisibleColumns() item='column'}
31+
<th
32+
class="gridView__headerColumn {$column->getClasses()}"
33+
data-id="{$column->getID()}"
34+
data-sortable="{$column->isSortable()}"
35+
>
36+
{if $column->isSortable()}
37+
<button type="button" class="gridView__headerColumn__button">
38+
{unsafe:$column->getLabel()}
39+
</button>
40+
{else}
41+
{unsafe:$column->getLabel()}
42+
{/if}
43+
</th>
44+
{/foreach}
45+
{if $view->hasInteractions()}
46+
<th class="gridView__headerColumn gridView__actionColumn"></th>
47+
{/if}
48+
</td>
49+
</thead>
50+
<tbody>
51+
{unsafe:$view->renderRows()}
52+
</tbody>
53+
</table>
54+
</div>
55+
56+
<div class="gridView__pagination">
57+
<woltlab-core-pagination id="{$view->getID()}_pagination" page="{$view->getPageNo()}" count="{$view->countPages()}"></woltlab-core-pagination>
58+
</div>
59+
60+
{if $view->hasBulkInteractions()}
61+
<div id="{$view->getID()}_selectionBar" class="gridView__selectionBar dropdown" hidden>
62+
<button type="button" id="{$view->getID()}_bulkInteractionButton" class="button gridView__bulkInteractionButton dropdownToggle"></button>
63+
<ul class="dropdownMenu">
64+
<li class="disabled"><span>{lang}wcf.global.loading{/lang}</span></li>
65+
<li class="dropdownDivider"></li>
66+
<li>
67+
<button type="button" id="{$view->getID()}_resetSelectionButton">{lang}wcf.clipboard.item.unmarkAll{/lang}</button>
68+
</li>
69+
</ul>
70+
</div>
71+
{/if}
72+
73+
<woltlab-core-notice type="info" id="{$view->getID()}_noItemsNotice"{if $view->countRows()} hidden{/if}>{lang}wcf.global.noItems{/lang}</woltlab-core-notice>
74+
</div>
75+
76+
<script data-relocate="true">
77+
require(['WoltLabSuite/Core/Component/GridView'], ({ GridView }) => {
78+
WoltLabLanguage.registerPhrase("wcf.clipboard.button.numberOfSelectedItems", '{jslang __literal=true}wcf.clipboard.button.numberOfSelectedItems{/jslang}');
79+
80+
new GridView(
81+
'{unsafe:$view->getID()|encodeJs}',
82+
'{unsafe:$view->getClassName()|encodeJS}',
83+
{$view->getPageNo()},
84+
'{unsafe:$view->getBaseUrl()|encodeJS}',
85+
'{unsafe:$view->getSortField()|encodeJS}',
86+
'{unsafe:$view->getSortOrder()|encodeJS}',
87+
'{unsafe:$view->getBulkInteractionProviderClassName()|encodeJS}',
88+
new Map([
89+
{foreach from=$view->getParameters() key='name' item='value'}
90+
['{unsafe:$name|encodeJs}', '{unsafe:$value|encodeJs}'],
91+
{/foreach}
92+
]),
93+
);
94+
});
95+
</script>
96+
{if $view->hasInteractions()}
97+
{unsafe:$view->renderInteractionInitialization()}
98+
{/if}
99+
{if $view->hasBulkInteractions()}
100+
{unsafe:$view->renderBulkInteractionInitialization()}
101+
{/if}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
2+
{foreach from=$view->getRows() item='row'}
3+
<tr class="gridView__row" data-object-id="{$view->getObjectID($row)}">
4+
{if $view->hasBulkInteractions()}
5+
<td class="gridView__column gridView__selectColumn">
6+
<input type="checkbox" class="gridView__selectRow" aria-label="{lang}wcf.clipboard.item.mark{/lang}">
7+
</td>
8+
{/if}
9+
{foreach from=$view->getVisibleColumns() item='column'}
10+
<td class="gridView__column {$column->getClasses()}">
11+
{unsafe:$view->renderColumn($column, $row)}
12+
</td>
13+
{/foreach}
14+
{if $view->hasInteractions()}
15+
<td class="gridView__column gridView__actionColumn">
16+
<div class="gridView__actionColumn__buttons">
17+
{unsafe:$view->renderQuickInteractions($row)}
18+
{unsafe:$view->renderInteractionContextMenuButton($row)}
19+
</div>
20+
</td>
21+
{/if}
22+
</tr>
23+
{/foreach}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{if $contextMenuOptions}
2+
<div class="dropdown">
3+
<button type="button" class="button small dropdownToggle" aria-label="{lang}wcf.global.button.more{/lang}">
4+
{icon name='ellipsis-vertical'}
5+
</button>
6+
7+
<ul class="dropdownMenu">
8+
{unsafe:$contextMenuOptions}
9+
</ul>
10+
</div>
11+
{else}
12+
<button type="button" disabled class="button small" aria-label="{lang}wcf.global.button.more{/lang}">
13+
{icon name='ellipsis-vertical'}
14+
</button>
15+
{/if}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<input
2+
type="number"
3+
id="{$field->getPrefixedId()}_from"
4+
name="{$field->getPrefixedId()}[from]"
5+
value="{$field->getFromValue()}"
6+
step="{@$field->getDefaultStep()}"
7+
placeholder="{lang}wcf.date.period.start{/lang}"
8+
{if !$field->getFieldClasses()|empty} class="{implode from=$field->getFieldClasses() item='class' glue=' '}{$class}{/implode}"{/if}
9+
{if $field->isAutofocused()} autofocus{/if}
10+
{if $field->isRequired()} required{/if}
11+
{if $field->isImmutable()} disabled{/if}
12+
{foreach from=$field->getFieldAttributes() key='attributeName' item='attributeValue'} {$attributeName}="{$attributeValue}"{/foreach}
13+
>
14+
<input
15+
type="number"
16+
id="{$field->getPrefixedId()}_to"
17+
name="{$field->getPrefixedId()}[to]"
18+
value="{$field->getToValue()}"
19+
step="{$field->getDefaultStep()}"
20+
placeholder="{lang}wcf.date.period.end{/lang}"
21+
{if !$field->getFieldClasses()|empty} class="{implode from=$field->getFieldClasses() item='class' glue=' '}{$class}{/implode}"{/if}
22+
{if $field->isRequired()} required{/if}
23+
{if $field->isImmutable()} disabled{/if}
24+
{foreach from=$field->getFieldAttributes() key='attributeName' item='attributeValue'} {$attributeName}="{$attributeValue}"{/foreach}
25+
>
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<div class="dropdown" id="{$containerID}">
2+
<button type="button" class="button dropdownToggle" aria-label="{lang}wcf.global.button.more{/lang}">
3+
{icon name='ellipsis-vertical'}
4+
</button>
5+
6+
<ul class="dropdownMenu">
7+
{unsafe:$contextMenuOptions}
8+
</ul>
9+
</div>
10+
11+
<script data-relocate="true">
12+
require(['WoltLabSuite/Core/Component/Interaction/StandaloneButton'], ({ StandaloneButton }) => {
13+
new StandaloneButton(
14+
document.getElementById('{unsafe:$containerID|encodeJS}'),
15+
'{unsafe:$providerClassName|encodeJS}',
16+
'{unsafe:$objectID|encodeJS}',
17+
'{unsafe:$redirectUrl|encodeJS}'
18+
);
19+
});
20+
</script>
21+
22+
{unsafe:$initializationCode}

com.woltlab.wcf/templates/userProfileHeader.tpl

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,7 @@
5454
<div class="userProfileHeader__content">
5555
<div class="userProfileHeader__avatar">
5656
<div class="userProfileHeader__avatarBorder">
57-
{if $view->user->userID == $__wcf->user->userID}
58-
<button type="button" data-edit-avatar="{link controller="UserAvatar" id=$view->user->userID}{/link}" class="userProfileHeader__avatarEditLink jsTooltip" title="{lang}wcf.user.avatar.edit{/lang}">{unsafe:$view->user->getAvatar()->getImageTag(128)}</button>
59-
{else}
60-
{unsafe:$view->user->getAvatar()->getImageTag(128)}
61-
{/if}
57+
{unsafe:$view->user->getAvatar()->getImageTag(128)}
6258

6359
{if $view->user->isOnline()}<span class="userProfileHeader__onlineIndicator jsTooltip" title="{lang username=$view->user->username}wcf.user.online.title{/lang}"></span>{/if}
6460
</div>

0 commit comments

Comments
 (0)