fix: html attributes (#9877)

* fix: some empty xml tag bodies

* fix: missing/wrong attributing of label tags

* fix: attribute fixes

* fix: misassociated label

* fix: missing alt attributes

* fix: some more missing associated labels
isekai-main
gasoved 3 years ago committed by GitHub
parent 1958dffa04
commit 3acaac4c7c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -15,7 +15,7 @@
<!-- IF events.ip --><span class="label label-default">{events.ip}</span><!-- END -->
<a href="{config.relative_path}/user/{events.user.userslug}" target="_blank">
<!-- IF events.user.picture -->
<img class="avatar avatar-xs" src="{events.user.picture}" />
<img class="avatar avatar-xs" src="{events.user.picture}" alt="" />
<!-- ELSE -->
<div class="avatar avatar-xs" style="background-color: {events.user.icon:bgColor};">{events.user.icon:text}</div>
<!-- ENDIF events.user.picture -->
@ -38,7 +38,7 @@
<form role="form" id="filters">
<div class="form-group">
<label for="type">[[admin/advanced/events:filter-type]]</label>
<select class="form-control" id="type" name="type" class="form-control">
<select id="type" name="type" class="form-control">
<!-- BEGIN types -->
<option value="{types.value}" <!-- IF types.selected -->selected<!-- ENDIF types.selected -->>{types.name}</option>
<!-- END types -->

@ -26,8 +26,8 @@
<br/>
<br/>
<label>[[admin/development/logger:file-path]]</label>
<input class="form-control" type="text" placeholder="[[admin/development/logger:file-path-placeholder]]" data-field="loggerPath" />
<label for="loggerPath">[[admin/development/logger:file-path]]</label>
<input id="loggerPath" class="form-control" type="text" placeholder="[[admin/development/logger:file-path-placeholder]]" data-field="loggerPath" />
</form>
</div>
</div>

@ -7,18 +7,18 @@
<div class="col-xs-12 col-sm-12 col-lg-8">
<form class="main inline-block">
<div class="well inline-block if-block">
<label for="condition">[[admin/extend/rewards:condition-if-users]]</label><br />
<select class="form-control" name="condition" data-selected="{active.condition}">
<label for="condition-if-users">[[admin/extend/rewards:condition-if-users]]</label><br />
<select id="condition-if-users" class="form-control" name="condition" data-selected="{active.condition}">
{{{ each conditions }}}
<option value="{conditions.condition}">{conditions.name}</option>
{{{ end }}}
</select>
</div>
<div class="well inline-block this-block">
<label for="condition">[[admin/extend/rewards:condition-is]]</label><br />
<label for="condition-is">[[admin/extend/rewards:condition-is]]</label><br />
<div class="row">
<div class="col-xs-6">
<select class="form-control" name="conditional" data-selected="{active.conditional}">
<select id="condition-is" class="form-control" name="conditional" data-selected="{active.conditional}">
{{{ each conditionals }}}
<option value="{conditionals.conditional}">{conditionals.name}</option>
{{{ end }}}
@ -30,8 +30,8 @@
</div>
</div>
<div class="well inline-block then-block">
<label for="condition">[[admin/extend/rewards:condition-then]]</label><br />
<select class="form-control" name="rid" data-selected="{active.rid}">
<label for="condition-then">[[admin/extend/rewards:condition-then]]</label><br />
<select id="condition-then" class="form-control" name="rid" data-selected="{active.rid}">
<!-- BEGIN ../../rewards -->
<option value="{rewards.rid}">{rewards.name}</option>
<!-- END ../../rewards -->
@ -50,7 +50,7 @@
<div class="panel-body inline-block">
<form class="main">
<label for="claimable">[[admin/extend/rewards:max-claims]] <small>[[admin/extend/rewards:zero-infinite]]</small></label><br />
<input class="form-control" type="text" name="claimable" value="{active.claimable}" placeholder="1" />
<input id="claimable" class="form-control" type="text" name="claimable" value="{active.claimable}" placeholder="1" />
</form>
</div>
</div>

@ -4,7 +4,7 @@
<!-- BEGIN admins.members -->
<div class="user-card pull-left" data-uid="{admins.members.uid}">
<!-- IF admins.members.picture -->
<img class="avatar avatar-sm" src="{admins.members.picture}" />
<img class="avatar avatar-sm" src="{admins.members.picture}" alt="" />
<!-- ELSE -->
<div class="avatar avatar-sm" style="background-color: {admins.members.icon:bgColor};">{admins.members.icon:text}</div>
<!-- ENDIF admins.members.picture -->
@ -22,7 +22,7 @@
<!-- BEGIN globalMods.members -->
<div class="user-card pull-left" data-uid="{globalMods.members.uid}">
<!-- IF globalMods.members.picture -->
<img class="avatar avatar-sm" src="{globalMods.members.picture}" />
<img class="avatar avatar-sm" src="{globalMods.members.picture}" alt="" />
<!-- ELSE -->
<div class="avatar avatar-sm" style="background-color: {globalMods.members.icon:bgColor};">{globalMods.members.icon:text}</div>
<!-- ENDIF globalMods.members.picture -->
@ -47,7 +47,7 @@
{{{ each categoryMods.moderators }}}
<div class="user-card pull-left" data-uid="{categoryMods.moderators.uid}">
{{{ if categoryMods.moderators.picture }}}
<img class="avatar avatar-sm" src="{categoryMods.moderators.picture}" />
<img class="avatar avatar-sm" src="{categoryMods.moderators.picture}" alt="" />
{{{ else }}}
<div class="avatar avatar-sm" style="background-color: {categoryMods.moderators.icon:bgColor};">{categoryMods.moderators.icon:text}</div>
{{{ end }}}

@ -133,11 +133,11 @@
</div>
<ul component="group-list" class="dropdown-menu group-dropdown-menu" role="menu">
<li component="group-no-matches" role="presentation" class="group hidden">
<a role="menu-item">[[search:no-matches]]</a>
<a role="menuitem">[[search:no-matches]]</a>
</li>
<!-- BEGIN groupNames -->
<li role="presentation" class="group" data-name="{groupNames.displayName}">
<a href="{config.relative_path}/admin/manage/groups/{groupNames.encodedName}" role="menu-item">{groupNames.displayName}</a>
<a href="{config.relative_path}/admin/manage/groups/{groupNames.encodedName}" role="menuitem">{groupNames.displayName}</a>
</li>
<!-- END groupNames -->
</ul>

@ -58,7 +58,7 @@
{{{ each users.ipMatch }}}
<br>
<!-- IF users.ipMatch.picture -->
<img src="{users.ipMatch.picture}" class="user-img"/>
<img src="{users.ipMatch.picture}" class="user-img" alt="" />
<!-- ELSE -->
<div class="user-img avatar avatar-sm" style="background-color: {users.ipMatch.icon:bgColor};">{users.ipMatch.icon:text}</div>
<!-- ENDIF users.ipMatch.picture -->

@ -55,13 +55,13 @@
</button>
<ul class="dropdown-menu" role="menu">
<li data-filter-by="unverified" role="presentation">
<a role="menu-item" href="#"><i class="fa fa-fw {{{ if filterBy_unverified }}}fa-check{{{end}}}"></i>[[admin/manage/users:pills.unvalidated]]</a>
<a role="menuitem" href="#"><i class="fa fa-fw {{{ if filterBy_unverified }}}fa-check{{{end}}}"></i>[[admin/manage/users:pills.unvalidated]]</a>
</li>
<li data-filter-by="verified" role="presentation">
<a role="menu-item" href="#"><i class="fa fa-fw {{{ if filterBy_verified }}}fa-check{{{end}}}"></i>[[admin/manage/users:pills.validated]]</a>
<a role="menuitem" href="#"><i class="fa fa-fw {{{ if filterBy_verified }}}fa-check{{{end}}}"></i>[[admin/manage/users:pills.validated]]</a>
</li>
<li data-filter-by="banned" role="presentation">
<a role="menu-item" href="#"><i class="fa fa-fw {{{ if filterBy_banned }}}fa-check{{{end}}}"></i>[[admin/manage/users:pills.banned]]</a>
<a role="menuitem" href="#"><i class="fa fa-fw {{{ if filterBy_banned }}}fa-check{{{end}}}"></i>[[admin/manage/users:pills.banned]]</a>
</li>
</ul>
</div>

@ -9,11 +9,11 @@
</div>
<ul component="category/list" class="dropdown-menu category-dropdown-menu" role="menu">
<li component="category/no-matches" role="presentation" class="category hidden">
<a role="menu-item">[[search:no-matches]]</a>
<a role="menuitem">[[search:no-matches]]</a>
</li>
<!-- BEGIN categories -->
<li role="presentation" class="category {{{if categories.disabledClass}}}disabled{{{end}}}" data-cid="{categories.cid}" data-name="{categories.name}">
<a role="menu-item">{categories.level}<span component="category-markup"><!-- IF categories.icon --><span class="fa-stack" style="{function.generateCategoryBackground}"><i style="color: {categories.color};" class="fa fa-stack-1x fa-fw {categories.icon}"></i></span><!-- ENDIF categories.icon --> {categories.name}</span></a>
<a role="menuitem">{categories.level}<span component="category-markup"><!-- IF categories.icon --><span class="fa-stack" style="{function.generateCategoryBackground}"><i style="color: {categories.color};" class="fa fa-stack-1x fa-fw {categories.icon}"></i></span><!-- ENDIF categories.icon --> {categories.name}</span></a>
</li>
<!-- END categories -->
</ul>

@ -17,6 +17,6 @@
<li role="presentation"><a href="#" data-priv="mods" class="<!-- IF users.privileges.mods -->active<!-- ENDIF users.privileges.mods -->">Moderator</a></li>
</ul>
</div>
<img src="{users.picture}" /> {users.username}
<img src="{users.picture}" alt="" /> {users.username}
</li>
<!-- END users -->

@ -1,21 +1,21 @@
<div class="alert alert-danger hidden" id="create-modal-error"></div>
<form>
<div class="form-group">
<label for="group-name">[[admin/manage/users:create.username]]</label>
<label for="create-user-name">[[admin/manage/users:create.username]]</label>
<input type="text" class="form-control" id="create-user-name" placeholder="[[admin/manage/users:create.username]]" />
</div>
<div class="form-group">
<label for="group-name">[[admin/manage/users:create.email]]</label>
<label for="create-user-email">[[admin/manage/users:create.email]]</label>
<input type="text" class="form-control" id="create-user-email" placeholder="[[admin/manage/users:create.email-placeholder]]" />
</div>
<div class="form-group">
<label for="group-name">[[admin/manage/users:create.password]]</label>
<label for="create-user-password">[[admin/manage/users:create.password]]</label>
<input type="password" class="form-control" id="create-user-password" placeholder="[[admin/manage/users:create.password]]" />
</div>
<div class="form-group">
<label for="group-name">[[admin/manage/users:create.password-confirm]]</label>
<label for="create-user-password-again">[[admin/manage/users:create.password-confirm]]</label>
<input type="password" class="form-control" id="create-user-password-again" placeholder="[[admin/manage/users:create.password]]" />
</div>
</form>

@ -19,7 +19,7 @@
<td>
<a href="{config.relative_path}/user/{group.members.userslug}">
<!-- IF group.members.picture -->
<img class="avatar avatar-sm avatar-rounded" src="{group.members.picture}" />
<img class="avatar avatar-sm avatar-rounded" src="{group.members.picture}" alt="" />
<!-- ELSE -->
<div class="avatar avatar-sm avatar-rounded" style="background-color: {group.members.icon:bgColor};">{group.members.icon:text}</div>
<!-- ENDIF group.members.picture -->

@ -7,11 +7,11 @@
</div>
<ul component="category/list" class="dropdown-menu category-dropdown-menu dropdown-menu-right" role="menu">
<li component="category/no-matches" role="presentation" class="category hidden">
<a role="menu-item">[[search:no-matches]]</a>
<a role="menuitem">[[search:no-matches]]</a>
</li>
{{{each categories}}}
<li role="presentation" class="category <!-- IF categories.disabledClass -->disabled<!-- ENDIF categories.disabledClass -->" data-cid="{categories.cid}" data-name="{categories.name}" data-parent-cid="{categories.parentCid}">
<a role="menu-item">{categories.level}<span component="category-markup"><!-- IF categories.icon --><span class="fa-stack" style="{function.generateCategoryBackground}"><i style="color: {categories.color};" class="fa fa-stack-1x fa-fw {categories.icon}"></i></span><!-- ENDIF categories.icon --> {categories.name}</span></a>
<a role="menuitem">{categories.level}<span component="category-markup"><!-- IF categories.icon --><span class="fa-stack" style="{function.generateCategoryBackground}"><i style="color: {categories.color};" class="fa fa-stack-1x fa-fw {categories.icon}"></i></span><!-- ENDIF categories.icon --> {categories.name}</span></a>
</li>
{{{end}}}
</ul>

@ -107,7 +107,7 @@
<tr data-uid="{privileges.users.uid}"{{{ if privileges.users.banned }}} data-banned{{{ end }}}>
<td>
<!-- IF ../picture -->
<img class="avatar avatar-sm" src="{privileges.users.picture}" title="{privileges.users.username}" />
<img class="avatar avatar-sm" src="{privileges.users.picture}" title="{privileges.users.username}" alt="" />
<!-- ELSE -->
<div class="avatar avatar-sm" style="background-color: {../icon:bgColor};">{../icon:text}</div>
<!-- ENDIF ../picture -->

@ -81,7 +81,7 @@
<tr data-uid="{privileges.users.uid}"{{{ if privileges.users.banned }}} data-banned{{{ end }}}>
<td>
<!-- IF ../picture -->
<img class="avatar avatar-sm" src="{privileges.users.picture}" title="{privileges.users.username}" />
<img class="avatar avatar-sm" src="{privileges.users.picture}" title="{privileges.users.username}" alt="" />
<!-- ELSE -->
<div class="avatar avatar-sm" style="background-color: {../icon:bgColor};">{../icon:text}</div>
<!-- ENDIF ../picture -->

@ -15,11 +15,11 @@
</p>
<div class="form-group">
<label for="maintenanceModeStatus">[[admin/settings/advanced:maintenance-mode.status]]</label>
<input class="form-control" type="text" data-field="maintenanceModeStatus">
<input id="maintenanceModeStatus" class="form-control" type="text" data-field="maintenanceModeStatus">
</div>
<div class="form-group">
<label for="maintenanceModeMessage">[[admin/settings/advanced:maintenance-mode.message]]</label>
<textarea class="form-control" data-field="maintenanceModeMessage"></textarea>
<textarea id="maintenanceModeMessage" class="form-control" data-field="maintenanceModeMessage"></textarea>
</div>
</form>
</div>

@ -27,7 +27,7 @@
<div class="col-sm-2 col-xs-12 settings-header">[[admin/settings/api:tokens]]</div>
<div class="col-sm-10 col-xs-12">
<div class="form-group" data-type="sorted-list" data-sorted-list="tokens" data-item-template="admin/partials/api/sorted-list/item" data-form-template="admin/partials/api/sorted-list/form">
<input hidden="text" name="tokens">
<input type="hidden" name="tokens">
<ul data-type="list" class="list-group"></ul>
<button type="button" data-type="add" class="btn btn-info">Create Token</button>
</div>

@ -24,34 +24,34 @@
</div>
<div class="form-group">
<label>[[admin/settings/chat:restrictions.seconds-edit-after]]</label>
<input type="text" class="form-control" value="0" data-field="chatEditDuration">
<label for="chatEditDuration">[[admin/settings/chat:restrictions.seconds-edit-after]]</label>
<input id="chatEditDuration" type="text" class="form-control" value="0" data-field="chatEditDuration">
</div>
<div class="form-group">
<label>[[admin/settings/chat:restrictions.seconds-delete-after]]</label>
<input type="text" class="form-control" value="0" data-field="chatDeleteDuration">
<label for="chatDeleteDuration">[[admin/settings/chat:restrictions.seconds-delete-after]]</label>
<input id="chatDeleteDuration" type="text" class="form-control" value="0" data-field="chatDeleteDuration">
</div>
<div class="form-group">
<label>[[admin/settings/chat:max-length]]</label>
<input type="text" class="form-control" value="1000" data-field="maximumChatMessageLength">
<label for="maximumChatMessageLength">[[admin/settings/chat:max-length]]</label>
<input id="maximumChatMessageLength" type="text" class="form-control" value="1000" data-field="maximumChatMessageLength">
</div>
<div class="form-group">
<label>[[admin/settings/chat:max-room-size]]</label>
<input type="text" class="form-control" value="0" data-field="maximumUsersInChatRoom">
<label for="maximumUsersInChatRoom">[[admin/settings/chat:max-room-size]]</label>
<input id="maximumUsersInChatRoom" type="text" class="form-control" value="0" data-field="maximumUsersInChatRoom">
</div>
<div class="form-group">
<label>[[admin/settings/chat:delay]]</label>
<input type="text" class="form-control" value="200" data-field="chatMessageDelay">
<label for="chatMessageDelay">[[admin/settings/chat:delay]]</label>
<input id="chatMessageDelay" type="text" class="form-control" value="200" data-field="chatMessageDelay">
</div>
<div class="form-group">
<label>[[admin/settings/chat:notification-delay]]</label>
<input type="text" class="form-control" value="60" data-field="notificationSendDelay">
<label for="notificationSendDelay">[[admin/settings/chat:notification-delay]]</label>
<input id="notificationSendDelay" type="text" class="form-control" value="60" data-field="notificationSendDelay">
</div>
</div>
</div>

@ -130,14 +130,14 @@
</div>
<div class="form-group">
<label for="email:smtpTransport:user"><strong>[[admin/settings/email:smtp-transport.username]]</strong></label>
<input type="text" class="form-control input-lg" data-field="email:smtpTransport:user" placeholder="admin@example.org" autocomplete="off" />
<input id="email:smtpTransport:user" type="text" class="form-control input-lg" data-field="email:smtpTransport:user" placeholder="admin@example.org" autocomplete="off" />
<p class="help-block">
[[admin/settings/email:smtp-transport.username-help]]
</p>
</div>
<div class="form-group">
<label for="email:smtpTransport:pass"><strong>[[admin/settings/email:smtp-transport.password]]</strong></label>
<input type="password" class="form-control input-lg" data-field="email:smtpTransport:pass" autocomplete="off" />
<input id="email:smtpTransport:pass" type="password" class="form-control input-lg" data-field="email:smtpTransport:pass" autocomplete="off" />
</div>
</form>
</div>
@ -146,7 +146,7 @@
<div class="row">
<div class="col-sm-2 col-xs-12 settings-header">[[admin/settings/email:template]]</div>
<div class="col-sm-10 col-xs-12">
<label>[[admin/settings/email:template.select]]</label><br />
<label for="email-editor-selector">[[admin/settings/email:template.select]]</label><br />
<select id="email-editor-selector" class="form-control">
<!-- BEGIN emails -->
<option value="{emails.path}">{emails.path}</option>
@ -164,7 +164,7 @@
<div class="col-sm-2 col-xs-12 settings-header">[[admin/settings/email:testing]]</div>
<div class="col-sm-10 col-xs-12">
<div class="form-group">
<label>[[admin/settings/email:testing.select]]</label>
<label for="test-email">[[admin/settings/email:testing.select]]</label>
<select id="test-email" class="form-control">
<!-- BEGIN sendable -->
<option value="{@value}">{@value}</option>

@ -6,8 +6,8 @@
</div>
<div class="col-sm-10 col-xs-12">
<form>
<label>[[admin/settings/general:title]]</label>
<input class="form-control" type="text" placeholder="[[admin/settings/general:title.name]]" data-field="title" />
<label for="site-title">[[admin/settings/general:title]]</label>
<input id="site-title" class="form-control" type="text" placeholder="[[admin/settings/general:title.name]]" data-field="title" />
<label for="title:short">[[admin/settings/general:title.short]]</label>
<input id="title:short" type="text" class="form-control" placeholder="[[admin/settings/general:title.short-placeholder]]" data-field="title:short" />
<label for="title:url">[[admin/settings/general:title.url]]</label>
@ -23,23 +23,23 @@
</label>
</div>
<label>[[admin/settings/general:browser-title]]</label>
<input class="form-control" type="text" placeholder="[[admin/settings/general:browser-title]]" data-field="browserTitle" />
<label for="browserTitle">[[admin/settings/general:browser-title]]</label>
<input id="browserTitle" class="form-control" type="text" placeholder="[[admin/settings/general:browser-title]]" data-field="browserTitle" />
<p class="help-block">
[[admin/settings/general:browser-title-help]]
</p>
<label>[[admin/settings/general:title-layout]]</label>
<input class="form-control" type="text" placeholder="[[admin/settings/general:title-layout]]" data-field="titleLayout" />
<label for="titleLayout">[[admin/settings/general:title-layout]]</label>
<input id="titleLayout" class="form-control" type="text" placeholder="[[admin/settings/general:title-layout]]" data-field="titleLayout" />
<p class="help-block">
[[admin/settings/general:title-layout-help]]
</p>
<label>[[admin/settings/general:description]]</label>
<input type="text" class="form-control" placeholder="[[admin/settings/general:description.placeholder]]" data-field="description" /><br />
<label for="description">[[admin/settings/general:description]]</label>
<input id="description" type="text" class="form-control" placeholder="[[admin/settings/general:description.placeholder]]" data-field="description" /><br />
<label>[[admin/settings/general:keywords]]</label><br />
<input type="text" class="form-control" placeholder="[[admin/settings/general:keywords-placeholder]]" data-field="keywords" data-field-type="tagsinput" /><br />
<label for="keywords">[[admin/settings/general:keywords]]</label><br />
<input id="keywords" type="text" class="form-control" placeholder="[[admin/settings/general:keywords-placeholder]]" data-field="keywords" data-field-type="tagsinput" /><br />
</form>
</div>
</div>
@ -52,7 +52,7 @@
<div class="input-group">
<input id="logoUrl" type="text" class="form-control" placeholder="[[admin/settings/general:logo.image-placeholder]]" data-field="brand:logo" />
<span class="input-group-btn">
<input data-action="upload" data-target="logoUrl" data-route="{config.relative_path}/api/admin/uploadlogo" type="button" class="btn btn-default" value="[[admin/settings/general:logo.upload]]"></input>
<input data-action="upload" data-target="logoUrl" data-route="{config.relative_path}/api/admin/uploadlogo" type="button" class="btn btn-default" value="[[admin/settings/general:logo.upload]]" />
<button data-action="removeLogo" type="button" class="btn btn-default btn-danger"><i class="fa fa-times"></i></button>
</span>
</div>
@ -75,7 +75,7 @@
<div class="input-group">
<input id="og_image" type="text" class="form-control" placeholder="" data-field="og:image" />
<span class="input-group-btn">
<input data-action="upload" data-target="og_image" data-route="{config.relative_path}/api/admin/uploadOgImage" type="button" class="btn btn-default" value="[[admin/settings/general:logo.upload]]"></input>
<input data-action="upload" data-target="og_image" data-route="{config.relative_path}/api/admin/uploadOgImage" type="button" class="btn btn-default" value="[[admin/settings/general:logo.upload]]" />
<button data-action="removeOgImage" type="button" class="btn btn-default btn-danger"><i class="fa fa-times"></i></button>
</span>
</div>
@ -92,7 +92,7 @@
<div class="input-group">
<input id="faviconUrl" type="text" class="form-control" placeholder="favicon.ico" data-field="brand:favicon" data-action="upload" data-target="faviconUrl" data-route="{config.relative_path}/api/admin/uploadfavicon" readonly />
<span class="input-group-btn">
<input data-action="upload" data-target="faviconUrl" data-route="{config.relative_path}/api/admin/uploadfavicon" data-help="0" type="button" class="btn btn-default" value="[[admin/settings/general:favicon.upload]]"></input>
<input data-action="upload" data-target="faviconUrl" data-route="{config.relative_path}/api/admin/uploadfavicon" data-help="0" type="button" class="btn btn-default" value="[[admin/settings/general:favicon.upload]]" />
<button data-action="removeFavicon" type="button" class="btn btn-default btn-danger"><i class="fa fa-times"></i></button>
</span>
</div>
@ -110,7 +110,7 @@
<div class="input-group">
<input id="touchIconUrl" type="text" class="form-control" data-field="brand:touchIcon" data-action="upload" data-target="touchIconUrl" data-route="{config.relative_path}/api/admin/uploadTouchIcon" readonly />
<span class="input-group-btn">
<input data-action="upload" data-target="touchIconUrl" data-route="{config.relative_path}/api/admin/uploadTouchIcon" type="button" class="btn btn-default" value="[[admin/settings/general:touch-icon.upload]]"></input>
<input data-action="upload" data-target="touchIconUrl" data-route="{config.relative_path}/api/admin/uploadTouchIcon" type="button" class="btn btn-default" value="[[admin/settings/general:touch-icon.upload]]" />
<button data-action="removeTouchIcon" type="button" class="btn btn-default btn-danger"><i class="fa fa-times"></i></button>
</span>
</div>
@ -120,11 +120,11 @@
</div>
<div class="form-group">
<label for="touchIconUrl">[[admin/settings/general:maskable-icon]]</label>
<label for="maskableIconUrl">[[admin/settings/general:maskable-icon]]</label>
<div class="input-group">
<input id="maskableIconUrl" type="text" class="form-control" data-field="brand:maskableIcon" data-action="upload" data-target="maskableIconUrl" data-route="{config.relative_path}/api/admin/uploadMaskableIcon" readonly />
<span class="input-group-btn">
<input data-action="upload" data-target="maskableIconUrl" data-route="{config.relative_path}/api/admin/uploadMaskableIcon" type="button" class="btn btn-default" value="[[admin/settings/general:touch-icon.upload]]"></input>
<input data-action="upload" data-target="maskableIconUrl" data-route="{config.relative_path}/api/admin/uploadMaskableIcon" type="button" class="btn btn-default" value="[[admin/settings/general:touch-icon.upload]]" />
<button data-action="removeMaskableIcon" type="button" class="btn btn-default btn-danger"><i class="fa fa-times"></i></button>
</span>
</div>
@ -139,8 +139,8 @@
<div class="col-sm-2 col-xs-12 settings-header">[[admin/settings/general:search]]</div>
<div class="col-sm-10 col-xs-12">
<div class="form-group">
<label>[[admin/settings/general:search-default-in]]</label>
<select class="form-control" data-field="searchDefaultIn">
<label for="searchDefaultIn">[[admin/settings/general:search-default-in]]</label>
<select id="searchDefaultIn" class="form-control" data-field="searchDefaultIn">
<option value="titlesposts">[[search:titles-posts]]</option>
<option value="titles">[[search:titles]]</option>
<option value="posts">[[global:posts]]</option>
@ -150,15 +150,15 @@
</select>
</div>
<div class="form-group">
<label>[[admin/settings/general:search-default-in-quick]]</label>
<select class="form-control" data-field="searchDefaultInQuick">
<label for="searchDefaultInQuick">[[admin/settings/general:search-default-in-quick]]</label>
<select id="searchDefaultInQuick" class="form-control" data-field="searchDefaultInQuick">
<option value="titlesposts">[[search:titles-posts]]</option>
<option value="titles">[[search:titles]]</option>
<option value="posts">[[global:posts]]</option>
</select>
</div>
<div class="form-group">
<label>[[admin/settings/general:search-default-sort-by]]</label>
<label for="post-sort-by">[[admin/settings/general:search-default-sort-by]]</label>
<select id="post-sort-by" class="form-control" data-field="searchDefaultSortBy">
<option value="relevance">[[search:relevance]]</option>
<option value="timestamp">[[search:post-time]]</option>
@ -199,11 +199,11 @@
<div class="col-sm-2 col-xs-12 settings-header">[[admin/settings/general:site-colors]]</div>
<div class="col-sm-10 col-xs-12">
<form>
<label>[[admin/settings/general:theme-color]]</label>
<input type="text" class="form-control" placeholder="#ffffff" data-field="themeColor" />
<label for="themeColor">[[admin/settings/general:theme-color]]</label>
<input id="themeColor" type="text" class="form-control" placeholder="#ffffff" data-field="themeColor" />
<label>[[admin/settings/general:background-color]]</label>
<input type="text" class="form-control" placeholder="#ffffff" data-field="backgroundColor" />
<label for="backgroundColor">[[admin/settings/general:background-color]]</label>
<input id="backgroundColor" type="text" class="form-control" placeholder="#ffffff" data-field="backgroundColor" />
<p class="help-block">
[[admin/settings/general:background-color-help]]
</p>
@ -215,8 +215,8 @@
<div class="col-sm-2 col-xs-12 settings-header">[[admin/settings/general:topic-tools]]</div>
<div class="col-sm-10 col-xs-12">
<form>
<label>[[admin/settings/general:undo-timeout]]</label>
<input type="text" class="form-control" placeholder="10000" data-field="undoTimeout" />
<label for="undoTimeout">[[admin/settings/general:undo-timeout]]</label>
<input id="undoTimeout" type="text" class="form-control" placeholder="10000" data-field="undoTimeout" />
<p class="help-block">
[[admin/settings/general:undo-timeout-help]]
</p>

@ -29,11 +29,11 @@
[[admin/settings/group:allow-multiple-badges-help]]
</p>
<label>[[admin/settings/group:max-name-length]]</label>
<input class="form-control" type="text" placeholder="255" data-field="maximumGroupNameLength" />
<label for="maximumGroupNameLength">[[admin/settings/group:max-name-length]]</label>
<input id="maximumGroupNameLength" class="form-control" type="text" placeholder="255" data-field="maximumGroupNameLength" />
<label>[[admin/settings/group:max-title-length]]</label>
<input class="form-control" type="text" placeholder="40" data-field="maximumGroupTitleLength" />
<label for="maximumGroupTitleLength">[[admin/settings/group:max-title-length]]</label>
<input id="maximumGroupTitleLength" class="form-control" type="text" placeholder="40" data-field="maximumGroupTitleLength" />
</form>
</div>
</div>

@ -6,16 +6,16 @@
</p>
<form class="row">
<div class="col-sm-12">
<label>[[admin/settings/homepage:home-page-route]]</label>
<select class="form-control" data-field="homePageRoute">
<label for="homePageRoute">[[admin/settings/homepage:home-page-route]]</label>
<select id="homePageRoute" class="form-control" data-field="homePageRoute">
<!-- BEGIN routes -->
<option value="{routes.route}">{routes.name}</option>
<!-- END routes -->
</select>
<div id="homePageCustom" style="display: none;">
<br>
<label>[[admin/settings/homepage:custom-route]]</label>
<input type="text" class="form-control" data-field="homePageCustom"/>
<label for="homePageCustomInput">[[admin/settings/homepage:custom-route]]</label>
<input id="homePageCustomInput" type="text" class="form-control" data-field="homePageCustom"/>
<p class="help-block">[[user:custom_route_help]]</p>
</div>
<br>
@ -26,8 +26,8 @@
</label>
</div>
<br>
<label>[[admin/settings/homepage:home-page-title]]</label>
<input class="form-control" type="text" data-field="homePageTitle" placeholder="[[pages:home]]">
<label for="homePageTitle">[[admin/settings/homepage:home-page-title]]</label>
<input id="homePageTitle" class="form-control" type="text" data-field="homePageTitle" placeholder="[[pages:home]]">
</div>
</form>
</div>

@ -9,7 +9,7 @@
<form class="row">
<div class="form-group col-sm-6">
<label for="defaultLang">[[admin/settings/languages:default-language]]</label>
<label for="language">[[admin/settings/languages:default-language]]</label>
<select id="language" data-field="defaultLang" class="form-control">
<!-- BEGIN languages -->
<option value="{languages.code}" <!-- IF languages.selected -->selected<!-- ENDIF languages.selected -->>{languages.name} ({languages.code})</option>

@ -32,43 +32,43 @@
<div class="col-sm-3">
<div class="form-group">
<label>[[admin/settings/navigation:route]]</label>
<input class="form-control" type="text" name="route" value="{enabled.route}" />
<label for="nav:route">[[admin/settings/navigation:route]]</label>
<input id="nav:route" class="form-control" type="text" name="route" value="{enabled.route}" />
</div>
</div>
<div class="col-sm-4">
<div class="form-group">
<label>[[admin/settings/navigation:class]]</label>
<input class="form-control" type="text" name="class" value="{enabled.class}" />
<label for="nav:class">[[admin/settings/navigation:class]]</label>
<input id="nav:class" class="form-control" type="text" name="class" value="{enabled.class}" />
</div>
</div>
<div class="col-sm-4">
<div class="form-group">
<label>[[admin/settings/navigation:id]]</label>
<input class="form-control" type="text" name="id" value="{enabled.id}" />
<label for="nav:id">[[admin/settings/navigation:id]]</label>
<input id="nav:id" class="form-control" type="text" name="id" value="{enabled.id}" />
</div>
</div>
</div>
<div class="row">
<div class="col-sm-4">
<div class="form-group">
<label>[[admin/settings/navigation:text]]</label>
<input class="form-control unescape" type="text" name="text" value="{enabled.text}" />
<label for="nav:text">[[admin/settings/navigation:text]]</label>
<input id="nav:text" class="form-control unescape" type="text" name="text" value="{enabled.text}" />
</div>
</div>
<div class="col-sm-4">
<div class="form-group">
<label>[[admin/settings/navigation:text-class]]</label>
<input class="form-control" type="text" name="textClass" value="{enabled.textClass}" />
<label for="nav:text-class">[[admin/settings/navigation:text-class]]</label>
<input id="nav:text-class" class="form-control" type="text" name="textClass" value="{enabled.textClass}" />
</div>
</div>
<div class="col-sm-4">
<div class="form-group">
<label>[[admin/settings/navigation:tooltip]]</label>
<input class="form-control unescape" type="text" name="title" value="{enabled.title}" />
<label for="nav:tooltip">[[admin/settings/navigation:tooltip]]</label>
<input id="nav:tooltip" class="form-control unescape" type="text" name="title" value="{enabled.title}" />
</div>
</div>
</div>

@ -5,16 +5,16 @@
<div class="col-sm-10 col-xs-12">
<form>
<div class="form-group">
<label>[[admin/settings/post:sorting.post-default]]</label>
<select class="form-control" data-field="topicPostSort">
<label for="topicPostSort">[[admin/settings/post:sorting.post-default]]</label>
<select id="topicPostSort" class="form-control" data-field="topicPostSort">
<option value="oldest_to_newest">[[admin/settings/post:sorting.oldest-to-newest]]</option>
<option value="newest_to_oldest">[[admin/settings/post:sorting.newest-to-oldest]]</option>
<option value="most_votes">[[admin/settings/post:sorting.most-votes]]</option>
</select>
</div>
<div class="form-group">
<label>[[admin/settings/post:sorting.topic-default]]</label>
<select class="form-control" data-field="categoryTopicSort">
<label for="categoryTopicSort">[[admin/settings/post:sorting.topic-default]]</label>
<select id="categoryTopicSort" class="form-control" data-field="categoryTopicSort">
<option value="oldest_to_newest">[[admin/settings/post:sorting.oldest-to-newest]]</option>
<option value="newest_to_oldest">[[admin/settings/post:sorting.newest-to-oldest]]</option>
<option value="most_posts">[[admin/settings/post:sorting.most-posts]]</option>
@ -140,8 +140,8 @@
</div>
<div class="row">
<div class="form-group">
<label>[[admin/settings/post:restrictions.groups-exempt-from-post-queue]]</label>
<select class="form-control" multiple data-field="groupsExemptFromPostQueue">
<label for="groupsExemptFromPostQueue">[[admin/settings/post:restrictions.groups-exempt-from-post-queue]]</label>
<select id="groupsExemptFromPostQueue" class="form-control" multiple data-field="groupsExemptFromPostQueue">
<!-- BEGIN groupsExemptFromPostQueue -->
<option value="{groupsExemptFromPostQueue.displayName}">{groupsExemptFromPostQueue.displayName}</option>
<!-- END -->
@ -186,8 +186,8 @@
<div class="col-sm-10 col-xs-12">
<form>
<div class="form-group">
<label>[[admin/settings/post:teaser]]</label>
<select class="form-control" data-field="teaserPost">
<label for="teaserPost">[[admin/settings/post:teaser]]</label>
<select id="teaserPost" class="form-control" data-field="teaserPost">
<option value="last-post">[[admin/settings/post:teaser.last-post]]</option>
<option value="last-reply">[[admin/settings/post:teaser.last-reply]]</option>
<option value="first">[[admin/settings/post:teaser.first]]</option>
@ -254,8 +254,8 @@
</label>
</div>
<div class="form-group">
<label>[[admin/settings/post:signature.max-length]]</label>
<input type="text" class="form-control" value="255" data-field="maximumSignatureLength">
<label for="maximumSignatureLength">[[admin/settings/post:signature.max-length]]</label>
<input id="maximumSignatureLength" type="text" class="form-control" value="255" data-field="maximumSignatureLength">
</div>
</form>
</div>

@ -12,7 +12,7 @@
</div>
<div class="form-group">
<label for="systemTags">[[admin/settings/tags:system-tags]]</label>
<input type="text" class="form-control" value="" data-field="systemTags" data-field-type="tagsinput" />
<input id="systemTags" type="text" class="form-control" value="" data-field="systemTags" data-field-type="tagsinput" />
<p class="help-block">
[[admin/settings/tags:system-tags-help]]
</p>

@ -22,7 +22,7 @@
<div class="form-group">
<label for="privateUploadsExtensions">[[admin/settings/uploads:private-extensions]]</label>
<input type="text" class="form-control" value="" data-field="privateUploadsExtensions" placeholder="">
<input id="privateUploadsExtensions" type="text" class="form-control" value="" data-field="privateUploadsExtensions" placeholder="">
<p class="help-block">
[[admin/settings/uploads:private-uploads-extensions-help]]
</p>
@ -32,7 +32,7 @@
<div class="col-xs-6">
<div class="form-group">
<label for="resizeImageWidthThreshold">[[admin/settings/uploads:resize-image-width-threshold]]</label>
<input type="text" class="form-control" value="2000" data-field="resizeImageWidthThreshold" placeholder="2000">
<input id="resizeImageWidthThreshold" type="text" class="form-control" value="2000" data-field="resizeImageWidthThreshold" placeholder="2000">
<p class="help-block">
[[admin/settings/uploads:resize-image-width-threshold-help]]
</p>
@ -42,7 +42,7 @@
<div class="col-xs-6">
<div class="form-group">
<label for="resizeImageWidth">[[admin/settings/uploads:resize-image-width]]</label>
<input type="text" class="form-control" value="760" data-field="resizeImageWidth" placeholder="760">
<input id="resizeImageWidth" type="text" class="form-control" value="760" data-field="resizeImageWidth" placeholder="760">
<p class="help-block">
[[admin/settings/uploads:resize-image-width-help]]
</p>
@ -52,7 +52,7 @@
<div class="form-group">
<label for="resizeImageQuality">[[admin/settings/uploads:resize-image-quality]]</label>
<input type="text" class="form-control" value="60" data-field="resizeImageQuality" placeholder="60">
<input id="resizeImageQuality" type="text" class="form-control" value="60" data-field="resizeImageQuality" placeholder="60">
<p class="help-block">
[[admin/settings/uploads:resize-image-quality-help]]
</p>
@ -60,7 +60,7 @@
<div class="form-group">
<label for="maximumFileSize">[[admin/settings/uploads:max-file-size]]</label>
<input type="text" class="form-control" value="2048" data-field="maximumFileSize">
<input id="maximumFileSize" type="text" class="form-control" value="2048" data-field="maximumFileSize">
<p class="help-block">
[[admin/settings/uploads:max-file-size-help]]
</p>
@ -68,7 +68,7 @@
<div class="form-group">
<label for="rejectImageWidth">[[admin/settings/uploads:reject-image-width]]</label>
<input type="text" class="form-control" value="5000" data-field="rejectImageWidth" placeholder="5000">
<input id="rejectImageWidth" type="text" class="form-control" value="5000" data-field="rejectImageWidth" placeholder="5000">
<p class="help-block">
[[admin/settings/uploads:reject-image-width-help]]
</p>
@ -76,7 +76,7 @@
<div class="form-group">
<label for="rejectImageHeight">[[admin/settings/uploads:reject-image-height]]</label>
<input type="text" class="form-control" value="5000" data-field="rejectImageHeight" placeholder="5000">
<input id="rejectImageHeight" type="text" class="form-control" value="5000" data-field="rejectImageHeight" placeholder="5000">
<p class="help-block">
[[admin/settings/uploads:reject-image-height-help]]
</p>
@ -91,12 +91,12 @@
<div class="form-group">
<label for="topicThumbSize">[[admin/settings/uploads:topic-thumb-size]]</label>
<input type="text" class="form-control" value="120" data-field="topicThumbSize">
<input id="topicThumbSize" type="text" class="form-control" value="120" data-field="topicThumbSize">
</div>
<div class="form-group">
<label for="allowedFileExtensions">[[admin/settings/uploads:allowed-file-extensions]]</label>
<input type="text" class="form-control" value="" data-field="allowedFileExtensions" data-field-type="tagsinput" />
<input id="allowedFileExtensions" type="text" class="form-control" value="" data-field="allowedFileExtensions" data-field-type="tagsinput" />
<p class="help-block">
[[admin/settings/uploads:allowed-file-extensions-help]]
</p>
@ -104,7 +104,7 @@
<div class="form-group">
<label for="uploadRateLimitThreshold">[[admin/settings/uploads:upload-limit-threshold]]</label>
<div class="row">
<div id="uploadRateLimitThreshold" class="row">
<div class="col-xs-2">
<input type="text" class="form-control" data-field="uploadRateLimitThreshold" />
</div>
@ -148,7 +148,7 @@
<div class="input-group">
<input id="defaultAvatar" type="text" class="form-control" placeholder="A custom image to use instead of user icons" data-field="defaultAvatar" />
<span class="input-group-btn">
<input data-action="upload" data-target="defaultAvatar" data-route="{config.relative_path}/api/admin/uploadDefaultAvatar" type="button" class="btn btn-default" value="[[admin/settings/uploads:upload]]"></input>
<input data-action="upload" data-target="defaultAvatar" data-route="{config.relative_path}/api/admin/uploadDefaultAvatar" type="button" class="btn btn-default" value="[[admin/settings/uploads:upload]]" />
</span>
</div>
</div>
@ -162,16 +162,16 @@
</div>
<div class="form-group">
<label>[[admin/settings/uploads:max-profile-image-size]]</label>
<input type="text" class="form-control" placeholder="Maximum size of uploaded user images in kibibytes" data-field="maximumProfileImageSize" />
<label for="maximumProfileImageSize">[[admin/settings/uploads:max-profile-image-size]]</label>
<input id="maximumProfileImageSize" type="text" class="form-control" placeholder="Maximum size of uploaded user images in kibibytes" data-field="maximumProfileImageSize" />
<p class="help-block">
[[admin/settings/uploads:max-profile-image-size-help]]
</p>
</div>
<div class="form-group">
<label>[[admin/settings/uploads:max-cover-image-size]]</label>
<input type="text" class="form-control" placeholder="Maximum size of uploaded cover images in kibibytes" data-field="maximumCoverImageSize" />
<label for="maximumCoverImageSize">[[admin/settings/uploads:max-cover-image-size]]</label>
<input id="maximumCoverImageSize" type="text" class="form-control" placeholder="Maximum size of uploaded cover images in kibibytes" data-field="maximumCoverImageSize" />
<p class="help-block">
[[admin/settings/uploads:max-cover-image-size-help]]
</p>

@ -12,8 +12,8 @@
</div>
<div class="form-group">
<label>[[admin/settings/user:allow-login-with]]</label>
<select class="form-control" data-field="allowLoginWith">
<label for="allowLoginWith">[[admin/settings/user:allow-login-with]]</label>
<select id="allowLoginWith" class="form-control" data-field="allowLoginWith">
<option value="username-email">[[admin/settings/user:allow-login-with.username-email]]</option>
<option value="username">[[admin/settings/user:allow-login-with.username]]</option>
<option value="email">[[admin/settings/user:allow-login-with.email]]</option>
@ -117,8 +117,8 @@
<input id="lockoutDuration" type="text" class="form-control" data-field="lockoutDuration" placeholder="60" />
</div>
<div class="form-group">
<label>[[admin/settings/user:password-expiry-days]]</label>
<input type="text" class="form-control" data-field="passwordExpiryDays" placeholder="0" />
<label for="passwordExpiryDays">[[admin/settings/user:password-expiry-days]]</label>
<input id="passwordExpiryDays" type="text" class="form-control" data-field="passwordExpiryDays" placeholder="0" />
</div>
</form>
</div>
@ -133,14 +133,14 @@
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label>[[admin/settings/user:session-time-days]]</label>
<input type="text" class="form-control" data-field="loginDays" placeholder="[[admin/settings/user:session-time-days]]" />
<label for="loginDays">[[admin/settings/user:session-time-days]]</label>
<input id="loginDays" type="text" class="form-control" data-field="loginDays" placeholder="[[admin/settings/user:session-time-days]]" />
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label>[[admin/settings/user:session-time-seconds]]</label>
<input type="text" class="form-control" data-field="loginSeconds" placeholder="[[admin/settings/user:session-time-seconds]]" />
<label for="loginSeconds">[[admin/settings/user:session-time-seconds]]</label>
<input id="loginSeconds" type="text" class="form-control" data-field="loginSeconds" placeholder="[[admin/settings/user:session-time-seconds]]" />
</div>
</div>
<div class="col-xs-12">
@ -150,8 +150,8 @@
</div>
</div>
<div class="form-group">
<label>[[admin/settings/user:online-cutoff]]</label>
<input type="text" class="form-control" data-field="onlineCutoff">
<label for="onlineCutoff">[[admin/settings/user:online-cutoff]]</label>
<input id="onlineCutoff" type="text" class="form-control" data-field="onlineCutoff">
<p class="help-block">[[admin/settings/user:online-cutoff-help]]</p>
</div>
</form>
@ -163,8 +163,8 @@
<div class="col-sm-10 col-xs-12">
<form>
<div class="form-group">
<label>[[admin/settings/user:registration-type]]</label>
<select class="form-control" data-field="registrationType">
<label for="registrationType">[[admin/settings/user:registration-type]]</label>
<select id="registrationType" class="form-control" data-field="registrationType">
<option value="normal">[[admin/settings/user:registration-type.normal]]</option>
<option value="invite-only">[[admin/settings/user:registration-type.invite-only]]</option>
<option value="admin-invite-only">[[admin/settings/user:registration-type.admin-invite-only]]</option>
@ -175,8 +175,8 @@
</p>
</div>
<div class="form-group">
<label>[[admin/settings/user:registration-approval-type]]</label>
<select class="form-control" data-field="registrationApprovalType">
<label for="registrationApprovalType">[[admin/settings/user:registration-approval-type]]</label>
<select id="registrationApprovalType" class="form-control" data-field="registrationApprovalType">
<option value="normal">[[admin/settings/user:registration-type.normal]]</option>
<option value="admin-approval">[[admin/settings/user:registration-type.admin-approval]]</option>
<option value="admin-approval-ip">[[admin/settings/user:registration-type.admin-approval-ip]]</option>
@ -186,8 +186,8 @@
</p>
</div>
<div class="form-group">
<label>[[admin/settings/user:registration-queue-auto-approve-time]]</label>
<input type="number" class="form-control" data-field="autoApproveTime" placeholder="0">
<label for="autoApproveTime">[[admin/settings/user:registration-queue-auto-approve-time]]</label>
<input id="autoApproveTime" type="number" class="form-control" data-field="autoApproveTime" placeholder="0">
<p class="help-block">
[[admin/settings/user:registration-queue-auto-approve-time-help]]
</p>
@ -208,34 +208,34 @@
<p class="help-block">[[admin/settings/email:require-email-address-warning]]</p>
<div class="form-group">
<label>[[admin/settings/user:max-invites]]</label>
<input type="number" class="form-control" data-field="maximumInvites" placeholder="0">
<label for="maximumInvites">[[admin/settings/user:max-invites]]</label>
<input id="maximumInvites" type="number" class="form-control" data-field="maximumInvites" placeholder="0">
<p class="help-block">
[[admin/settings/user:max-invites-help]]
</p>
</div>
<div class="form-group">
<label>[[admin/settings/user:invite-expiration]]</label>
<input type="number" class="form-control" data-field="inviteExpiration" placeholder="7">
<label for="inviteExpiration">[[admin/settings/user:invite-expiration]]</label>
<input id="inviteExpiration" type="number" class="form-control" data-field="inviteExpiration" placeholder="7">
<p class="help-block">
[[admin/settings/user:invite-expiration-help]]
</p>
</div>
<div class="form-group">
<label>[[admin/settings/user:min-username-length]]</label>
<input type="text" class="form-control" value="2" data-field="minimumUsernameLength">
<label for="minimumUsernameLength">[[admin/settings/user:min-username-length]]</label>
<input id="minimumUsernameLength" type="text" class="form-control" value="2" data-field="minimumUsernameLength">
</div>
<div class="form-group">
<label>[[admin/settings/user:max-username-length]]</label>
<input type="text" class="form-control" value="16" data-field="maximumUsernameLength">
<label for="maximumUsernameLength">[[admin/settings/user:max-username-length]]</label>
<input id="maximumUsernameLength" type="text" class="form-control" value="16" data-field="maximumUsernameLength">
</div>
<div class="form-group">
<label>[[admin/settings/user:min-password-length]]</label>
<input type="text" class="form-control" value="6" data-field="minimumPasswordLength">
<label for="minimumPasswordLength">[[admin/settings/user:min-password-length]]</label>
<input id="minimumPasswordLength" type="text" class="form-control" value="6" data-field="minimumPasswordLength">
</div>
<div class="form-group">
<label>[[admin/settings/user:min-password-strength]]</label>
<select class="form-control" data-field="minimumPasswordStrength">
<label for="minimumPasswordStrength">[[admin/settings/user:min-password-strength]]</label>
<select id="minimumPasswordStrength" class="form-control" data-field="minimumPasswordStrength">
<option value="0">0 - too guessable: risky password</option>
<option value="1">1 - very guessable</option>
<option value="2">2 - somewhat guessable</option>
@ -244,12 +244,12 @@
</select>
</div>
<div class="form-group">
<label>[[admin/settings/user:max-about-me-length]]</label>
<input type="text" class="form-control" value="500" data-field="maximumAboutMeLength">
<label for="maximumAboutMeLength">[[admin/settings/user:max-about-me-length]]</label>
<input id="maximumAboutMeLength" type="text" class="form-control" value="500" data-field="maximumAboutMeLength">
</div>
<div class="form-group">
<label>[[admin/settings/user:terms-of-use]]</label>
<textarea class="form-control" data-field="termsOfUse"></textarea>
<label for="termsOfUse">[[admin/settings/user:terms-of-use]]</label>
<textarea id="termsOfUse" class="form-control" data-field="termsOfUse"></textarea>
</div>
</form>
</div>
@ -260,8 +260,8 @@
<div class="col-sm-10 col-xs-12">
<form>
<div class="form-group">
<label>[[admin/settings/user:user-search-results-per-page]]</label>
<input type="text" class="form-control" value="24" data-field="userSearchResultsPerPage">
<label for="userSearchResultsPerPage">[[admin/settings/user:user-search-results-per-page]]</label>
<input id="userSearchResultsPerPage" type="text" class="form-control" value="24" data-field="userSearchResultsPerPage">
</div>
</form>
@ -315,8 +315,8 @@
</div>
<div class="form-group">
<label>[[admin/settings/user:digest-freq]]</label>
<select class="form-control" data-field="dailyDigestFreq">
<label for="dailyDigestFreq">[[admin/settings/user:digest-freq]]</label>
<select id="dailyDigestFreq" class="form-control" data-field="dailyDigestFreq">
<option value="off">[[admin/settings/user:digest-freq.off]]</option>
<option value="day">[[admin/settings/user:digest-freq.daily]]</option>
<option value="week">[[admin/settings/user:digest-freq.weekly]]</option>
@ -339,8 +339,8 @@
</div>
<div class="form-group">
<label>[[admin/settings/user:categoryWatchState]]</label>
<select class="form-control" data-field="categoryWatchState">
<label for="categoryWatchState">[[admin/settings/user:categoryWatchState]]</label>
<select id="categoryWatchState" class="form-control" data-field="categoryWatchState">
<option value="watching">[[admin/settings/user:categoryWatchState.watching]]</option>
<option value="notwatching">[[admin/settings/user:categoryWatchState.notwatching]]</option>
<option value="ignoring">[[admin/settings/user:categoryWatchState.ignoring]]</option>

@ -29,8 +29,8 @@
</div>
<div class="form-group">
<label>[[admin/settings/web-crawler:sitemap-topics]]</label>
<input class="form-control" type="text" data-field="sitemapTopics" />
<label for="sitemapTopics">[[admin/settings/web-crawler:sitemap-topics]]</label>
<input id="sitemapTopics" class="form-control" type="text" data-field="sitemapTopics" />
</div>
<br />

@ -27,7 +27,7 @@
<tr>
<td style="padding: 16px; font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol; width: 32px;">
<!-- IF notifications.image -->
<img style="vertical-align: middle; width: 32px; height: 32px; border-radius: 50%" src="{notifications.image}" />
<img style="vertical-align: middle; width: 32px; height: 32px; border-radius: 50%" src="{notifications.image}" alt="" />
<!-- ELSE -->
<div style="vertical-align: middle; width: 32px; height: 32px; line-height: 32px; font-size: 16px; background-color: {notifications.user.icon:bgColor}; color: white; text-align: center; display: inline-block; border-radius: 50%">{notifications.user.icon:text}</div>
<!-- ENDIF notifications.image -->

@ -42,8 +42,8 @@
<div class="row input-row">
<div class="col-sm-7 col-xs-12 input-field">
<label for="url">Web Address (URL)</label>
<input type="text" class="form-control" name="url" value="<!-- IF url -->{url}<!-- ENDIF url -->" placeholder="http://localhost:4567" />
<label for="install:url">Web Address (URL)</label>
<input id="install:url" type="text" class="form-control" name="url" value="<!-- IF url -->{url}<!-- ENDIF url -->" placeholder="http://localhost:4567" />
</div>
<div class="col-sm-5 help-text" data-help="This is the address that resolves to your NodeBB forum. If no port is specified, <code>4567</code> will be used."></div>
</div>
@ -58,28 +58,28 @@
<div class="row input-row">
<div class="col-sm-7 col-xs-12 input-field">
<label for="admin:username">Username</label>
<input type="text" class="form-control" name="admin:username" value="<!-- IF admin:username -->{admin:username}<!-- ENDIF admin:username -->" placeholder="Username" />
<input id="admin:username" type="text" class="form-control" name="admin:username" value="<!-- IF admin:username -->{admin:username}<!-- ENDIF admin:username -->" placeholder="Username" />
</div>
<div class="col-sm-5 help-text" data-help="Enter an <strong>alphanumeric username</strong>. Spaces between words are allowed. You can always change your username later on your profile page."></div>
</div>
<div class="row input-row">
<div class="col-sm-7 col-xs-12 input-field">
<label for="admin:email">Email Address</label>
<input type="text" class="form-control" name="admin:email" value="<!-- IF admin:email -->{admin:email}<!-- ENDIF admin:email -->" placeholder="Email Address" />
<input id="admin:email" type="text" class="form-control" name="admin:email" value="<!-- IF admin:email -->{admin:email}<!-- ENDIF admin:email -->" placeholder="Email Address" />
</div>
<div class="col-sm-5 help-text" data-help="Please enter your email address."></div>
</div>
<div class="row input-row">
<div class="col-sm-7 col-xs-12 input-field">
<label for="admin:password">Password</label>
<input type="password" class="form-control" name="admin:password" value="<!-- IF admin:password -->{admin:password}<!-- ENDIF admin:password -->" placeholder="Password" data-minimum-strength="{minimumPasswordStrength}" data-minimum-length="{minimumPasswordLength}" />
<input id="admin:password" type="password" class="form-control" name="admin:password" value="<!-- IF admin:password -->{admin:password}<!-- ENDIF admin:password -->" placeholder="Password" data-minimum-strength="{minimumPasswordStrength}" data-minimum-length="{minimumPasswordLength}" />
</div>
<div class="col-sm-5 help-text" data-help="Use a combination of numbers, symbols, and different cases. You can change the strictness of password creation in the Admin Control Panel. Minimum {minimumPasswordLength} characters."></div>
</div>
<div class="row input-row">
<div class="col-sm-7 col-xs-12 input-field">
<label for="admin:passwordConfirm">Confirm Password</label>
<input type="password" class="form-control" name="admin:passwordConfirm" value="<!-- IF admin:passwordConfirm -->{admin:passwordConfirm}<!-- ENDIF admin:passwordConfirm -->" placeholder="Confirm Password" />
<input id="admin:passwordConfirm" type="password" class="form-control" name="admin:passwordConfirm" value="<!-- IF admin:passwordConfirm -->{admin:passwordConfirm}<!-- ENDIF admin:passwordConfirm -->" placeholder="Confirm Password" />
</div>
<div class="col-sm-5 help-text" data-help="Please confirm your password."></div>
</div>
@ -98,8 +98,8 @@
<div class="row input-row">
<div class="col-sm-7 col-xs-12 input-field">
<label for="database">Database Type</label>
<select class="form-control" name="database">
<label for="install:database">Database Type</label>
<select id="install:database" class="form-control" name="database">
<option value="redis">Redis</option>
<option value="mongo">MongoDB</option>
<option value="postgres">PostgreSQL</option>
@ -140,7 +140,7 @@
<div class="row input-row">
<div class="col-sm-7 col-xs-12 input-field">
<label for="{databases.questions.name}">{databases.questions.description}</label>
<input type="<!-- IF hidden -->password<!-- ELSE -->text<!-- ENDIF hidden -->" class="form-control" name="{databases.questions.name}" placeholder="{databases.questions.default}" value="{databases.questions.default}" />
<input id="{databases.questions.name}" type="<!-- IF hidden -->password<!-- ELSE -->text<!-- ENDIF hidden -->" class="form-control" name="{databases.questions.name}" placeholder="{databases.questions.default}" value="{databases.questions.default}" />
</div>
</div>
{{{ end }}}

@ -12,7 +12,7 @@
</div>
<div class="cropper">
<img id="cropped-image" crossorigin="anonymous" src="{url}">
<img id="cropped-image" crossorigin="anonymous" src="{url}" alt="">
</div>
<hr />

@ -5,7 +5,7 @@
{{{ each thumbs }}}
<div class="media" data-id="{./id}" data-path="{./url}">
<div class="media-left">
<img class="media-object" src="{./url}" />
<img class="media-object" src="{./url}" alt="" />
</div>
<div class="media-body">
<p>

Loading…
Cancel
Save