<instruction type="acpMenu">acpMenu.xml</instruction>
<instruction type="userGroupOption">userGroupOption.xml</instruction>
<instruction type="option">option.xml</instruction>
- <instruction type="template">template.tar</instruction>
+ <instruction type="template">templates.tar</instruction>
<instruction type="eventListener">eventListener.xml</instruction>
<instruction type="script">acp/install.php</instruction>
<instruction type="cronjob">cronjob.xml</instruction>
+++ /dev/null
-<script type="text/javascript" src="{@$__wcf->getPath()}js/WCF.Comment{if !ENABLE_DEBUG_MODE}.min{/if}.js?v={@$__wcfVersion}"></script>
-<script type="text/javascript" src="{@$__wcf->getPath()}js/WCF.Moderation{if !ENABLE_DEBUG_MODE}.min{/if}.js?v={@$__wcfVersion}"></script>
-<script type="text/javascript">
- //<![CDATA[
- $(function() {
- WCF.Language.addObject({
- 'wcf.comment.add': '{lang}wcf.comment.add{/lang}',
- 'wcf.comment.button.response.add': '{lang}wcf.comment.button.response.add{/lang}',
- 'wcf.comment.delete.confirmMessage': '{lang}wcf.comment.delete.confirmMessage{/lang}',
- 'wcf.comment.description': '{lang}wcf.comment.description{/lang}',
- 'wcf.comment.more': '{lang}wcf.comment.more{/lang}',
- 'wcf.comment.response.add': '{lang}wcf.comment.response.add{/lang}',
- 'wcf.comment.response.more': '{lang}wcf.comment.response.more{/lang}',
- 'wcf.moderation.report.reportContent': '{lang}wcf.moderation.report.reportContent{/lang}',
- 'wcf.moderation.report.success': '{lang}wcf.moderation.report.success{/lang}'
- });
-
- new {if $commentHandlerClass|isset}{@$commentHandlerClass}{else}WCF.Comment.Handler{/if}('{$commentContainerID}', '{@$__wcf->getUserProfileHandler()->getAvatar()->getImageTag(32)}');
- {if MODULE_LIKE && $__wcf->getSession()->getPermission('user.like.canViewLike')}
- new WCF.Comment.Like({if $__wcf->getUser()->userID && $__wcf->getSession()->getPermission('user.like.canLike')}1{else}0{/if}, {@LIKE_ENABLE_DISLIKE}, false, {@LIKE_ALLOW_FOR_OWN_CONTENT});
- new WCF.Comment.Response.Like({if $__wcf->getUser()->userID && $__wcf->getSession()->getPermission('user.like.canLike')}1{else}0{/if}, {@LIKE_ENABLE_DISLIKE}, false, {@LIKE_ALLOW_FOR_OWN_CONTENT});
- {/if}
-
- new WCF.Moderation.Report.Content('com.woltlab.wcf.comment.comment', '.jsReportCommentComment');
- new WCF.Moderation.Report.Content('com.woltlab.wcf.comment.response', '.jsReportCommentResponse');
- });
- //]]>
-</script>
-
-{event name='javascriptInclude'}
+++ /dev/null
-{if $__showPoll|isset && $__showPoll}
- <script type="text/javascript" src="{@$__wcf->getPath()}js/WCF.Poll{if !ENABLE_DEBUG_MODE}.min{/if}.js?v={@$__wcfVersion}"></script>
- <script type="text/javascript">
- //<![CDATA[
- $(function() {
- WCF.Language.addObject({
- 'wcf.poll.button.addOption': '{lang}wcf.poll.button.addOption{/lang}',
- 'wcf.poll.button.removeOption': '{lang}wcf.poll.button.removeOption{/lang}'
- });
-
- new WCF.Poll.Management('pollOptionContainer', [ {implode from=$pollOptions item=pollOption}{ optionID: {@$pollOption[optionID]}, optionValue: '{$pollOption[optionValue]}' }{/implode} ]);
- });
- //]]>
- </script>
-
- <div id="poll" class="jsOnly tabMenuContent container containerPadding">
- <fieldset>
- <dl{if $errorField == 'pollOptions'} class="formError"{/if}>
- <dt>
- <label for="pollQuestion">{lang}wcf.poll.question{/lang}</label>
- </dt>
- <dd>
- <input type="text" name="pollQuestion" id="pollQuestion" value="{$pollQuestion}" class="long" />
- </dd>
- <dt>
- <label>{lang}wcf.poll.options{/lang}</label>
- </dt>
- <dd id="pollOptionContainer" class="sortableListContainer">
- <ol class="sortableList"></ol>
- {if $errorField == 'pollOptions'}
- <small class="innerError">
- {lang}wcf.global.form.error.empty{/lang}
- </small>
- {/if}
- <small>{lang}wcf.poll.options.description{/lang}</small>
- </dd>
- </dl>
- <dl>
- <dt{if $errorField == 'pollEndTime'} class="formError"{/if}>
- <label for="pollEndTime">{lang}wcf.poll.endTime{/lang}</label>
- </dt>
- <dd>
- <input type="datetime" name="pollEndTime" id="pollEndTime" value="{if $pollEndTime}{@$pollEndTime|date:'Y-m-d H:i'}{/if}" />
- {if $errorField == 'pollEndTime'}
- <small class="innerError">
- {lang}wcf.poll.endTime.error.{@$errorType}{/lang}
- </small>
- {/if}
- </dd>
- </dl>
- <dl{if $errorField == 'pollMaxVotes'} class="formError"{/if}>
- <dt>
- <label for="pollMaxVotes">{lang}wcf.poll.maxVotes{/lang}</label>
- </dt>
- <dd>
- <input type="number" name="pollMaxVotes" id="pollMaxVotes" value="{@$pollMaxVotes}" min="1" class="tiny" />
- {if $errorField == 'pollMaxVotes'}
- <small class="innerError">
- {lang}wcf.poll.maxVotes.error.{@$errorType}{/lang}
- </small>
- {/if}
- </dd>
- <dd>
- <label><input type="checkbox" name="pollIsChangeable" value="1"{if $pollIsChangeable} checked="checked"{/if} /> {lang}wcf.poll.isChangeable{/lang}</label>
- </dd>
- {if !$pollID}
- <dd>
- <label><input type="checkbox" name="pollIsPublic" value="1"{if $pollIsPublic} checked="checked"{/if} /> {lang}wcf.poll.isPublic{/lang}</label>
- </dd>
- {/if}
- <dd>
- <label><input type="checkbox" name="pollResultsRequireVote" value="1"{if $pollResultsRequireVote} checked="checked"{/if} /> {lang}wcf.poll.resultsRequireVote{/lang}</label>
- <small>{lang}wcf.poll.resultsRequireVote.description{/lang}</small>
- </dd>
- <dd>
- <label><input type="checkbox" name="pollSortByVotes" value="1"{if $pollSortByVotes} checked="checked"{/if} /> {lang}wcf.poll.sortByVotes{/lang}</label>
- </dd>
- </dl>
-
- {event name='fields'}
- </fieldset>
- </div>
-{/if}
\ No newline at end of file
+++ /dev/null
-<ul class="smileyList">
- {foreach from=$smilies item=smiley}
- <li><a title="{lang}{$smiley->smileyTitle}{/lang}" class="jsTooltip jsSmiley" data-smiley-code="{$smiley->smileyCode}"><img src="{$smiley->getURL()}" alt="{$smiley->smileyCode}" class="icon24" /></a></li>
- {/foreach}
-</ul>
\ No newline at end of file
+++ /dev/null
-WCF.Language.addObject({
- 'wcf.message.quote.insertAllQuotes': '{lang}wcf.message.quote.insertAllQuotes{/lang}',
- 'wcf.message.quote.insertSelectedQuotes': '{lang}wcf.message.quote.insertSelectedQuotes{/lang}',
- 'wcf.message.quote.manageQuotes': '{lang}wcf.message.quote.manageQuotes{/lang}',
- 'wcf.message.quote.quoteSelected': '{lang}wcf.message.quote.quoteSelected{/lang}',
- 'wcf.message.quote.removeAllQuotes': '{lang}wcf.message.quote.removeAllQuotes{/lang}',
- 'wcf.message.quote.removeSelectedQuotes': '{lang}wcf.message.quote.removeSelectedQuotes{/lang}',
- 'wcf.message.quote.showQuotes': '{lang}wcf.message.quote.showQuotes{/lang}'
-});
-
-{if !$wysiwygSelector|isset}{assign var=wysiwygSelector value=''}{/if}
-{if !$supportPaste|isset}{assign var=supportPaste value=false}{/if}
-var $quoteManager = new WCF.Message.Quote.Manager({@$__quoteCount}, '{$wysiwygSelector|encodeJS}', {if $supportPaste}true{else}false{/if}, [ {implode from=$__quoteRemove item=quoteID}'{$quoteID}'{/implode} ]);
\ No newline at end of file
+++ /dev/null
-{if SIGNATURE_MAX_IMAGE_HEIGHT}
- <style type="text/css">
- .messageSignature img {
- max-height: {@SIGNATURE_MAX_IMAGE_HEIGHT}px;
- }
- </style>
-{/if}
\ No newline at end of file
+++ /dev/null
-{include file='documentHeader'}
-
-<head>
- <title>{lang}wcf.user.accountManagement{/lang} - {lang}wcf.user.usercp{/lang} - {PAGE_TITLE|language}</title>
-
- {include file='headInclude'}
-</head>
-
-<body id="tpl{$templateName|ucfirst}">
-
-{include file='userMenuSidebar'}
-
-{include file='header' sidebarOrientation='left'}
-
-<header class="boxHeadline">
- <h1>{lang}wcf.user.accountManagement{/lang}</h1>
-</header>
-
-{include file='userNotice'}
-
-{if $errorField}
- <p class="error">{lang}wcf.global.form.error{/lang}</p>
-{/if}
-
-<p class="warning">{lang}wcf.user.accountManagement.warning{/lang}</p>
-
-{if $success|isset && $success|count > 0}
- <div class="success">
- {foreach from=$success item=successMessage}
- <p>{lang}{@$successMessage}{/lang}</p>
- {/foreach}
- </div>
-{/if}
-
-{assign var=__authProvider value=$__wcf->getUserProfileHandler()->getAuthProvider()}
-
-<div class="contentNavigation">
- {hascontent}
- <nav>
- <ul>
- {content}
- {event name='contentNavigationButtons'}
- {/content}
- </ul>
- </nav>
- {/hascontent}
-</div>
-
-<form method="post" action="{link controller='AccountManagement'}{/link}">
- <div class="container containerPadding marginTop">
- {if !$__authProvider}
- <fieldset>
- <legend><label for="password">{lang}wcf.user.password{/lang}</label></legend>
-
- <dl{if $errorField == 'password'} class="formError"{/if}>
- <dt><label for="password">{lang}wcf.user.password{/lang}</label></dt>
- <dd>
- <input type="password" id="password" name="password" value="" required="required" class="medium" />
- {if $errorField == 'password'}
- <small class="innerError">
- {if $errorType == 'empty'}{lang}wcf.global.form.error.empty{/lang}{/if}
- {if $errorType == 'false'}{lang}wcf.user.password.error.false{/lang}{/if}
- </small>
- {/if}
- <small>{lang}wcf.user.accountManagement.password.description{/lang}</small>
- </dd>
- </dl>
-
- <dl>
- <dd>
- <ul class="buttonList">
- <li><a class="button small" href="{link controller='LostPassword'}{/link}"><span>{lang}wcf.user.lostPassword{/lang}</span></a></li>
- </ul>
- </dd>
- </dl>
-
- {event name='passwordFields'}
- </fieldset>
- {/if}
-
- {if $__wcf->getSession()->getPermission('user.profile.canRename')}
- <fieldset>
- <legend><label for="username">{lang}wcf.user.changeUsername{/lang}</label></legend>
-
- <dl{if $errorField == 'username'} class="formError"{/if}>
- <dt><label for="username">{lang}wcf.user.newUsername{/lang}</label></dt>
- <dd>
- <input type="text" id="username" name="username" value="{$username}" required="required" pattern="^[^,]{ldelim}{REGISTER_USERNAME_MIN_LENGTH},{REGISTER_USERNAME_MAX_LENGTH}}$" class="medium" />
-
- {if $errorField == 'username'}
- <small class="innerError">
- {if $errorType == 'empty'}{lang}wcf.global.form.error.empty{/lang}{/if}
- {if $errorType == 'notValid'}{lang}wcf.user.username.error.notValid{/lang}{/if}
- {if $errorType == 'notUnique'}{lang}wcf.user.username.error.notUnique{/lang}{/if}
- {if $errorType == 'alreadyRenamed'}{lang}wcf.user.username.error.alreadyRenamed{/lang}{/if}
- </small>
- {/if}
- {if $renamePeriod > 0}
- <small>{lang}wcf.user.changeUsername.description{/lang}</small>
- {/if}
- </dd>
- </dl>
-
- {event name='changeUsernameFields'}
- </fieldset>
- {/if}
-
- {if !$__authProvider}
- <fieldset>
- <legend><label for="newPassword">{lang}wcf.user.changePassword{/lang}</label></legend>
-
- <dl{if $errorField == 'newPassword'} class="formError"{/if}>
- <dt><label for="newPassword">{lang}wcf.user.newPassword{/lang}</label></dt>
- <dd>
- <input type="password" id="newPassword" name="newPassword" value="{$newPassword}" class="medium" />
-
- {if $errorField == 'newPassword'}
- <small class="innerError">
- {if $errorType == 'empty'}{lang}wcf.global.form.error.empty{/lang}{/if}
- {if $errorType == 'notSecure'}{lang}wcf.user.password.error.notSecure{/lang}{/if}
- </small>
- {/if}
- </dd>
- </dl>
-
- <dl{if $errorField == 'confirmNewPassword'} class="formError"{/if}>
- <dt><label for="confirmNewPassword">{lang}wcf.user.confirmPassword{/lang}</label></dt>
- <dd>
- <input type="password" id="confirmNewPassword" name="confirmNewPassword" value="{$confirmNewPassword}" class="medium" />
-
- {if $errorField == 'confirmNewPassword'}
- <small class="innerError">
- {if $errorType == 'empty'}{lang}wcf.global.form.error.empty{/lang}{/if}
- {if $errorType == 'notEqual'}{lang}wcf.user.confirmPassword.error.notEqual{/lang}{/if}
- </small>
- {/if}
- </dd>
- </dl>
-
- {event name='changePasswordFields'}
- </fieldset>
- {/if}
-
- {if $__wcf->getSession()->getPermission('user.profile.canChangeEmail')}
- <fieldset>
- <legend><label for="email">{lang}wcf.user.changeEmail{/lang}</label></legend>
-
- <dl{if $errorField == 'email'} class="formError"{/if}>
- <dt><label for="email">{lang}wcf.user.newEmail{/lang}</label></dt>
- <dd>
- <input type="email" id="email" name="email" value="{$email}" class="medium" />
-
- {if $errorField == 'email'}
- <small class="innerError">
- {if $errorType == 'empty'}{lang}wcf.global.form.error.empty{/lang}{/if}
- {if $errorType == 'notValid'}{lang}wcf.user.email.error.notValid{/lang}{/if}
- {if $errorType == 'notUnique'}{lang}wcf.user.email.error.notUnique{/lang}{/if}
- </small>
- {/if}
- </dd>
- </dl>
-
- <dl{if $errorField == 'confirmEmail'} class="formError"{/if}>
- <dt><label for="confirmEmail">{lang}wcf.user.confirmEmail{/lang}</label></dt>
- <dd>
- <input type="email" id="confirmEmail" name="confirmEmail" value="{$confirmEmail}" class="medium" />
-
- {if $errorField == 'confirmEmail'}
- <small class="innerError">
- {if $errorType == 'notEqual'}{lang}wcf.user.confirmEmail.error.notEqual{/lang}{/if}
- </small>
- {/if}
- </dd>
- </dl>
-
- {event name='changeEmailFields'}
-
- {if REGISTER_ACTIVATION_METHOD == 1 && $__wcf->getUser()->reactivationCode != 0}
- <dl>
- <dd>
- <ul class="buttonList">
- <li><a class="button small" href="{link controller='EmailActivation'}{/link}"><span>{lang}wcf.user.emailActivation{/lang}</span></a></li>
- </ul>
- </dd>
- </dl>
- {/if}
- </fieldset>
- {/if}
-
- {if $__wcf->getSession()->getPermission('user.profile.canQuit')}
- <fieldset>
- <legend>{lang}wcf.user.quit{/lang}</legend>
-
- {if $quitStarted}
- <dl>
- <dd>
- <label><input type="checkbox" name="cancelQuit" value="1" {if $cancelQuit == 1}checked="checked" {/if}/> {lang}wcf.user.quit.cancel{/lang}</label>
- </dd>
- </dl>
- {else}
- <dl>
- <dd>
- <label><input type="checkbox" name="quit" value="1" {if $quit == 1}checked="checked" {/if}/> {lang}wcf.user.quit.sure{/lang}</label>
- <small>{lang}wcf.user.quit.description{/lang}</small>
- </dd>
- </dl>
- {/if}
-
- {event name='quitFields'}
- </fieldset>
- {/if}
-
- {hascontent}
- <fieldset id="3rdParty">
- <legend>{lang}wcf.user.3rdparty{/lang}</legend>
-
- {content}
- {if $__authProvider}
- <dl>
- <dt>{lang}wcf.user.3rdparty.{@$__authProvider}{/lang}</dt>
- <dd>
- <label><input type="checkbox" name="{@$__authProvider}Disconnect" value="1" /> {lang}wcf.user.3rdparty.{@$__authProvider}.disconnect{/lang}</label>
- </dd>
- </dl>
- {else}
- {if GITHUB_PUBLIC_KEY !== '' && GITHUB_PRIVATE_KEY !== ''}
- <dl>
- <dt>{lang}wcf.user.3rdparty.github{/lang}</dt>
- <dd>
- {if $__wcf->getSession()->getVar('__githubToken')}
- <label><input type="checkbox" name="githubConnect" value="1"{if $githubConnect} checked="checked"{/if} /> {lang}wcf.user.3rdparty.github.connect{/lang}</label>
- {else}
- <a href="{link controller='GithubAuth'}{/link}" class="button small"><span class="icon icon16 icon-github"></span> <span>{lang}wcf.user.3rdparty.github.connect{/lang}</span></a>
- {/if}
- </dd>
- </dl>
- {/if}
-
- {if TWITTER_PUBLIC_KEY !== '' && TWITTER_PRIVATE_KEY !== ''}
- <dl>
- <dt>{lang}wcf.user.3rdparty.twitter{/lang}</dt>
- <dd>
- {if $__wcf->getSession()->getVar('__twitterData')}
- <label><input type="checkbox" name="twitterConnect" value="1"{if $twitterConnect} checked="checked"{/if} /> {lang}wcf.user.3rdparty.twitter.connect{/lang}</label>
- {else}
- <a href="{link controller='TwitterAuth'}{/link}" class="button small"><span class="icon icon16 icon-twitter"></span> <span>{lang}wcf.user.3rdparty.twitter.connect{/lang}</span></a>
- {/if}
- </dd>
- </dl>
- {/if}
-
- {if FACEBOOK_PUBLIC_KEY !== '' && FACEBOOK_PRIVATE_KEY !== ''}
- <dl>
- <dt>{lang}wcf.user.3rdparty.facebook{/lang}</dt>
- <dd>
- {if $__wcf->getSession()->getVar('__facebookData')}
- <label><input type="checkbox" name="facebookConnect" value="1"{if $facebookConnect} checked="checked"{/if} /> {lang}wcf.user.3rdparty.facebook.connect{/lang}</label>
- {else}
- <a href="{link controller='FacebookAuth'}{/link}" class="button small"><span class="icon icon16 icon-facebook"></span> <span>{lang}wcf.user.3rdparty.facebook.connect{/lang}</span></a>
- {/if}
- </dd>
- </dl>
- {/if}
-
- {if GOOGLE_PUBLIC_KEY !== '' && GOOGLE_PRIVATE_KEY !== ''}
- <dl>
- <dt>{lang}wcf.user.3rdparty.google{/lang}</dt>
- <dd>
- {if $__wcf->getSession()->getVar('__googleData')}
- <label><input type="checkbox" name="googleConnect" value="1"{if $googleConnect} checked="checked"{/if} /> {lang}wcf.user.3rdparty.google.connect{/lang}</label>
- {else}
- <a href="{link controller='GoogleAuth'}{/link}" class="button small"><span class="icon icon16 icon-google-plus"></span> <span>{lang}wcf.user.3rdparty.google.connect{/lang}</span></a>
- {/if}
- </dd>
- </dl>
- {/if}
- {/if}
-
- {event name='3rdpartyFields'}
- {/content}
- </fieldset>
- {/hascontent}
-
- {event name='fieldsets'}
- </div>
-
- <div class="formSubmit">
- {@SECURITY_TOKEN_INPUT_TAG}
- <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s" />
- </div>
-</form>
-
-{include file='footer'}
-
-</body>
-</html>
+++ /dev/null
-<script type="text/javascript">
- //<![CDATA[
- $(function() {
- {if $aclValues[$objectTypeID]|isset}
- var initialPermissions = {
- returnValues: {
- options: {
- {implode from=$aclValues[$objectTypeID][options] key='__optionID' item='__optionData'}
- {@$__optionID}: {
- categoryName: '{@$__optionData[categoryName]|encodeJS}',
- label: '{@$__optionData[label]|encodeJS}',
- optionName: '{@$__optionData[optionName]|encodeJS}'
- }
- {/implode}
- },
- categories: {
- {implode from=$aclValues[$objectTypeID][categories] key='__category' item='__categoryName'}
- '{@$__category|encodeJS}': '{@$__categoryName|encodeJS}'
- {/implode}
- },
- user: {
- {if $aclValues[$objectTypeID][user]|isset}
- option: {
- {implode from=$aclValues[$objectTypeID][user][option] key='__userID' item='__optionData'}
- {@$__userID}: {
- {implode from=$__optionData key='__optionID' item='__optionValue'}
- {@$__optionID}: {@$__optionValue}
- {/implode}
- }
- {/implode}
- },
- label: {
- {implode from=$aclValues[$objectTypeID][user][label] key='__userID' item='__label'}
- {@$__userID}: '{@$__label|encodeJS}'
- {/implode}
- }
- {/if}
- },
- group: {
- {if $aclValues[$objectTypeID][group]|isset}
- option: {
- {implode from=$aclValues[$objectTypeID][group][option] key='__groupID' item='__optionData'}
- {@$__groupID}: {
- {implode from=$__optionData key='__optionID' item='__optionValue'}
- {@$__optionID}: {@$__optionValue}
- {/implode}
- }
- {/implode}
- },
- label: {
- {implode from=$aclValues[$objectTypeID][group][label] key='__groupID' item='__label'}
- {@$__groupID}: '{@$__label|encodeJS}'
- {/implode}
- }
- {/if}
- }
- }
- };
- {/if}
- new {if $aclListClassName|isset}{@$aclListClassName}{else}WCF.ACL.List{/if}($('#{@$containerID}'), {@$objectTypeID}, {if $categoryName|isset}'{@$categoryName}'{else}null{/if}, {if $objectID|isset}{@$objectID}{else}0{/if}, {if !$includeUserGroups|isset || $includeUserGroups}true{else}false{/if}{if $aclValues[$objectTypeID]|isset}, initialPermissions{/if});
- });
- //]]>
-</script>
\ No newline at end of file
+++ /dev/null
-<script type="text/javascript" src="{@$__wcf->getPath()}js/WCF.ACL{if !ENABLE_DEBUG_MODE}.min{/if}.js?v={@$__wcfVersion}"></script>
-<script type="text/javascript">
- //<![CDATA[
- $(function() {
- WCF.Language.addObject({
- 'wcf.acl.option.deny': '{lang}wcf.acl.option.deny{/lang}',
- 'wcf.acl.option.fullAccess': '{lang}wcf.acl.option.fullAccess{/lang}',
- 'wcf.acl.option.grant': '{lang}wcf.acl.option.grant{/lang}',
- 'wcf.acl.search.user.description': '{lang}wcf.acl.search.user.description{/lang}',
- 'wcf.acl.search.description': '{lang}wcf.acl.search.description{/lang}'
- });
- });
- //]]>
-</script>
\ No newline at end of file
+++ /dev/null
-{if $attachmentList && $attachmentList->getGroupedObjects($objectID)|count}
- {hascontent}
- <div class="attachmentThumbnailList">
- <fieldset>
- <legend>{lang}wcf.attachment.images{/lang}</legend>
-
- <ul>
- {content}
- {foreach from=$attachmentList->getGroupedObjects($objectID) item=attachment}
- {if $attachment->showAsImage() && !$attachment->isEmbedded()}
- <li class="attachmentThumbnail">
- {if $attachment->hasThumbnail()}
- <a href="{link controller='Attachment' object=$attachment}{/link}"{if $attachment->canDownload()} class="jsImageViewer" title="{$attachment->filename}"{/if}><img src="{link controller='Attachment' object=$attachment}thumbnail=1{/link}" alt="" /></a>
- {else}
- <img src="{link controller='Attachment' object=$attachment}{/link}" alt="" style="margin-top: {@ATTACHMENT_THUMBNAIL_HEIGHT/2-$attachment->height/2}px; margin-left: {@ATTACHMENT_THUMBNAIL_WIDTH/2-$attachment->width/2}px" />
- {/if}
-
- <div title="{lang}wcf.attachment.image.info{/lang}">
- <p>{$attachment->filename}</p>
- <small>{lang}wcf.attachment.image.info{/lang}</small>
- </div>
- </li>
- {/if}
- {/foreach}
- {/content}
- </ul>
- </fieldset>
- </div>
- {/hascontent}
-
- {hascontent}
- <div class="attachmentFileList">
- <fieldset>
- <legend>{lang}wcf.attachment.files{/lang}</legend>
-
- <ul>
- {content}
- {foreach from=$attachmentList->getGroupedObjects($objectID) item=attachment}
- {if $attachment->showAsFile() && !$attachment->isEmbedded()}
- <li class="box32">
- <a href="{link controller='Attachment' object=$attachment}{/link}"><span class="icon icon32 icon-paper-clip"></span></a>
-
- <div>
- <p><a href="{link controller='Attachment' object=$attachment}{/link}">{$attachment->filename}</a></p>
- <small>{lang}wcf.attachment.file.info{/lang}</small>
- </div>
- </li>
- {/if}
- {/foreach}
- {/content}
- </ul>
- </fieldset>
- </div>
- {/hascontent}
-{/if}
\ No newline at end of file
+++ /dev/null
-<fieldset>
- <legend class="invisible">{lang}wcf.user.author{/lang}</legend>
-
- <div class="box96 framed">
- {@$userProfile->getAvatar()->getImageTag(96)}
-
- <div>
- <div class="containerHeadline">
- <h3><a href="{link controller='User' object=$userProfile}{/link}" rel="author">{$userProfile->username}</a></h3>
- {if MODULE_USER_RANK && $userProfile->getUserTitle()}<p><span class="badge userTitleBadge{if $userProfile->getRank() && $userProfile->getRank()->cssClassName} {@$userProfile->getRank()->cssClassName}{/if}">{$userProfile->getUserTitle()}</span></p>{/if}
- </div>
-
- {include file='userInformationStatistics' user=$userProfile}
- </div>
- </div>
-</fieldset>
\ No newline at end of file
+++ /dev/null
-<dl class="wide">
- <dt>{lang}wcf.user.avatar.type.custom.crop{/lang}</dt>
- <dd>
- <div id="userAvatarCropSelection">
- {@$avatar->getImageTag()}
- <div id="userAvatarCropOverlay"></div>
- <div id="userAvatarCropOverlaySelection"></div>
- </div>
-
- <small>{lang}wcf.user.avatar.type.custom.crop.description{/lang}</small>
- </dd>
-</dl>
-
-<div class="formSubmit">
- <button data-type="save" class="buttonPrimary">{lang}wcf.global.button.save{/lang}</button>
-</div>
+++ /dev/null
-{include file='documentHeader'}
-
-<head>
- <title>{lang}wcf.user.avatar.edit{/lang} - {lang}wcf.user.usercp{/lang} - {PAGE_TITLE|language}</title>
-
- {include file='headInclude'}
-</head>
-
-<body id="tpl{$templateName|ucfirst}">
-
-{include file='userMenuSidebar'}
-
-{include file='header' sidebarOrientation='left'}
-
-<header class="boxHeadline">
- <h1>{lang}wcf.user.avatar.edit{/lang}</h1>
-</header>
-
-{include file='userNotice'}
-
-{if $__wcf->user->disableAvatar}
- <p class="error">{lang}wcf.user.avatar.error.disabled{/lang}</p>
-{/if}
-
-{if $errorField}
- <p class="error">{lang}wcf.global.form.error{/lang}</p>
-{/if}
-
-{if $success|isset}
- <p class="success">{lang}wcf.global.success.edit{/lang}</p>
-{/if}
-
-<div class="contentNavigation">
- {hascontent}
- <nav>
- <ul>
- {content}
- {event name='contentNavigationButtons'}
- {/content}
- </ul>
- </nav>
- {/hascontent}
-</div>
-
-<form method="post" action="{link controller='AvatarEdit'}{/link}" id="avatarForm">
- <div class="container containerPadding marginTop">
- <fieldset>
- <legend>{lang}wcf.user.avatar{/lang}</legend>
-
- <dl>
- <dd>
- <label><input type="radio" name="avatarType" value="none" {if $avatarType == 'none'}checked="checked" {/if}/> {lang}wcf.user.avatar.type.none{/lang}</label>
- <small>{lang}wcf.user.avatar.type.none.description{/lang}</small>
- </dd>
- </dl>
-
- <dl class="jsOnly{if $errorField == 'custom'} formError{/if}" id="avatarUpload">
- <dt class="framed">
- {if $avatarType == 'custom'}
- {assign var='__customAvatar' value=$__wcf->getUserProfileHandler()->getAvatar()->getImageTag(96)}
- {if $__wcf->getUserProfileHandler()->getAvatar()->canCrop()}
- {assign var='__customAvatar' value=$__customAvatar|substr:0:-2}
- {assign var='__customAvatarTitle' value='wcf.user.avatar.type.custom.crop'|language}
- {append var='__customAvatar' value='class="userAvatarCrop jsTooltip" title="'|concat:$__customAvatarTitle:'" />'}
- {/if}
- {@$__customAvatar}
- {else}
- <img src="{@$__wcf->getPath()}images/avatars/avatar-default.svg" alt="" class="icon96" />
- {/if}
- </dt>
- <dd>
- <label><input type="radio" name="avatarType" value="custom" {if $avatarType == 'custom'}checked="checked" {/if}/> {lang}wcf.user.avatar.type.custom{/lang}</label>
- <small>{lang}wcf.user.avatar.type.custom.description{/lang}</small>
-
- {* placeholder for upload button: *}
- <div></div>
-
- {if $errorField == 'custom'}
- <small class="innerError">
- {if $errorType == 'empty'}{lang}wcf.global.form.error.empty{/lang}{/if}
- </small>
- {/if}
- </dd>
- </dl>
-
- {if MODULE_GRAVATAR}
- <dl{if $errorField == 'gravatar'} class="formError"{/if}>
- <dt class="framed"><img src="http://www.gravatar.com/avatar/{@$__wcf->user->email|strtolower|md5}?s=96" alt="" class="icon96" /></dt>
- <dd>
- <label><input type="radio" name="avatarType" value="gravatar" {if $avatarType == 'gravatar'}checked="checked" {/if}/> {lang}wcf.user.avatar.type.gravatar{/lang}</label>
- {if $errorField == 'gravatar'}
- <small class="innerError">
- {if $errorType == 'notFound'}{lang}wcf.user.avatar.type.gravatar.error.notFound{/lang}{/if}
- </small>
- {/if}
- <small>{lang}wcf.user.avatar.type.gravatar.description{/lang}</small>
- </dd>
- </dl>
- {/if}
-
- {event name='avatarFields'}
- </fieldset>
-
- {event name='fieldsets'}
- </div>
-
- {if !$__wcf->user->disableAvatar}
- <div class="formSubmit">
- <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s" />
- </div>
- {/if}
-</form>
-
-{include file='footer'}
-
-<script type="text/javascript">
- //<![CDATA[
- $(function() {
- WCF.Language.addObject({
- 'wcf.user.avatar.type.custom.crop': '{lang}wcf.user.avatar.type.custom.crop{/lang}',
- 'wcf.user.avatar.upload.error.invalidExtension': '{lang}wcf.user.avatar.upload.error.invalidExtension{/lang}',
- 'wcf.user.avatar.upload.error.tooSmall': '{lang}wcf.user.avatar.upload.error.tooSmall{/lang}',
- 'wcf.user.avatar.upload.error.tooLarge': '{lang}wcf.user.avatar.upload.error.tooLarge{/lang}',
- 'wcf.user.avatar.upload.error.uploadFailed': '{lang}wcf.user.avatar.upload.error.uploadFailed{/lang}',
- 'wcf.user.avatar.upload.error.badImage': '{lang}wcf.user.avatar.upload.error.badImage{/lang}',
- 'wcf.user.avatar.upload.success': '{lang}wcf.user.avatar.upload.success{/lang}',
- 'wcf.global.button.upload': '{lang}wcf.global.button.upload{/lang}'
- });
-
- {if !$__wcf->user->disableAvatar}
- {if $__wcf->getUserProfileHandler()->getAvatar()->canCrop()}
- new WCF.User.Avatar.Upload(0, new WCF.User.Avatar.Crop({@$__wcf->getUserProfileHandler()->getAvatar()->avatarID}));
- {else}
- new WCF.User.Avatar.Upload();
- {/if}
- {/if}
- });
- //]]>
-</script>
-
-</body>
-</html>
+++ /dev/null
-<p class="marginTop" id="benchmark"><small>Execution time: {@$__wcf->getBenchmark()->getExecutionTime()}s ({#($__wcf->getBenchmark()->getExecutionTime()-$__wcf->getBenchmark()->getQueryExecutionTime())/$__wcf->getBenchmark()->getExecutionTime()*100}% PHP, {#$__wcf->getBenchmark()->getQueryExecutionTime()/$__wcf->getBenchmark()->getExecutionTime()*100}% SQL) | SQL queries: {#$__wcf->getBenchmark()->getQueryCount()} | Memory-Usage: {$__wcf->getBenchmark()->getMemoryUsage()}</small></p>
-
-{if ENABLE_DEBUG_MODE}
- <script type="text/javascript">
- //<![CDATA[
- $(function() {
- $('#benchmarkDetails > li > span').click(function() {
- $(this).parent().children('pre').toggle();
- });
- });
- //]]>
- </script>
- <ul id="benchmarkDetails" style="display: none;">
- {foreach from=$__wcf->getBenchmark()->getItems() key=benchmarkIndex item=item}
- <li id="benchmarkItem{@$benchmarkIndex}" style="margin-bottom: 8px;"{if $item.use >= 0.01} class="hot"{/if}>
- <span>{if $item.type == 1}(SQL Query) {/if}{$item.text}</span><br />
- <small style="font-size: .85em">Execution time: {@$item.use}s</small>
-
- <pre style="display: none">{foreach from=$item.trace key=traceNo item=traceItem}#{#$traceNo} {if !$traceItem.class|empty}{$traceItem.class}{$traceItem.type}{else}{if !$traceItem.file|empty}{$traceItem.file}: {/if}{/if}{$traceItem.function}() {if !$traceItem.line|empty}(line {#$traceItem.line}){/if}
-{/foreach}</pre>
-
- </li>
- {/foreach}
- </ul>
-
- <script type="text/javascript">
- //<![CDATA[
- $(function() {
- $('#benchmark').click(function() {
- $('#benchmarkDetails').wcfDialog({
- title: 'Log'
- });
- });
- });
- //]]>
- </script>
-{/if}
\ No newline at end of file
+++ /dev/null
-<input type="number" id="{$option->optionName}" name="values[{$option->optionName}][ageFrom]" value="{@$valueAgeFrom}" placeholder="{lang}wcf.user.birthday.age.from{/lang}" min="0" max="120" class="tiny" />
-<input type="number" id="{$option->optionName}_age_to" name="values[{$option->optionName}][ageTo]" value="{@$valueAgeTo}" placeholder="{lang}wcf.user.birthday.age.to{/lang}" min="0" max="120" class="tiny" />
-
-<script type="text/javascript">
-//<![CDATA[
-$(function() {
- $('#{$option->optionName}').parents('dl:eq(0)').find('> dt > label').text('{lang}wcf.user.birthday.age{/lang}');
-});
-//]]>
-</script>
\ No newline at end of file
+++ /dev/null
-<input type="checkbox" id="{$option->optionName}" {if $value} checked="checked"{/if} name="values[{$option->optionName}]" value="1" {if $disableOptions || $enableOptions}class="jsEnablesOptions" data-disable-options="[ {@$disableOptions}]" data-enable-options="[ {@$enableOptions}]" {/if} />
+++ /dev/null
-{if !$__microdata|isset}{assign var=__microdata value=true}{/if}
-{hascontent}
- <nav class="breadcrumbs marginTop">
- <ul>
- {content}
- {foreach from=$__wcf->getBreadcrumbs() item=$breadcrumb}
- <li title="{$breadcrumb->getLabel()}"{if $__microdata} itemscope="itemscope" itemtype="http://data-vocabulary.org/Breadcrumb"{/if}>
- <a href="{$breadcrumb->getURL()}"{if $__microdata} itemprop="url"{/if}><span{if $__microdata} itemprop="title"{/if}>{$breadcrumb->getLabel()}</span></a> <span class="pointer"><span>»</span></span>
- </li>
- {/foreach}
-
- {event name='breadcrumbs'}
- {/content}
- </ul>
- </nav>
-{/hascontent}
+++ /dev/null
-{foreach from=$categoryNodeList item='category'}
- {if !$maximumNestingLevel|isset || $maximumNestingLevel == -1 || $categoryNodeList->getDepth() <= $maximumNestingLevel}
- <option value="{$category->categoryID}"{if $categoryID|isset && $categoryID == $category->categoryID} selected="selected"{/if}>{section name=i loop=$categoryNodeList->getDepth()} {/section}{$category->getTitle()}</option>
- {/if}
-{/foreach}
\ No newline at end of file
+++ /dev/null
-<div class="container codeBox {$highlighter|get_class|substr:30|lcfirst}">
- <div>
- <div>
- <h3>{@$highlighter->getTitle()}{if $filename}: {@$filename}{/if}</h3>
- </div>
-
- <ol start="{$startLineNumber}">
- {assign var='lineNumber' value=$startLineNumber}
- {foreach from=$content item=line}
- {if $lineNumbers[$lineNumber]|isset}
- <li id="{@$lineNumbers[$lineNumber]}"><a href="{@$__wcf->getAnchor($lineNumbers[$lineNumber])}" class="lineAnchor"></a>{@$line}</li>
- {else}
- <li>{@$line}</li>
- {/if}
-
- {assign var='lineNumber' value=$lineNumber+1}
- {/foreach}
- </ol>
- </div>
-</div>
+++ /dev/null
-{foreach from=$commentList item=comment}
- <li class="comment jsComment" data-comment-id="{@$comment->commentID}" data-object-type="com.woltlab.wcf.comment" data-like-liked="{if $likeData[comment][$comment->commentID]|isset}{@$likeData[comment][$comment->commentID]->liked}{/if}" data-like-likes="{if $likeData[comment][$comment->commentID]|isset}{@$likeData[comment][$comment->commentID]->likes}{else}0{/if}" data-like-dislikes="{if $likeData[comment][$comment->commentID]|isset}{@$likeData[comment][$comment->commentID]->dislikes}{else}0{/if}" data-like-users='{if $likeData[comment][$comment->commentID]|isset}{ {implode from=$likeData[comment][$comment->commentID]->getUsers() item=likeUser}"{@$likeUser->userID}": { "username": "{$likeUser->username|encodeJSON}" }{/implode} }{else}{ }{/if}' data-can-edit="{if $comment->isEditable()}true{else}false{/if}" data-can-delete="{if $comment->isDeletable()}true{else}false{/if}" data-responses="{@$comment->responses}" data-last-response-time="{@$comment->getLastResponseTime()}" data-user-id="{@$comment->userID}">
- <div class="box32">
- {if $comment->userID}
- <a href="{link controller='User' object=$comment->getUserProfile()}{/link}" title="{$comment->getUserProfile()->username}" class="framed">
- {@$comment->getUserProfile()->getAvatar()->getImageTag(32)}
- </a>
- {else}
- <span class="framed">{@$comment->getUserProfile()->getAvatar()->getImageTag(32)}</span>
- {/if}
-
- <div>
- <div class="commentContent">
- <div class="containerHeadline">
- <h3>
- {if $comment->userID}
- <a href="{link controller='User' object=$comment->getUserProfile()}{/link}" class="userLink" data-user-id="{@$comment->userID}">{$comment->username}</a>
- {else}
- {$comment->username}
- {/if}
-
- <small> - {@$comment->time|time}</small>
- </h3>
- </div>
-
- <p class="userMessage">{@$comment->getFormattedMessage()}</p>
-
- <nav class="jsMobileNavigation buttonGroupNavigation">
- <ul class="commentOptions">
- <li class="jsReportCommentComment jsOnly" data-object-id="{@$comment->commentID}"><a title="{lang}wcf.moderation.report.reportContent{/lang}" class="jsTooltip"><span class="icon icon16 icon-warning-sign"></span> <span class="invisible">{lang}wcf.moderation.report.reportContent{/lang}</span></a></li>
-
- {event name='commentOptions'}
- </ul>
- </nav>
- </div>
-
- <ul data-responses="{@$comment->responses}" class="commentResponseList">
- {if $comment|count}
- {include file='commentResponseList' responseList=$comment}
- {/if}
- </ul>
- </div>
- </div>
- </li>
-{/foreach}
+++ /dev/null
-{foreach from=$responseList item=response}
- <li class="commentResponse jsCommentResponse" data-response-id="{@$response->responseID}" data-object-type="com.woltlab.wcf.comment.response" data-like-liked="{if $likeData[response][$response->responseID]|isset}{@$likeData[response][$response->responseID]->liked}{/if}" data-like-likes="{if $likeData[response][$response->responseID]|isset}{@$likeData[response][$response->responseID]->likes}{else}0{/if}" data-like-dislikes="{if $likeData[response][$response->responseID]|isset}{@$likeData[response][$response->responseID]->dislikes}{else}0{/if}" data-like-users='{if $likeData[response][$response->responseID]|isset}{ {implode from=$likeData[response][$response->responseID]->getUsers() item=likeUser}"{@$likeUser->userID}": { "username": "{$likeUser->username|encodeJSON}" }{/implode} }{else}{ }{/if}' data-can-edit="{if $response->isEditable()}true{else}false{/if}" data-can-delete="{if $response->isDeletable()}true{else}false{/if}" data-user-id="{@$response->userID}">
- <div class="box32">
- {if $response->userID}
- <a href="{link controller='User' object=$response->getUserProfile()}{/link}" title="{$response->getUserProfile()->username}" class="framed">
- {@$response->getUserProfile()->getAvatar()->getImageTag(32)}
- </a>
- {else}
- <span class="framed">{@$response->getUserProfile()->getAvatar()->getImageTag(32)}</span>
- {/if}
-
- <div class="commentContent commentResponseContent">
- <div class="containerHeadline">
- <h3>
- {if $response->userID}
- <a href="{link controller='User' object=$response->getUserProfile()}{/link}" class="userLink" data-user-id="{@$response->userID}">{$response->username}</a>
- {else}
- {$response->username}
- {/if}
-
- <small> - {@$response->time|time}</small>
- </h3>
- </div>
-
- <p class="userMessage">{@$response->getFormattedMessage()}</p>
-
- <nav class="jsMobileNavigation buttonGroupNavigation">
- <ul class="commentOptions">
- <li class="jsReportCommentResponse jsOnly" data-object-id="{@$response->responseID}"><a title="{lang}wcf.moderation.report.reportContent{/lang}" class="jsTooltip"><span class="icon icon16 icon-warning-sign"></span> <span class="invisible">{lang}wcf.moderation.report.reportContent{/lang}</span></a></li>
-
- {event name='commentOptions'}
- </ul>
- </nav>
- </div>
- </div>
- </li>
-{/foreach}
+++ /dev/null
-{include file='documentHeader'}
-
-<head>
- <title>{if $__wcf->getPageMenu()->getLandingPage()->menuItem != 'wcf.user.dashboard'}{lang}wcf.user.dashboard{/lang} - {/if}{PAGE_TITLE|language}</title>
-
- {include file='headInclude'}
-
- <link rel="canonical" href="{link controller='Dashboard'}{/link}" />
-</head>
-
-<body id="tpl{$templateName|ucfirst}">
-
-{if $__boxSidebar|isset && $__boxSidebar}
- {capture assign='sidebar'}
- {@$__boxSidebar}
- {/capture}
-{/if}
-
-{include file='header' sidebarOrientation='right'}
-
-{if $__wcf->getPageMenu()->getLandingPage()->menuItem == 'wcf.user.dashboard'}
- <header class="boxHeadline">
- <h1>{PAGE_TITLE|language}</h1>
- {hascontent}<p>{content}{PAGE_DESCRIPTION|language}{/content}</p>{/hascontent}
- </header>
-{else}
- <header class="boxHeadline">
- <h1>{lang}wcf.user.dashboard{/lang}</h1>
- </header>
-{/if}
-
-{include file='userNotice'}
-
-<div class="contentNavigation">
- {hascontent}
- <nav>
- <ul>
- {content}
- {event name='contentNavigationButtonsTop'}
- {/content}
- </ul>
- </nav>
- {/hascontent}
-</div>
-
-<section id="dashboard">
- {if $__boxContent|isset}{@$__boxContent}{/if}
-</section>
-
-<div class="contentNavigation">
- {hascontent}
- <nav>
- <ul>
- {content}
- {event name='contentNavigationButtonsBottom'}
- {/content}
- </ul>
- </nav>
- {/hascontent}
-</div>
-
-{include file='footer'}
-
-</body>
-</html>
+++ /dev/null
-<div class="dashboardBox">
- {@$template}
-</div>
\ No newline at end of file
+++ /dev/null
-<ul class="sidebarBoxList">
- {foreach from=$mostActiveMembers item=activeMember}
- <li class="box24">
- <a href="{link controller='User' object=$activeMember}{/link}" class="framed">{@$activeMember->getAvatar()->getImageTag(24)}</a>
-
- <div class="sidebarBoxHeadline">
- <h3><a href="{link controller='User' object=$activeMember}{/link}" class="userLink" data-user-id="{@$activeMember->userID}">{$activeMember->username}</a></h3>
- <small>{lang}wcf.dashboard.box.mostActiveMembers.points{/lang}</small>
- </div>
- </li>
- {/foreach}
-</ul>
\ No newline at end of file
+++ /dev/null
-<ul class="sidebarBoxList">
- {foreach from=$mostLikedMembers item=likedMember}
- <li class="box24">
- <a href="{link controller='User' object=$likedMember}{/link}" class="framed">{@$likedMember->getAvatar()->getImageTag(24)}</a>
-
- <div class="sidebarBoxHeadline">
- <h3><a href="{link controller='User' object=$likedMember}{/link}" class="userLink" data-user-id="{@$likedMember->userID}">{$likedMember->username}</a></h3>
- <small>{lang}wcf.dashboard.box.mostLikedMembers.likes{/lang}</small>
- </div>
- </li>
- {/foreach}
-</ul>
+++ /dev/null
-<ul class="sidebarBoxList">
- {foreach from=$newestMembers item=newMember}
- <li class="box24">
- <a href="{link controller='User' object=$newMember}{/link}" class="framed">{@$newMember->getAvatar()->getImageTag(24)}</a>
-
- <div class="sidebarBoxHeadline">
- <h3><a href="{link controller='User' object=$newMember}{/link}" class="userLink" data-user-id="{@$newMember->userID}">{$newMember->username}</a></h3>
- <small>{@$newMember->registrationDate|time}</small>
- </div>
- </li>
- {/foreach}
-</ul>
\ No newline at end of file
+++ /dev/null
-<header class="boxHeadline boxSubHeadline">
- <h2>{lang}wcf.user.recentActivity{/lang}</h2>
- {if $filteredByFollowedUsers}<p>{lang}wcf.user.recentActivity.filteredByFollowedUsers{/lang}</p>{/if}
-</header>
-
-<div class="container marginTop">
- <ul id="recentActivities" class="containerList recentActivityList" data-last-event-time="{@$lastEventTime}">
- {include file='recentActivityListItem'}
- </ul>
-</div>
-
-<script type="text/javascript">
- //<![CDATA[
- $(function() {
- WCF.Language.addObject({
- 'wcf.user.recentActivity.more': '{lang}wcf.user.recentActivity.more{/lang}',
- 'wcf.user.recentActivity.noMoreEntries': '{lang}wcf.user.recentActivity.noMoreEntries{/lang}'
- });
-
- new WCF.User.RecentActivityLoader(null, {if $filteredByFollowedUsers}true{else}false{/if});
- });
- //]]>
-</script>
\ No newline at end of file
+++ /dev/null
-<ul class="sidebarBoxList">
- {foreach from=$eventList item=event}
- <li class="box24">
- <a href="{link controller='User' object=$event->getUserProfile()}{/link}" title="{$event->getUserProfile()->username}" class="framed">{@$event->getUserProfile()->getAvatar()->getImageTag(24)}</a>
-
- <div class="sidebarBoxHeadline">
- <h3><a href="{link controller='User' object=$event->getUserProfile()}{/link}" class="userLink" data-user-id="{@$event->getUserProfile()->userID}">{$event->getUserProfile()->username}</a><small> - {@$event->time|time}</small></h3>
- <small>{@$event->getTitle()}</small>
- </div>
- </li>
- {/foreach}
-</ul>
+++ /dev/null
-<fieldset class="dashboardBox dashboardBoxRegisterButton">
- <div>
- <a href="{link controller='Register'}{/link}" class="button">{lang}wcf.user.button.registerNow{/lang}</a>
- </div>
-</fieldset>
+++ /dev/null
-<fieldset class="dashboardBox">
- <legend>{lang}wcf.dashboard.box.{$box->boxName}{/lang}</legend>
-
- <div>
- {@$template}
- </div>
-</fieldset>
\ No newline at end of file
+++ /dev/null
-<fieldset class="dashboardBox dashboardBoxSignedInAs">
- <legend class="invisible">{lang}wcf.dashboard.box.{$box->boxName}{/lang}</legend>
-
- <div class="box96 framed">
- {@$__wcf->getUserProfileHandler()->getAvatar()->getImageTag(96)}
-
- <div>
- <div class="containerHeadline">
- <h3><a href="{link controller='User' object=$__wcf->user}{/link}">{$__wcf->user->username}</a></h3>
- {if MODULE_USER_RANK && $__wcf->getUserProfileHandler()->getUserTitle()}<p><span class="badge userTitleBadge{if $__wcf->getUserProfileHandler()->getRank() && $__wcf->getUserProfileHandler()->getRank()->cssClassName} {@$__wcf->getUserProfileHandler()->getRank()->cssClassName}{/if}">{$__wcf->getUserProfileHandler()->getUserTitle()}</span></p>{/if}
- </div>
-
- {include file='userInformationStatistics' user=$__wcf->user}
- </div>
- </div>
-</fieldset>
\ No newline at end of file
+++ /dev/null
-<dl class="plain inlineDataList">
- <dt>{lang}wcf.user.members{/lang}</dt>
- <dd>{#$dashboardStats[members]}</dd>
-
- {event name='stats'}
-
- <dt>{lang}wcf.user.newestMember{/lang}</dt>
- <dd><a href="{link controller='User' object=$dashboardStats[newestMember]}{/link}" class="userLink" data-user-id="{$dashboardStats[newestMember]->userID}">{$dashboardStats[newestMember]}</a></dd>
-</dl>
\ No newline at end of file
+++ /dev/null
-<div id="userActivityPointListContainer" class="tabularBox marginTop">
- <table class="table">
- <thead>
- <tr>
- <th>{lang}wcf.user.activityPoint.objectType{/lang}</th>
- <th>{lang}wcf.user.activityPoint.objects{/lang}</th>
- <th>{lang}wcf.user.activityPoint.pointsPerObject{/lang}</th>
- <th>{lang}wcf.user.activityPoint.sum{/lang}</th>
- </tr>
- </thead>
-
- <tbody>
- {assign var='activityPointSum' value=0}
- {foreach from=$activityPointObjectTypes item='objectType'}
- {if $objectType->activityPoints > 0 && $objectType->points > 0}
- <tr>
- <td class="columnTitle">
- {lang}wcf.user.activityPoint.objectType.{$objectType->objectType}{/lang}
- </td>
- <td class="columnDigits">
- {#$objectType->activityPoints/$objectType->points}
- </td>
- <td class="columnDigits">
- {#$objectType->points}
- </td>
- <td class="columnDigits">
- {#$objectType->activityPoints}
- </td>
- {assign var='activityPointSum' value=$activityPointSum + $objectType->activityPoints}
- </tr>
- {/if}
- {/foreach}
-
- <tr>
- <td class="columnTitle focus right" colspan="3">∑</td>
- <td class="columnDigits focus"><span class="badge">{#$user->activityPoints}</span></td>
- </tr>
- </tbody>
- </table>
-</div>
+++ /dev/null
-{include file='documentHeader'}
-
-<head>
- <title>{lang}wcf.user.register.disclaimer{/lang} - {PAGE_TITLE|language}</title>
-
- {include file='headInclude'}
-</head>
-
-<body id="tpl{$templateName|ucfirst}">
-
-{include file='header'}
-
-<header class="boxHeadline">
- <h1>{lang}wcf.user.register.disclaimer{/lang}</h1>
-</header>
-
-{include file='userNotice'}
-
-{if $errorField}
- <p class="error">{lang}wcf.global.form.error{/lang}</p>
-{/if}
-
-<div class="contentNavigation">
- {hascontent}
- <nav>
- <ul>
- {content}
- {event name='contentNavigationButtons'}
- {/content}
- </ul>
- </nav>
- {/hascontent}
-</div>
-
-<form method="post" action="{link controller='Disclaimer'}{/link}">
- <div class="container containerPadding marginTop htmlContent">
- {lang}wcf.user.register.disclaimer.text{/lang}
-
- {event name='fieldsets'}
- </div>
-
- <div class="formSubmit">
- <input type="submit" name="accept" value="{lang}wcf.user.register.disclaimer.accept{/lang}" accesskey="s" />
- <a class="button" href="{link}{/link}">{lang}wcf.user.register.disclaimer.decline{/lang}</a>
- </div>
-</form>
-
-{include file='footer'}
-
-</body>
-</html>
+++ /dev/null
-<!DOCTYPE html>
-<html dir="{lang}wcf.global.pageDirection{/lang}" lang="{@$__wcf->language->getFixedLanguageCode()}">
+++ /dev/null
-{include file='documentHeader'}
-
-<head>
- <title>{lang}wcf.user.emailActivation{/lang} - {PAGE_TITLE|language}</title>
-
- {include file='headInclude'}
-</head>
-
-<body id="tpl{$templateName|ucfirst}">
-
-{include file='header'}
-
-<header class="boxHeadline">
- <h1>{lang}wcf.user.emailActivation{/lang}</h1>
-</header>
-
-{include file='userNotice'}
-
-{if $errorField}
- <p class="error">{lang}wcf.global.form.error{/lang}</p>
-{/if}
-
-<div class="contentNavigation">
- {hascontent}
- <nav>
- <ul>
- {content}
- {event name='contentNavigationButtons'}
- {/content}
- </ul>
- </nav>
- {/hascontent}
-</div>
-
-<form method="post" action="{link controller='EmailActivation'}{/link}">
- <div class="container containerPadding marginTop">
- <fieldset>
- <legend><label for="userID">{lang}wcf.user.emailActivation{/lang}</label></legend>
-
- <dl{if $errorField == 'u'} class="formError"{/if}>
- <dt><label for="userID">{lang}wcf.user.userID{/lang}</label></dt>
- <dd>
- <input type="text" id="userID" name="u" value="{@$u}" required="required" class="medium" />
- {if $errorField == 'u'}
- <small class="innerError">
- {if $errorType == 'notValid'}{lang}wcf.user.userID.error.invalid{/lang}{/if}
- </small>
- {/if}
- </dd>
- </dl>
-
- <dl{if $errorField == 'a'} class="formError"{/if}>
- <dt><label for="activationCode">{lang}wcf.user.activationCode{/lang}</label></dt>
- <dd>
- <input type="text" id="activationCode" maxlength="9" name="a" value="{@$a}" required="required" class="medium" />
- {if $errorField == 'a'}
- <small class="innerError">
- {if $errorType == 'notValid'}{lang}wcf.user.activationCode.error.notValid{/lang}{/if}
- </small>
- {/if}
- </dd>
- </dl>
-
- {event name='fields'}
-
- <dl>
- <dd>
- <ul class="buttonList">
- <li><a class="button small" href="{link controller='EmailNewActivationCode'}{/link}"><span>{lang}wcf.user.newActivationCode{/lang}</span></a></li>
- {event name='buttons'}
- </ul>
- </dd>
- </dl>
- </fieldset>
-
- {event name='fieldsets'}
- </div>
-
- <div class="formSubmit">
- <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s" />
- </div>
-</form>
-
-{include file='footer'}
-
-</body>
-</html>
+++ /dev/null
-{include file='documentHeader'}
-
-<head>
- <title>{lang}wcf.user.newActivationCode{/lang} - {PAGE_TITLE|language}</title>
- {include file='headInclude'}
-</head>
-
-<body id="tpl{$templateName|ucfirst}">
-
-{include file='header'}
-
-<header class="boxHeadline">
- <h1>{lang}wcf.user.newActivationCode{/lang}</h1>
-</header>
-
-{include file='userNotice'}
-
-{if $errorField}
- <p class="error">{lang}wcf.global.form.error{/lang}</p>
-{/if}
-
-<div class="contentNavigation">
- {hascontent}
- <nav>
- <ul>
- {content}
- {event name='contentNavigationButtons'}
- {/content}
- </ul>
- </nav>
- {/hascontent}
-</div>
-
-<form method="post" action="{link controller='EmailNewActivationCode'}{/link}">
- <div class="container containerPadding marginTop">
- <fieldset>
- <legend>{lang}wcf.user.newActivationCode{/lang}</legend>
-
- <dl{if $errorField == 'username'} class="formError"{/if}>
- <dt><label for="username">{lang}wcf.user.username{/lang}</label></dt>
- <dd>
- <input type="text" id="username" name="username" value="{$username}" required="required" class="medium" />
- {if $errorField == 'username'}
- <small class="innerError">
- {if $errorType == 'empty'}
- {lang}wcf.global.form.error.empty{/lang}
- {elseif $errorType == 'alreadyEnabled'}
- {lang}wcf.user.registerActivation.error.userAlreadyEnabled{/lang}
- {else}
- {lang}wcf.user.username.error.{@$errorType}{/lang}
- {/if}
- </small>
- {/if}
- </dd>
- </dl>
-
- <dl{if $errorField == 'password'} class="formError"{/if}>
- <dt><label for="password">{lang}wcf.user.password{/lang}</label></dt>
- <dd>
- <input type="password" id="password" name="password" value="{$password}" required="required" class="medium" />
- {if $errorField == 'password'}
- <small class="innerError">
- {if $errorType == 'empty'}
- {lang}wcf.global.form.error.empty{/lang}
- {else}
- {lang}wcf.user.password.error.{@$errorType}{/lang}
- {/if}
- </small>
- {/if}
- </dd>
- </dl>
-
- {event name='fields'}
- </fieldset>
-
- {event name='fieldsets'}
- </div>
-
- <div class="formSubmit">
- <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s" />
- </div>
-</form>
-
-{include file='footer'}
-
-</body>
-</html>
+++ /dev/null
-{include file='documentHeader'}
-
-<head>
- <title>{lang}wcf.user.following{/lang} - {lang}wcf.user.usercp{/lang} - {PAGE_TITLE|language}</title>
- {include file='headInclude'}
-
- <script type="text/javascript">
- //<![CDATA[
- $(function() {
- new WCF.Action.Delete('wcf\\data\\user\\follow\\UserFollowAction', '.jsFollowing');
- });
- //]]>
- </script>
-</head>
-
-<body id="tpl{$templateName|ucfirst}">
-
-{include file='userMenuSidebar'}
-
-{include file='header' sidebarOrientation='left'}
-
-<header class="boxHeadline">
- <h1>{lang}wcf.user.following{/lang} <span class="badge">{#$items}</span></h1>
-</header>
-
-{include file='userNotice'}
-
-<div class="contentNavigation">
- {pages print=true assign=pagesLinks controller='Following' link="pageNo=%d"}
-
- {hascontent}
- <nav>
- <ul>
- {content}
- {event name='contentNavigationButtonsTop'}
- {/content}
- </ul>
- </nav>
- {/hascontent}
-</div>
-
-{if $objects|count}
- <div class="container marginTop">
- <ol class="containerList doubleColumned userList">
- {foreach from=$objects item=user}
- <li class="jsFollowing">
- <div class="box48">
- <a href="{link controller='User' object=$user}{/link}" title="{$user->username}" class="framed">{@$user->getAvatar()->getImageTag(48)}</a>
-
- <div class="details userInformation">
- {include file='userInformationHeadline'}
-
- <nav class="jsMobileNavigation buttonGroupNavigation">
- <ul class="buttonList jsOnly">
- <li><span class="icon icon16 icon-remove pointer jsTooltip jsDeleteButton" title="{lang}wcf.user.button.unfollow{/lang}" data-object-id="{@$user->followID}"></span></li>
- {event name='userButtons'}
- </ul>
- </nav>
-
- {include file='userInformationStatistics'}
- </div>
- </div>
- </li>
- {/foreach}
- </ol>
- </div>
-
- <div class="contentNavigation">
- {@$pagesLinks}
-
- {hascontent}
- <nav>
- <ul>
- {content}
- {event name='contentNavigationButtonsBottom'}
- {/content}
- </ul>
- </nav>
- {/hascontent}
- </div>
-{else}
- <p class="info">{lang}wcf.user.following.noUsers{/lang}</p>
-{/if}
-
-{include file='footer'}
-
-</body>
-</html>
+++ /dev/null
- {event name='contents'}
-
- {if $skipBreadcrumbs|empty}{include file='breadcrumbs' __microdata=false}{/if}
-
- </section>
-
- {if $sidebarOrientation|isset && $sidebarOrientation == 'right'}
- {@$__sidebar}
- {/if}
- </div>
- </div>
-</div>
-
-<footer id="pageFooter" class="{if $__wcf->getStyleHandler()->getStyle()->getVariable('useFluidLayout')}layoutFluid{else}layoutFixed{/if} footer">
- <div>
- <nav id="footerNavigation" class="navigation navigationFooter">
- {include file='footerMenu'}
-
- <ul class="navigationIcons">
- <li id="toTopLink" class="toTopLink"><a href="{$__wcf->getAnchor('top')}" title="{lang}wcf.global.scrollUp{/lang}" class="jsTooltip"><span class="icon icon16 icon-arrow-up"></span> <span class="invisible">{lang}wcf.global.scrollUp{/lang}</span></a></li>
- {event name='navigationIcons'}
- </ul>
-
- <ul class="navigationItems">
- {if SHOW_CLOCK}
- <li title="{lang}wcf.date.timezone.{@'/'|str_replace:'.':$__wcf->getUser()->getTimeZone()->getName()|strtolower}{/lang}"><p><span class="icon icon16 icon-time"></span> <span>{@TIME_NOW|plainTime}</span></p></li>
- {/if}
- {event name='navigationItems'}
- </ul>
- </nav>
-
- <div class="footerContent">
- {event name='footerContents'}
-
- {if ENABLE_BENCHMARK}{include file='benchmark'}{/if}
-
- {event name='copyright'}
- </div>
- </div>
-</footer>
-
-{event name='footer'}
-
-<a id="bottom"></a>
+++ /dev/null
-{if $__wcf->getPageMenu()->getMenuItems('footer')|count > 0}
- <ul class="navigationMenuItems">
- {foreach from=$__wcf->getPageMenu()->getMenuItems('footer') item=menuItem}
- <li><a href="{$menuItem->getProcessor()->getLink()}">{lang}{$menuItem->menuItem}{/lang}{if $menuItem->getProcessor()->getNotifications()} <span class="badge badgeUpdate">{#$menuItem->getProcessor()->getNotifications()}</span>{/if}</a></li>
- {/foreach}
- </ul>
-{/if}
+++ /dev/null
-{foreach from=$groupedUsers item=group}
- {if $group}
- <header class="boxHeadline">
- <h1>{$group}</h1>
- </header>
- {/if}
-
- {if $group|count}
- <div class="container marginTop">
- <ol class="containerList jsGroupedUserList">
- {foreach from=$group item=user}
- {include file='userListItem'}
- {/foreach}
- </ol>
- </div>
- {else}
- <p class="marginTop">{$group->getNoUsersMessage()}</p>
- {/if}
-{/foreach}
-
-<div class="contentNavigation"><div class="jsPagination"></div></div>
-
-<script type="text/javascript">
- //<![CDATA[
- $(function() {
- WCF.Language.addObject({
- 'wcf.user.button.follow': '{lang}wcf.user.button.follow{/lang}',
- 'wcf.user.button.ignore': '{lang}wcf.user.button.ignore{/lang}',
- 'wcf.user.button.unfollow': '{lang}wcf.user.button.unfollow{/lang}',
- 'wcf.user.button.unignore': '{lang}wcf.user.button.unignore{/lang}'
- });
-
- new WCF.User.Action.Follow($('.jsGroupedUserList > li'));
- new WCF.User.Action.Ignore($('.jsGroupedUserList > li'));
- });
- //]]>
-</script>
\ No newline at end of file
+++ /dev/null
-<base href="{$baseHref}" />
-<meta charset="utf-8" />
-<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1" />
-<meta name="format-detection" content="telephone=no" />
-{if $allowSpidersToIndexThisPage|empty}<meta name="robots" content="noindex,nofollow" />{/if}
-{implode from=$__wcf->getMetaTagHandler() item=__metaTag glue="\n"}{@$__metaTag}{/implode}
-{event name='metaTags'}
-
-<script type="text/javascript">
- //<![CDATA[
- var SID_ARG_2ND = '{@SID_ARG_2ND_NOT_ENCODED}';
- var WCF_PATH = '{@$__wcf->getPath()}';
- var SECURITY_TOKEN = '{@SECURITY_TOKEN}';
- var LANGUAGE_ID = {@$__wcf->getLanguage()->languageID};
- var TIME_NOW = {@TIME_NOW};
- //]]>
-</script>
-{if JQUERY_SOURCE == 'google'}
-<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/2.0.1/jquery.min.js"></script>
-<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
-{elseif JQUERY_SOURCE == 'microsoft'}
-<script type="text/javascript" src="//ajax.aspnetcdn.com/ajax/jQuery/jquery-2.0.1.min.js"></script>
-<script type="text/javascript" src="//ajax.aspnetcdn.com/ajax/jquery.ui/1.10.3/jquery-ui.min.js"></script>
-{elseif JQUERY_SOURCE == 'cloudflare'}
-<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.0.1/jquery.min.js"></script>
-<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
-{else}
-<script type="text/javascript" src="{@$__wcf->getPath()}js/3rdParty/jquery.min.js?v={@$__wcfVersion}"></script>
-<script type="text/javascript" src="{@$__wcf->getPath()}js/3rdParty/jquery-ui.min.js?v={@$__wcfVersion}"></script>
-{/if}
-{if JQUERY_SOURCE != 'local'}
-<script type="text/javascript">
- //<![CDATA[
- if (!window.jQuery) {
- document.write('<script type="text/javascript" src="{@$__wcf->getPath()}js/3rdParty/jquery.min.js?v={@$__wcfVersion}"><\/script>');
- document.write('<script type="text/javascript" src="{@$__wcf->getPath()}js/3rdParty/jquery-ui.min.js?v={@$__wcfVersion}"><\/script>');
- }
- //]]>
-</script>
-{/if}
-<script type="text/javascript" src="{@$__wcf->getPath()}js/3rdParty/jquery-ui.nestedSortable.js?v={@$__wcfVersion}"></script>
-<script type="text/javascript" src="{@$__wcf->getPath()}js/3rdParty/jquery-ui.timepicker.min.js?v={@$__wcfVersion}"></script>
-<script type="text/javascript" src="{@$__wcf->getPath()}js/WCF{if !ENABLE_DEBUG_MODE}.min{/if}.js?v={@$__wcfVersion}"></script>
-<script type="text/javascript">
- //<![CDATA[
- WCF.User.init({@$__wcf->user->userID}, '{@$__wcf->user->username|encodeJS}');
- //]]>
-</script>
-<script type="text/javascript" src="{@$__wcf->getPath()}js/WCF.Message{if !ENABLE_DEBUG_MODE}.min{/if}.js?v={@$__wcfVersion}"></script>
-<script type="text/javascript" src="{@$__wcf->getPath()}js/WCF.User{if !ENABLE_DEBUG_MODE}.min{/if}.js?v={@$__wcfVersion}"></script>
-<script type="text/javascript" src="{@$__wcf->getPath('wcf')}js/WCF.Like{if !ENABLE_DEBUG_MODE}.min{/if}.js?v={@$__wcfVersion}"></script>
-{event name='javascriptInclude'}
-
-<!-- Stylesheets -->
-{@$__wcf->getStyleHandler()->getStylesheet()}
-{event name='stylesheets'}
-
-<noscript>
- <style type="text/css">
- .jsOnly {
- display: none !important;
- }
-
- .noJsOnly {
- display: block !important;
- }
- </style>
-</noscript>
-
-<script type="text/javascript">
- //<![CDATA[
- $(function() {
- WCF.Language.addObject({
- '__days': [ '{lang}wcf.date.day.sunday{/lang}', '{lang}wcf.date.day.monday{/lang}', '{lang}wcf.date.day.tuesday{/lang}', '{lang}wcf.date.day.wednesday{/lang}', '{lang}wcf.date.day.thursday{/lang}', '{lang}wcf.date.day.friday{/lang}', '{lang}wcf.date.day.saturday{/lang}' ],
- '__daysShort': [ '{lang}wcf.date.day.sun{/lang}', '{lang}wcf.date.day.mon{/lang}', '{lang}wcf.date.day.tue{/lang}', '{lang}wcf.date.day.wed{/lang}', '{lang}wcf.date.day.thu{/lang}', '{lang}wcf.date.day.fri{/lang}', '{lang}wcf.date.day.sat{/lang}' ],
- '__months': [ '{lang}wcf.date.month.january{/lang}', '{lang}wcf.date.month.february{/lang}', '{lang}wcf.date.month.march{/lang}', '{lang}wcf.date.month.april{/lang}', '{lang}wcf.date.month.may{/lang}', '{lang}wcf.date.month.june{/lang}', '{lang}wcf.date.month.july{/lang}', '{lang}wcf.date.month.august{/lang}', '{lang}wcf.date.month.september{/lang}', '{lang}wcf.date.month.october{/lang}', '{lang}wcf.date.month.november{/lang}', '{lang}wcf.date.month.december{/lang}' ],
- '__monthsShort': [ '{lang}wcf.date.month.jan{/lang}', '{lang}wcf.date.month.feb{/lang}', '{lang}wcf.date.month.mar{/lang}', '{lang}wcf.date.month.apr{/lang}', '{lang}wcf.date.month.may{/lang}', '{lang}wcf.date.month.jun{/lang}', '{lang}wcf.date.month.jul{/lang}', '{lang}wcf.date.month.aug{/lang}', '{lang}wcf.date.month.sep{/lang}', '{lang}wcf.date.month.oct{/lang}', '{lang}wcf.date.month.nov{/lang}', '{lang}wcf.date.month.dec{/lang}' ],
- 'wcf.clipboard.item.unmarkAll': '{lang}wcf.clipboard.item.unmarkAll{/lang}',
- 'wcf.date.relative.now': '{lang}wcf.date.relative.now{/lang}',
- 'wcf.date.relative.minutes': '{capture assign=relativeMinutes}{lang}wcf.date.relative.minutes{/lang}{/capture}{@$relativeMinutes|encodeJS}',
- 'wcf.date.relative.hours': '{capture assign=relativeHours}{lang}wcf.date.relative.hours{/lang}{/capture}{@$relativeHours|encodeJS}',
- 'wcf.date.relative.pastDays': '{capture assign=relativePastDays}{lang}wcf.date.relative.pastDays{/lang}{/capture}{@$relativePastDays|encodeJS}',
- 'wcf.date.dateFormat': '{lang}wcf.date.dateFormat{/lang}',
- 'wcf.date.dateTimeFormat': '{lang}wcf.date.dateTimeFormat{/lang}',
- 'wcf.date.hour': '{lang}wcf.date.hour{/lang}',
- 'wcf.date.minute': '{lang}wcf.date.minute{/lang}',
- 'wcf.date.timeFormat': '{lang}wcf.date.timeFormat{/lang}',
- 'wcf.global.button.add': '{lang}wcf.global.button.add{/lang}',
- 'wcf.global.button.cancel': '{lang}wcf.global.button.cancel{/lang}',
- 'wcf.global.button.close': '{lang}wcf.global.button.close{/lang}',
- 'wcf.global.button.collapsible': '{lang}wcf.global.button.collapsible{/lang}',
- 'wcf.global.button.delete': '{lang}wcf.global.button.delete{/lang}',
- 'wcf.global.button.disable': '{lang}wcf.global.button.disable{/lang}',
- 'wcf.global.button.disabledI18n': '{lang}wcf.global.button.disabledI18n{/lang}',
- 'wcf.global.button.edit': '{lang}wcf.global.button.edit{/lang}',
- 'wcf.global.button.enable': '{lang}wcf.global.button.enable{/lang}',
- 'wcf.global.button.next': '{lang}wcf.global.button.next{/lang}',
- 'wcf.global.button.preview': '{lang}wcf.global.button.preview{/lang}',
- 'wcf.global.button.reset': '{lang}wcf.global.button.reset{/lang}',
- 'wcf.global.button.save': '{lang}wcf.global.button.save{/lang}',
- 'wcf.global.button.search': '{lang}wcf.global.button.search{/lang}',
- 'wcf.global.button.submit': '{lang}wcf.global.button.submit{/lang}',
- 'wcf.global.confirmation.cancel': '{lang}wcf.global.confirmation.cancel{/lang}',
- 'wcf.global.confirmation.confirm': '{lang}wcf.global.confirmation.confirm{/lang}',
- 'wcf.global.confirmation.title': '{lang}wcf.global.confirmation.title{/lang}',
- 'wcf.global.decimalPoint': '{capture assign=decimalPoint}{lang}wcf.global.decimalPoint{/lang}{/capture}{$decimalPoint|encodeJS}',
- 'wcf.global.error.timeout': '{lang}wcf.global.error.timeout{/lang}',
- 'wcf.global.error.title': '{lang}wcf.global.error.title{/lang}',
- 'wcf.global.form.error.empty': '{lang}wcf.global.form.error.empty{/lang}',
- 'wcf.global.language.noSelection': '{lang}wcf.global.language.noSelection{/lang}',
- 'wcf.global.loading': '{lang}wcf.global.loading{/lang}',
- 'wcf.global.page.jumpTo': '{lang}wcf.global.page.jumpTo{/lang}',
- 'wcf.global.page.jumpTo.description': '{lang}wcf.global.page.jumpTo.description{/lang}',
- 'wcf.global.page.pageNavigation': '{lang}wcf.global.page.pageNavigation{/lang}',
- 'wcf.global.page.next': '{capture assign=pageNext}{lang}wcf.global.page.next{/lang}{/capture}{@$pageNext|encodeJS}',
- 'wcf.global.page.previous': '{capture assign=pagePrevious}{lang}wcf.global.page.previous{/lang}{/capture}{@$pagePrevious|encodeJS}',
- 'wcf.global.success': '{lang}wcf.global.success{/lang}',
- 'wcf.global.success.add': '{lang}wcf.global.success.add{/lang}',
- 'wcf.global.success.edit': '{lang}wcf.global.success.edit{/lang}',
- 'wcf.global.thousandsSeparator': '{capture assign=thousandsSeparator}{lang}wcf.global.thousandsSeparator{/lang}{/capture}{@$thousandsSeparator|encodeJS}',
- 'wcf.page.sitemap': '{lang}wcf.page.sitemap{/lang}',
- 'wcf.style.changeStyle': '{lang}wcf.style.changeStyle{/lang}'
- {if MODULE_LIKE}
- ,'wcf.like.button.like': '{lang}wcf.like.button.like{/lang}',
- 'wcf.like.button.dislike': '{lang}wcf.like.button.dislike{/lang}',
- 'wcf.like.tooltip': '{lang}wcf.like.jsTooltip{/lang}',
- 'wcf.like.summary': '{lang}wcf.like.summary{/lang}',
- 'wcf.like.details': '{lang}wcf.like.details{/lang}'
- {/if}
-
- {event name='javascriptLanguageImport'}
- });
-
- if (jQuery.browser.touch) $('html').addClass('touch');
- new WCF.Date.Time();
- new WCF.Effect.SmoothScroll();
- new WCF.Effect.BalloonTooltip();
- new WCF.Sitemap();
- {if $__wcf->getStyleHandler()->countStyles() > 1}new WCF.Style.Chooser();{/if}
- WCF.Dropdown.init();
- WCF.System.PageNavigation.init('.pageNavigation');
- WCF.Date.Picker.init();
- WCF.System.MobileNavigation.init();
- new WCF.User.ProfilePreview();
-
- {event name='javascriptInit'}
-
- {if $executeCronjobs}
- new WCF.Action.Proxy({
- autoSend: true,
- data: {
- className: 'wcf\\data\\cronjob\\CronjobAction',
- actionName: 'executeCronjobs'
- },
- showLoadingOverlay: false,
- failure: function() {
- return false;
- }
- });
- {/if}
- {if $__sessionKeepAlive|isset}
- new WCF.System.KeepAlive({@$__sessionKeepAlive});
- {/if}
- });
- //]]>
-</script>
-
-{include file='imageViewer'}
\ No newline at end of file
+++ /dev/null
-<a id="top"></a>
-
-<header id="pageHeader" class="{if $__wcf->getStyleHandler()->getStyle()->getVariable('useFluidLayout')}layoutFluid{else}layoutFixed{/if}">
- <div>
- <nav id="topMenu" class="userPanel">
- <div class="{if $__wcf->getStyleHandler()->getStyle()->getVariable('useFluidLayout')}layoutFluid{else}layoutFixed{/if}">
- {hascontent}
- <ul class="userPanelItems">
- {content}
- {include file='userPanel'}
- {event name='topMenu'}
- {/content}
- </ul>
- {/hascontent}
-
- {include file='searchArea'}
- </div>
- </nav>
-
- <div id="logo" class="logo">
- <a href="{link}{/link}">
- {if $__wcf->getStyleHandler()->getStyle()->getPageLogo()}
- <img src="{$__wcf->getStyleHandler()->getStyle()->getPageLogo()}" alt="" />
- {/if}
- {event name='headerLogo'}
- </a>
- </div>
-
- {event name='headerContents'}
-
- {include file='mainMenu'}
-
- <nav class="navigation navigationHeader">
- {include file='mainMenuSubMenu'}
-
- <ul class="navigationIcons">
- <li id="toBottomLink"><a href="{$__wcf->getAnchor('bottom')}" title="{lang}wcf.global.scrollDown{/lang}" class="jsTooltip"><span class="icon icon16 icon-arrow-down"></span> <span class="invisible">{lang}wcf.global.scrollDown{/lang}</span></a></li>
- <li id="sitemap" class="jsOnly"><a title="{lang}wcf.page.sitemap{/lang}" class="jsTooltip"><span class="icon icon16 icon-sitemap"></span> <span class="invisible">{lang}wcf.page.sitemap{/lang}</span></a></li>
- {if $headerNavigation|isset}{@$headerNavigation}{/if}
- {event name='navigationIcons'}
- </ul>
- </nav>
- </div>
-</header>
-
-<div id="main" class="{if $__wcf->getStyleHandler()->getStyle()->getVariable('useFluidLayout')}layoutFluid{else}layoutFixed{/if}{if $sidebarOrientation|isset && $sidebar|isset} sidebarOrientation{@$sidebarOrientation|ucfirst}{if $sidebarOrientation == 'right' && $sidebarCollapsed} sidebarCollapsed{/if}{/if}">
- <div>
- <div>
- {capture assign='__sidebar'}
- {if $sidebar|isset}
- <aside class="sidebar"{if $sidebarOrientation|isset && $sidebarOrientation == 'right'} data-is-open="{if $sidebarCollapsed}false{else}true{/if}" data-sidebar-name="{$sidebarName}"{/if}>
- <div>
- {event name='sidebarBoxesTop'}
-
- {@$sidebar}
-
- {event name='sidebarBoxesBottom'}
- </div>
- </aside>
-
- {if $sidebarOrientation|isset && $sidebarOrientation == 'right'}
- <script type="text/javascript">
- //<![CDATA[
- $(function() {
- new WCF.Collapsible.Sidebar();
- });
- //]]>
- </script>
- {/if}
- {/if}
- {/capture}
-
- {if !$sidebarOrientation|isset || $sidebarOrientation == 'left'}
- {@$__sidebar}
- {/if}
-
- <section id="content" class="content">
-
- {event name='contents'}
-
- {if $skipBreadcrumbs|empty}{include file='breadcrumbs'}{/if}
-
\ No newline at end of file
+++ /dev/null
-{include file='documentHeader'}
-
-<head>
- <title>{lang}wcf.user.ignoredUsers{/lang} - {lang}wcf.user.usercp{/lang} - {PAGE_TITLE|language}</title>
- {include file='headInclude'}
-
- <script type="text/javascript">
- //<![CDATA[
- $(function() {
- new WCF.Action.Delete('wcf\\data\\user\\ignore\\UserIgnoreAction', '.jsIgnoredUser');
- });
- //]]>
- </script>
-</head>
-
-<body id="tpl{$templateName|ucfirst}">
-
-{include file='userMenuSidebar'}
-
-{include file='header' sidebarOrientation='left'}
-
-<header class="boxHeadline">
- <h1>{lang}wcf.user.ignoredUsers{/lang} <span class="badge">{#$items}</span></h1>
-</header>
-
-{include file='userNotice'}
-
-<div class="contentNavigation">
- {pages print=true assign=pagesLinks controller='IgnoredUsers' link="pageNo=%d"}
-
- {hascontent}
- <nav>
- <ul>
- {content}
- {event name='contentNavigationButtonsTop'}
- {/content}
- </ul>
- </nav>
- {/hascontent}
-</div>
-
-{if $objects|count}
- <div class="container marginTop">
- <ol class="containerList doubleColumned userList">
- {foreach from=$objects item=user}
- <li class="jsIgnoredUser">
- <div class="box48">
- <a href="{link controller='User' object=$user}{/link}" title="{$user->username}" class="framed">{@$user->getAvatar()->getImageTag(48)}</a>
-
- <div class="details userInformation">
- {include file='userInformationHeadline'}
-
- <nav class="jsMobileNavigation buttonGroupNavigation">
- <ul class="buttonList jsOnly">
- <li><span class="icon icon16 icon-remove pointer jsTooltip jsDeleteButton" title="{lang}wcf.user.button.unignore{/lang}" data-object-id="{@$user->ignoreID}"></span></li>
- {event name='userButtons'}
- </ul>
- </nav>
-
- {include file='userInformationStatistics'}
- </div>
- </div>
- </li>
- {/foreach}
- </ol>
- </div>
-
- <div class="contentNavigation">
- {@$pagesLinks}
-
- {hascontent}
- <nav>
- <ul>
- {content}
- {event name='contentNavigationButtonsBottom'}
- {/content}
- </ul>
- </nav>
- {/hascontent}
- </div>
-{else}
- <p class="info">{lang}wcf.user.ignoredUsers.noUsers{/lang}</p>
-{/if}
-
-{include file='footer'}
-
-</body>
-</html>
+++ /dev/null
-{if !$__imageViewerLoaded|isset}
- <script type="text/javascript" src="{@$__wcf->getPath()}js/3rdParty/slimbox2.min.js"></script>
- <script type="text/javascript" src="{@$__wcf->getPath()}js/WCF.ImageViewer{if !ENABLE_DEBUG_MODE}.min{/if}.js?v={@$__wcfVersion}"></script>
- <script type="text/javascript">
- //<![CDATA[
- var $imageViewer = null;
- $(function() {
- WCF.Language.addObject({
- 'wcf.imageViewer.counter': '{lang}wcf.imageViewer.counter{/lang}',
- 'wcf.imageViewer.close': '{lang}wcf.imageViewer.close{/lang}',
- 'wcf.imageViewer.enlarge': '{lang}wcf.imageViewer.enlarge{/lang}',
- 'wcf.imageViewer.next': '{lang}wcf.imageViewer.next{/lang}',
- 'wcf.imageViewer.previous': '{lang}wcf.imageViewer.previous{/lang}'
- });
-
- $imageViewer = new WCF.ImageViewer();
- });
- //]]>
- </script>
-
- {assign var=__imageViewerLoaded value=true}
-{/if}
\ No newline at end of file
+++ /dev/null
-<input type="number" id="{$option->optionName}" name="values[{$option->optionName}]" value="{$value}"{if $option->minvalue !== null} min="{$option->minvalue}"{/if}{if $option->maxvalue !== null} max="{$option->maxvalue}"{/if}{if $inputClass} class="{@$inputClass}"{/if} />
\ No newline at end of file
+++ /dev/null
-{include file='documentHeader'}
-
-<head>
- <title>{lang}wcf.user.login{/lang} - {PAGE_TITLE|language}</title>
-
- {include file='headInclude'}
-
- <script type="text/javascript" src="{@$__wcf->getPath('wcf')}js/WCF.User{if !ENABLE_DEBUG_MODE}.min{/if}.js?v={@$__wcfVersion}"></script>
- <script type="text/javascript">
- //<![CDATA[
- $(function() {
- new WCF.User.Login(false);
- })
- //]]>
- </script>
-</head>
-
-<body id="tpl{$templateName|ucfirst}">
-{include file='header' __disableLoginLink=true}
-
-<header class="boxHeadline">
- <h1>{lang}wcf.user.login{/lang}</h1>
-</header>
-
-{include file='userNotice'}
-
-{if $errorField}
- <p class="error">{lang}wcf.global.form.error{/lang}</p>
-{/if}
-
-<div class="contentNavigation">
- {hascontent}
- <nav>
- <ul>
- {content}
- {event name='contentNavigationButtons'}
- {/content}
- </ul>
- </nav>
- {/hascontent}
-</div>
-
-<form method="post" action="{link controller='Login'}{/link}" id="loginForm">
- <div class="container containerPadding marginTop">
- <fieldset>
- <legend>{lang}wcf.user.login.data{/lang}</legend>
-
- <dl{if $errorField == 'username'} class="formError"{/if}>
- <dt><label for="username">{lang}wcf.user.usernameOrEmail{/lang}</label></dt>
- <dd>
- <input type="text" id="username" name="username" value="{$username}" required="required" class="long" />
- {if $errorField == 'username'}
- <small class="innerError">
- {if $errorType == 'empty'}
- {lang}wcf.global.form.error.empty{/lang}
- {else}
- {lang}wcf.user.username.error.{@$errorType}{/lang}
- {/if}
- </small>
- {/if}
- </dd>
- </dl>
-
- {if !REGISTER_DISABLED}
- <dl>
- <dt>{lang}wcf.user.login.action{/lang}</dt>
- <dd><label><input type="radio" name="action" value="register" /> {lang}wcf.user.login.action.register{/lang}</label></dd>
- <dd><label><input type="radio" name="action" value="login" checked="checked" /> {lang}wcf.user.login.action.login{/lang}</label></dd>
- </dl>
- {/if}
-
- <dl{if $errorField == 'password'} class="formError"{/if}>
- <dt><label for="password">{lang}wcf.user.password{/lang}</label></dt>
- <dd>
- <input type="password" id="password" name="password" value="{$password}" class="long" />
- {if $errorField == 'password'}
- <small class="innerError">
- {if $errorType == 'empty'}
- {lang}wcf.global.form.error.empty{/lang}
- {else}
- {lang}wcf.user.password.error.{@$errorType}{/lang}
- {/if}
- </small>
- {/if}
- </dd>
- </dl>
-
- {if $supportsPersistentLogins}
- <dl>
- <dd>
- <label for="useCookies"><input type="checkbox" id="useCookies" name="useCookies" value="1" {if $useCookies}checked="checked" {/if}/> {lang}wcf.user.useCookies{/lang}</label>
- </dd>
- </dl>
- {/if}
-
- {event name='fields'}
-
- <dl>
- <dd>
- <ul class="buttonList">
- <li><a class="button small" href="{link controller='LostPassword'}{/link}"><span>{lang}wcf.user.lostPassword{/lang}</span></a></li>
- {if !REGISTER_DISABLED && REGISTER_ACTIVATION_METHOD == 1}<li><a class="button small" href="{link controller='RegisterActivation'}{/link}"><span>{lang}wcf.user.registerActivation{/lang}</span></a></li>{/if}
- {event name='buttons'}
- </ul>
- </dd>
- </dl>
- </fieldset>
-
- {capture assign='__3rdPartyButtons'}
-
- {/capture}
-
- {hascontent}
- <fieldset>
- <legend>{lang}wcf.user.login.3rdParty{/lang}</legend>
-
- <dl>
- <dd>
- <ul class="buttonList">
- {content}
- {if GITHUB_PUBLIC_KEY !== '' && GITHUB_PRIVATE_KEY !== ''}
- <li id="githubAuth" class="3rdPartyAuth">
- <a href="{link controller='GithubAuth'}{/link}" class="button small"><span class="icon icon16 icon-github"></span> <span>{lang}wcf.user.3rdparty.github.login{/lang}</span></a>
- </li>
- {/if}
-
- {if TWITTER_PUBLIC_KEY !== '' && TWITTER_PRIVATE_KEY !== ''}
- <li id="twitterAuth" class="3rdPartyAuth">
- <a href="{link controller='TwitterAuth'}{/link}" class="button small"><span class="icon icon16 icon-twitter"></span> <span>{lang}wcf.user.3rdparty.twitter.login{/lang}</span></a>
- </li>
- {/if}
-
- {if FACEBOOK_PUBLIC_KEY !== '' && FACEBOOK_PRIVATE_KEY !== ''}
- <li id="facebookAuth" class="3rdPartyAuth">
- <a href="{link controller='FacebookAuth'}{/link}" class="button small"><span class="icon icon16 icon-facebook"></span> <span>{lang}wcf.user.3rdparty.facebook.login{/lang}</span></a>
- </li>
- {/if}
-
- {if GOOGLE_PUBLIC_KEY !== '' && GOOGLE_PRIVATE_KEY !== ''}
- <li id="googleAuth" class="3rdPartyAuth">
- <a href="{link controller='GoogleAuth'}{/link}" class="button small"><span class="icon icon16 icon-google-plus"></span> <span>{lang}wcf.user.3rdparty.google.login{/lang}</span></a>
- </li>
- {/if}
- {/content}
- </ul>
- </dd>
- </dl>
- </fieldset>
- {/hascontent}
-
- {event name='fieldsets'}
- </div>
-
- <div class="formSubmit">
- <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s" />
- <input type="hidden" name="url" value="{@$url}" />
- </div>
-</form>
-
-{include file='footer'}
-
-</body>
-</html>
+++ /dev/null
-{include file="documentHeader"}
-
-<head>
- <title>{lang}wcf.user.lostPassword{/lang} - {PAGE_TITLE|language}</title>
- {include file='headInclude'}
-
- <script type="text/javascript" src="{@$__wcf->getPath('wcf')}js/WCF.User{if !ENABLE_DEBUG_MODE}.min{/if}.js?v={@$__wcfVersion}"></script>
- <script type="text/javascript">
- //<![CDATA[
- $(function() {
- new WCF.User.Registration.LostPassword();
- });
- //]]>
- </script>
-</head>
-
-<body id="tpl{$templateName|ucfirst}">
-
-{include file='header'}
-
-<header class="boxHeadline">
- <h1>{lang}wcf.user.lostPassword{/lang}</h1>
-</header>
-
-{include file='userNotice'}
-
-<p class="info">{lang}wcf.user.lostPassword.description{/lang}</p>
-
-{if $errorField}
- <p class="error">{lang}wcf.global.form.error{/lang}</p>
-{/if}
-
-<div class="contentNavigation">
- {hascontent}
- <nav>
- <ul>
- {content}
- {event name='contentNavigationButtons'}
- {/content}
- </ul>
- </nav>
- {/hascontent}
-</div>
-
-<form method="post" action="{link controller='LostPassword'}{/link}">
- <div class="container containerPadding marginTop">
- <fieldset>
- <legend>{lang}wcf.user.lostPassword{/lang}</legend>
-
- <dl id="usernameDiv"{if $errorField == 'username'} class="formError"{/if}>
- <dt>
- <label for="usernameInput">{lang}wcf.user.username{/lang}</label>
- </dt>
- <dd>
- <input type="text" id="usernameInput" name="username" value="{$username}" class="medium" />
- {if $errorField == 'username'}
- <small class="innerError">
- {if $errorType == 'empty'}{lang}wcf.global.form.error.empty{/lang}{/if}
- {if $errorType == 'notFound'}{lang}wcf.user.error.username.notFound{/lang}{/if}
- {if $errorType == '3rdParty'}{lang}wcf.user.error.username.3rdParty{/lang}{/if}
- </small>
- {/if}
- </dd>
- </dl>
-
- <dl id="emailDiv"{if $errorField == 'email'} class="formError"{/if}>
- <dt>
- <label for="emailInput">{lang}wcf.user.email{/lang}</label>
- </dt>
- <dd>
- <input type="email" id="emailInput" name="email" value="{$email}" class="medium" />
- {if $errorField == 'email'}
- <small class="innerError">
- {if $errorType == 'empty'}{lang}wcf.global.form.error.empty{/lang}{/if}
- {if $errorType == 'notFound'}{lang}wcf.user.lostPassword.error.email.notFound{/lang}{/if}
- </small>
- {/if}
- </dd>
- </dl>
-
- {event name='fields'}
- </fieldset>
-
- {event name='fieldsets'}
-
- {if $useCaptcha}{include file='recaptcha'}{/if}
- </div>
-
- <div class="formSubmit">
- <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s" />
- </div>
-</form>
-
-{include file='footer'}
-
-</body>
-</html>
+++ /dev/null
-{include file='documentHeader'}
-
-<head>
- <title>{lang}wcf.user.mail.title{/lang} - {lang}wcf.user.profile{/lang} - {PAGE_TITLE|language}</title>
-
- {include file='headInclude'}
-</head>
-
-<body id="tpl{$templateName|ucfirst}">
-{include file='header'}
-
-<header class="boxHeadline">
- <h1>{lang}wcf.user.mail.title{/lang}</h1>
-</header>
-
-{include file='userNotice'}
-
-{if $errorField}
- <p class="error">{lang}wcf.global.form.error{/lang}</p>
-{/if}
-
-<div class="contentNavigation">
- {hascontent}
- <nav>
- <ul>
- {content}
- {event name='contentNavigationButtons'}
- {/content}
- </ul>
- </nav>
- {/hascontent}
-</div>
-
-<form method="post" action="{link controller='Mail' object=$user}{/link}">
- <div class="container containerPadding marginTop">
- <fieldset>
- <legend>{lang}wcf.user.mail.information{/lang}</legend>
-
- <dl{if $errorField == 'subject'} class="formError"{/if}>
- <dt><label for="subject">{lang}wcf.user.mail.subject{/lang}</label></dt>
- <dd>
- <input type="text" id="subject" name="subject" value="{$subject}" required="required" class="long" />
- {if $errorField == 'subject'}
- <small class="innerError">
- {if $errorType == 'empty'}
- {lang}wcf.global.form.error.empty{/lang}
- {else}
- {lang}wcf.user.mail.subject.error.{@$errorType}{/lang}
- {/if}
- </small>
- {/if}
- </dd>
- </dl>
-
- {if $__wcf->user->userID}
- <dl>
- <dd><label><input type="checkbox" name="showAddress" value="1" {if $showAddress == 1} checked="checked"{/if}/> {lang}wcf.user.mail.showAddress{/lang}</label></dd>
- </dl>
- {else}
- <dl{if $errorField == 'email'} class="formError"{/if}>
- <dt><label for="email">{lang}wcf.user.mail.senderEmail{/lang}</label></dt>
- <dd>
- <input type="email" id="email" name="email" value="{$email}" required="required" class="medium" />
- {if $errorField == 'email'}
- <small class="innerError">
- {if $errorType == 'empty'}
- {lang}wcf.global.form.error.empty{/lang}
- {elseif $errorType == 'invalid'}
- {lang}wcf.user.email.error.notValid{/lang}
- {else}
- {lang}wcf.user.mail.senderEmail.error.{@$errorType}{/lang}
- {/if}
- </small>
- {/if}
- </dd>
- </dl>
- {/if}
-
- {event name='informationFields'}
- </fieldset>
-
- <fieldset>
- <legend><label for="message">{lang}wcf.user.mail.message{/lang}</label></legend>
-
- <dl class="wide{if $errorField == 'message'} formError{/if}">
- <dd>
- <textarea rows="15" cols="40" name="message" id="message" required="required">{$message}</textarea>
- {if $errorField == 'message'}
- <small class="innerError">
- {if $errorType == 'empty'}
- {lang}wcf.global.form.error.empty{/lang}
- {else}
- {lang}wcf.user.mail.message.error.{@$errorType}{/lang}
- {/if}
- </small>
- {/if}
- </dd>
- </dl>
-
- {event name='messageFields'}
- </fieldset>
-
- {event name='fieldsets'}
-
- {if $useCaptcha}
- {include file='recaptcha'}
- {/if}
- </div>
-
- <div class="formSubmit">
- <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s" />
- </div>
-</form>
-
-{include file='footer'}
-
-</body>
-</html>
+++ /dev/null
-{if $__wcf->getPageMenu()->getMenuItems('header')|count > 0}
- <nav id="mainMenu" class="mainMenu jsMobileNavigation" data-button-label="{lang}wcf.page.mainMenu{/lang}">
- <ul>{foreach from=$__wcf->getPageMenu()->getMenuItems('header') item=menuItem}<li{if $__wcf->getPageMenu()->getActiveMenuItem() == $menuItem->menuItem} class="active"{/if}>{*
- *}<a href="{$menuItem->getProcessor()->getLink()}">{lang}{$menuItem->menuItem}{/lang}{if $menuItem->getProcessor()->getNotifications()} <span class="badge badgeUpdate">{#$menuItem->getProcessor()->getNotifications()}</span>{/if}</a>{*
- *}{if $__wcf->getPageMenu()->getMenuItems($menuItem->menuItem)|count > 0 && $__wcf->getPageMenu()->getActiveMenuItem() == $menuItem->menuItem}<ul class="invisible">{*
- *}{foreach from=$__wcf->getPageMenu()->getMenuItems($menuItem->menuItem) item=subMenuItem}{*
- *}<li{if $__wcf->getPageMenu()->getActiveMenuItem(1) == $subMenuItem->menuItem} class="active"{/if}><a href="{$subMenuItem->getProcessor()->getLink()}"><span>{lang}{$subMenuItem->menuItem}{/lang}</span></a>{if $subMenuItem->getProcessor()->getNotifications()} <span class="badge badgeUpdate">{#$subMenuItem->getProcessor()->getNotifications()}</span>{/if}</li>{*
- *}{/foreach}{*
- *}{event name='items'}</ul>{/if}</li>{/foreach}</ul>
- </nav>
-{/if}
+++ /dev/null
-{foreach from=$__wcf->getPageMenu()->getMenuItems('header') item=menuItem}
- {if $__wcf->getPageMenu()->getMenuItems($menuItem->menuItem)|count > 0 && $__wcf->getPageMenu()->getActiveMenuItem() == $menuItem->menuItem}
- <ul class="navigationMenuItems">
- {foreach from=$__wcf->getPageMenu()->getMenuItems($menuItem->menuItem) item=subMenuItem}
- <li{if $__wcf->getPageMenu()->getActiveMenuItem(1) == $subMenuItem->menuItem} class="active"{/if}><a href="{$subMenuItem->getProcessor()->getLink()}"><span>{lang}{$subMenuItem->menuItem}{/lang}</span></a>{if $subMenuItem->getProcessor()->getNotifications()} <span class="badge badgeUpdate">{#$subMenuItem->getProcessor()->getNotifications()}</span>{/if}</li>
- {/foreach}
- {event name='items'}
- </ul>
- {/if}
-{/foreach}
\ No newline at end of file
+++ /dev/null
-<fieldset>
- <dl class="wide">
- <dd>
- <label><input type="radio" name="subscribe" value="1"{if $userObjectWatch} checked="checked"{/if} /> {lang}wcf.user.objectWatch.subscribe.{@$objectType->objectType}{/lang}</label>
-
- <small><label><input type="checkbox" name="enableNotification" value="1"{if $userObjectWatch && $userObjectWatch->notification} checked="checked"{/if} /> {lang}wcf.user.objectWatch.enableNotification.{@$objectType->objectType}{/lang}</label></small>
- </dd>
- </dl>
- <dl class="wide">
- <dd>
- <label><input type="radio" name="subscribe" value="0"{if !$userObjectWatch} checked="checked"{/if} /> {lang}wcf.user.objectWatch.unsubscribe.{@$objectType->objectType}{/lang}</label>
- </dd>
- </dl>
-
- {event name='fields'}
-</fieldset>
-
-<div class="formSubmit">
- <button class="jsButtonSave buttonPrimary">{lang}wcf.global.button.save{/lang}</button>
-</div>
\ No newline at end of file
+++ /dev/null
-{include file='documentHeader'}
-
-<head>
- <title>{if $searchID}{lang}wcf.user.search.results{/lang}{else}{lang}wcf.user.members{/lang}{/if} {if $pageNo > 1}- {lang}wcf.page.pageNo{/lang} {/if}- {PAGE_TITLE|language}</title>
-
- {include file='headInclude'}
-
- {capture assign='canonicalURLParameters'}sortField={@$sortField}&sortOrder={@$sortOrder}{if $letter}&letter={@$letter|rawurlencode}{/if}{/capture}
- {if $pageNo < $pages}
- <link rel="next" href="{link controller='MembersList'}pageNo={@$pageNo+1}&{@$canonicalURLParameters}{/link}" />
- {/if}
- {if $pageNo > 1}
- <link rel="prev" href="{link controller='MembersList'}{if $pageNo > 2}pageNo={@$pageNo-1}&{/if}{@$canonicalURLParameters}{/link}" />
- {/if}
- <link rel="canonical" href="{link controller='MembersList'}{if $pageNo > 1}pageNo={@$pageNo}&{/if}{@$canonicalURLParameters}{/link}" />
-
- <script type="text/javascript">
- //<![CDATA[
- $(function() {
- WCF.Language.addObject({
- 'wcf.user.button.follow': '{lang}wcf.user.button.follow{/lang}',
- 'wcf.user.button.ignore': '{lang}wcf.user.button.ignore{/lang}',
- 'wcf.user.button.unfollow': '{lang}wcf.user.button.unfollow{/lang}',
- 'wcf.user.button.unignore': '{lang}wcf.user.button.unignore{/lang}'
- });
-
- new WCF.User.Action.Follow($('.userList > li'));
- new WCF.User.Action.Ignore($('.userList > li'));
-
- new WCF.Search.User('#searchUsername', function(data) {
- var $link = '{link controller='User' id=2147483646 title='wcfTitlePlaceholder' encode=false}{/link}';
- window.location = $link.replace('2147483646', data.objectID).replace('wcfTitlePlaceholder', data.label);
- }, false, [ ], false);
- });
- //]]>
- </script>
-</head>
-
-<body id="tpl{$templateName|ucfirst}">
-
-{capture assign='sidebar'}
- {assign var=encodedLetter value=$letter|rawurlencode}
- <div class="jsOnly">
- <form method="get" action="{if $searchID}{link controller='MembersList' id=$searchID}{/link}{else}{link controller='MembersList'}{/link}{/if}">
- <fieldset>
- <legend><label for="searchUsername">{lang}wcf.user.search{/lang}</label></legend>
-
- <dl>
- <dd>
- <input type="text" id="searchUsername" name="username" class="long" placeholder="{lang}wcf.user.username{/lang}" />
- </dd>
- </dl>
- </fieldset>
- </form>
- </div>
-
- <fieldset>
- <legend>{lang}wcf.user.members.sort.letters{/lang}</legend>
-
- <ul class="buttonList letters">
- {foreach from=$letters item=__letter}
- <li><a href="{if $searchID}{link controller='MembersList' id=$searchID}sortField={$sortField}&sortOrder={$sortOrder}&letter={$__letter|rawurlencode}{/link}{else}{link controller='MembersList'}sortField={$sortField}&sortOrder={$sortOrder}&letter={$__letter|rawurlencode}{/link}{/if}" class="button small{if $letter == $__letter} active{/if}">{$__letter}</a></li>
- {/foreach}
- {if !$letter|empty}<li><a href="{if $searchID}{link controller='MembersList' id=$searchID}sortField={$sortField}&sortOrder={$sortOrder}{/link}{else}{link controller='MembersList'}sortField={$sortField}&sortOrder={$sortOrder}{/link}{/if}" class="button small">{lang}wcf.user.members.sort.letters.all{/lang}</a></li>{/if}
- </ul>
- </fieldset>
-
- <div>
- <form method="get" action="{if $searchID}{link controller='MembersList' id=$searchID}{/link}{else}{link controller='MembersList'}{/link}{/if}">
- <fieldset>
- <legend><label for="sortField">{lang}wcf.user.members.sort{/lang}</label></legend>
-
- <dl>
- <dd>
- <select id="sortField" name="sortField">
- <option value="username"{if $sortField == 'username'} selected="selected"{/if}>{lang}wcf.user.username{/lang}</option>
- <option value="registrationDate"{if $sortField == 'registrationDate'} selected="selected"{/if}>{lang}wcf.user.registrationDate{/lang}</option>
- <option value="activityPoints"{if $sortField == 'activityPoints'} selected="selected"{/if}>{lang}wcf.user.activityPoint{/lang}</option>
- <option value="likesReceived"{if $sortField == 'likesReceived'} selected="selected"{/if}>{lang}wcf.like.likesReceived{/lang}</option>
- {event name='sortField'}
- </select>
- <select name="sortOrder">
- <option value="ASC"{if $sortOrder == 'ASC'} selected="selected"{/if}>{lang}wcf.global.sortOrder.ascending{/lang}</option>
- <option value="DESC"{if $sortOrder == 'DESC'} selected="selected"{/if}>{lang}wcf.global.sortOrder.descending{/lang}</option>
- </select>
- </dd>
- </dl>
- </fieldset>
-
- <div class="formSubmit">
- <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s" />
- <input type="hidden" name="letter" value="{$letter}" />
- </div>
- </form>
- </div>
-
- {@$__boxSidebar}
-{/capture}
-
-{include file='header' sidebarOrientation='right'}
-
-<header class="boxHeadline">
- <h1>{if $searchID}{lang}wcf.user.search.results{/lang}{else}{lang}wcf.user.members{/lang}{/if} <span class="badge">{#$items}</span></h1>
-</header>
-
-{include file='userNotice'}
-
-<div class="contentNavigation">
- {if $searchID}
- {pages print=true assign=pagesLinks controller='MembersList' id=$searchID link="pageNo=%d&sortField=$sortField&sortOrder=$sortOrder&letter=$encodedLetter"}
- {else}
- {pages print=true assign=pagesLinks controller='MembersList' link="pageNo=%d&sortField=$sortField&sortOrder=$sortOrder&letter=$encodedLetter"}
- {/if}
-
- {hascontent}
- <nav>
- <ul>
- {content}
- {event name='contentNavigationButtonsTop'}
- {/content}
- </ul>
- </nav>
- {/hascontent}
-</div>
-
-{if $items}
- <div class="container marginTop">
- <ol class="containerList doubleColumned userList">
- {foreach from=$objects item=user}
- {include file='userListItem'}
- {/foreach}
- </ol>
- </div>
-{else}
- <p class="info">{lang}wcf.user.members.noMembers{/lang}</p>
-{/if}
-
-<div class="contentNavigation">
- {@$pagesLinks}
-
- {hascontent}
- <nav>
- <ul>
- {content}
- {event name='contentNavigationButtonsBottom'}
- {/content}
- </ul>
- </nav>
- {/hascontent}
-</div>
-
-{include file='footer'}
-
-</body>
-</html>
+++ /dev/null
-<div id="attachments" class="jsOnly formAttachmentContent tabMenuContent container containerPadding">
- <ul class="formAttachmentList clearfix"{if !$attachmentHandler->getAttachmentList()|count} style="display: none"{/if}>
- {foreach from=$attachmentHandler->getAttachmentList() item=$attachment}
- <li class="box48">
- {if $attachment->tinyThumbnailType}
- <img src="{link controller='Attachment' object=$attachment}tiny=1{/link}" alt="" class="attachmentTinyThumbnail" />
- {else}
- <span class="icon icon48 icon-paper-clip"></span>
- {/if}
-
- <div>
- <div>
- <p><a href="{link controller='Attachment' object=$attachment}{/link}"{if $attachment->isImage} title="{$attachment->filename}" class="jsImageViewer"{/if}>{$attachment->filename}</a></p>
- <small>{@$attachment->filesize|filesize}</small>
- </div>
-
- <ul>
- <li><span class="icon icon16 icon-remove pointer jsTooltip jsDeleteButton " title="{lang}wcf.global.button.delete{/lang}" data-object-id="{@$attachment->attachmentID}" data-confirm-message="{lang}wcf.attachment.delete.sure{/lang}"></span></li>
- <li><span class="icon icon16 icon-paste pointer jsTooltip jsButtonInsertAttachment" title="{lang}wcf.attachment.insert{/lang}" data-object-id="{@$attachment->attachmentID}" /></li>
- </ul>
- </div>
- </li>
- {/foreach}
- </ul>
-
- <dl class="wide">
- <dd>
- <div></div>
- <small>{lang}wcf.attachment.upload.limits{/lang}</small>
- </dd>
- </dl>
-
- {event name='fields'}
-</div>
-
-<script type="text/javascript" src="{@$__wcf->getPath()}js/WCF.Attachment{if !ENABLE_DEBUG_MODE}.min{/if}.js?v={@$__wcfVersion}"></script>
-<script type="text/javascript">
- //<![CDATA[
- $(function() {
- WCF.Language.addObject({
- 'wcf.attachment.upload.error.invalidExtension': '{lang}wcf.attachment.upload.error.invalidExtension{/lang}',
- 'wcf.attachment.upload.error.tooLarge': '{lang}wcf.attachment.upload.error.tooLarge{/lang}',
- 'wcf.attachment.upload.error.reachedLimit': '{lang}wcf.attachment.upload.error.reachedLimit{/lang}',
- 'wcf.attachment.upload.error.reachedRemainingLimit': '{lang}wcf.attachment.upload.error.reachedRemainingLimit{/lang}',
- 'wcf.attachment.upload.error.uploadFailed': '{lang}wcf.attachment.upload.error.uploadFailed{/lang}',
- 'wcf.global.button.upload': '{lang}wcf.global.button.upload{/lang}',
- 'wcf.attachment.insert': '{lang}wcf.attachment.insert{/lang}',
- 'wcf.attachment.delete.sure': '{lang}wcf.attachment.delete.sure{/lang}'
- });
-
- new WCF.Attachment.Upload($('#attachments > dl > dd > div'), $('#attachments > ul'), '{@$attachmentObjectType}', '{@$attachmentObjectID}', '{$tmpHash|encodeJS}', '{@$attachmentParentObjectID}', {@$attachmentHandler->getMaxCount()}, '{@$wysiwygContainerID}');
- new WCF.Action.Delete('wcf\\data\\attachment\\AttachmentAction', '.formAttachmentList > li');
- });
- //]]>
-</script>
-
-<input type="hidden" name="tmpHash" value="{$tmpHash}" />
\ No newline at end of file
+++ /dev/null
-{if $availableContentLanguages|count}
- <dl{if $errorField == 'languageID'} class="formError"{/if}>
- <dt>{lang}wcf.user.language{/lang}</dt>
- <dd id="languageIDContainer">
- <noscript>
- <select name="languageID" id="languageID">
- {foreach from=$availableContentLanguages item=contentLanguage}
- <option value="{@$contentLanguage->languageID}">{$contentLanguage}</option>
- {/foreach}
- </select>
- </noscript>
- </dd>
- </dl>
-
- <script type="text/javascript">
- //<![CDATA[
- $(function() {
- var $languages = {
- {implode from=$availableContentLanguages item=contentLanguage}
- '{@$contentLanguage->languageID}': {
- iconPath: '{@$contentLanguage->getIconPath()}',
- languageName: '{$contentLanguage}'
- }
- {/implode}
- };
-
- new WCF.Language.Chooser('languageIDContainer', 'languageID', {$languageID}, $languages);
- });
- //]]>
- </script>
-{/if}
\ No newline at end of file
+++ /dev/null
-<button id="previewButton" class="jsOnly" accesskey="p">{lang}wcf.global.button.preview{/lang}</button>
-
-<script type="text/javascript">
- //<![CDATA[
- $(function() {
- WCF.Language.addObject({
- 'wcf.global.preview': '{lang}wcf.global.preview{/lang}'
- });
-
- new WCF.Message.DefaultPreview({if MODULE_ATTACHMENT && $attachmentHandler !== null}'{@$attachmentObjectType}', '{@$attachmentObjectID}', '{$tmpHash|encodeJS}'{/if});
- });
- //]]>
-</script>
\ No newline at end of file
+++ /dev/null
-<fieldset id="settings" class="settingsContent tabMenuContent container containerPadding">
- <dl class="wide">
- {if $__wcf->getSession()->getPermission('user.message.canUseBBCodes')}
- <dd>
- <label><input id="preParse" name="preParse" type="checkbox" value="1"{if $preParse} checked="checked"{/if} /> {lang}wcf.message.settings.preParse{/lang}</label>
- <small>{lang}wcf.message.settings.preParse.description{/lang}</small>
- </dd>
- {/if}
- {if $__wcf->getSession()->getPermission('user.message.canUseSmilies')}
- <dd>
- <label><input id="enableSmilies" name="enableSmilies" type="checkbox" value="1"{if $enableSmilies} checked="checked"{/if} /> {lang}wcf.message.settings.enableSmilies{/lang}</label>
- <small>{lang}wcf.message.settings.enableSmilies.description{/lang}</small>
- </dd>
- {/if}
- {if $__wcf->getSession()->getPermission('user.message.canUseBBCodes')}
- <dd>
- <label><input id="enableBBCodes" name="enableBBCodes" type="checkbox" value="1"{if $enableBBCodes} checked="checked"{/if} /> {lang}wcf.message.settings.enableBBCodes{/lang}</label>
- <small>{lang}wcf.message.settings.enableBBCodes.description{/lang}</small>
- </dd>
- {/if}
- {if $__wcf->getSession()->getPermission('user.message.canUseHtml')}
- <dd>
- <label><input id="enableHtml" name="enableHtml" type="checkbox" value="1"{if $enableHtml} checked="checked"{/if} /> {lang}wcf.message.settings.enableHtml{/lang}</label>
- <small>{lang}wcf.message.settings.enableHtml.description{/lang}</small>
- </dd>
- {/if}
- {if 'MODULE_USER_SIGNATURE'|defined && MODULE_USER_SIGNATURE && $showSignatureSetting && $__wcf->user->userID}
- <dd>
- <label><input id="showSignature" name="showSignature" type="checkbox" value="1"{if $showSignature} checked="checked"{/if} /> {lang}wcf.message.settings.showSignature{/lang}</label>
- <small>{lang}wcf.message.settings.showSignature.description{/lang}</small>
- </dd>
- {/if}
-
- {event name='settings'}
- </dl>
-</fieldset>
+++ /dev/null
-{assign var=__tabCount value=0}
-{capture assign=__categoryTabs}
- {foreach from=$smileyCategories item=smileyCategory}
- {assign var=__tabCount value=$__tabCount + 1}
- {assign var='__smileyAnchor' value='smilies-'|concat:$smileyCategory->categoryID}
- <li><a href="{$__wcf->getAnchor($__smileyAnchor)}" data-smiley-category-id="{@$smileyCategory->categoryID}">{$smileyCategory->title|language}</a></li>
- {/foreach}
-{/capture}
-
-<div id="smilies" class="jsOnly smiliesContent tabMenuContent container containerPadding{if $__tabCount} tabMenuContainer{/if}">
- {capture assign=__defaultSmilies}
- {include file='__messageFormSmilies' smilies=$defaultSmilies}
- {/capture}
-
- {if $__tabCount > 1}
- <nav class="menu">
- <ul>
- {@$__categoryTabs}
- </ul>
- </nav>
-
- {foreach from=$smileyCategories item=smileyCategory}
- {if !$smileyCategory->isDisabled}
- <div id="smilies-{@$smileyCategory->categoryID}" class="hidden">
- {if !$smileyCategory->categoryID}{@$__defaultSmilies}{/if}
- </div>
- {/if}
- {/foreach}
-
- <script type="text/javascript">
- //<![CDATA[
- $(function() {
- new WCF.Message.SmileyCategories();
- });
- //]]>
- </script>
- {else}
- {@$__defaultSmilies}
- {/if}
-
- {event name='fields'}
-
- <script type="text/javascript">
- //<![CDATA[
- $(function() {
- new WCF.Message.Smilies('{if $wysiwygSelector|isset}{$wysiwygSelector|encodeJS}{else}text{/if}');
- });
- //]]>
- </script>
-</div>
+++ /dev/null
-<div class="tabMenuContainer" data-active="{$activeTabMenuItem}" data-store="activeTabMenuItem">
- <nav class="tabMenu jsOnly">
- <ul>
- {if MODULE_SMILEY && $smileyCategories|count}<li id="smiliesTab"><a href="{@$__wcf->getAnchor('smilies')}" title="{lang}wcf.message.smilies{/lang}">{lang}wcf.message.smilies{/lang}</a></li>{/if}
- {if MODULE_ATTACHMENT && $attachmentHandler !== null && $attachmentHandler->canUpload()}<li id="attachmentsTab"><a href="{@$__wcf->getAnchor('attachments')}" title="{lang}wcf.attachment.attachments{/lang}">{lang}wcf.attachment.attachments{/lang}</a></li>{/if}
- <li><a href="{@$__wcf->getAnchor('settings')}" title="{lang}wcf.message.settings{/lang}">{lang}wcf.message.settings{/lang}</a></li>
- {if $__showPoll|isset && $__showPoll}<li><a href="{@$__wcf->getAnchor('poll')}" title="{lang}wcf.poll.management{/lang}">{lang}wcf.poll.management{/lang}</a></li>{/if}
- {event name='tabMenuTabs'}
- </ul>
- </nav>
-
- {if MODULE_SMILEY && $smileyCategories|count}{include file='messageFormSmilies'}{/if}
- {if MODULE_ATTACHMENT && $attachmentHandler !== null && $attachmentHandler->canUpload()}{include file='messageFormAttachments'}{/if}
-
- {include file='messageFormSettings'}
- {include file='__messageFormPoll'}
-
- {event name='tabMenuContents'}
-</div>
-
-<script type="text/javascript">
- //<![CDATA[
- $(function() {
- if (jQuery.browser.mobile) $('#smiliesTab, #smilies').remove();
- WCF.TabMenu.init();
- });
- //]]>
-</script>
\ No newline at end of file
+++ /dev/null
-<textarea id="{$option->optionName}" name="values[{$option->optionName}]" cols="40" rows="10">{$value}</textarea>
-{include file='wysiwyg' wysiwygSelector=$option->optionName}
-
-<script type="text/javascript">
-//<![CDATA[
-$(function() {
- $('#{$option->optionName}').parents('dl:eq(0)').addClass('wide');
-});
-//]]>
-</script>
\ No newline at end of file
+++ /dev/null
-{if !$supportPaste|isset}{assign var=supportPaste value=false}{/if}
-{foreach from=$messages item=message}
- <article class="message messageReduced marginTop jsInvalidQuoteTarget" data-link="{@$message->getLink()}" data-username="{$message->getUsername()}">
- <div>
- <section class="messageContent">
- <div>
- <header class="messageHeader">
- <div class="box32">
- {if $userProfiles[$message->getUserID()]|isset}
- <a href="{link controller='User' object=$userProfiles[$message->getUserID()]}{/link}" class="framed">{@$userProfiles[$message->getUserID()]->getAvatar()->getImageTag(32)}</a>
- {/if}
-
- <div class="messageHeadline">
- <h1><a href="{@$message->getLink()}">{$message->getTitle()}</a></h1>
- <p>
- <span class="username">{if $userProfiles[$message->getUserID()]|isset}<a href="{link controller='User' object=$userProfiles[$message->getUserID()]}{/link}">{$message->getUsername()}</a>{else}{$message->getUsername()}{/if}</span>
- {@$message->getTime()|time}
- </p>
- </div>
- </div>
- </header>
-
- <div class="messageBody">
- <div>
- <div class="messageText">
- <ul>
- {foreach from=$message key=quoteID item=quote}
- <li data-quote-id="{@$quoteID}">
- <span>
- <input type="checkbox" value="1" id="quote_{@$quoteID}" class="jsCheckbox" />
- {if $supportPaste}<span class="icon icon16 icon-plus jsTooltip jsInsertQuote" title="{lang}wcf.message.quote.insertQuote{/lang}"></span>{/if}
- </span>
-
- <div class="jsQuote">
- <label for="quote_{@$quoteID}">{@$quote}</label>
- </div>
- <div class="jsFullQuote">
- {$message->getFullQuote($quoteID)}
- </div>
- </li>
- {/foreach}
- </ul>
- </div>
- </div>
- </div>
- </div>
- </section>
- </div>
- </article>
-{/foreach}
\ No newline at end of file
+++ /dev/null
-{if !$__messageSidebarJavascript|isset}
- <script type="text/javascript">
- //<![CDATA[
- $(function() {
- WCF.Language.addObject({
- 'wcf.user.activityPoint': '{lang}wcf.user.activityPoint{/lang}'
- });
-
- WCF.User.Profile.ActivityPointList.init();
- });
- //]]>
- </script>
- {assign var=__messageSidebarJavascript value=true}
-{/if}
-
-<aside class="messageSidebar{if MESSAGE_SIDEBAR_ENABLE_ONLINE_STATUS && $userProfile->isOnline()} userOnline{/if} {if $userProfile->userID}member{else}guest{/if}"{if $userProfile->userID} itemscope="itemscope" itemtype="http://data-vocabulary.org/Person"{/if}>
- <div>
- {if $userProfile->userID}
- {assign var='username' value=$userProfile->username}
-
- <header>
- <h2 class="username">
- <a href="{link controller='User' object=$userProfile->getDecoratedObject()}{/link}" class="userLink" data-user-id="{@$userProfile->userID}" rel="author">
- <span itemprop="name">{$username}</span>
- </a>
- </h2>
-
- {event name='header'}
- </header>
-
- {if MESSAGE_SIDEBAR_ENABLE_AVATAR}
- {if $userProfile->getAvatar()}
- <div class="userAvatar">
- {capture assign='__userAvatar'}{@$userProfile->getAvatar()->getImageTag(128)}{/capture}
- <a href="{link controller='User' object=$userProfile->getDecoratedObject()}{/link}" class="framed">{@'<img'|str_replace:'<img itemprop="photo"':$__userAvatar}</a>
-
- {if MESSAGE_SIDEBAR_ENABLE_ONLINE_STATUS && $userProfile->isOnline()}<span class="badge green badgeOnline" title="{lang}wcf.user.online.title{/lang}">{lang}wcf.user.online{/lang}</span>{/if}
- </div>
- {/if}
- {/if}
-
- {if MODULE_USER_RANK && MESSAGE_SIDEBAR_ENABLE_RANK}
- {if $userProfile->getUserTitle()}
- <div class="userTitle">
- <p class="badge userTitleBadge{if $userProfile->getRank() && $userProfile->getRank()->cssClassName} {@$userProfile->getRank()->cssClassName}{/if}" itemprop="title">{$userProfile->getUserTitle()}</p>
- </div>
- {/if}
- {if $userProfile->getRank() && $userProfile->getRank()->rankImage}
- <div class="userRank">{@$userProfile->getRank()->getImage()}</div>
- {/if}
- {/if}
- {else}
- <header>
- <h2 class="username">
- <span>{@$userProfile->username}</span>
- </h2>
-
- <div class="userTitle">
- <p class="badge">{lang}wcf.user.guest{/lang}</p>
- </div>
-
- {event name='header'}
- </header>
- {/if}
-
- {event name='beforeCredits'}
-
- {if $userProfile->userID}
- {hascontent}
- <div class="userCredits">
- <dl class="plain dataList">
- {content}
- {if MESSAGE_SIDEBAR_ENABLE_LIKES_RECEIVED && $userProfile->likesReceived}
- <dt>{lang}wcf.like.likesReceived{/lang}</dt>
- <dd>{#$userProfile->likesReceived}</dd>
- {/if}
-
- {if MESSAGE_SIDEBAR_ENABLE_ACTIVITY_POINTS && $userProfile->activityPoints}
- <dt><a class="activityPointsDisplay jsTooltip" title="{lang}wcf.user.activityPoint.showDetails{/lang}" data-user-id="{@$userProfile->userID}">{lang}wcf.user.activityPoint{/lang}</a></dt>
- <dd>{#$userProfile->activityPoints}</dd>
- {/if}
- {event name='userCredits'}
- {if MESSAGE_SIDEBAR_USER_OPTIONS}
- {assign var='__sidebarUserOptions' value=','|explode:MESSAGE_SIDEBAR_USER_OPTIONS}
- {foreach from=$__sidebarUserOptions item='__sidebarUserOption'}
- {if $userProfile->getUserOption($__sidebarUserOption)}
- <dt>{lang}wcf.user.option.{$__sidebarUserOption}{/lang}</dt>
- <dd{if $__sidebarUserOption == 'location'} itemprop="locality"{/if}>{@$userProfile->getFormattedUserOption($__sidebarUserOption)}</dd>
- {/if}
- {/foreach}
- {/if}
- {/content}
- </dl>
- </div>
- {/hascontent}
- {/if}
-
- {event name='afterCredits'}
- </div>
-</aside>
+++ /dev/null
-{hascontent}
- <div id="{$option->optionName}">
- {content}
- {@$value}
- {/content}
- </div>
-
- <script type="text/javascript">
- //<![CDATA[
- $(function() {
- $('#{$option->optionName}').parents('dl:eq(0)').addClass('wide');
- });
- //]]>
- </script>
-{/hascontent}
\ No newline at end of file
+++ /dev/null
-{include file='documentHeader'}
-
-<head>
- <title>{lang}wcf.moderation.activation{/lang} - {PAGE_TITLE|language}</title>
-
- {include file='headInclude'}
-
- <script type="text/javascript" src="{@$__wcf->getPath()}js/WCF.Moderation{if !ENABLE_DEBUG_MODE}.min{/if}.js?v={@$__wcfVersion}"></script>
- <script type="text/javascript">
- //<![CDATA[
- $(function() {
- new WCF.Moderation.Activation.Management({@$queue->queueID}, '{link controller='ModerationList'}{/link}');
-
- WCF.Language.addObject({
- 'wcf.moderation.activation.enableContent.confirmMessage': '{lang}wcf.moderation.activation.enableContent.confirmMessage{/lang}',
- 'wcf.moderation.activation.removeContent.confirmMessage': '{lang}wcf.moderation.activation.removeContent.confirmMessage{/lang}'
- });
- });
- //]]>
- </script>
-</head>
-
-<body id="tpl{$templateName|ucfirst}">
-
-{include file='header' sidebarOrientation='left'}
-
-<header class="boxHeadline">
- <h1>{lang}wcf.moderation.activation{/lang}</h1>
-</header>
-
-{include file='userNotice'}
-
-<div class="contentNavigation">
- <nav>
- <ul>
- <li><a href="{link controller='ModerationList'}{/link}" class="button"><span class="icon icon16 icon-list"></span> <span>{lang}wcf.moderation.moderation{/lang}</span></a></li>
-
- {event name='contentNavigationButtonsTop'}
- </ul>
- </nav>
-</div>
-
-<form method="post" action="{link controller='ModerationActivation' id=$queue->queueID}{/link}" class="container containerPadding marginTop">
- <fieldset>
- <legend>{lang}wcf.moderation.activation.details{/lang}</legend>
-
- <dl>
- <dt>{lang}wcf.global.objectID{/lang}</dt>
- <dd>{#$queue->queueID}</dd>
- </dl>
- {if $queue->lastChangeTime}
- <dl>
- <dt>{lang}wcf.moderation.lastChangeTime{/lang}</dt>
- <dd>{@$queue->lastChangeTime|time}</dd>
- </dl>
- {/if}
- <dl>
- <dt>{lang}wcf.moderation.assignedUser{/lang}</dt>
- <dd>
- <ul>
- {if $assignedUserID && ($assignedUserID != $__wcf->getUser()->userID)}
- <li><label><input type="radio" name="assignedUserID" value="{@$assignedUserID}" checked="checked" /> {$queue->assignedUsername}</label></li>
- {/if}
- <li><label><input type="radio" name="assignedUserID" value="{@$__wcf->getUser()->userID}"{if $assignedUserID == $__wcf->getUser()->userID} checked="checked"{/if} /> {$__wcf->getUser()->username}</label></li>
- <li><label><input type="radio" name="assignedUserID" value="0"{if !$assignedUserID} checked="checked"{/if} /> {lang}wcf.moderation.assignedUser.nobody{/lang}</label></li>
- </ul>
- </dd>
- </dl>
- {if $queue->assignedUser}
- <dl>
-
- <dd><a href="{link controller='User' id=$assignedUserID}{/link}" class="userLink" data-user-id="{@$assignedUserID}">{$queue->assignedUsername}</a></dd>
- </dl>
- {/if}
- <dl>
- <dt><label for="comment">{lang}wcf.moderation.comment{/lang}</label></dt>
- <dd><textarea id="comment" name="comment" rows="4" cols="40">{$comment}</textarea></dd>
- </dl>
-
- {event name='detailsFields'}
-
- <div class="formSubmit">
- <input type="submit" value="{lang}wcf.global.button.submit{/lang}" />
- </div>
- </fieldset>
-
- {event name='fieldsets'}
-</form>
-
-<header class="boxHeadline boxSubHeadline">
- <h2>{lang}wcf.moderation.activation.content{/lang}</h2>
-</header>
-
-<div class="marginTop">
- {@$disabledContent}
-</div>
-
-<div class="contentNavigation">
- <nav>
- <ul>
- <li class="jsOnly"><button id="enableContent">{lang}wcf.moderation.activation.enableContent{/lang}</button></li>
- <li class="jsOnly"><button id="removeContent">{lang}wcf.moderation.activation.removeContent{/lang}</button></li>
- <li><a href="{link controller='ModerationList'}{/link}" class="button"><span class="icon icon16 icon-list"></span> <span>{lang}wcf.moderation.moderation{/lang}</span></a></li>
-
- {event name='contentNavigationButtonsBottom'}
- </ul>
- </nav>
-</div>
-
-{include file='footer'}
-
-</body>
-</html>
\ No newline at end of file
+++ /dev/null
-<article class="message messageReduced">
- <div>
- <section class="messageContent">
- <div>
- <header class="messageHeader">
- <div class="box32">
- <a href="{link controller='User' object=$message->getUserProfile()->getDecoratedObject()}{/link}" class="framed">{@$message->getUserProfile()->getAvatar()->getImageTag(32)}</a>
-
- <div class="messageHeadline">
- <h1><a href="{@$message->getLink()}">{$message->getTitle()}</a></h1>
- <p>
- <span class="username"><a href="{link controller='User' object=$message->getUserProfile()->getDecoratedObject()}{/link}">{$message->getUsername()}</a></span>
- {@$message->getTime()|time}
- </p>
- </div>
- </div>
- </header>
-
- <div class="messageBody">
- <div>
- <div class="messageText">
- {@$message->getFormattedMessage()}
- </div>
- </div>
- </div>
- </div>
- </section>
- </div>
-</article>
\ No newline at end of file
+++ /dev/null
-{include file='documentHeader'}
-
-<head>
- <title>{lang}wcf.moderation.moderation{/lang} {if $pageNo > 1}- {lang}wcf.page.pageNo{/lang} {/if}- {PAGE_TITLE|language}</title>
-
- {include file='headInclude'}
-</head>
-
-<body id="tpl{$templateName|ucfirst}">
-
-{capture assign='sidebar'}
- {* moderation type *}
- <fieldset>
- <legend>{lang}wcf.moderation.filterByType{/lang}</legend>
-
- <nav>
- <ul>
- <li{if $definitionID == 0} class="active"{/if}><a href="{link controller='ModerationList'}definitionID=0&assignedUserID={@$assignedUserID}&status={@$status}&pageNo={@$pageNo}&sortField={@$sortField}&sortOrder={@$sortOrder}{/link}">{lang}wcf.moderation.type.all{/lang}</a></li>
- {foreach from=$availableDefinitions key=__definitionID item=definitionName}
- <li{if $definitionID == $__definitionID} class="active"{/if}><a href="{link controller='ModerationList'}definitionID={@$__definitionID}&assignedUserID={@$assignedUserID}&status={@$status}&pageNo={@$pageNo}&sortField={@$sortField}&sortOrder={@$sortOrder}{/link}">{lang}wcf.moderation.type.{$definitionName}{/lang}</a></li>
- {/foreach}
-
- {event name='sidebarModerationType'}
- </ul>
- </nav>
- </fieldset>
-
- {* assigned user *}
- <fieldset>
- <legend>{lang}wcf.moderation.filterByUser{/lang}</legend>
-
- <nav>
- <ul>
- <li{if $assignedUserID == -1} class="active"{/if}><a href="{link controller='ModerationList'}definitionID={@$definitionID}&assignedUserID=-1&status={@$status}&pageNo={@$pageNo}&sortField={@$sortField}&sortOrder={@$sortOrder}{/link}">{lang}wcf.moderation.filterByUser.allEntries{/lang}</a></li>
- <li{if $assignedUserID == 0} class="active"{/if}><a href="{link controller='ModerationList'}definitionID={@$definitionID}&assignedUserID=0&status={@$status}&pageNo={@$pageNo}&sortField={@$sortField}&sortOrder={@$sortOrder}{/link}">{lang}wcf.moderation.filterByUser.nobody{/lang}</a></li>
- <li{if $assignedUserID == $__wcf->getUser()->userID} class="active"{/if}><a href="{link controller='ModerationList'}definitionID={@$definitionID}&assignedUserID={@$__wcf->getUser()->userID}&status={@$status}&pageNo={@$pageNo}&sortField={@$sortField}&sortOrder={@$sortOrder}{/link}">{lang}wcf.moderation.filterByUser.myself{/lang}</a></li>
-
- {event name='sidebarAssignedUser'}
- </ul>
- </nav>
- </fieldset>
-
- {* status *}
- <fieldset>
- <legend>{lang}wcf.moderation.status{/lang}</legend>
-
- <nav>
- <ul>
- <li{if $status == -1} class="active"{/if}><a href="{link controller='ModerationList'}definitionID={@$definitionID}&assignedUserID={@$assignedUserID}&status=-1&pageNo={@$pageNo}&sortField={@$sortField}&sortOrder={@$sortOrder}{/link}">{lang}wcf.moderation.status.all{/lang}</a></li>
- <li{if $status == 2} class="active"{/if}><a href="{link controller='ModerationList'}definitionID={@$definitionID}&assignedUserID={@$assignedUserID}&status=2&pageNo={@$pageNo}&sortField={@$sortField}&sortOrder={@$sortOrder}{/link}">{lang}wcf.moderation.status.done{/lang}</a></li>
-
- {event name='sidebarStatus'}
- </ul>
- </nav>
- </fieldset>
-
- {event name='sidebarBoxes'}
-{/capture}
-
-{include file='header' sidebarOrientation='left'}
-
-<header class="boxHeadline">
- <h1>{lang}wcf.moderation.moderation{/lang}</h1>
-</header>
-
-{include file='userNotice'}
-
-<div class="contentNavigation">
- {pages print=true assign=pagesLinks controller='ModerationList' link="id=$definitionID&pageNo=%d&sortField=$sortField&sortOrder=$sortOrder"}
-
- {hascontent}
- <nav>
- <ul>
- {content}
- {event name='contentNavigationButtonsTop'}
- {/content}
- </ul>
- </nav>
- {/hascontent}
-</div>
-
-{if $objects|count}
- <div class="marginTop tabularBox tabularBoxTitle messageGroupList">
- <header>
- <h2>{if $status == 2}{lang}wcf.moderation.doneItems{/lang}{else}{lang}wcf.moderation.outstandingItems{/lang}{/if} <span class="badge badgeInverse">{#$items}</span></h2>
- </header>
-
- <table class="table">
- <thead>
- <tr>
- <th class="columnID{if $sortField == 'queueID'} active {@$sortOrder}{/if}"><a href="{link controller='ModerationList'}definitionID={@$definitionID}&assignedUserID={@$assignedUserID}&status={@$status}&pageNo={@$pageNo}&sortField=queueID&sortOrder={if $sortField == 'queueID' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{/link}">{lang}wcf.global.objectID{/lang}</a></th>
- <th class="columnText columnTitle">{lang}wcf.moderation.title{/lang}</th>
- <th class="columnText columnAssignedUserID{if $sortField == 'assignedUsername'} active {@$sortOrder}{/if}"><a href="{link controller='ModerationList'}definitionID={@$definitionID}&assignedUserID={@$assignedUserID}&status={@$status}&pageNo={@$pageNo}&sortField=assignedUsername&sortOrder={if $sortField == 'assignedUsername' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{/link}">{lang}wcf.moderation.assignedUser{/lang}</a></th>
- <th class="columnDate columnLastChangeTime{if $sortField == 'lastChangeTime'} active {@$sortOrder}{/if}"><a href="{link controller='ModerationList'}definitionID={@$definitionID}&assignedUserID={@$assignedUserID}&status={@$status}&pageNo={@$pageNo}&sortField=lastChangeTime&sortOrder={if $sortField == 'lastChangeTime' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{/link}">{lang}wcf.moderation.lastChangeTime{/lang}</a></th>
-
- {event name='columnHeads'}
- </tr>
- </thead>
-
- <tbody>
- {foreach from=$objects item=entry}
- <tr>
- <td class="columnID">{#$entry->queueID}</td>
- <td class="columnText columnSubject">
- <h3>
- <span class="badge label">{lang}wcf.moderation.type.{@$definitionNames[$entry->objectTypeID]}{/lang}</span>
- <a href="{$entry->getLink()}" class="messageGroupLink">{$entry->getTitle()}</a>
- </h3>
- <small>{if $entry->userID}<a href="{link controller='User' id=$entry->userID}{/link}" class="userLink" data-user-id="{@$entry->userID}">{$entry->username}</a>{else}{lang}wcf.user.guest{/lang}{/if} - {@$entry->time|time}</small>
- </td>
- <td class="columnText columnAssignedUserID">{if $entry->assignedUserID}<a href="{link controller='User' id=$entry->assignedUserID}{/link}" class="userLink" data-user-id="{@$entry->assignedUserID}">{$entry->assignedUsername}</a>{/if}</td>
- <td class="columnDate columnLastChangeTime">{if $entry->lastChangeTime}{@$entry->lastChangeTime|time}{/if}</td>
-
- {event name='columns'}
- </tr>
- {/foreach}
- </tbody>
- </table>
- </div>
-
- <div class="contentNavigation">
- {@$pagesLinks}
-
- {hascontent}
- <nav>
- <ul>
- {content}
- {event name='contentNavigationButtonsBottom'}
- {/content}
- </ul>
- </nav>
- {/hascontent}
- </div>
-{else}
- <p class="info">{lang}wcf.moderation.noItems{/lang}</p>
-{/if}
-
-{include file='footer'}
-
-</body>
-</html>
\ No newline at end of file
+++ /dev/null
-{foreach from=$queues item=queue}
- <li>
- <a href="{@$queue->getLink()}" class="box24">
- <div class="framed">
- {@$queue->getUserProfile()->getAvatar()->getImageTag(24)}
- </div>
- <div>
- <h3>{$queue->getAffectedObject()->getTitle()}</h3>
- <small>{$queue->getAffectedObject()->getUsername()} - {@$queue->getAffectedObject()->getTime()|time}</small>
- </div>
- </a>
- </li>
-{/foreach}
\ No newline at end of file
+++ /dev/null
-{include file='documentHeader'}
-
-<head>
- <title>{lang}wcf.moderation.report{/lang} - {PAGE_TITLE|language}</title>
-
- {include file='headInclude'}
-
- <script type="text/javascript" src="{@$__wcf->getPath()}js/WCF.Moderation{if !ENABLE_DEBUG_MODE}.min{/if}.js?v={@$__wcfVersion}"></script>
- <script type="text/javascript">
- //<![CDATA[
- $(function() {
- new WCF.Moderation.Report.Management({@$queue->queueID}, '{link controller='ModerationList'}{/link}');
-
- WCF.Language.addObject({
- 'wcf.moderation.report.removeContent.confirmMessage': '{lang}wcf.moderation.report.removeContent.confirmMessage{/lang}',
- 'wcf.moderation.report.removeReport.confirmMessage': '{lang}wcf.moderation.report.removeReport.confirmMessage{/lang}'
- });
- });
- //]]>
- </script>
-</head>
-
-<body id="tpl{$templateName|ucfirst}">
-
-{include file='header' sidebarOrientation='left'}
-
-<header class="boxHeadline">
- <h1>{lang}wcf.moderation.report{/lang}</h1>
-</header>
-
-{include file='userNotice'}
-
-<div class="contentNavigation">
- <nav>
- <ul>
- <li><a href="{link controller='ModerationList'}{/link}" class="button"><span class="icon icon16 icon-list"></span> <span>{lang}wcf.moderation.moderation{/lang}</span></a></li>
-
- {event name='contentNavigationButtonsTop'}
- </ul>
- </nav>
-</div>
-
-<form method="post" action="{link controller='ModerationReport' id=$queue->queueID}{/link}" class="container containerPadding marginTop">
- <fieldset>
- <legend>{lang}wcf.moderation.report.details{/lang}</legend>
-
- <dl>
- <dt>{lang}wcf.global.objectID{/lang}</dt>
- <dd>{#$queue->queueID}</dd>
- </dl>
- <dl>
- <dt>{lang}wcf.moderation.report.reportedBy{/lang}</dt>
- <dd>{if $queue->userID}<a href="{link controller='User' id=$queue->userID}{/link}" class="userLink" data-user-id="{@$queue->userID}">{$queue->username}</a>{else}{lang}wcf.user.guest{/lang}{/if} ({@$queue->time|time})</dd>
- </dl>
- {if $queue->lastChangeTime}
- <dl>
- <dt>{lang}wcf.moderation.lastChangeTime{/lang}</dt>
- <dd>{@$queue->lastChangeTime|time}</dd>
- </dl>
- {/if}
- <dl>
- <dt>{lang}wcf.moderation.assignedUser{/lang}</dt>
- <dd>
- <ul>
- {if $assignedUserID && ($assignedUserID != $__wcf->getUser()->userID)}
- <li><label><input type="radio" name="assignedUserID" value="{@$assignedUserID}" checked="checked" /> {$queue->assignedUsername}</label></li>
- {/if}
- <li><label><input type="radio" name="assignedUserID" value="{@$__wcf->getUser()->userID}"{if $assignedUserID == $__wcf->getUser()->userID} checked="checked"{/if} /> {$__wcf->getUser()->username}</label></li>
- <li><label><input type="radio" name="assignedUserID" value="0"{if !$assignedUserID} checked="checked"{/if} /> {lang}wcf.moderation.assignedUser.nobody{/lang}</label></li>
- </ul>
- </dd>
- </dl>
- {if $queue->assignedUser}
- <dl>
-
- <dd><a href="{link controller='User' id=$assignedUserID}{/link}" class="userLink" data-user-id="{@$assignedUserID}">{$queue->assignedUsername}</a></dd>
- </dl>
- {/if}
- <dl>
- <dt>{lang}wcf.moderation.report.reason{/lang}</dt>
- <dd>{@$queue->getFormattedMessage()}</dd>
- </dl>
- <dl>
- <dt><label for="comment">{lang}wcf.moderation.comment{/lang}</label></dt>
- <dd><textarea id="comment" name="comment" rows="4" cols="40">{$comment}</textarea></dd>
- </dl>
-
- {event name='detailsFields'}
-
- <div class="formSubmit">
- <input type="submit" value="{lang}wcf.global.button.submit{/lang}" />
- </div>
- </fieldset>
-
- {event name='fieldsets'}
-</form>
-
-<header class="boxHeadline boxSubHeadline">
- <h2>{lang}wcf.moderation.report.reportedContent{/lang}</h2>
-</header>
-
-<div class="marginTop">
- {@$reportedContent}
-</div>
-
-<div class="contentNavigation">
- <nav>
- <ul>
- <li class="jsOnly"><button id="removeContent">{lang}wcf.moderation.report.removeContent{/lang}</button></li>
- {if $queue->status != 2}
- <li class="jsOnly"><button id="removeReport">{lang}wcf.moderation.report.removeReport{/lang}</button></li>
- {/if}
- <li><a href="{link controller='ModerationList'}{/link}" class="button"><span class="icon icon16 icon-list"></span> <span>{lang}wcf.moderation.moderation{/lang}</span></a></li>
-
- {event name='contentNavigationButtonsBottom'}
- </ul>
- </nav>
-</div>
-
-{include file='footer'}
-
-</body>
-</html>
\ No newline at end of file
+++ /dev/null
-{if $alreadyReported}
- <p class="info">{lang}wcf.moderation.report.alreadyReported{/lang}</p>
-{else}
- <fieldset>
- <legend><label for="reason">{lang}wcf.moderation.report.reason{/lang}</label></legend>
-
- <dl class="wide">
- <dd>
- <textarea id="reason" required="required" cols="60" rows="10" class="jsReportMessage"></textarea>
- <small>{lang}wcf.moderation.report.reason.description{/lang}</small>
- </dd>
- </dl>
-
- {event name='reasonFields'}
- </fieldset>
-
- {event name='fieldsets'}
-
- <div class="formSubmit">
- <button class="jsSubmitReport buttonPrimary" accesskey="s">{lang}wcf.global.button.submit{/lang}</button>
- </div>
-{/if}
\ No newline at end of file
+++ /dev/null
-<select id="{$option->optionName}" name="values[{$option->optionName}][]" multiple="multiple" size="{if $selectOptions|count > 10}10{else}{@$selectOptions|count}{/if}">
-{foreach from=$selectOptions key=key item=selectOption}
- <option value="{$key}"{if $key|in_array:$value} selected="selected"{/if}>{lang}{@$selectOption}{/lang}</option>
-{/foreach}
-</select>
+++ /dev/null
-{if !$forceSelection|isset}{assign var=forceSelection value=false}{/if}
-<script type="text/javascript">
- //<![CDATA[
- $(function() {
- var $availableLanguages = { {implode from=$availableLanguages key=languageID item=languageName}{@$languageID}: '{$languageName}'{/implode} };
- var $values = { {implode from=$i18nValues[$elementIdentifier] key=languageID item=value}'{@$languageID}': '{$value}'{/implode} };
- new WCF.MultipleLanguageInput('{@$elementIdentifier}', {if $forceSelection}true{else}false{/if}, $values, $availableLanguages);
- });
- //]]>
-</script>
\ No newline at end of file
+++ /dev/null
-{include file='documentHeader'}
-
-<head>
- <title>{lang}wcf.user.newPassword{/lang} - {PAGE_TITLE|language}</title>
- {include file='headInclude'}
-</head>
-
-<body id="tpl{$templateName|ucfirst}">
-
-{include file='header'}
-
-<header class="boxHeadline">
- <h1>{lang}wcf.user.newPassword{/lang}</h1>
-</header>
-
-{include file='userNotice'}
-
-{if $errorField}
- <p class="error">{lang}wcf.global.form.error{/lang}</p>
-{/if}
-
-<div class="contentNavigation">
- {hascontent}
- <nav>
- <ul>
- {content}
- {event name='contentNavigationButtons'}
- {/content}
- </ul>
- </nav>
- {/hascontent}
-</div>
-
-<form method="post" action="{link controller='NewPassword'}{/link}">
- <div class="container containerPadding marginTop">
- <fieldset>
- <legend>{lang}wcf.user.newPassword{/lang}</legend>
-
- <dl{if $errorField == 'userID'} class="formError"{/if}>
- <dt>
- <label for="userID">{lang}wcf.user.userID{/lang}</label>
- </dt>
- <dd>
- <input type="text" id="userID" name="u" value="{@$userID}" required="required" class="medium" />
- {if $errorField == 'userID'}
- <small class="innerError">
- {if $errorType == 'invalid'}{lang}wcf.user.userID.error.invalid{/lang}{/if}
- </small>
- {/if}
- </dd>
- </dl>
-
- <dl{if $errorField == 'lostPasswordKey'} class="formError"{/if}>
- <dt>
- <label for="lostPasswordKey">{lang}wcf.user.lostPasswordKey{/lang}</label>
- </dt>
- <dd>
- <input type="text" id="lostPasswordKey" name="k" value="{$lostPasswordKey}" required="required" class="medium" />
- {if $errorField == 'lostPasswordKey'}
- <small class="innerError">
- {if $errorType == 'empty'}{lang}wcf.global.form.error.empty{/lang}{/if}
- {if $errorType == 'invalid'}{lang}wcf.user.lostPasswordKey.error.invalid{/lang}{/if}
- </small>
- {/if}
- </dd>
- </dl>
-
- {event name='fields'}
- </fieldset>
-
- {event name='fieldsets'}
- </div>
-
- <div class="formSubmit">
- <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s" />
- </div>
-</form>
-
-{include file='footer'}
-
-</body>
-</html>
+++ /dev/null
-{include file='documentHeader'}
-
-<head>
- <title>{lang}wcf.user.notification.notifications{/lang} - {lang}wcf.user.usercp{/lang} - {PAGE_TITLE|language}</title>
- {include file='headInclude'}
-
- <script type="text/javascript">
- //<![CDATA[
- $(function() {
- WCF.Language.addObject({
- 'wcf.user.notification.markAsConfirmed': '{lang}wcf.user.notification.markAsConfirmed{/lang}'
- });
-
- new WCF.Notification.List();
- });
- //]]>
- </script>
-</head>
-
-<body id="tpl{$templateName|ucfirst}">
-
-{include file='userMenuSidebar'}
-
-{include file='header' sidebarOrientation='left'}
-
-<header class="boxHeadline">
- <h1>{lang}wcf.user.notification.notifications{/lang} <span class="badge jsNotificationsBadge">{#$__wcf->getUserNotificationHandler()->getNotificationCount()}</span></h1>
-</header>
-
-{include file='userNotice'}
-
-<div class="contentNavigation">
- {pages print=true assign=pagesLinks controller='NotificationList' link="pageNo=%d"}
-
- {hascontent}
- <nav>
- <ul>
- {content}
- {if $notifications[notifications]}<li class="jsOnly"><a class="button jsMarkAllAsConfirmed"><span class="icon icon16 icon-remove"></span> <span>{lang}wcf.user.notification.markAllAsConfirmed{/lang}</span></a></li>{/if}
-
- {event name='contentNavigationButtonsTop'}
- {/content}
- </ul>
- </nav>
- {/hascontent}
-</div>
-
-{if $notifications[notifications]}
- <div class="container marginTop">
- <ul class="containerList">
- {foreach from=$notifications[notifications] item=$notification}
- <li class="jsNotificationItem" data-notification-id="{@$notification[notificationID]}" data-link="{$notification[event]->getLink()}">
- <div class="box48">
- <a href="{link controller='User' object=$notification[event]->getAuthor()}{/link}" title="{$notification[event]->getAuthor()->username}" class="framed">{@$notification[event]->getAuthor()->getAvatar()->getImageTag(48)}</a>
-
- <div class="details">
- <div class="containerHeadline">
- <h3><a href="{link controller='User' object=$notification[event]->getAuthor()}{/link}" class="userLink" data-user-id="{@$notification[event]->getAuthor()->userID}">{$notification[event]->getAuthor()->username}</a></h3>
- <small>{@$notification[time]|time}</small>
- </div>
-
- <p>{@$notification[event]->getMessage()}</p>
-
- <nav class="jsMobileNavigation buttonGroupNavigation">
- <ul class="buttonList jsOnly">
- <li><a class="jsMarkAsConfirmed jsTooltip" title="{lang}wcf.user.notification.markAsConfirmed{/lang}"><span class="icon icon16 icon-remove"></span></a></li>
- </ul>
- </nav>
- </div>
- </div>
- </li>
- {/foreach}
- </ul>
- </div>
-
- <div class="contentNavigation">
- {@$pagesLinks}
-
- {hascontent}
- <nav>
- <ul>
- {content}
- {event name='contentNavigationButtonsBottom'}
- {/content}
- </ul>
- </nav>
- {/hascontent}
- </div>
-{else}
- <p class="info">{lang}wcf.user.notification.noNotifications{/lang}</p>
-{/if}
-
-{include file='footer'}
-
-</body>
-</html>
+++ /dev/null
-{foreach from=$notifications[notifications] item=notification}
- <li class="jsNotificationItem notificationItem" data-link="{$notification[event]->getLink()}" data-notification-id="{@$notification[notificationID]}">
- <a class="box24">
- <div class="framed">
- {@$notification[event]->getAuthor()->getAvatar()->getImageTag(24)}
- </div>
- <div>
- <h3>{@$notification[event]->getMessage()}</h3>
- <small>{$notification[event]->getAuthor()->username} - {@$notification[time]|time}</small>
- </div>
- </a>
- </li>
-{/foreach}
\ No newline at end of file
+++ /dev/null
-{include file='documentHeader'}
-
-<head>
- <title>{lang}wcf.user.menu.settings{/lang}: {lang}wcf.user.notification.notifications{/lang} - {lang}wcf.user.menu.settings{/lang} - {PAGE_TITLE|language}</title>
-
- {include file='headInclude'}
-
- <script type="text/javascript">
- //<![CDATA[
- $(function() {
- $('#notificationSettings > fieldset > dl > dd > label > input').each(function(index, value) {
- var $input = $(value);
- $input.on('click', function(event) {
- var $input = $(event.currentTarget);
- $input.parents('dd').find('.jsMailNotificationType').toggle();
- });
- if (!$input.is(':checked')) {
- $input.parents('dd').find('.jsMailNotificationType').hide();
- }
- });
- });
- //]]>
- </script>
-</head>
-
-<body id="tpl{$templateName|ucfirst}">
-
-{include file='userMenuSidebar'}
-
-{include file='header' sidebarOrientation='left'}
-
-<header class="boxHeadline">
- <h1>{lang}wcf.user.menu.settings{/lang}: {lang}wcf.user.notification.notifications{/lang}</h1>
-</header>
-
-{include file='userNotice'}
-
-{if $errorField}
- <p class="error">{lang}wcf.global.form.error{/lang}</p>
-{/if}
-
-{if $success|isset}
- <p class="success">{lang}wcf.global.success.edit{/lang}</p>
-{/if}
-
-<div class="contentNavigation">
- {hascontent}
- <nav>
- <ul>
- {content}
- {event name='contentNavigationButtons'}
- {/content}
- </ul>
- </nav>
- {/hascontent}
-</div>
-
-<form method="post" action="{link controller='NotificationSettings'}{/link}">
- <div class="container containerPadding marginTop" id="notificationSettings">
- {foreach from=$events key='eventCategory' item='eventList'}
- <fieldset>
- <legend>{lang}wcf.user.notification.{$eventCategory}{/lang}</legend>
-
- <dl>
- {foreach from=$eventList item='event'}
- <dd>
- <label><input type="checkbox" name="settings[{@$event->eventID}][enabled]" value="1"{if $settings[$event->eventID][enabled]} checked="checked"{/if} /> {lang}wcf.user.notification.{$event->objectType}.{$event->eventName}{/lang}</label>
- {hascontent}<small>{content}{lang __optional=true}wcf.user.notification.{$event->objectType}.{$event->eventName}.description{/lang}{/content}</small>{/hascontent}
- <small class="jsMailNotificationType">
- <select name="settings[{@$event->eventID}][mailNotificationType]">
- <option value="none">{lang}wcf.user.notification.mailNotificationType.none{/lang}</option>
- <option value="instant"{if $settings[$event->eventID][mailNotificationType] == 'instant'} selected="selected"{/if}>{lang}wcf.user.notification.mailNotificationType.instant{/lang}</option>
- <option value="daily"{if $settings[$event->eventID][mailNotificationType] == 'daily'} selected="selected"{/if}>{lang}wcf.user.notification.mailNotificationType.daily{/lang}</option>
- </select>
- </small>
- </dd>
- {/foreach}
- </dl>
- </fieldset>
- {/foreach}
-
- {event name='fieldsets'}
- </div>
-
- <div class="formSubmit">
- <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s" />
- </div>
-</form>
-
-{include file='footer'}
-
-</body>
-</html>
+++ /dev/null
-{include file='documentHeader'}
-
-<head>
- <title>{lang}wcf.global.error.title{/lang} - {PAGE_TITLE|language}</title>
-
- {include file='headInclude'}
-</head>
-
-<body id="tpl{$templateName|ucfirst}">
-
-{include file='header'}
-
-<div class="warning">
- <p><strong>{lang}wcf.page.offline{/lang}</strong></p>
- <p>{if OFFLINE_MESSAGE_ALLOW_HTML}{@OFFLINE_MESSAGE}{else}{@OFFLINE_MESSAGE|htmlspecialchars|nl2br}{/if}</p>
-</div>
-
-{include file='footer'}
-
-</body>
-</html>
\ No newline at end of file
+++ /dev/null
-{include file="documentHeader"}
-
-<head>
- <title>{lang}wcf.global.error.permissionDenied.title{/lang} - {lang}{PAGE_TITLE}{/lang}</title>
-
- {include file='headInclude'}
-</head>
-
-<body id="tpl{$templateName|ucfirst}">
-
-{include file='header'}
-
-<p class="error">{lang}wcf.global.error.permissionDenied{/lang}</p>
-
-{event name='content'}
-
-{if ENABLE_DEBUG_MODE}
- <!--
- {$name} thrown in {$file} ({@$line})
- Stacktrace:
- {$stacktrace}
- -->
-{/if}
-
-{include file='footer'}
-
-</body>
-</html>
\ No newline at end of file
+++ /dev/null
-{if $__wcf->getUser()->userID && !$__pollLoadedJavaScript|isset}
- {assign var=__pollLoadedJavaScript value=true}
- <script type="text/javascript" src="{@$__wcf->getPath()}js/WCF.Poll{if !ENABLE_DEBUG_MODE}.min{/if}.js?v={@$__wcfVersion}"></script>
- <script type="text/javascript">
- //<![CDATA[
- $(function() {
- new WCF.Poll.Manager('.pollContainer');
- });
- //]]>
- </script>
-{/if}
-
-<div class="container containerPadding pollContainer" data-poll-id="{@$poll->pollID}" data-can-vote="{if $poll->canVote()}1{else}0{/if}" data-can-view-result="{if $poll->canSeeResult()}1{else}0{/if}" data-can-view-participants="{if $poll->isPublic}true{else}false{/if}" data-in-vote="{if $poll->canVote() && !$poll->isParticipant()}1{else}0{/if}" data-question="{$poll->question}" data-max-votes="{@$poll->maxVotes}">
- <fieldset>
- <legend>{$poll->question} <span class="badge jsTooltip" title="{lang}wcf.poll.totalVotes{/lang}">{#$poll->votes}</span></legend>
-
- <div class="pollInnerContainer">
- {if !$__wcf->getUser()->userID}
- {if $poll->canSeeResult()}
- {include file='pollResult'}
- {else}
- {include file='pollVote'}
- {/if}
- {else}
- {if $poll->canVote() && !$poll->isParticipant()}
- {include file='pollVote'}
- {else}
- {include file='pollResult'}
- {/if}
- {/if}
-
- {event name='pollData'}
- </div>
- </fieldset>
-
- {if $__wcf->getUser()->userID}
- <div class="formSubmit jsOnly">
- <button class="small jsButtonPollVote">{lang}wcf.poll.button.vote{/lang}</button>
- <button class="small jsButtonPollShowVote">{lang}wcf.poll.button.showVote{/lang}</button>
- <button class="small jsButtonPollShowResult">{lang}wcf.poll.button.showResult{/lang}</button>
- <button class="small jsButtonPollShowParticipants">{lang}wcf.poll.button.showParticipants{/lang}</button>
- {event name='pollButtons'}
- </div>
- {/if}
-</div>
\ No newline at end of file
+++ /dev/null
-<ol class="pollResultList">
- {foreach from=$poll->getOptions(true) item=option}
- <li class="pollResultItem">
- <span class="pollMeter" style="width: {if $option->getRelativeVotes($poll)}{@$option->getRelativeVotes($poll)}%{else}0{/if}"> </span>
- <div class="caption">
- <span class="optionName">
- {$option->optionValue} ({#$option->votes})</span>
- <span class="relativeVotes">{@$option->getRelativeVotes($poll)}%</span>
- </span>
- </div>
- </li>
- {/foreach}
-</ol>
\ No newline at end of file
+++ /dev/null
-<dl class="wide jsPollVote" data-max-votes="{@$poll->maxVotes}">
- {foreach from=$poll->getOptions() item=option}
- <dd>
- <label>
- {if $poll->canVote()}<input type="{if $poll->maxVotes > 1}checkbox{else}radio{/if}" name="pollOptions{@$poll->pollID}[]" value="{$option->optionValue}" data-option-id="{@$option->optionID}"{if $option->voted} checked="checked"{/if} />{/if}
- {$option->optionValue}
- </label>
- </dd>
- {/foreach}
-</dl>
-{if $poll->canVote()}
- {if $poll->maxVotes > 1}<small>{lang}wcf.poll.multipleVotes{/lang}</small>{/if}
-{else}
- <p class="info">{lang}wcf.poll.restrictedResult{/lang}</p>
-{/if}
\ No newline at end of file
+++ /dev/null
-<blockquote class="container containerPadding quoteBox"{if $quoteLink} cite="{$quoteLink}"{/if}>
- {if $quoteAuthor}
- <header>
- <h3>
- {if $quoteLink}
- <a href="{@$quoteLink}">{lang}wcf.bbcode.quote.title{/lang}</a>
- {else}
- {lang}wcf.bbcode.quote.title{/lang}
- {/if}
- </h3>
- </header>
- {/if}
-
- <div>
- {@$content}
- </div>
-</blockquote>
\ No newline at end of file
+++ /dev/null
-{foreach name=radioButtons from=$selectOptions key=key item=selectOption}
- <label><input {if $tpl.foreach.radioButtons.first}id="{$option->optionName}" {/if}type="radio" name="values[{$option->optionName}]" value="{$key}" {if $value == $key} checked="checked"{/if} {if $disableOptions[$key]|isset || $enableOptions[$key]|isset}class="jsEnablesOptions" data-disable-options="[ {@$disableOptions[$key]}]" data-enable-options="[ {@$enableOptions[$key]}]"{/if} /> {lang}{@$selectOption}{/lang}</label>
-{/foreach}
+++ /dev/null
-<fieldset>
- <legend><label for="recaptcha_response_field">{lang}wcf.recaptcha.title{/lang}</label></legend>
- <small>{lang}wcf.recaptcha.description{/lang}</small>
-
- <dl class="wide reCaptcha{if $errorField == 'recaptchaString'} formError{/if}">
- <script type="text/javascript">
- //<![CDATA[
- var RecaptchaOptions = {
- lang: '{@$recaptchaLanguageCode}',
- theme : 'custom'
- }
- //]]>
- </script>
- <dt class="jsOnly">
- <label for="recaptcha_response_field">reCAPTCHA</label>
- </dt>
- <dd class="jsOnly">
- <div id="recaptcha_image" class="framed"></div>
- <input type="text" id="recaptcha_response_field" name="recaptcha_response_field" class="medium marginTop" />
- {if $errorField == 'recaptchaString'}
- <small class="innerError">
- {if $errorType == 'empty'}{lang}wcf.global.form.error.empty{/lang}{/if}
- {if $errorType == 'false'}{lang}wcf.recaptcha.error.recaptchaString.false{/lang}{/if}
- </small>
- {/if}
- </dd>
-
- {event name='fields'}
-
- <dd class="jsOnly">
- <ul class="buttonList">
- <li><a href="javascript:Recaptcha.reload()" class="button small"><span class="icon icon16 icon-repeat"></span> <span>{lang}wcf.recaptcha.reload{/lang}</span></a></li>
- <li class="recaptcha_only_if_image"><a href="javascript:Recaptcha.switch_type('audio')" class="button small"><span class="icon icon16 icon-volume-up"></span> <span>{lang}wcf.recaptcha.audio{/lang}</span></a></li>
- <li class="recaptcha_only_if_audio"><a href="javascript:Recaptcha.switch_type('image')" class="button small"><span class="icon icon16 icon-eye-open"></span> <span>{lang}wcf.recaptcha.image{/lang}</span></a></li>
- <li><a href="javascript:Recaptcha.showhelp()" class="button small"><span class="icon icon16 icon-question-sign"></span> <span>{lang}wcf.recaptcha.help{/lang}</span></a></li>
- {event name='buttons'}
- </ul>
- </dd>
-
- <script type="text/javascript" src="http{if $recaptchaUseSSL}s{/if}://www.google.com/recaptcha/api/challenge?k={$recaptchaPublicKey}"></script>
- <noscript>
- <dd>
- <iframe src="http{if $recaptchaUseSSL}s{/if}://www.google.com/recaptcha/api/noscript?k={$recaptchaPublicKey}" height="300" width="500" seamless="seamless"></iframe><br />
- <textarea name="recaptcha_challenge_field" rows="3" cols="40"></textarea>
- <input type="hidden" name="recaptcha_response_field" value="manual_challenge" />
- </dd>
- {if $errorField == 'recaptchaString'}
- <small class="innerError">
- {if $errorType == 'empty'}{lang}wcf.global.form.error.empty{/lang}{/if}
- {if $errorType == 'false'}{lang}wcf.recaptcha.error.recaptchaString.false{/lang}{/if}
- </small>
- {/if}
- </noscript>
- </dl>
-</fieldset>
+++ /dev/null
-{hascontent}
- <script type="text/javascript">
- //<![CDATA[
- $(function() {
- WCF.Language.addObject({
- 'wcf.user.recentActivity.more': '{lang}wcf.user.recentActivity.more{/lang}',
- 'wcf.user.recentActivity.noMoreEntries': '{lang}wcf.user.recentActivity.noMoreEntries{/lang}'
- });
-
- new WCF.User.RecentActivityLoader({@$userID});
- });
- //]]>
- </script>
-
- <ul id="recentActivities" class="containerList recentActivityList" data-last-event-time="{@$lastEventTime}">
- {content}
- {include file='recentActivityListItem'}
- {/content}
- </ul>
-{hascontentelse}
- <div class="containerPadding">
- {if $placeholder|isset}{$placeholder}{/if}
- </div>
-{/hascontent}
+++ /dev/null
-{include file='documentHeader'}
-
-<head>
- <title>{lang}wcf.user.recentActivity{/lang} - {PAGE_TITLE|language}</title>
-
- {include file='headInclude'}
-
- <link rel="canonical" href="{link controller='RecentActivityList'}{/link}" />
-
- <script type="text/javascript">
- //<![CDATA[
- $(function() {
- WCF.Language.addObject({
- 'wcf.user.recentActivity.more': '{lang}wcf.user.recentActivity.more{/lang}',
- 'wcf.user.recentActivity.noMoreEntries': '{lang}wcf.user.recentActivity.noMoreEntries{/lang}'
- });
-
- new WCF.User.RecentActivityLoader(null);
- });
- //]]>
- </script>
-</head>
-
-<body id="tpl{$templateName|ucfirst}">
-
-{capture assign='sidebar'}
- {@$__boxSidebar}
-{/capture}
-
-{include file='header' sidebarOrientation='right'}
-
-<header class="boxHeadline">
- <h1>{lang}wcf.user.recentActivity{/lang}</h1>
-</header>
-
-{include file='userNotice'}
-
-<div class="contentNavigation">
- {hascontent}
- <nav>
- <ul>
- {content}
- {event name='contentNavigationButtonsTop'}
- {/content}
- </ul>
- </nav>
- {/hascontent}
-</div>
-
-{if $eventList|count}
- <div class="container marginTop">
- <ul id="recentActivities" class="containerList recentActivityList" data-last-event-time="{@$lastEventTime}">
- {include file='recentActivityListItem'}
- </ul>
- </div>
-
- <div class="contentNavigation">
- {hascontent}
- <nav>
- <ul>
- {content}
- {event name='contentNavigationButtonsBottom'}
- {/content}
- </ul>
- </nav>
- {/hascontent}
- </div>
-{else}
- <p class="info">{lang}wcf.user.recentActivity.noEntries{/lang}</p>
-{/if}
-
-
-
-{include file='footer'}
-
-</body>
-</html>
+++ /dev/null
-{foreach from=$eventList item=event}
- <li>
- <div class="box48">
- <a href="{link controller='User' object=$event->getUserProfile()}{/link}" title="{$event->getUserProfile()->username}" class="framed">{@$event->getUserProfile()->getAvatar()->getImageTag(48)}</a>
-
- <div>
- <div class="containerHeadline">
- <h3><a href="{link controller='User' object=$event->getUserProfile()}{/link}" class="userLink" data-user-id="{@$event->getUserProfile()->userID}">{$event->getUserProfile()->username}</a><small> - {@$event->time|time}</small></h3>
- <p><strong>{@$event->getTitle()}</strong></p>
- <small class="containerContentType">{lang}wcf.user.recentActivity.{@$event->getObjectTypeName()}{/lang}</small>
- </div>
-
- <div>{@$event->getDescription()}</div>
- </div>
- </div>
- </li>
-{/foreach}
\ No newline at end of file
+++ /dev/null
-{include file="documentHeader"}
-
-<head>
- <title>{lang}wcf.global.redirect.title{/lang} - {lang}{PAGE_TITLE}{/lang}</title>
-
- {include file='headInclude'}
-
- <meta http-equiv="refresh" content="{if $wait|isset}{@$wait}{else}10{/if};URL={$url}" />
-</head>
-
-<body id="tpl{$templateName|ucfirst}">
-
-{include file='header'}
-
-<div class="{if !$status|empty}{@$status}{else}success{/if}">
- <p>{@$message}</p>
- <a href="{$url}">{lang}wcf.global.redirect.url{/lang}</a>
-</div>
-
-{include file='footer'}
-
-</body>
-</html>
+++ /dev/null
-{include file='documentHeader'}
-
-<head>
- <title>{lang}wcf.user.register{/lang} - {PAGE_TITLE|language}</title>
- {include file='headInclude'}
-
- <script type="text/javascript" src="{@$__wcf->getPath()}js/WCF.User{if !ENABLE_DEBUG_MODE}.min{/if}.js?v={@$__wcfVersion}"></script>
- <script type="text/javascript">
- //<![CDATA[
- $(function() {
- WCF.Language.addObject({
- 'wcf.global.form.error.empty': '{lang}wcf.global.form.error.empty{/lang}',
- 'wcf.user.username.error.notValid': '{lang}wcf.user.username.error.notValid{/lang}',
- 'wcf.user.username.error.notUnique': '{lang}wcf.user.username.error.notUnique{/lang}',
- 'wcf.user.email.error.notValid' : '{lang}wcf.user.email.error.notValid{/lang}',
- 'wcf.user.email.error.notUnique' : '{lang}wcf.user.email.error.notUnique{/lang}',
- 'wcf.user.confirmEmail.error.notEqual' : '{lang}wcf.user.confirmEmail.error.notEqual{/lang}',
- 'wcf.user.password.error.notSecure' : '{lang}wcf.user.password.error.notSecure{/lang}',
- 'wcf.user.confirmPassword.error.notEqual' : '{lang}wcf.user.confirmPassword.error.notEqual{/lang}'
- });
-
- new WCF.User.Registration.Validation.EmailAddress($('#email'), $('#confirmEmail'), null);
- new WCF.User.Registration.Validation.Password($('#password'), $('#confirmPassword'), null);
- new WCF.User.Registration.Validation.Username($('#username', null, {
- minlength: {@REGISTER_USERNAME_MIN_LENGTH},
- maxlength: {@REGISTER_USERNAME_MAX_LENGTH}
- }));
- });
- //]]>
- </script>
-</head>
-
-<body id="tpl{$templateName|ucfirst}">
-{include file='header' __disableLoginLink=true}
-
-<header class="boxHeadline">
- <h1>{lang}wcf.user.register{/lang}</h1>
-</header>
-
-{include file='userNotice'}
-
-{if $isExternalAuthentication}
- {if $__wcf->session->getVar('__githubToken')}
- <p class="info">{lang}wcf.user.3rdparty.github.register{/lang}</p>
- {elseif $__wcf->session->getVar('__twitterData')}
- <p class="info">{lang}wcf.user.3rdparty.twitter.register{/lang}</p>
- {elseif $__wcf->session->getVar('__facebookData')}
- <p class="info">{lang}wcf.user.3rdparty.facebook.register{/lang}</p>
- {elseif $__wcf->session->getVar('__googleData')}
- <p class="info">{lang}wcf.user.3rdparty.google.register{/lang}</p>
- {/if}
-{/if}
-
-{if $errorField}
- <p class="error">{lang}wcf.global.form.error{/lang}</p>
-{/if}
-
-<div class="contentNavigation">
- {hascontent}
- <nav>
- <ul>
- {content}
- {event name='contentNavigationButtons'}
- {/content}
- </ul>
- </nav>
- {/hascontent}
-</div>
-
-<form method="post" action="{link controller='Register'}{/link}">
- <div class="container containerPadding marginTop">
- <fieldset>
- <legend>{lang}wcf.user.username{/lang}</legend>
-
- <dl{if $errorType.username|isset} class="formError"{/if}>
- <dt>
- <label for="username">{lang}wcf.user.username{/lang}</label>
- </dt>
- <dd>
- <input type="text" id="username" name="username" value="{$username}" required="required" class="medium" />
- {if $errorType.username|isset}
- <small class="innerError">
- {if $errorType.username == 'empty'}{lang}wcf.global.form.error.empty{/lang}{/if}
- {if $errorType.username == 'notValid'}{lang}wcf.user.username.error.notValid{/lang}{/if}
- {if $errorType.username == 'notUnique'}{lang}wcf.user.username.error.notUnique{/lang}{/if}
- </small>
- {/if}
- <small>{lang}wcf.user.username.description{/lang}</small>
- </dd>
- </dl>
-
- {event name='usernameFields'}
- </fieldset>
-
- <fieldset>
- <legend>{lang}wcf.user.email{/lang}</legend>
-
- <dl{if $errorType.email|isset} class="formError"{/if}>
- <dt>
- <label for="email">{lang}wcf.user.email{/lang}</label>
- </dt>
- <dd>
- <input type="email" id="email" name="email" value="{$email}" required="required" class="medium" />
- {if $errorType.email|isset}
- <small class="innerError">
- {if $errorType.email == 'empty'}{lang}wcf.global.form.error.empty{/lang}{/if}
- {if $errorType.email == 'notValid'}{lang}wcf.user.email.error.notValid{/lang}{/if}
- {if $errorType.email == 'notUnique'}{lang}wcf.user.email.error.notUnique{/lang}{/if}
- </small>
- {/if}
- </dd>
- </dl>
-
- <dl{if $errorType.confirmEmail|isset} class="formError"{/if}>
- <dt>
- <label for="confirmEmail">{lang}wcf.user.confirmEmail{/lang}</label>
- </dt>
- <dd>
- <input type="email" id="confirmEmail" name="confirmEmail" value="{$confirmEmail}" required="required" class="medium" />
- {if $errorType.confirmEmail|isset}
- <small class="innerError">
- {if $errorType.confirmEmail == 'notEqual'}{lang}wcf.user.confirmEmail.error.notEqual{/lang}{/if}
- </small>
- {/if}
- </dd>
- </dl>
-
- {event name='emailFields'}
- </fieldset>
-
- {if !$isExternalAuthentication}
- <fieldset>
- <legend>{lang}wcf.user.password{/lang}</legend>
-
- <dl{if $errorType.password|isset} class="formError"{/if}>
- <dt>
- <label for="password">{lang}wcf.user.password{/lang}</label>
- </dt>
- <dd>
- <input type="password" id="password" name="password" value="{$password}" required="required" class="medium" />
- {if $errorType.password|isset}
- <small class="innerError">
- {if $errorType.password == 'empty'}{lang}wcf.global.form.error.empty{/lang}{/if}
- {if $errorType.password == 'notSecure'}{lang}wcf.user.password.error.notSecure{/lang}{/if}
- </small>
- {/if}
- <small>{lang}wcf.user.password.description{/lang}</small>
- </dd>
- </dl>
-
- <dl{if $errorType.confirmPassword|isset} class="formError"{/if}>
- <dt>
- <label for="confirmPassword">{lang}wcf.user.confirmPassword{/lang}</label>
- </dt>
- <dd>
- <input type="password" id="confirmPassword" name="confirmPassword" value="{$confirmPassword}" required="required" class="medium" />
- {if $errorType.confirmPassword|isset}
- <small class="innerError">
- {if $errorType.confirmPassword == 'notEqual'}{lang}wcf.user.confirmPassword.error.notEqual{/lang}{/if}
- </small>
- {/if}
- </dd>
- </dl>
-
- {event name='passwordFields'}
- </fieldset>
- {/if}
-
- {if $availableLanguages|count > 1}
- <fieldset>
- <legend>{lang}wcf.user.language{/lang}</legend>
-
- <dl>
- <dt><label for="languageID">{lang}wcf.user.language{/lang}</label></dt>
- <dd>
- <select id="languageID" name="languageID">
- {foreach from=$availableLanguages item=language}
- <option value="{@$language->languageID}"{if $language->languageID == $languageID} selected="selected"{/if}>{$language}</option>
- {/foreach}
- </select>
- <small>{lang}wcf.user.language.description{/lang}</small>
- </dd>
- </dl>
-
- {hascontent}
- <dl>
- <dt><label>{lang}wcf.user.visibleLanguages{/lang}</label></dt>
- <dd class="floated">
- {content}
- {foreach from=$availableContentLanguages item=language}
- <label><input name="visibleLanguages[]" type="checkbox" value="{@$language->languageID}"{if $language->languageID|in_array:$visibleLanguages} checked="checked"{/if} /> {$language}</label>
- {/foreach}
- {/content}
- <small>{lang}wcf.user.visibleLanguages.description{/lang}</small></dd>
- </dl>
- {/hascontent}
-
- {event name='languageFields'}
- </fieldset>
- {/if}
-
- {foreach from=$optionTree item=category}
- <fieldset>
- <legend>{lang}wcf.user.option.category.{@$category[object]->categoryName}{/lang}</legend>
-
- {include file='userOptionFieldList' options=$category[options] langPrefix='wcf.user.option.'}
- </fieldset>
- {/foreach}
-
- {event name='fieldsets'}
-
- {if $useCaptcha}
- {if $errorType.recaptchaString|isset}
- {assign var=errorField value='recaptchaString'}
- {assign var=errorType value=$errorType.recaptchaString}
- {/if}
- {include file='recaptcha'}
- {/if}
- </div>
-
- <div class="formSubmit">
- <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s" />
- </div>
-</form>
-
-{include file='footer'}
-
-</body>
-</html>
\ No newline at end of file
+++ /dev/null
-{include file='documentHeader'}
-
-<head>
- <title>{lang}wcf.user.registerActivation{/lang} - {PAGE_TITLE|language}</title>
- {include file='headInclude'}
-</head>
-
-<body id="tpl{$templateName|ucfirst}">
-
-{include file='header'}
-
-<header class="boxHeadline">
- <h1>{lang}wcf.user.registerActivation{/lang}</h1>
-</header>
-
-{include file='userNotice'}
-
-{if $__wcf->user->userID && $__wcf->user->activationCode}<p class="info">{lang}wcf.user.registerActivation.info{/lang}</p>{/if}
-
-{if $errorField}
- <p class="error">{lang}wcf.global.form.error{/lang}</p>
-{/if}
-
-<div class="contentNavigation">
- {hascontent}
- <nav>
- <ul>
- {content}
- {event name='contentNavigationButtons'}
- {/content}
- </ul>
- </nav>
- {/hascontent}
-</div>
-
-<form method="post" action="{link controller='RegisterActivation'}{/link}">
- <div class="container containerPadding marginTop">
- <fieldset>
- <legend><label for="userID">{lang}wcf.user.registerActivation{/lang}</label></legend>
-
- <dl{if $errorField == 'username'} class="formError"{/if}>
- <dt><label for="username">{lang}wcf.user.username{/lang}</label></dt>
- <dd>
- <input type="text" id="username" name="username" value="{@$username}" required="required" class="medium" />
- {if $errorField == 'username'}
- <small class="innerError">
- {if $errorType == 'notFound'}{lang}wcf.user.username.error.notFound{/lang}{/if}
- </small>
- {/if}
- </dd>
- </dl>
-
- <dl{if $errorField == 'activationCode'} class="formError"{/if}>
- <dt><label for="activationCode">{lang}wcf.user.activationCode{/lang}</label></dt>
- <dd>
- <input type="text" id="activationCode" maxlength="9" name="activationCode" value="{@$activationCode}" required="required" class="medium" />
- {if $errorField == 'activationCode'}
- <small class="innerError">
- {if $errorType == 'notValid'}{lang}wcf.user.activationCode.error.notValid{/lang}{/if}
- </small>
- {/if}
- </dd>
- </dl>
-
- {event name='fields'}
-
- <dl>
- <dd>
- <ul class="buttonList">
- <li><a class="button small" href="{link controller='RegisterNewActivationCode'}{/link}"><span>{lang}wcf.user.newActivationCode{/lang}</span></a></li>
- {event name='buttons'}
- </ul>
- </dd>
- </dl>
- </fieldset>
-
- {event name='fieldsets'}
- </div>
-
- <div class="formSubmit">
- <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s" />
- </div>
-</form>
-
-{include file='footer'}
-</body>
-</html>
+++ /dev/null
-{include file='documentHeader'}
-
-<head>
- <title>{lang}wcf.user.newActivationCode{/lang} - {PAGE_TITLE|language}</title>
- {include file='headInclude'}
-</head>
-
-<body id="tpl{$templateName|ucfirst}">
-
-{include file='header'}
-
-<header class="boxHeadline">
- <h1>{lang}wcf.user.newActivationCode{/lang}</h1>
-</header>
-
-{include file='userNotice'}
-
-{if $errorField}
- <p class="error">{lang}wcf.global.form.error{/lang}</p>
-{/if}
-
-<div class="contentNavigation">
- {hascontent}
- <nav>
- <ul>
- {content}
- {event name='contentNavigationButtons'}
- {/content}
- </ul>
- </nav>
- {/hascontent}
-</div>
-
-<form method="post" action="{link controller='RegisterNewActivationCode'}{/link}">
- <div class="container containerPadding marginTop">
- <fieldset>
- <legend>{lang}wcf.user.newActivationCode{/lang}</legend>
-
- <dl{if $errorField == 'username'} class="formError"{/if}>
- <dt><label for="username">{lang}wcf.user.username{/lang}</label></dt>
- <dd>
- <input type="text" id="username" name="username" value="{$username}" required="required" class="medium" />
- {if $errorField == 'username'}
- <small class="innerError">
- {if $errorType == 'empty'}
- {lang}wcf.global.form.error.empty{/lang}
- {elseif $errorType == 'alreadyEnabled'}
- {lang}wcf.user.registerActivation.error.userAlreadyEnabled{/lang}
- {else}
- {lang}wcf.user.username.error.{@$errorType}{/lang}
- {/if}
- </small>
- {/if}
- </dd>
- </dl>
-
- <dl{if $errorField == 'password'} class="formError"{/if}>
- <dt><label for="password">{lang}wcf.user.password{/lang}</label></dt>
- <dd>
- <input type="password" id="password" name="password" value="{$password}" required="required" class="medium" />
- {if $errorField == 'password'}
- <small class="innerError">
- {if $errorType == 'empty'}
- {lang}wcf.global.form.error.empty{/lang}
- {else}
- {lang}wcf.user.password.error.{@$errorType}{/lang}
- {/if}
- </small>
- {/if}
- </dd>
- </dl>
-
- <dl{if $errorField == 'email'} class="formError"{/if}>
- <dt><label for="email">{lang}wcf.user.email{/lang}</label></dt>
- <dd>
- <input type="email" id="email" name="email" value="{$email}" class="medium" />
- {if $errorField == 'email'}
- <small class="innerError">
- {lang}wcf.user.email.error.{@$errorType}{/lang}
- </small>
- {/if}
- <small>{lang}wcf.user.registerNewActivationCode.email.description{/lang}</small>
- </dd>
- </dl>
-
- {event name='fields'}
- </fieldset>
-
- {event name='fieldsets'}
- </div>
-
- <div class="formSubmit">
- <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s" />
- </div>
-</form>
-
-{include file='footer'}
-
-</body>
-</html>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<rss version="2.0"
- xmlns:atom="http://www.w3.org/2005/Atom"
- xmlns:content="http://purl.org/rss/1.0/modules/content/"
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
->
- <channel>
- <title><![CDATA[{if $title}{$title} - {/if}{@PAGE_TITLE|language|escapeCDATA}]]></title>
- <link><![CDATA[{@$baseHref|escapeCDATA}]]></link>
- <description><![CDATA[{@PAGE_DESCRIPTION|escapeCDATA}]]></description>
- <language>{@$__wcf->language->getFixedLanguageCode()}</language>
- <pubDate>{'r'|gmdate:TIME_NOW}</pubDate>
-{assign var='dummy' value=$items->rewind()}
- <lastBuildDate>{if $items->valid()}{'r'|gmdate:$items->current()->getTime()}{else}{'r'|gmdate:TIME_NOW}{/if}</lastBuildDate>
- <ttl>60</ttl>
- <generator><![CDATA[WoltLab Community Framework {@WCF_VERSION}]]></generator>
- <atom:link href="{$__wcf->getRequestURI()}" rel="self" type="application/rss+xml" />
-{* *}{foreach from=$items item='item'}
- <item>
- <title><![CDATA[{@$item->getTitle()|escapeCDATA}]]></title>
- <link><![CDATA[{@$item->getLink()|escapeCDATA}]]></link>
- {hascontent}<description><![CDATA[{content}{@$item->getExcerpt()|escapeCDATA}{/content}]]></description>{/hascontent}
- <pubDate>{'r'|gmdate:$item->getTime()}</pubDate>
- <dc:creator>{@$item->getUsername()|escapeCDATA}</dc:creator>
- <guid><![CDATA[{@$item->getLink()|escapeCDATA}]]></guid>
- {foreach from=$item->getCategories() item='category'}
- <category><![CDATA[{@$category|escapeCDATA}]]></category>
- {/foreach}
- {hascontent}<content:encoded><![CDATA[{content}{@$item->getFormattedMessage()|escapeCDATA}{/content}]]></content:encoded>{/hascontent}
- <slash:comments>{@$item->getComments()|escapeCDATA}</slash:comments>
- </item>
-{* *}{/foreach}
- </channel>
-{if ENABLE_BENCHMARK}
- <!--
- Execution time: {@$__wcf->getBenchmark()->getExecutionTime()}s ({#($__wcf->getBenchmark()->getExecutionTime()-$__wcf->getBenchmark()->getQueryExecutionTime())/$__wcf->getBenchmark()->getExecutionTime()*100}% PHP, {#$__wcf->getBenchmark()->getQueryExecutionTime()/$__wcf->getBenchmark()->getExecutionTime()*100}% SQL) | SQL queries: {#$__wcf->getBenchmark()->getQueryCount()} | Memory-Usage: {$__wcf->getBenchmark()->getMemoryUsage()}
-
-{* *}{if ENABLE_DEBUG_MODE}
-{* *}{foreach from=$__wcf->getBenchmark()->getItems() item=item}
-{* *} {if $item.type == 1}(SQL Query) {/if}{$item.text} ({@$item.use}s)
-{* *}{/foreach}
-{* *}{/if}
- -->
-{/if}
-</rss>
\ No newline at end of file
+++ /dev/null
-{include file='documentHeader'}
-
-<head>
- <title>{lang}wcf.search.title{/lang} - {PAGE_TITLE|language}</title>
-
- {include file='headInclude'}
-</head>
-
-<body id="tpl{$templateName|ucfirst}">
-
-{include file='header'}
-
-<header class="boxHeadline">
- <h1>{lang}wcf.search.title{/lang}</h1>
-</header>
-
-{include file='userNotice'}
-
-{if $errorField}
- <p class="error">{lang}wcf.global.form.error{/lang}</p>
-{/if}
-
-{if $errorMessage|isset}
- <p class="error">{@$errorMessage}</p>
-{/if}
-
-<form method="post" action="{link controller='Search'}{/link}">
- <div class="container containerPadding marginTop">
- <fieldset>
- <legend>{lang}wcf.search.general{/lang}</legend>
-
- <dl{if $errorField == 'q'} class="formError"{/if}>
- <dt><label for="searchTerm">{lang}wcf.search.query{/lang}</label></dt>
- <dd>
- <input type="text" id="searchTerm" name="q" value="{$query}" class="long" maxlength="255" autofocus="autofocus" />
- {if $errorField == 'q'}
- <small class="innerError">
- {if $errorType == 'empty'}
- {lang}wcf.global.form.error.empty{/lang}
- {else}
- {lang}wcf.search.query.error.{@$errorType}{/lang}
- {/if}
- </small>
- {/if}
- <label><input type="checkbox" name="subjectOnly" value="1"{if $subjectOnly == 1} checked="checked"{/if} /> {lang}wcf.search.subjectOnly{/lang}</label>
- {event name='queryOptions'}
-
- <p><small>{lang}wcf.search.query.description{/lang}</small></p>
- </dd>
- </dl>
-
- <dl>
- <dt><label for="searchAuthor">{lang}wcf.search.author{/lang}</label></dt>
- <dd>
- <input type="text" id="searchAuthor" name="username" value="{$username}" class="long" maxlength="255" autocomplete="off" />
- <label><input type="checkbox" name="nameExactly" value="1"{if $nameExactly == 1} checked="checked"{/if} /> {lang}wcf.search.matchExactly{/lang}</label>
- {event name='authorOptions'}
- </dd>
- </dl>
-
- <dl>
- <dt><label for="startDate">{lang}wcf.search.period{/lang}</label></dt>
- <dd>
- <input type="date" id="startDate" name="startDate" value="{$startDate}" data-placeholder="{lang}wcf.date.period.start{/lang}" />
- <input type="date" id="endDate" name="endDate" value="{$endDate}" data-placeholder="{lang}wcf.date.period.end{/lang}" />
- {event name='periodOptions'}
- </dd>
- </dl>
-
- <dl>
- <dt><label for="sortField">{lang}wcf.search.sortBy{/lang}</label></dt>
- <dd>
- <select id="sortField" name="sortField">
- <option value="relevance"{if $sortField == 'relevance'} selected="selected"{/if}>{lang}wcf.search.sortBy.relevance{/lang}</option>
- <option value="subject"{if $sortField == 'subject'} selected="selected"{/if}>{lang}wcf.search.sortBy.subject{/lang}</option>
- <option value="time"{if $sortField == 'time'} selected="selected"{/if}>{lang}wcf.search.sortBy.time{/lang}</option>
- <option value="username"{if $sortField == 'username'} selected="selected"{/if}>{lang}wcf.search.sortBy.username{/lang}</option>
- </select>
-
- <select name="sortOrder">
- <option value="ASC"{if $sortOrder == 'ASC'} selected="selected"{/if}>{lang}wcf.global.sortOrder.ascending{/lang}</option>
- <option value="DESC"{if $sortOrder == 'DESC'} selected="selected"{/if}>{lang}wcf.global.sortOrder.descending{/lang}</option>
- </select>
- {event name='displayOptions'}
- </dd>
- </dl>
-
- {event name='generalFields'}
-
- <dl>
- <dt>{lang}wcf.search.type{/lang}</dt>
- <dd class="floated">
- {foreach from=$objectTypes key=objectTypeName item=objectType}
- {if $objectType->isAccessible()}
- <label><input id="{@'.'|str_replace:'_':$objectTypeName}" type="checkbox" name="types[]" value="{@$objectTypeName}"{if $objectTypeName|in_array:$selectedObjectTypes} checked="checked"{/if} /> {lang}wcf.search.type.{@$objectTypeName}{/lang}</label>
- {/if}
- {/foreach}
- </dd>
- </dl>
- </fieldset>
-
- {event name='fieldsets'}
- {if $useCaptcha}{include file='recaptcha'}{/if}
-
- {foreach from=$objectTypes key=objectTypeName item=objectType}
- {if $objectType->isAccessible() && $objectType->getFormTemplateName()}
- {assign var='__jsID' value='.'|str_replace:'_':$objectTypeName}
- <fieldset id="{@$__jsID}Form">
- <legend>{lang}wcf.search.type.{@$objectTypeName}{/lang}</legend>
-
- {include file=$objectType->getFormTemplateName() application=$objectType->getApplication()}
-
- <script type="text/javascript">
- //<![CDATA[
- $(function() {
- $('#{@$__jsID}').click(function() {
- if (this.checked) $('#{@$__jsID}Form').wcfFadeIn();
- else $('#{@$__jsID}Form').wcfFadeOut();
- });
- {if !$objectTypeName|in_array:$selectedObjectTypes}$('#{@$__jsID}Form').hide();{/if}
- });
- //]]>
- </script>
- </fieldset>
- {/if}
- {/foreach}
- </div>
-
- <div class="formSubmit">
- <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s" />
- </div>
-</form>
-
-{include file='footer'}
-
-<script type="text/javascript">
- //<![CDATA[
- $(function() {
- new WCF.Search.User($('#searchAuthor'), function(data) {
- $('#searchAuthor').val(data.label);//.focus();
- });
- });
- //]]>
-</script>
-
-</body>
-</html>
\ No newline at end of file
+++ /dev/null
-{capture assign='__searchFormLink'}{link controller='Search'}{/link}{/capture}
-{capture assign='__searchInputPlaceholder'}{lang}wcf.global.search.enterSearchTerm{/lang}{/capture}
-{capture assign='__searchDropdownOptions'}<label><input type="checkbox" name="subjectOnly" value="1" /> {lang}wcf.search.subjectOnly{/lang}</label>{/capture}
-{assign var='__searchHiddenInputFields' value=''}
-
-{event name='settings'}
-
-<aside id="search" class="searchBar dropdown" data-disable-auto-focus="true">
- <form method="post" action="{@$__searchFormLink}">
- <input type="search" name="q" placeholder="{@$__searchInputPlaceholder}" autocomplete="off" required="required" value="" class="dropdownToggle" data-toggle="search" />
-
- <ul class="dropdownMenu">
- {hascontent}
- <li class="dropdownText">
- {content}
- {@$__searchDropdownOptions}
- {/content}
- </li>
- <li class="dropdownDivider"></li>
- {/hascontent}
- <li><a href="{@$__searchFormLink}">{lang}wcf.search.extended{/lang}</a></li>
- </ul>
-
- {@$__searchHiddenInputFields}
- </form>
-</aside>
-
-<script type="text/javascript" src="{@$__wcf->getPath('wcf')}js/WCF.Search.Message{if !ENABLE_DEBUG_MODE}.min{/if}.js?v={@$__wcfVersion}"></script>
-<script type="text/javascript">
- //<![CDATA[
- $(function() {
- new WCF.Search.Message.SearchArea($('#search'));
- });
- //]]>
-</script>
\ No newline at end of file
+++ /dev/null
-{include file='documentHeader'}
-
-<head>
- <title>{lang}wcf.search.results{/lang} - {PAGE_TITLE|language}</title>
-
- {include file='headInclude'}
-</head>
-
-<body id="tpl{$templateName|ucfirst}">
-
-{include file='header'}
-
-<header class="boxHeadline">
- <h1>{if $query}<a href="{link controller='Search'}q={$query|urlencode}{/link}">{lang}wcf.search.results{/lang}</a>{else}{lang}wcf.search.results{/lang}{/if}</h1>
- <p>{lang}wcf.search.results.description{/lang}</p>
-</header>
-
-{include file='userNotice'}
-
-<div class="contentNavigation">
- {assign var=encodedHighlight value=$highlight|urlencode}
- {pages print=true assign=pagesLinks controller='SearchResult' id=$searchID link="pageNo=%d&highlight=$encodedHighlight"}
-
- {hascontent}
- <nav>
- <ul>
- {content}
- {if $alterable}
- <li><a href="{link controller='Search'}modify={@$searchID}{/link}" class="button"><span class="icon icon16 icon-search"></span> <span>{lang}wcf.search.results.change{/lang}</span></a></li>
- {/if}
- {event name='contentNavigationButtonsTop'}
- {/content}
- </ul>
- </nav>
- {/hascontent}
-</div>
-
-{include file=$resultListTemplateName application=$resultListApplication}
-
-<div class="contentNavigation">
- {@$pagesLinks}
-
- {hascontent}
- <nav>
- <ul>
- {content}
- {if $alterable}
- <li><a href="{link controller='Search'}modify={@$searchID}{/link}" class="button"><span class="icon icon16 icon-search"></span> <span>{lang}wcf.search.results.change{/lang}</span></a></li>
- {/if}
- {event name='contentNavigationButtonsBottom'}
- {/content}
- </ul>
- </nav>
- {/hascontent}
-</div>
-
-{include file='footer'}
-
-</body>
-</html>
\ No newline at end of file
+++ /dev/null
-<div class="container marginTop">
- <ul class="containerList messageSearchResultList">
- {foreach from=$objects item=message}
- <li>
- <div class="box48">
- <a href="{link controller='User' object=$message->getUserProfile()}{/link}" title="{$message->getUserProfile()->username}" class="framed">{@$message->getUserProfile()->getAvatar()->getImageTag(48)}</a>
-
- <div>
- <div class="containerHeadline">
- <h3><a href="{$message->getLink($query)}">{$message->getSubject()}</a></h3>
- <p>
- <a href="{link controller='User' object=$message->getUserProfile()}{/link}" class="userLink" data-user-id="{@$message->getUserProfile()->userID}">{$message->getUserProfile()->username}</a>
- <small>- {@$message->getTime()|time}</small>
- {if $message->getContainerTitle()}<small>- <a href="{$message->getContainerLink()}">{$message->getContainerTitle()}</a></small>{/if}
- </p>
- <small class="containerContentType">{lang}wcf.search.object.{@$message->getObjectTypeName()}{/lang}</small>
- </div>
-
- <p>{@$message->getFormattedMessage()}</p>
- </div>
- </div>
- </li>
- {/foreach}
- </ul>
-</div>
\ No newline at end of file
+++ /dev/null
-<select id="{$option->optionName}" name="values[{$option->optionName}]">
- {if $option->allowEmptyValue}<option value=""></option>{/if}
- {foreach from=$selectOptions key=key item=selectOption}
- <option value="{$key}"{if $value == $key} selected="selected"{/if}>{lang}{@$selectOption}{/lang}</option>
- {/foreach}
-</select>
\ No newline at end of file
+++ /dev/null
-{include file='documentHeader'}
-
-<head>
- <title>{lang}wcf.user.option.category.settings.{$category}{/lang} - {lang}wcf.user.menu.settings{/lang} - {PAGE_TITLE|language}</title>
- {include file='headInclude'}
-</head>
-
-<body id="tpl{$templateName|ucfirst}">
-
-{include file='userMenuSidebar'}
-
-{include file='header' sidebarOrientation='left'}
-
-<header class="boxHeadline">
- <h1>{lang}wcf.user.menu.settings{/lang}: {lang}wcf.user.option.category.settings.{$category}{/lang}</h1>
-</header>
-
-{include file='userNotice'}
-
-{if $success|isset}
- <p class="success">{lang}wcf.global.success.edit{/lang}</p>
-{/if}
-
-<div class="contentNavigation">
- {hascontent}
- <nav>
- <ul>
- {content}
- {event name='contentNavigationButtons'}
- {/content}
- </ul>
- </nav>
- {/hascontent}
-</div>
-
-<form method="post" action="{link controller='Settings'}{/link}">
- <div class="container containerPadding marginTop">
- {if $category == 'general'}
- {if $availableLanguages|count > 1}
- <fieldset>
- <legend>{lang}wcf.user.language{/lang}</legend>
-
- <dl>
- <dt><label>{lang}wcf.user.language{/lang}</label></dt>
- <dd id="languageIDContainer">
- <script type="text/javascript">
- //<![CDATA[
- $(function() {
- var $languages = {
- {implode from=$availableLanguages item=language}
- '{@$language->languageID}': {
- iconPath: '{@$language->getIconPath()}',
- languageName: '{$language}'
- }
- {/implode}
- };
-
- new WCF.Language.Chooser('languageIDContainer', 'languageID', {@$languageID}, $languages);
- });
- //]]>
- </script>
- <noscript>
- <select name="languageID" id="languageID">
- {foreach from=$availableLanguages item=language}
- <option value="{@$language->languageID}"{if $language->languageID == $languageID} selected="selected"{/if}>{$language}</option>
- {/foreach}
- </select>
- </noscript>
- </dd>
- </dl>
-
- {hascontent}
- <dl>
- <dt><label>{lang}wcf.user.visibleLanguages{/lang}</label></dt>
- <dd class="floated">
- {content}
- {foreach from=$availableContentLanguages item=language}
- <label><input name="contentLanguageIDs[]" type="checkbox" value="{@$language->languageID}"{if $language->languageID|in_array:$contentLanguageIDs} checked="checked"{/if} /> {$language}</label>
- {/foreach}
- {/content}
- <small>{lang}wcf.user.visibleLanguages.description{/lang}</small></dd>
- </dl>
- {/hascontent}
-
- {event name='languageFields'}
- </fieldset>
- {/if}
-
- {if $availableStyles|count > 1}
- <fieldset>
- <legend>{lang}wcf.user.style{/lang}</legend>
-
- <dl>
- <dt><label for="styleID">{lang}wcf.user.style{/lang}</label></dt>
- <dd>
- <select id="styleID" name="styleID">
- <option value="0"></option>
- {foreach from=$availableStyles item=style}
- <option value="{@$style->styleID}"{if $style->styleID == $styleID} selected="selected"{/if}>{$style->styleName}</option>
- {/foreach}
- </select>
- <small>{lang}wcf.user.style.description{/lang}</small>
- </dd>
- </dl>
-
- {event name='styleFields'}
- </fieldset>
- {/if}
- {/if}
-
- {foreach from=$optionTree[0][categories][0][categories] item=optionCategory}
- <fieldset>
- <legend>{lang}wcf.user.option.category.{@$optionCategory[object]->categoryName}{/lang}</legend>
-
- {include file='userProfileOptionFieldList' options=$optionCategory[options] langPrefix='wcf.user.option.'}
- </fieldset>
- {/foreach}
-
- {event name='fieldsets'}
- </div>
-
- <div class="formSubmit">
- <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s" />
- {if $category != 'general'}<input type="hidden" name="category" value="{$category}" />{/if}
- </div>
-</form>
-
-{include file='footer'}
-
-</body>
-</html>
+++ /dev/null
-<div class="messageShareButtons jsOnly">
- <ul>
- <li class="jsShareFacebook">
- <a>
- <span class="icon icon32 icon-facebook-sign jsTooltip" title="{lang}wcf.message.share.facebook{/lang}"></span>
- <span class="invisible">{lang}wcf.message.share.facebook{/lang}</span>
- </a>
- <span class="badge" style="display: none">0</span>
- </li>
- <li class="jsShareTwitter">
- <a>
- <span class="icon icon32 icon-twitter-sign jsTooltip" title="{lang}wcf.message.share.twitter{/lang}"></span>
- <span class="invisible">{lang}wcf.message.share.twitter{/lang}</span>
- </a>
- <span class="badge" style="display: none">0</span>
- </li>
- <li class="jsShareGoogle">
- <a>
- <span class="icon icon32 icon-google-plus-sign jsTooltip" title="{lang}wcf.message.share.google{/lang}"></span>
- <span class="invisible">{lang}wcf.message.share.google{/lang}</span>
- </a>
- <span class="badge" style="display: none">0</span>
- </li>
- <li class="jsShareReddit">
- <a>
- <img class="jsTooltip" src="{$__wcf->getPath()}icon/reddit.png" alt="{lang}wcf.message.share.reddit{/lang}" title="{lang}wcf.message.share.reddit{/lang}" />
- <span class="invisible">{lang}wcf.message.share.reddit{/lang}</span>
- </a>
- <span class="badge" style="display: none">0</span>
- </li>
-
- {event name='buttons'}
- </ul>
-
- <script type="text/javascript">
- //<![CDATA[
- $(function() {
- WCF.Language.addObject({
- 'wcf.message.share.facebook': '{lang}wcf.message.share.facebook{/lang}',
- 'wcf.message.share.google': '{lang}wcf.message.share.google{/lang}',
- 'wcf.message.share.reddit': '{lang}wcf.message.share.reddit{/lang}',
- 'wcf.message.share.twitter': '{lang}wcf.message.share.twitter{/lang}'
- });
-
- new WCF.Message.Share.Page({if SHARE_BUTTONS_SHOW_COUNT}true{else}false{/if});
- });
- //]]>
- </script>
-</div>
+++ /dev/null
-{include file='documentHeader'}
-
-<head>
- <title>{lang}wcf.user.signature.edit{/lang} - {PAGE_TITLE|language}</title>
-
- {include file='headInclude'}
-
- <script type="text/javascript">
- //<![CDATA[
- $(function() {
- WCF.Language.addObject({
- 'wcf.global.preview': '{lang}wcf.global.preview{/lang}'
- });
-
- new WCF.User.SignaturePreview('wcf\\data\\user\\UserProfileAction', 'text', 'previewButton');
- });
- //]]>
- </script>
-</head>
-
-<body id="tpl{$templateName|ucfirst}">
-
-{include file='userMenuSidebar'}
-
-{include file='header' sidebarOrientation='left'}
-
-<header class="boxHeadline">
- <h1>{lang}wcf.user.signature.edit{/lang}</h1>
-</header>
-
-{include file='userNotice'}
-
-{if $errorField}
- <p class="error">{lang}wcf.global.form.error{/lang}</p>
-{/if}
-
-{if $success|isset}
- <p class="success">{lang}wcf.global.success.edit{/lang}</p>
-{/if}
-
-{if $__wcf->user->disableSignature}
- <p class="error">{lang}wcf.user.signature.error.disabled{/lang}</p>
-{/if}
-
-<div class="contentNavigation">
- {hascontent}
- <nav>
- <ul>
- {content}
- {event name='contentNavigationButtons'}
- {/content}
- </ul>
- </nav>
- {/hascontent}
-</div>
-
-<form method="post" action="{link controller='SignatureEdit'}{/link}">
- <div class="container containerPadding marginTop">
- {if $signatureCache}
- <fieldset>
- <legend>{lang}wcf.user.signature.current{/lang}</legend>
-
- {@$signatureCache}
- </fieldset>
- {/if}
-
- {if !$__wcf->user->disableSignature}
- <fieldset id="signatureContainer">
- <legend>{lang}wcf.user.signature{/lang}</legend>
-
- <dl class="wide{if $errorField == 'text'} formError{/if}">
- <dt><label for="text">{lang}wcf.user.signature{/lang}</label></dt>
- <dd>
- <textarea id="text" name="text" rows="20" cols="40">{$text}</textarea>
- {if $errorField == 'text'}
- <small class="innerError">
- {if $errorType == 'empty'}
- {lang}wcf.global.form.error.empty{/lang}
- {elseif $errorType == 'tooLong'}
- {lang}wcf.message.error.tooLong{/lang}
- {elseif $errorType == 'censoredWordsFound'}
- {lang}wcf.message.error.censoredWordsFound{/lang}
- {elseif $errorType == 'disallowedBBCodes'}
- {lang}wcf.message.error.disallowedBBCodes{/lang}
- {else}
- {lang}wcf.user.signature.error.{@$errorType}{/lang}
- {/if}
- </small>
- {/if}
- </dd>
- </dl>
-
- {event name='fields'}
- </fieldset>
-
- {event name='fieldsets'}
-
- {include file='messageFormTabs'}
- {/if}
- </div>
-
- {if !$__wcf->user->disableSignature}
- <div class="formSubmit">
- <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s" />
- <button id="previewButton" class="jsOnly" accesskey="p">{lang}wcf.global.button.preview{/lang}</button>
- </div>
- {/if}
-</form>
-
-{include file='footer'}
-{include file='wysiwyg'}
-
-</body>
-</html>
\ No newline at end of file
+++ /dev/null
-<div class="sitemap">
- {hascontent}
- <div class="tabMenuContainer" data-active="sitemap_{@$defaultSitemapName}">
- <nav class="tabMenu">
- <ul>
- {content}
- {foreach from=$tree item=sitemapName}
- <li><a href="#sitemap_{$sitemapName}" class="sitemapNavigation" data-sitemap-name="{$sitemapName}">{lang}wcf.page.sitemap.{$sitemapName}{/lang}</a></li>
- {/foreach}
- {/content}
- </ul>
- </nav>
-
- {foreach from=$tree item=sitemapName}
- <div id="sitemap_{$sitemapName}" class="container containerPadding tabMenuContent hidden">
- {if $sitemapName == $defaultSitemapName}{@$sitemap}{/if}
- </div>
- {/foreach}
- </div>
-
- <script type="text/javascript">
- //<![CDATA[
- $(function() {
- // fix anchor
- var $location = location.toString().replace(location.hash, '');
- $('.sitemap .tabMenu a').each(function(index, link) {
- var $link = $(link);
- $link.attr('href', $location + $link.attr('href'));
- });
-
- WCF.TabMenu.init();
- });
- //]]>
- </script>
- {hascontentelse}
- {@$sitemap}
- {/hascontent}
-</div>
\ No newline at end of file
+++ /dev/null
-<ul class="sitemapList">
- {if $__wcf->getUser()->userID}
- {assign var=__userMenuActiveItems value=$__wcf->getUserMenu()->getActiveMenuItems()}
- {foreach from=$__wcf->getUserMenu()->getMenuItems('') item=menuCategory}
- <li>
- <h3>{lang}{$menuCategory->menuItem}{/lang}</h3>
- <ul>
- {foreach from=$__wcf->getUserMenu()->getMenuItems($menuCategory->menuItem) item=menuItem}
- <li><a href="{$menuItem->getLink()}">{lang}{$menuItem->menuItem}{/lang}</a></li>
- {/foreach}
- </ul>
- </li>
- {/foreach}
- {else}
- <li>
- <a href="{link controller='Login'}{/link}">{lang}wcf.user.login{/lang}</a>
- </li>
- <li>
- <a href="{link controller='Register'}{/link}">{lang}wcf.user.register{/lang}</a>
- </li>
- {/if}
-</ul>
\ No newline at end of file
+++ /dev/null
-<div class="container containerPadding spoilerBox jsSpoilerBox">
- <!-- begin:parser_nonessential -->
- <header class="jsOnly">
- <a class="button jsSpoilerToggle">{if $buttonTitle}{$buttonTitle}{else}{lang}wcf.bbcode.spoiler.show{/lang}{/if}</a>
- </header>
- <!-- end:parser_nonessential -->
-
- <div>
- {@$content}
- </div>
-</div>
-
-<!-- begin:parser_nonessential -->
-<script type="text/javascript">
- //<![CDATA[
- $(function() {
- var $spoilerBox = $('.jsSpoilerBox').removeClass('jsSpoilerBox');
- $spoilerBox.children('div').hide();
- $spoilerBox.find('> header > .jsSpoilerToggle').click(function() {
- $(this).toggleClass('active').parent().next().slideToggle();
- });
- });
- //]]>
-</script>
-<!-- end:parser_nonessential -->
\ No newline at end of file
+++ /dev/null
-<div class="container">
- <ol class="containerList styleList{if $styleList|count > 4} doubleColumned{/if}">
- {foreach from=$styleList item=style}
- <li data-style-id="{@$style->styleID}">
- <div class="box64">
- <span class="framed">
- <img src="{@$style->getPreviewImage()}" alt="" />
- </span>
- <div class="details">
- <div class="containerHeadline">
- <h3>{$style->styleName}{if $style->styleID == $__wcf->getStyleHandler()->getStyle()->styleID} <span class="icon icon16 icon-check" title="{lang}wcf.style.currentStyle{/lang}"></span>{/if}</h3>
- </div>
- {if $style->styleDescription}<small>{lang}{@$style->styleDescription}{/lang}</small>{/if}
- </div>
- </div>
- </li>
- {/foreach}
- </ol>
-</div>
\ No newline at end of file
+++ /dev/null
-{hascontent}
- <ul class="tagList">
- {content}
- {foreach from=$tags item=tag}
- <li><a href="{link controller='Tagged' object=$tag}{/link}" rel="tag" style="font-size: {@$tag->getSize()}%;">{$tag->name}</a></li>
- {/foreach}
- {/content}
- </ul>
-{/hascontent}
\ No newline at end of file
+++ /dev/null
-<dl class="jsOnly">
- <dt><label for="tagSearchInput{if $tagInputSuffix|isset}{@$tagInputSuffix}{/if}">{lang}wcf.tagging.tags{/lang}</label></dt>
- <dd>
- <div id="tagList{if $tagInputSuffix|isset}{@$tagInputSuffix}{/if}" class="editableItemList"></div>
- <input id="tagSearchInput{if $tagInputSuffix|isset}{@$tagInputSuffix}{/if}" type="text" value="" class="long" />
- <small>{lang}wcf.tagging.tags.description{/lang}</small>
- </dd>
-</dl>
-<script type="text/javascript" src="{@$__wcf->getPath()}js/WCF.Tagging{if !ENABLE_DEBUG_MODE}.min{/if}.js?v={@$__wcfVersion}"></script>
-<script type="text/javascript">
- //<![CDATA[
- $(function() {
- var $tagList = new WCF.Tagging.TagList('#tagList{if $tagInputSuffix|isset}{@$tagInputSuffix}{/if}', '#tagSearchInput{if $tagInputSuffix|isset}{@$tagInputSuffix}{/if}', {@TAGGING_MAX_TAG_LENGTH});
-
- {if $tags|isset && $tags|count}
- $tagList.load([ {implode from=$tags item=tag}'{$tag}'{/implode} ]);
- {/if}
- });
- //]]>
-</script>
\ No newline at end of file
+++ /dev/null
-{include file='documentHeader'}
-
-<head>
- <title>{lang}wcf.tagging.taggedObjects.{@$objectType}{/lang} - {PAGE_TITLE|language}</title>
-
- {include file='headInclude'}
-
- {if $pageNo < $pages}
- <link rel="next" href="{link controller='Tagged' object=$tag}objectType={@$objectType}&pageNo={@$pageNo+1}{/link}" />
- {/if}
- {if $pageNo > 1}
- <link rel="prev" href="{link controller='Tagged' object=$tag}objectType={@$objectType}{if $pageNo > 2}&pageNo={@$pageNo-1}{/if}{/link}" />
- {/if}
- <link rel="canonical" href="{link controller='Tagged' object=$tag}objectType={@$objectType}{if $pageNo > 1}&pageNo={@$pageNo}{/if}{/link}" />
-</head>
-
-<body id="tpl{$templateName|ucfirst}">
-
-{capture assign='sidebar'}
- <fieldset>
- <legend>{lang}wcf.tagging.objectTypes{/lang}</legend>
-
- <nav>
- <ul>
- {foreach from=$availableObjectTypes item=availableObjectType}
- <li{if $objectType == $availableObjectType->objectType} class="active"{/if}><a href="{link controller='Tagged' object=$tag}objectType={@$availableObjectType->objectType}{/link}">{lang}wcf.tagging.objectType.{@$availableObjectType->objectType}{/lang}</a></li>
- {/foreach}
- </ul>
- </nav>
- </fieldset>
-
- <fieldset>
- <legend>{lang}wcf.tagging.tags{/lang}</legend>
-
- <ul class="tagList">
- {foreach from=$tags item=__tag}
- <li><a href="{link controller='Tagged' object=$__tag}objectType={@$objectType}{/link}" rel="tag" style="font-size: {@$__tag->getSize()}%;">{$__tag->name}</a></li>
- {/foreach}
- </ul>
- </fieldset>
-{/capture}
-
-{include file='header' sidebarOrientation='left'}
-
-<header class="boxHeadline">
- <h1>{lang}wcf.tagging.taggedObjects.{@$objectType}{/lang}</h1>
-</header>
-
-{include file='userNotice'}
-
-<div class="contentNavigation">
- {pages print=true assign=pagesLinks controller='Tagged' object=$tag link="objectType=$objectType&pageNo=%d"}
-
- {hascontent}
- <nav>
- <ul>
- {content}
- {event name='contentNavigationButtonsTop'}
- {/content}
- </ul>
- </nav>
- {/hascontent}
-</div>
-
-{if $items}
- {include file=$resultListTemplateName application=$resultListApplication}
-{else}
- <p class="info">{lang}wcf.tagging.taggedObjects.noResults{/lang}</p>
-{/if}
-
-<div class="contentNavigation">
- {@$pagesLinks}
-
- {hascontent}
- <nav>
- <ul>
- {content}
- {event name='contentNavigationButtonsBottom'}
- {/content}
- </ul>
- </nav>
- {/hascontent}
-</div>
-
-{include file='footer'}
-
-</body>
-</html>
\ No newline at end of file
+++ /dev/null
-{include file='documentHeader'}
-
-<head>
- <title>{lang}wcf.user.team{/lang} - {PAGE_TITLE|language}</title>
-
- {include file='headInclude'}
-
- <link rel="canonical" href="{link controller='Team'}{/link}" />
-
- <script type="text/javascript">
- //<![CDATA[
- $(function() {
- WCF.Language.addObject({
- 'wcf.user.button.follow': '{lang}wcf.user.button.follow{/lang}',
- 'wcf.user.button.ignore': '{lang}wcf.user.button.ignore{/lang}',
- 'wcf.user.button.unfollow': '{lang}wcf.user.button.unfollow{/lang}',
- 'wcf.user.button.unignore': '{lang}wcf.user.button.unignore{/lang}'
- });
-
- new WCF.User.Action.Follow($('.userList > li'));
- new WCF.User.Action.Ignore($('.userList > li'));
- });
- //]]>
- </script>
-</head>
-
-<body id="tpl{$templateName|ucfirst}">
-
-{capture assign='sidebar'}
- {@$__boxSidebar}
-{/capture}
-
-{include file='header' sidebarOrientation='right'}
-
-<header class="boxHeadline">
- <h1>{lang}wcf.user.team{/lang}</h1>
-</header>
-
-{include file='userNotice'}
-
-<div class="contentNavigation">
- {hascontent}
- <nav>
- <ul>
- {content}
- {event name='contentNavigationButtonsTop'}
- {/content}
- </ul>
- </nav>
- {/hascontent}
-</div>
-
-{foreach from=$objects->getTeams() item=team}
- <header class="boxHeadline boxSubHeadline">
- <h2>{$team->groupName|language} <span class="badge">{#$team->getMembers()|count}</span></h2>
- </header>
-
- <div class="container marginTop">
- <ol class="containerList doubleColumned userList">
- {foreach from=$team->getMembers() item=user}
- {include file='userListItem'}
- {/foreach}
- </ol>
- </div>
-{/foreach}
-
-<div class="contentNavigation">
- {hascontent}
- <nav>
- <ul>
- {content}
- {event name='contentNavigationButtonsBottom'}
- {/content}
- </ul>
- </nav>
- {/hascontent}
-</div>
-
-{include file='footer'}
-
-</body>
-</html>
+++ /dev/null
-<script type="text/javascript">
- //<![CDATA[
- $(function() {
- var $availableLanguages = { {implode from=$availableLanguages key=languageID item=languageName}{@$languageID}: '{$languageName}'{/implode} };
- var $optionValues = { {implode from=$i18nValues[$option->optionName] key=languageID item=value}'{@$languageID}': '{$value}'{/implode} };
- new WCF.MultipleLanguageInput('{$option->optionName}', false, $optionValues, $availableLanguages);
- });
- //]]>
-</script>
-<input type="{@$inputType}" id="{$option->optionName}" name="{$option->optionName}" value="{$i18nPlainValues[$option->optionName]}" />
+++ /dev/null
-<input type="{@$inputType}" id="{$option->optionName}" name="values[{$option->optionName}]" value="{$value}"{if $option->minlength > 0} required="required"{/if}{if $option->maxlength} maxlength="{$option->maxlength}"{/if}{if $inputClass} class="{@$inputClass}"{/if} />
+++ /dev/null
-<script type="text/javascript">
- //<![CDATA[
- $(function() {
- var $availableLanguages = { {implode from=$availableLanguages key=languageID item=languageName}{@$languageID}: '{$languageName}'{/implode} };
- var $optionValues = { {implode from=$i18nValues[$option->optionName] key=languageID item=value}'{@$languageID}': '{$value}'{/implode} };
- new WCF.MultipleLanguageInput('{$option->optionName}', false, $optionValues, $availableLanguages);
- });
- //]]>
-</script>
-<textarea id="{$option->optionName}" name="{$option->optionName}" cols="40" rows="10">{$i18nPlainValues[$option->optionName]}</textarea>
+++ /dev/null
-<textarea id="{$option->optionName}" name="values[{$option->optionName}]" cols="40" rows="10">{$value}</textarea>
+++ /dev/null
-{include file='documentHeader'}
-
-<head>
- <title>{lang}wcf.user.profile{/lang} - {lang}wcf.user.members{/lang} - {PAGE_TITLE|language}</title>
-
- {include file='headInclude'}
-
- <link rel="canonical" href="{link controller='User' object=$user}{/link}" />
-
- <script type="text/javascript" src="{@$__wcf->getPath('wcf')}js/WCF.User{if !ENABLE_DEBUG_MODE}.min{/if}.js?v={@$__wcfVersion}"></script>
- {event name='javascriptInclude'}
- <script type="text/javascript">
- //<![CDATA[
- $(function() {
- {if $__wcf->getUser()->userID && $__wcf->getUser()->userID != $user->userID}
- WCF.Language.addObject({
- 'wcf.user.activityPoint': '{lang}wcf.user.activityPoint{/lang}',
- 'wcf.user.button.follow': '{lang}wcf.user.button.follow{/lang}',
- 'wcf.user.button.unfollow': '{lang}wcf.user.button.unfollow{/lang}',
- 'wcf.user.button.ignore': '{lang}wcf.user.button.ignore{/lang}',
- 'wcf.user.button.unignore': '{lang}wcf.user.button.unignore{/lang}'
- });
-
- {if !$user->getPermission('user.profile.cannotBeIgnored')}
- new WCF.User.Profile.IgnoreUser({@$user->userID}, {if $__wcf->getUserProfileHandler()->isIgnoredUser($user->userID)}true{else}false{/if});
- {/if}
-
- new WCF.User.Profile.Follow({@$user->userID}, {if $__wcf->getUserProfileHandler()->isFollowing($user->userID)}true{else}false{/if});
- {/if}
-
- new WCF.User.Profile.TabMenu({@$user->userID});
-
- WCF.TabMenu.init();
-
- {if $user->canEdit() || ($__wcf->getUser()->userID == $user->userID && $user->canEditOwnProfile())}
- WCF.Language.addObject({
- 'wcf.user.editProfile': '{lang}wcf.user.editProfile{/lang}',
- });
-
- new WCF.User.Profile.Editor({@$user->userID}, {if $editOnInit}true{else}false{/if});
- {/if}
-
- {if $user->activityPoints}
- WCF.Language.addObject({
- 'wcf.user.activityPoint': '{lang}wcf.user.activityPoint{/lang}'
- });
-
- WCF.User.Profile.ActivityPointList.init();
- {/if}
-
- {if $followingCount > 10}
- var $followingList = null;
- $('#followingAll').click(function() {
- if ($followingList === null) {
- $followingList = new WCF.User.List('wcf\\data\\user\\follow\\UserFollowingAction', '{lang}wcf.user.profile.following{/lang}', { userID: {@$user->userID} });
- }
-
- $followingList.open();
- });
- {/if}
- {if $followerCount > 10}
- var $followerList = null;
- $('#followerAll').click(function() {
- if ($followerList === null) {
- $followerList = new WCF.User.List('wcf\\data\\user\\follow\\UserFollowAction', '{lang}wcf.user.profile.followers{/lang}', { userID: {@$user->userID} });
- }
-
- $followerList.open();
- });
- {/if}
- {if $visitorCount > 10}
- var $visitorList = null;
- $('#visitorAll').click(function() {
- if ($visitorList === null) {
- $visitorList = new WCF.User.List('wcf\\data\\user\\profile\\visitor\\UserProfileVisitorAction', '{lang}wcf.user.profile.visitors{/lang}', { userID: {@$user->userID} });
- }
-
- $visitorList.open();
- });
- {/if}
-
- {event name='javascriptInit'}
- });
- //]]>
- </script>
-
- <noscript>
- <style type="text/css">
- #profileContent > .tabMenu > ul > li:not(:first-child) {
- display: none !important;
- }
-
- #profileContent > .tabMenuContent:not(:first-of-type) {
- display: none !important;
- }
- </style>
- </noscript>
-</head>
-
-<body id="tpl{$templateName|ucfirst}">
-
-{include file='userSidebar' assign='sidebar'}
-
-{include file='header' sidebarOrientation='left'}
-
-<header class="boxHeadline userHeadline">
- <span class="framed invisible">{@$user->getAvatar()->getImageTag(48)}</span>
-
- <h1>{$user->username}{if MODULE_USER_RANK && $user->getUserTitle()} <span class="badge userTitleBadge{if $user->getRank() && $user->getRank()->cssClassName} {@$user->getRank()->cssClassName}{/if}">{$user->getUserTitle()}</span>{/if}</h1>
-
- <ul class="dataList">
- {if $user->gender}<li>{lang}wcf.user.gender.{if $user->gender == 1}male{else}female{/if}{/lang}</li>{/if}
- {if $user->getAge()}<li>{@$user->getAge()}</li>{/if}
- {if $user->location}<li>{lang}wcf.user.membersList.location{/lang}</li>{/if}
- {if $user->getOldUsername()}<li>{lang}wcf.user.profile.oldUsername{/lang}</li>{/if}
- <li>{lang}wcf.user.membersList.registrationDate{/lang}</li>
- {event name='userDataRow1'}
- </ul>
- {if $user->canViewOnlineStatus() && $user->getLastActivityTime()}
- <dl class="plain inlineDataList">
- <dt>{lang}wcf.user.usersOnline.lastActivity{/lang}</dt>
- <dd>{@$user->getLastActivityTime()|time}{if $user->getCurrentLocation()}, {@$user->getCurrentLocation()}{/if}</dd>
- {event name='userDataRow2'}
- </dl>
- {/if}
- <nav class="jsMobileNavigation buttonGroupNavigation">
- <ul id="profileButtonContainer" class="buttonGroup">{*
- *}{if $user->userID != $__wcf->user->userID}{if $user->isAccessible('canViewEmailAddress')}<li><a class="button jsTooltip" href="mailto:{@$user->getEncodedEmail()}" title="{lang}wcf.user.button.mail{/lang}"><span class="icon icon16 icon-envelope-alt"></span> <span class="invisible">{lang}wcf.user.button.mail{/lang}</span></a></li>{elseif $user->isAccessible('canMail') && $__wcf->session->getPermission('user.profile.canMail')}<li><a class="button jsTooltip" href="{link controller='Mail' object=$user}{/link}" title="{lang}wcf.user.button.mail{/lang}"><span class="icon icon16 icon-envelope-alt"></span> <span class="invisible">{lang}wcf.user.button.mail{/lang}</span></a></li>{/if}{/if}{*
- *}{event name='buttons'}{*
- *}</ul>
- </nav>
-</header>
-
-{include file='userNotice'}
-
-<div class="contentNavigation">
- {hascontent}
- <nav>
- <ul>
- {content}
- {event name='contentNavigationButtons'}
- {/content}
- </ul>
- </nav>
- {/hascontent}
-</div>
-
-<section id="profileContent" class="marginTop tabMenuContainer" data-active="{$__wcf->getUserProfileMenu()->getActiveMenuItem()->getIdentifier()}">
- <nav class="tabMenu">
- <ul>
- {foreach from=$__wcf->getUserProfileMenu()->getMenuItems() item=menuItem}
- {if $menuItem->getContentManager()->isVisible($userID)}
- <li><a href="{$__wcf->getAnchor($menuItem->getIdentifier())}">{lang}wcf.user.profile.menu.{@$menuItem->menuItem}{/lang}</a></li>
- {/if}
- {/foreach}
- </ul>
- </nav>
-
- {foreach from=$__wcf->getUserProfileMenu()->getMenuItems() item=menuItem}
- {if $menuItem->getContentManager()->isVisible($userID)}
- <div id="{$menuItem->getIdentifier()}" class="container tabMenuContent" data-menu-item="{$menuItem->menuItem}">
- {if $menuItem === $__wcf->getUserProfileMenu()->getActiveMenuItem()}
- {@$profileContent}
- {/if}
- </div>
- {/if}
- {/foreach}
-</section>
-
-{include file='footer'}
-
-</body>
-</html>
+++ /dev/null
-{include file="documentHeader"}
-<head>
- <title>{lang}wcf.global.error.title{/lang} - {lang}{PAGE_TITLE}{/lang}</title>
-
- {include file='headInclude'}
-</head>
-
-<body{if $templateName|isset} id="tpl{$templateName|ucfirst}"{/if}>
-
-{include file='header'}
-
-<p id="errorMessage" class="error">
- {@$message}
-</p>
-<script type="text/javascript">
- //<![CDATA[
- if (document.referrer) {
- $('#errorMessage').append('<br /><a href="' + document.referrer + '">{lang}wcf.global.error.backward{/lang}</a>');
- }
- //]]>
-</script>
-
-{if ENABLE_DEBUG_MODE}
- <!--
- {$name} thrown in {$file} ({@$line})
- Stacktrace:
- {$stacktrace}
- -->
-{/if}
-
-{include file='footer'}
-
-</body>
-</html>
+++ /dev/null
-{include file='userInformationHeadline'}
-
-{include file='userInformationButtons'}
-
-{include file='userInformationStatistics'}
\ No newline at end of file
+++ /dev/null
-{hascontent}
- <nav class="jsMobileNavigation buttonGroupNavigation">
- <ul class="buttonList">
- {content}
- {if $user->homepage}
- <li><a class="jsTooltip" href="{@$user->homepage}" title="{lang}wcf.user.option.homepage{/lang}"{if EXTERNAL_LINK_REL_NOFOLLOW} rel="nofollow"{/if}{if EXTERNAL_LINK_TARGET_BLANK} target="_blank"{/if}><span class="icon icon16 icon-home"></span> <span class="invisible">{lang}wcf.user.option.homepage{/lang}</span></a></li>
- {/if}
-
- {if $user->userID != $__wcf->user->userID}
- {if $user->isAccessible('canViewEmailAddress')}
- <li><a class="jsTooltip" href="mailto:{@$user->getEncodedEmail()}" title="{lang}wcf.user.button.mail{/lang}"><span class="icon icon16 icon-envelope-alt"></span> <span class="invisible">{lang}wcf.user.button.mail{/lang}</span></a></li>
- {elseif $user->isAccessible('canMail') && $__wcf->session->getPermission('user.profile.canMail')}
- <li><a class="jsTooltip" href="{link controller='Mail' object=$user}{/link}" title="{lang}wcf.user.button.mail{/lang}"><span class="icon icon16 icon-envelope-alt"></span> <span class="invisible">{lang}wcf.user.button.mail{/lang}</span></a></li>
- {/if}
- {/if}
-
- {if $__wcf->user->userID && $user->userID != $__wcf->user->userID}
- {if $__wcf->getUserProfileHandler()->isFollowing($user->userID)}
- <li class="jsOnly"><a data-following="1" data-object-id="{@$user->userID}" class="jsFollowButton jsTooltip" title="{lang}wcf.user.button.unfollow{/lang}"><span class="icon icon16 icon-minus"></span> <span class="invisible">{lang}wcf.user.button.unfollow{/lang}</span></a></li>
- {else}
- <li class="jsOnly"><a data-following="0" data-object-id="{@$user->userID}" class="jsFollowButton jsTooltip" title="{lang}wcf.user.button.follow{/lang}"><span class="icon icon16 icon-plus"></span> <span class="invisible">{lang}wcf.user.button.follow{/lang}</span></a></li>
- {/if}
-
- {*if !$user->getPermission('user.profile.cannotBeIgnored')*}{*disabled for performance reasons*}
- {if $__wcf->getUserProfileHandler()->isIgnoredUser($user->userID)}
- <li class="jsOnly"><a data-ignored="1" data-object-id="{@$user->userID}" class="jsIgnoreButton jsTooltip" title="{lang}wcf.user.button.unignore{/lang}"><span class="icon icon16 icon-circle-blank"></span> <span class="invisible">{lang}wcf.user.button.unignore{/lang}</span></a></li>
- {else}
- <li class="jsOnly"><a data-ignored="0" data-object-id="{@$user->userID}" class="jsIgnoreButton jsTooltip" title="{lang}wcf.user.button.ignore{/lang}"><span class="icon icon16 icon-off"></span> <span class="invisible">{lang}wcf.user.button.ignore{/lang}</span></a></li>
- {/if}
- {*/if*}
- {/if}
-
- {event name='buttons'}
- {/content}
- </ul>
- </nav>
-{/hascontent}
\ No newline at end of file
+++ /dev/null
-<div class="containerHeadline">
- <h3><a href="{link controller='User' object=$user}{/link}">{$user->username}</a>{if MODULE_USER_RANK && $user->getUserTitle()} <span class="badge userTitleBadge{if $user->getRank() && $user->getRank()->cssClassName} {@$user->getRank()->cssClassName}{/if}">{$user->getUserTitle()}</span>{/if}</h3>
-</div>
-<ul class="dataList userFacts">
- {if $user->gender}<li>{lang}wcf.user.gender.{if $user->gender == 1}male{else}female{/if}{/lang}</li>{/if}
- {if $user->getAge()}<li>{@$user->getAge()}</li>{/if}
- {if $user->location}<li>{lang}wcf.user.membersList.location{/lang}</li>{/if}
- <li>{lang}wcf.user.membersList.registrationDate{/lang}</li>
-
- {event name='userData'}
-</ul>
\ No newline at end of file
+++ /dev/null
-<dl class="plain inlineDataList userStats">
- {event name='statistics'}
-
- {if MODULE_LIKE}
- <dt>{lang}wcf.like.likesReceived{/lang}</dt>
- <dd>{#$user->likesReceived}</dd>
- {/if}
-
- <dt>{lang}wcf.user.activityPoint{/lang}</dt>
- <dd>{#$user->activityPoints}</dd>
-</dl>
\ No newline at end of file
+++ /dev/null
-<li>
- <div class="box48">
- <a href="{link controller='User' object=$user}{/link}" title="{$user->username}" class="framed">{@$user->getAvatar()->getImageTag(48)}</a>
-
- <div class="details userInformation">
- {include file='userInformation'}
- </div>
- </div>
-</li>
\ No newline at end of file
+++ /dev/null
-{capture assign='sidebar'}
- {assign var=__userMenuActiveItems value=$__wcf->getUserMenu()->getActiveMenuItems()}
-
- <script type="text/javascript">
- //<![CDATA[
- $(function() {
- // mobile safari hover workaround
- if ($(window).width() <= 800) {
- $('.sidebar').addClass('mobileSidebar').hover(function() { });
- }
- });
- //]]>
- </script>
-
- {foreach from=$__wcf->getUserMenu()->getMenuItems('') item=menuCategory}
- <fieldset>
- <legend>{lang}{$menuCategory->menuItem}{/lang}</legend>
-
- <nav>
- <ul>
- {foreach from=$__wcf->getUserMenu()->getMenuItems($menuCategory->menuItem) item=menuItem}
- <li{if $menuItem->menuItem|in_array:$__userMenuActiveItems} class="active"{/if}><a href="{$menuItem->getProcessor()->getLink()}">{@$menuItem}</a></li>
- {/foreach}
- </ul>
- </nav>
- </fieldset>
- {/foreach}
-{/capture}
+++ /dev/null
-<div class="userNotice">
- {if OFFLINE && $__wcf->session->getPermission('admin.general.canViewPageDuringOfflineMode')}
- <div class="warning">
- <p><strong>{lang}wcf.page.offline{/lang}</strong></p>
- <p>{if OFFLINE_MESSAGE_ALLOW_HTML}{@OFFLINE_MESSAGE}{else}{@OFFLINE_MESSAGE|htmlspecialchars|nl2br}{/if}</p>
- </div>
- {/if}
-
- {if $__wcf->user->activationCode && REGISTER_ACTIVATION_METHOD == 1}
- <p class="warning">{lang}wcf.user.register.needActivation{/lang}</p>
- {/if}
-
- {event name='userNotice'}
-</div>
\ No newline at end of file
+++ /dev/null
-{foreach from=$options item=optionData}
- {assign var=option value=$optionData[object]}
- <dl class="{$option->optionName}Input{if $errorType|is_array && $errorType[$option->optionName]|isset} formError{/if}">
- <dt{if $optionData[cssClassName]} class="{$optionData[cssClassName]}"{/if}><label for="{$option->optionName}">{lang}{@$langPrefix}{$option->optionName}{/lang}</label></dt>
- <dd>{@$optionData[html]}
- <small>{lang __optional=true}{@$langPrefix}{$option->optionName}.description{/lang}</small>
-
- {if $errorType|is_array && $errorType[$option->optionName]|isset}
- <small class="innerError">
- {if $errorType[$option->optionName] == 'empty'}
- {lang}wcf.global.form.error.empty{/lang}
- {else}
- {lang}{@$langPrefix}error.{$errorType[$option->optionName]}{/lang}
- {/if}
- </small>
- {/if}
- </dd>
- </dl>
-{/foreach}
+++ /dev/null
-{if $__wcf->user->userID}
- <!-- user menu -->
- <li id="userMenu" class="dropdown">
- <a class="dropdownToggle framed" data-toggle="userMenu" href="{link controller='User' object=$__wcf->user}{/link}">{@$__wcf->getUserProfileHandler()->getAvatar()->getImageTag(24)} <span>{lang}wcf.user.userNote{/lang}</span></a>
- <ul class="dropdownMenu">
- <li><a href="{link controller='User' object=$__wcf->user}{/link}" class="box32">
- <div class="framed">{@$__wcf->getUserProfileHandler()->getAvatar()->getImageTag(32)}</div>
-
- <div class="containerHeadline">
- <h3>{$__wcf->user->username}</h3>
- <small>{lang}wcf.user.myProfile{/lang}</small>
- </div>
- </a></li>
- {if $__wcf->getUserProfileHandler()->canEditOwnProfile()}<li><a href="{link controller='User' object=$__wcf->user}editOnInit=true#about{/link}">{lang}wcf.user.editProfile{/lang}</a></li>{/if}
- <li><a href="{link controller='Settings'}{/link}">{lang}wcf.user.menu.settings{/lang}</a></li>
-
- {event name='userMenuItems'}
-
- {if $__wcf->session->getPermission('admin.general.canUseAcp')}
- <li class="dropdownDivider"></li>
- <li><a href="{link isACP=true}{/link}">{lang}wcf.global.acp.short{/lang}</a></li>
- {/if}
- <li class="dropdownDivider"></li>
- <li><a href="{link controller='Logout'}t={@SECURITY_TOKEN}{/link}" onclick="WCF.System.Confirmation.show('{lang}wcf.user.logout.sure{/lang}', $.proxy(function (action) { if (action == 'confirm') window.location.href = $(this).attr('href'); }, this)); return false;">{lang}wcf.user.logout{/lang}</a></li>
- </ul>
- </li>
-
- <li><a href="{link controller='Settings'}{/link}" class="noJsOnly" style="display: none"><span class="icon icon16 icon-cogs"></span> <span>{lang}wcf.user.menu.settings{/lang}</span></a></li>
-
- <!-- user notifications -->
- {if !$__hideUserMenu|isset}
- <li id="userNotifications" data-count="{#$__wcf->getUserNotificationHandler()->getNotificationCount()}">
- <a href="{link controller='NotificationList'}{/link}"><span class="icon icon16 icon-bell-alt"></span> <span>{lang}wcf.user.notification.notifications{/lang}</span>{if $__wcf->getUserNotificationHandler()->getNotificationCount()} <span class="badge badgeInverse">{#$__wcf->getUserNotificationHandler()->getNotificationCount()}</span>{/if}</a>
- <script type="text/javascript">
- //<![CDATA[
- $(function() {
- WCF.Language.addObject({
- 'wcf.user.notification.count': '{lang}wcf.user.notification.count{/lang}',
- 'wcf.user.notification.markAllAsConfirmed': '{lang}wcf.user.notification.markAllAsConfirmed{/lang}',
- 'wcf.user.notification.markAllAsConfirmed.confirmMessage': '{lang}wcf.user.notification.markAllAsConfirmed.confirmMessage{/lang}',
- 'wcf.user.notification.noMoreNotifications': '{lang}wcf.user.notification.noMoreNotifications{/lang}',
- 'wcf.user.notification.showAll': '{lang}wcf.user.notification.showAll{/lang}'
- });
-
- new WCF.Notification.UserPanel('{link controller='NotificationList'}{/link}');
- });
- //]]>
- </script>
- </li>
- {/if}
-{else}
- {if !$__disableLoginLink|isset}
- <!-- login box -->
- <li>
- <a class="loginLink" href="{link controller='Login'}{/link}">{lang}wcf.user.loginOrRegister{/lang}</a>
- <div id="loginForm" style="display: none;">
- {capture assign='__3rdPartyButtons'}
- {if GITHUB_PUBLIC_KEY !== '' && GITHUB_PRIVATE_KEY !== ''}
- <li id="githubAuth" class="3rdPartyAuth">
- <a href="{link controller='GithubAuth'}{/link}" class="button"><span class="icon icon16 icon-github"></span> <span>{lang}wcf.user.3rdparty.github.login{/lang}</span></a>
- </li>{*
- *}{/if}{*
-
- *}{if TWITTER_PUBLIC_KEY !== '' && TWITTER_PRIVATE_KEY !== ''}{*
- *}<li id="twitterAuth" class="3rdPartyAuth">
- <a href="{link controller='TwitterAuth'}{/link}" class="button"><span class="icon icon16 icon-twitter"></span> <span>{lang}wcf.user.3rdparty.twitter.login{/lang}</span></a>
- </li>{*
- *}{/if}{*
-
- *}{if FACEBOOK_PUBLIC_KEY !== '' && FACEBOOK_PRIVATE_KEY !== ''}{*
- *}<li id="facebookAuth" class="3rdPartyAuth">
- <a href="{link controller='FacebookAuth'}{/link}" class="button"><span class="icon icon16 icon-facebook"></span> <span>{lang}wcf.user.3rdparty.facebook.login{/lang}</span></a>
- </li>{*
- *}{/if}{*
-
- *}{if GOOGLE_PUBLIC_KEY !== '' && GOOGLE_PRIVATE_KEY !== ''}{*
- *}<li id="googleAuth" class="3rdPartyAuth">
- <a href="{link controller='GoogleAuth'}{/link}" class="button"><span class="icon icon16 icon-google-plus"></span> <span>{lang}wcf.user.3rdparty.google.login{/lang}</span></a>
- </li>
- {/if}
- {/capture}
-
- <form method="post" action="{link controller='Login'}{/link}">
- <fieldset>
- {if $__3rdPartyButtons|trim}<legend>{lang}wcf.user.login{/lang}</legend>{/if}
-
- <dl>
- <dt><label for="username">{lang}wcf.user.usernameOrEmail{/lang}</label></dt>
- <dd>
- <input type="text" id="username" name="username" value="" required="required" class="long" />
- </dd>
- </dl>
-
- {if !REGISTER_DISABLED}
- <dl>
- <dt>{lang}wcf.user.login.action{/lang}</dt>
- <dd>
- <label><input type="radio" name="action" value="register" /> {lang}wcf.user.login.action.register{/lang}</label>
- <label><input type="radio" name="action" value="login" checked="checked" /> {lang}wcf.user.login.action.login{/lang}</label>
- </dd>
- </dl>
- {/if}
-
- <dl>
- <dt><label for="password">{lang}wcf.user.password{/lang}</label></dt>
- <dd>
- <input type="password" id="password" name="password" value="" class="long" />
- </dd>
- </dl>
-
- {if $__wcf->getUserAuthenticationFactory()->getUserAuthentication()->supportsPersistentLogins()}
- <dl>
- <dd><label><input type="checkbox" id="useCookies" name="useCookies" value="1" checked="checked" /> {lang}wcf.user.useCookies{/lang}</label></dd>
- </dl>
- {/if}
-
- {event name='loginFields'}
-
- <div class="formSubmit">
- <input type="submit" id="loginSubmitButton" name="submitButton" value="{lang}wcf.user.button.login{/lang}" accesskey="s" />
- <input type="hidden" name="url" value="{$__wcf->session->requestURI}" />
- </div>
- </fieldset>
-
- {if $__3rdPartyButtons|trim}
- <fieldset>
- <legend>{lang}wcf.user.login.3rdParty{/lang}</legend>
- <ul class="buttonGroup thirdPartyLogin">
- {@$__3rdPartyButtons}
- </ul>
- </fieldset>
- {/if}
- </form>
- </div>
-
- <script type="text/javascript">
- //<![CDATA[
- $(function() {
- WCF.Language.addObject({
- 'wcf.user.button.login': '{lang}wcf.user.button.login{/lang}',
- 'wcf.user.button.register': '{lang}wcf.user.button.register{/lang}',
- 'wcf.user.login': '{lang}wcf.user.login{/lang}'
- });
- new WCF.User.Login(true);
- });
- //]]>
- </script>
- </li>
- {/if}
- {if $__wcf->getLanguage()->getLanguages()|count > 1}
- <li id="pageLanguageContainer">
- <script type="text/javascript">
- //<![CDATA[
- $(function() {
- var $languages = {
- {implode from=$__wcf->getLanguage()->getLanguages() item=language}
- '{@$language->languageID}': {
- iconPath: '{@$language->getIconPath()}',
- languageName: '{$language}'
- }
- {/implode}
- };
-
- new WCF.Language.Chooser('pageLanguageContainer', 'languageID', {@$__wcf->getLanguage()->languageID}, $languages, function(item) {
- var $location = window.location.toString().replace(/#.*/, '').replace(/(\?|&)l=[0-9]+/g, '');
- var $delimiter = ($location.indexOf('?') == -1) ? '?' : '&';
-
- window.location = $location + $delimiter + 'l=' + item.data('languageID') + window.location.hash;
- });
- });
- //]]>
- </script>
- </li>
- {/if}
-{/if}
-
-{if !$__hideUserMenu|isset}
- {if $__wcf->user->userID && $__wcf->session->getPermission('mod.general.canUseModeration')}
- <li id="outstandingModeration" data-count="{#$__wcf->getModerationQueueManager()->getOutstandingModerationCount()}">
- <a href="{link controller='ModerationList'}{/link}">
- <span class="icon icon16 icon-warning-sign"></span>
- <span>{lang}wcf.moderation.moderation{/lang}</span>
- {if $__wcf->getModerationQueueManager()->getOutstandingModerationCount()}<span class="badge badgeInverse">{#$__wcf->getModerationQueueManager()->getOutstandingModerationCount()}</span>{/if}
- </a>
- <script type="text/javascript" src="{@$__wcf->getPath()}js/WCF.Moderation{if !ENABLE_DEBUG_MODE}.min{/if}.js?v={@$__wcfVersion}"></script>
- <script type="text/javascript">
- //<![CDATA[
- $(function() {
- WCF.Language.addObject({
- 'wcf.moderation.noMoreItems': '{lang}wcf.moderation.noMoreItems{/lang}',
- 'wcf.moderation.showAll': '{lang}wcf.moderation.showAll{/lang}'
- });
-
- new WCF.Moderation.UserPanel('{link controller='ModerationList'}{/link}');
- });
- //]]>
- </script>
- </li>
- {/if}
-
- {event name='menuItems'}
-{/if}
-
-{if $__wcf->user->userID}
- <li><a href="{link controller='Logout'}t={@SECURITY_TOKEN}{/link}" class="noJsOnly" style="display: none"><span class="icon icon16 icon-signout"></span> <span>{lang}wcf.user.logout{/lang}</span></a></li>
-{/if}
+++ /dev/null
-<div class="containerPadding">
- {hascontent}
- {content}
- {foreach from=$options item=category}
- {foreach from=$category[categories] item=optionCategory}
- <fieldset>
- <legend>{lang}wcf.user.option.category.{@$optionCategory[object]->categoryName}{/lang}</legend>
-
- <dl>
- {foreach from=$optionCategory[options] item=userOption}
- <dt>{lang}wcf.user.option.{@$userOption[object]->optionName}{/lang}</dt>
- <dd>{@$userOption[object]->optionValue}</dd>
- {/foreach}
- </dl>
- </fieldset>
- {/foreach}
- {/foreach}
- {/content}
- {hascontentelse}
- {lang}wcf.user.profile.content.about.noPublicData{/lang}
- {/hascontent}
-</div>
\ No newline at end of file
+++ /dev/null
-<div class="containerPadding">
- {foreach from=$optionTree item=categoryLevel1}
- {foreach from=$categoryLevel1[categories] item=categoryLevel2}
- <fieldset>
- <legend>{lang}wcf.user.option.category.{@$categoryLevel2[object]->categoryName}{/lang}</legend>
-
- {if $categoryLevel2[object]->categoryName == 'profile.personal' && MODULE_USER_RANK && $__wcf->session->getPermission('user.profile.canEditUserTitle')}
- <dl>
- <dt><label for="__userTitle">{lang}wcf.user.userTitle{/lang}</label></dt>
- <dd>
- <input type="text" id="__userTitle" name="values[__userTitle]" value="{$__userTitle}" class="long" maxlength="{@USER_TITLE_MAX_LENGTH}" />
- {if $errorType[__userTitle]|isset}
- <small class="innerError">
- {lang}wcf.user.userTitle.error.{@$errorType[__userTitle]}{/lang}
- </small>
- {/if}
- <small>{lang}wcf.user.userTitle.description{/lang}</small>
- </dd>
- </dl>
- {/if}
-
- {include file='userProfileOptionFieldList' options=$categoryLevel2[options] langPrefix='wcf.user.option.'}
- </fieldset>
- {/foreach}
- {/foreach}
-
- <div class="formSubmit">
- <button class="buttonPrimary" accesskey="s" data-type="save">{lang}wcf.global.button.save{/lang}</button>
- <button data-type="restore">{lang}wcf.global.button.cancel{/lang}</button>
- </div>
-</div>
\ No newline at end of file
+++ /dev/null
-{include file='__commentJavaScript' commentContainerID='userProfileCommentList'}
-
-{if $commentCanAdd}
- <ul id="userProfileCommentList" class="commentList containerList" data-can-add="true" data-object-id="{@$userID}" data-object-type-id="{@$commentObjectTypeID}" data-comments="{@$commentList->countObjects()}" data-last-comment-time="{@$lastCommentTime}">
- {include file='commentList'}
- </ul>
-{else}
- {hascontent}
- <ul id="userProfileCommentList" class="commentList containerList" data-can-add="false" data-object-id="{@$userID}" data-object-type-id="{@$commentObjectTypeID}" data-comments="{@$commentList->countObjects()}" data-last-comment-time="{@$lastCommentTime}">
- {content}
- {include file='commentList'}
- {/content}
- </ul>
- {hascontentelse}
- <div class="containerPadding">
- {lang}wcf.user.profile.content.wall.noEntries{/lang}
- </div>
- {/hascontent}
-{/if}
\ No newline at end of file
+++ /dev/null
-{foreach from=$options item=optionData}
- {assign var=option value=$optionData[object]}
- {if $errorType|is_array && $errorType[$option->optionName]|isset}
- {assign var=error value=$errorType[$option->optionName]}
- {else}
- {assign var=error value=''}
- {/if}
- <dl class="{$option->optionName}Input{if $error} formError{/if}">
- <dt{if $optionData[cssClassName]} class="{$optionData[cssClassName]}"{/if}><label for="{$option->optionName}">{lang}{@$langPrefix}{$option->optionName}{/lang}</label></dt>
- <dd>{@$optionData[html]}
- {if $error}
- <small class="innerError">
- {if $error == 'empty'}
- {lang}wcf.global.form.error.empty{/lang}
- {else}
- {lang}{@$langPrefix}error.{$error}{/lang}
- {/if}
- </small>
- {/if}
- <small>{lang __optional=true}{@$langPrefix}{$option->optionName}.description{/lang}</small>
- </dd>
- </dl>
-{/foreach}
+++ /dev/null
-<div class="box128 userProfilePreview">
- <a href="{link controller='User' object=$user}{/link}" title="{$user->username}">{@$user->getAvatar()->getImageTag(128)}</a>
-
- {if $__wcf->getUser()->userID && $__wcf->getUser()->userID != $user->userID}
- <script type="text/javascript">
- //<![CDATA[
- $(function() {
- WCF.Language.addObject({
- 'wcf.user.button.follow': '{lang}wcf.user.button.follow{/lang}',
- 'wcf.user.button.ignore': '{lang}wcf.user.button.ignore{/lang}',
- 'wcf.user.button.unfollow': '{lang}wcf.user.button.unfollow{/lang}',
- 'wcf.user.button.unignore': '{lang}wcf.user.button.unignore{/lang}'
- });
-
- new WCF.User.Action.Follow($('.userInformation'));
-
- {if !$user->getPermission('user.profile.cannotBeIgnored')}
- new WCF.User.Action.Ignore($('.userInformation'));
- {/if}
- });
- //]]>
- </script>
- {/if}
-
- <div class="userInformation">
- {include file='userInformation'}
-
- {if $user->canViewOnlineStatus() && $user->getLastActivityTime()}
- <dl class="plain inlineDataList userStats">
- <dt>{lang}wcf.user.usersOnline.lastActivity{/lang}</dt>
- <dd>{@$user->getLastActivityTime()|time}{if $user->getCurrentLocation()}, {@$user->getCurrentLocation()}{/if}</dd>
- </dl>
- {/if}
-
- {hascontent}
- <dl class="plain inlineDataList userFields">
- {content}
- {if $user->occupation}
- <dt>{lang}wcf.user.option.occupation{/lang}</dt>
- <dd>{$user->occupation}</dd>
- {/if}
- {if $user->hobbies}
- <dt>{lang}wcf.user.option.hobbies{/lang}</dt>
- <dd>{$user->hobbies}</dd>
- {/if}
- {event name='userFields'}
- {/content}
- </dl>
- {/hascontent}
- </div>
-</div>
\ No newline at end of file
+++ /dev/null
-{include file='documentHeader'}
-
-<head>
- <title>{lang}wcf.user.search{/lang} - {PAGE_TITLE|language}</title>
-
- {include file='headInclude'}
-
- <script type="text/javascript">
- //<![CDATA[
- $(function() {
- new WCF.Search.User('#username', null, false, [ ], false);
- });
- //]]>
- </script>
-</head>
-
-<body id="tpl{$templateName|ucfirst}">
-
-{capture assign='sidebar'}
- {@$__boxSidebar}
-{/capture}
-
-{include file='header' sidebarOrientation='right'}
-
-<header class="boxHeadline">
- <h1>{lang}wcf.user.search{/lang}</h1>
-</header>
-
-{include file='userNotice'}
-
-{if $errorField == 'search'}
- <p class="error">{lang}wcf.user.search.error.noMatches{/lang}</p>
-{/if}
-
-<div class="contentNavigation">
- {hascontent}
- <nav>
- <ul>
- {content}
- {event name='contentNavigationButtons'}
- {/content}
- </ul>
- </nav>
- {/hascontent}
-</div>
-
-<form method="post" action="{link controller='UserSearch'}{/link}">
- <div class="container containerPadding marginTop">
- <fieldset>
- <legend>{lang}wcf.acp.user.search.conditions.general{/lang}</legend>
-
- <dl>
- <dt><label for="searchUsername">{lang}wcf.user.username{/lang}</label></dt>
- <dd>
- <input type="text" id="searchUsername" name="username" value="{$username}" class="medium" />
- </dd>
- </dl>
-
- {event name='generalFields'}
- </fieldset>
-
- {foreach from=$optionTree[0][categories] item=category}
- <fieldset>
- <legend>{lang}wcf.user.option.category.{@$category[object]->categoryName}{/lang}</legend>
- {hascontent}<p>{content}{lang __optional=true}wcf.user.option.category.{@$category[object]->categoryName}.description{/lang}{/content}</p>{/hascontent}
-
- {include file='userOptionFieldList' options=$category[options] langPrefix='wcf.user.option.'}
- </fieldset>
- {/foreach}
- </div>
-
- {event name='fieldsets'}
-
- <div class="formSubmit">
- <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s" />
- </div>
-</form>
-
-{include file='footer'}
-
-</body>
-</html>
+++ /dev/null
-<fieldset>
- <legend class="invisible">{lang}wcf.user.avatar{/lang}</legend>
-
- <div class="userAvatar">
- {if $user->userID == $__wcf->user->userID}
- <a href="{link controller='AvatarEdit'}{/link}" class="framed jsTooltip" title="{lang}wcf.user.avatar.edit{/lang}">{@$user->getAvatar()->getImageTag()}</a>
- {else}
- <span class="framed">{@$user->getAvatar()->getImageTag()}</span>
- {/if}
- </div>
-</fieldset>
-
-<fieldset>
- <legend class="invisible">{lang}wcf.user.stats{/lang}</legend>
-
- <dl class="plain statsDataList">
- {event name='statistics'}
-
- {if MODULE_LIKE}
- <dt>{lang}wcf.like.likesReceived{/lang}</dt>
- <dd>{#$user->likesReceived}</dd>
- {/if}
-
- <dt>{if $user->activityPoints}<a class="activityPointsDisplay jsTooltip" title="{lang}wcf.user.activityPoint.showDetails{/lang}" data-user-id="{@$user->userID}">{lang}wcf.user.activityPoint{/lang}</a>{else}{lang}wcf.user.activityPoint{/lang}{/if}</dt>
- <dd>{#$user->activityPoints}</dd>
-
- <dt>{lang}wcf.user.profileHits{/lang}</dt>
- <dd{if $user->getProfileAge() > 1} title="{lang}wcf.user.profileHits.hitsPerDay{/lang}"{/if}>{#$user->profileHits}</dd>
- </dl>
-</fieldset>
-
-{if $followingCount}
- <fieldset>
- <legend>{lang}wcf.user.profile.following{/lang} <span class="badge">{#$followingCount}</span></legend>
-
- <div>
- <ul class="framedIconList">
- {foreach from=$following item=followingUser}
- <li><a href="{link controller='User' object=$followingUser}{/link}" title="{$followingUser->username}" class="framed jsTooltip">{@$followingUser->getAvatar()->getImageTag(48)}</a></li>
- {/foreach}
- </ul>
-
- {if $followingCount > 10}
- <a id="followingAll" class="button small more jsOnly">{lang}wcf.user.profile.userList.showAll{/lang}</a>
- {/if}
- </div>
- </fieldset>
-{/if}
-
-{if $followerCount}
- <fieldset>
- <legend>{lang}wcf.user.profile.followers{/lang} <span class="badge">{#$followerCount}</span></legend>
-
- <div>
- <ul class="framedIconList">
- {foreach from=$followers item=follower}
- <li><a href="{link controller='User' object=$follower}{/link}" title="{$follower->username}" class="framed jsTooltip">{@$follower->getAvatar()->getImageTag(48)}</a></li>
- {/foreach}
- </ul>
-
- {if $followerCount > 10}
- <a id="followerAll" class="button small more jsOnly">{lang}wcf.user.profile.userList.showAll{/lang}</a>
- {/if}
- </div>
- </fieldset>
-{/if}
-
-{if $visitorCount}
- <fieldset>
- <legend>{lang}wcf.user.profile.visitors{/lang} <span class="badge">{#$visitorCount}</span></legend>
-
- <div>
- <ul class="framedIconList">
- {foreach from=$visitors item=visitor}
- <li><a href="{link controller='User' object=$visitor}{/link}" title="{$visitor->username} ({@$visitor->time|plainTime})" class="framed jsTooltip">{@$visitor->getAvatar()->getImageTag(48)}</a></li>
- {/foreach}
- </ul>
-
- {if $visitorCount > 10}
- <a id="visitorAll" class="button small more jsOnly">{lang}wcf.user.profile.userList.showAll{/lang}</a>
- {/if}
- </div>
- </fieldset>
-{/if}
-
-{event name='boxes'}
+++ /dev/null
-{include file='documentHeader'}
-
-<head>
- <title>{lang}wcf.user.usersOnline{/lang} - {PAGE_TITLE|language}</title>
-
- {include file='headInclude'}
-
- <link rel="canonical" href="{link controller='UsersOnlineList'}{/link}" />
-
- <script type="text/javascript">
- //<![CDATA[
- $(function() {
- WCF.Language.addObject({
- 'wcf.user.button.follow': '{lang}wcf.user.button.follow{/lang}',
- 'wcf.user.button.ignore': '{lang}wcf.user.button.ignore{/lang}',
- 'wcf.user.button.unfollow': '{lang}wcf.user.button.unfollow{/lang}',
- 'wcf.user.button.unignore': '{lang}wcf.user.button.unignore{/lang}'
- });
-
- new WCF.User.Action.Follow($('.userList > li'));
- new WCF.User.Action.Ignore($('.userList > li'));
- });
- //]]>
- </script>
-
- {if USERS_ONLINE_PAGE_REFRESH > 0}
- <meta http-equiv="refresh" content="{@USERS_ONLINE_PAGE_REFRESH}; url={link controller='UsersOnlineList'}sortField={@$sortField}&sortOrder={@$sortOrder}{/link}" />
- {/if}
-</head>
-
-<body id="tpl{$templateName|ucfirst}">
-
-{capture assign='sidebar'}
- <div>
- <form method="get" action="{link controller='UsersOnlineList'}{/link}">
- <fieldset>
- <legend><label for="sortField">{lang}wcf.user.members.sort{/lang}</label></legend>
-
- <dl>
- <dd>
- <select id="sortField" name="sortField">
- <option value="username"{if $sortField == 'username'} selected="selected"{/if}>{lang}wcf.user.username{/lang}</option>
- <option value="lastActivityTime"{if $sortField == 'lastActivityTime'} selected="selected"{/if}>{lang}wcf.user.usersOnline.lastActivity{/lang}</option>
- <option value="requestURI"{if $sortField == 'requestURI'} selected="selected"{/if}>{lang}wcf.user.usersOnline.location{/lang}</option>
-
- {if $__wcf->session->getPermission('admin.user.canViewIpAddress')}
- <option value="ipAddress"{if $sortField == 'ipAddress'} selected="selected"{/if}>{lang}wcf.user.usersOnline.ipAddress{/lang}</option>
- <option value="userAgent"{if $sortField == 'userAgent'} selected="selected"{/if}>{lang}wcf.user.usersOnline.userAgent{/lang}</option>
- {/if}
- </select>
- <select name="sortOrder">
- <option value="ASC"{if $sortOrder == 'ASC'} selected="selected"{/if}>{lang}wcf.global.sortOrder.ascending{/lang}</option>
- <option value="DESC"{if $sortOrder == 'DESC'} selected="selected"{/if}>{lang}wcf.global.sortOrder.descending{/lang}</option>
- </select>
- </dd>
- </dl>
- </fieldset>
-
- <div class="formSubmit">
- <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s" />
- </div>
- </form>
- </div>
-
- {@$__boxSidebar}
-{/capture}
-
-{include file='header' sidebarOrientation='right'}
-
-{include file='userNotice'}
-
-{assign var=usersOnlineList value=''}
-{assign var=usersOnline value=0}
-{assign var=robotsOnlineList value=''}
-{assign var=robotsOnline value=0}
-{assign var=guestsOnlineList value=''}
-{assign var=guestsOnline value=0}
-{foreach from=$objects item=user}
- {capture assign=locationData}
- <p>
- {if $user->getLocation()}{@$user->getLocation()}{else}{lang}wcf.user.usersOnline.location.unknown{/lang}{/if} <small>- {@$user->lastActivityTime|time}</small>
- </p>
- {/capture}
-
- {capture assign=sessionData}
- {if $__wcf->session->getPermission('admin.user.canViewIpAddress')}
- <dl class="plain inlineDataList">
- <dt>{lang}wcf.user.usersOnline.ipAddress{/lang}</dt>
- <dd title="{$user->getFormattedIPAddress()}">{$user->getFormattedIPAddress()|truncate:30}</dd>
- <dt>{lang}wcf.user.usersOnline.userAgent{/lang}</dt>
- <dd title="{$user->userAgent}">{$user->getBrowser()|truncate:30}</dd>
- </dl>
- {/if}
- {/capture}
-
- {if $user->userID}
- {* member *}
- {capture append=usersOnlineList}
- <li>
- <div class="box48">
- <a href="{link controller='User' object=$user}{/link}" title="{$user->username}" class="framed">{@$user->getAvatar()->getImageTag(48)}</a>
-
- <div class="details userInformation">
- <div class="containerHeadline">
- <h3><a href="{link controller='User' object=$user}{/link}">{@$user->getFormattedUsername()}</a>{if MODULE_USER_RANK && $user->getUserTitle()} <span class="badge userTitleBadge{if $user->getRank() && $user->getRank()->cssClassName} {@$user->getRank()->cssClassName}{/if}">{$user->getUserTitle()}</span>{/if}</h3>
- {@$locationData}
- </div>
-
- {@$sessionData}
-
- {include file='userInformationButtons'}
- </div>
- </div>
- </li>
- {/capture}
-
- {assign var=usersOnline value=$usersOnline+1}
- {elseif $user->spiderID}
- {* search robot *}
- {capture append=robotsOnlineList}
- <li>
- <div class="box48">
- <p class="framed"><img src="{$__wcf->getPath()}images/avatars/avatar-default.svg" alt="" class="icon48" /></p>
-
- <div class="details userInformation">
- <div class="containerHeadline">
- <h3>{if $user->getSpider()->spiderURL}<a href="{$user->getSpider()->spiderURL}" class="externalURL"{if EXTERNAL_LINK_TARGET_BLANK} target="_blank"{/if}>{$user->getSpider()->spiderName}</a>{else}{$user->getSpider()->spiderName}{/if}</h3>
- {@$locationData}
- </div>
-
- {@$sessionData}
- </div>
- </div>
- </li>
- {/capture}
-
- {assign var=robotsOnline value=$robotsOnline+1}
- {else}
- {* unregistered *}
- {capture append=guestsOnlineList}
- <li>
- <div class="box48">
- <p class="framed"><img src="{$__wcf->getPath()}images/avatars/avatar-default.svg" alt="" class="icon48" /></p>
-
- <div class="details userInformation">
- <div class="containerHeadline">
- <h3>{lang}wcf.user.guest{/lang}</h3>
- {@$locationData}
- </div>
-
- {@$sessionData}
- </div>
- </div>
- </li>
- {/capture}
-
- {assign var=guestsOnline value=$guestsOnline+1}
- {/if}
-{/foreach}
-
-<div class="contentNavigation">
- {hascontent}
- <nav>
- <ul>
- {content}
- {event name='contentNavigationButtonsTop'}
- {/content}
- </ul>
- </nav>
- {/hascontent}
-</div>
-
-{if $usersOnline}
- <header class="boxHeadline">
- <h1>{lang}wcf.user.usersOnline{/lang} <span class="badge">{#$usersOnline}</span></h1>
- </header>
-
- <div class="container marginTop">
- <ol class="containerList doubleColumned userList">
- {@$usersOnlineList}
- </ol>
- </div>
-{/if}
-
-{if $guestsOnline && USERS_ONLINE_SHOW_GUESTS}
- <header class="boxHeadline">
- <h1>{lang}wcf.user.usersOnline.guests{/lang} <span class="badge">{#$guestsOnline}</span></h1>
- </header>
-
- <div class="container marginTop">
- <ol class="containerList doubleColumned">
- {@$guestsOnlineList}
- </ol>
- </div>
-{/if}
-
-{if $robotsOnline && USERS_ONLINE_SHOW_ROBOTS}
- <header class="boxHeadline">
- <h1>{lang}wcf.user.usersOnline.robots{/lang} <span class="badge">{#$robotsOnline}</span></h1>
- </header>
-
- <div class="container marginTop">
- <ol class="containerList doubleColumned">
- {@$robotsOnlineList}
- </ol>
- </div>
-{/if}
-
-<div class="contentNavigation">
- {hascontent}
- <nav>
- <ul>
- {content}
- {event name='contentNavigationButtonsBottom'}
- {/content}
- </ul>
- </nav>
- {/hascontent}
-</div>
-
-{include file='footer'}
-
-</body>
-</html>
+++ /dev/null
-<script type="text/javascript">
-//<![CDATA[
- var CKEDITOR_BASEPATH = '{@$__wcf->getPath()}js/3rdParty/ckeditor/';
- var __CKEDITOR_BUTTONS = [ {implode from=$__wcf->getBBCodeHandler()->getButtonBBCodes() item=__bbcode}{ icon: '{$__bbcode->wysiwygIcon}', label: '{$__bbcode->buttonLabel|language}', name: '{$__bbcode->bbcodeTag}' }{/implode} ];
-//]]>
-</script>
-<script type="text/javascript" src="{@$__wcf->getPath()}js/3rdParty/ckeditor/ckeditor.js"></script>
-<script type="text/javascript" src="{@$__wcf->getPath()}js/3rdParty/ckeditor/adapters/jquery.js"></script>
-{event name='javascriptIncludes'}
-
-<script type="text/javascript">
-//<![CDATA[
-$(function() {
- if ($.browser.mobile) {
- return;
- }
-
- var __CKEDITOR_TOOLBAR = [
- ['Source', '-', 'Undo', 'Redo'],
- ['Bold', 'Italic', 'Underline', '-', 'Strike', 'Subscript','Superscript'],
- ['NumberedList', 'BulletedList', '-', 'JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock'],
- '/',
- ['Font', 'FontSize', 'TextColor'],
- ['Link', 'Unlink', 'Image', 'Table', 'Smiley'],
- ['Maximize']
- ];
- if (__CKEDITOR_BUTTONS.length) {
- var $buttons = [ ];
-
- for (var $i = 0, $length = __CKEDITOR_BUTTONS.length; $i < $length; $i++) {
- $buttons.push('__wcf_' + __CKEDITOR_BUTTONS[$i].name);
- }
-
- __CKEDITOR_TOOLBAR.push($buttons);
- }
-
- var $config = {
- smiley_path: '{@$__wcf->getPath()|encodeJS}',
- extraPlugins: 'wbbcode,wbutton',
- removePlugins: 'contextmenu,tabletools,liststyle,elementspath,menubutton,forms,scayt',
- language: '{@$__wcf->language->getFixedLanguageCode()}',
- fontSize_sizes: '8/8pt;10/10pt;12/12pt;14/14pt;18/18pt;24/24pt;36/36pt;',
- disableObjectResizing: true,
- disableNativeSpellChecker: false,
- toolbarCanCollapse: false,
- enterMode: CKEDITOR.ENTER_BR,
- minHeight: 200,
- toolbar: __CKEDITOR_TOOLBAR,
- smiley_images: [
- {implode from=$defaultSmilies item=smiley}'{@$smiley->smileyPath|encodeJS}'{/implode}
- ],
- smiley_descriptions: [
- {implode from=$defaultSmilies item=smiley}'{@$smiley->smileyCode|encodeJS}'{/implode}
- ]
- };
-
- {event name='javascriptInit'}
-
- var $editor = CKEDITOR.instances['{if $wysiwygSelector|isset}{$wysiwygSelector|encodeJS}{else}text{/if}'];
- if ($editor) $editor.destroy(true);
-
- $('{if $wysiwygSelector|isset}#{$wysiwygSelector|encodeJS}{else}#text{/if}').ckeditor($config);
-});
-//]]>
-</script>
--- /dev/null
+<script type="text/javascript" src="{@$__wcf->getPath()}js/WCF.Comment{if !ENABLE_DEBUG_MODE}.min{/if}.js?v={@$__wcfVersion}"></script>
+<script type="text/javascript" src="{@$__wcf->getPath()}js/WCF.Moderation{if !ENABLE_DEBUG_MODE}.min{/if}.js?v={@$__wcfVersion}"></script>
+<script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ WCF.Language.addObject({
+ 'wcf.comment.add': '{lang}wcf.comment.add{/lang}',
+ 'wcf.comment.button.response.add': '{lang}wcf.comment.button.response.add{/lang}',
+ 'wcf.comment.delete.confirmMessage': '{lang}wcf.comment.delete.confirmMessage{/lang}',
+ 'wcf.comment.description': '{lang}wcf.comment.description{/lang}',
+ 'wcf.comment.more': '{lang}wcf.comment.more{/lang}',
+ 'wcf.comment.response.add': '{lang}wcf.comment.response.add{/lang}',
+ 'wcf.comment.response.more': '{lang}wcf.comment.response.more{/lang}',
+ 'wcf.moderation.report.reportContent': '{lang}wcf.moderation.report.reportContent{/lang}',
+ 'wcf.moderation.report.success': '{lang}wcf.moderation.report.success{/lang}'
+ });
+
+ new {if $commentHandlerClass|isset}{@$commentHandlerClass}{else}WCF.Comment.Handler{/if}('{$commentContainerID}', '{@$__wcf->getUserProfileHandler()->getAvatar()->getImageTag(32)}');
+ {if MODULE_LIKE && $__wcf->getSession()->getPermission('user.like.canViewLike')}
+ new WCF.Comment.Like({if $__wcf->getUser()->userID && $__wcf->getSession()->getPermission('user.like.canLike')}1{else}0{/if}, {@LIKE_ENABLE_DISLIKE}, false, {@LIKE_ALLOW_FOR_OWN_CONTENT});
+ new WCF.Comment.Response.Like({if $__wcf->getUser()->userID && $__wcf->getSession()->getPermission('user.like.canLike')}1{else}0{/if}, {@LIKE_ENABLE_DISLIKE}, false, {@LIKE_ALLOW_FOR_OWN_CONTENT});
+ {/if}
+
+ new WCF.Moderation.Report.Content('com.woltlab.wcf.comment.comment', '.jsReportCommentComment');
+ new WCF.Moderation.Report.Content('com.woltlab.wcf.comment.response', '.jsReportCommentResponse');
+ });
+ //]]>
+</script>
+
+{event name='javascriptInclude'}
--- /dev/null
+{if $__showPoll|isset && $__showPoll}
+ <script type="text/javascript" src="{@$__wcf->getPath()}js/WCF.Poll{if !ENABLE_DEBUG_MODE}.min{/if}.js?v={@$__wcfVersion}"></script>
+ <script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ WCF.Language.addObject({
+ 'wcf.poll.button.addOption': '{lang}wcf.poll.button.addOption{/lang}',
+ 'wcf.poll.button.removeOption': '{lang}wcf.poll.button.removeOption{/lang}'
+ });
+
+ new WCF.Poll.Management('pollOptionContainer', [ {implode from=$pollOptions item=pollOption}{ optionID: {@$pollOption[optionID]}, optionValue: '{$pollOption[optionValue]}' }{/implode} ]);
+ });
+ //]]>
+ </script>
+
+ <div id="poll" class="jsOnly tabMenuContent container containerPadding">
+ <fieldset>
+ <dl{if $errorField == 'pollOptions'} class="formError"{/if}>
+ <dt>
+ <label for="pollQuestion">{lang}wcf.poll.question{/lang}</label>
+ </dt>
+ <dd>
+ <input type="text" name="pollQuestion" id="pollQuestion" value="{$pollQuestion}" class="long" />
+ </dd>
+ <dt>
+ <label>{lang}wcf.poll.options{/lang}</label>
+ </dt>
+ <dd id="pollOptionContainer" class="sortableListContainer">
+ <ol class="sortableList"></ol>
+ {if $errorField == 'pollOptions'}
+ <small class="innerError">
+ {lang}wcf.global.form.error.empty{/lang}
+ </small>
+ {/if}
+ <small>{lang}wcf.poll.options.description{/lang}</small>
+ </dd>
+ </dl>
+ <dl>
+ <dt{if $errorField == 'pollEndTime'} class="formError"{/if}>
+ <label for="pollEndTime">{lang}wcf.poll.endTime{/lang}</label>
+ </dt>
+ <dd>
+ <input type="datetime" name="pollEndTime" id="pollEndTime" value="{if $pollEndTime}{@$pollEndTime|date:'Y-m-d H:i'}{/if}" />
+ {if $errorField == 'pollEndTime'}
+ <small class="innerError">
+ {lang}wcf.poll.endTime.error.{@$errorType}{/lang}
+ </small>
+ {/if}
+ </dd>
+ </dl>
+ <dl{if $errorField == 'pollMaxVotes'} class="formError"{/if}>
+ <dt>
+ <label for="pollMaxVotes">{lang}wcf.poll.maxVotes{/lang}</label>
+ </dt>
+ <dd>
+ <input type="number" name="pollMaxVotes" id="pollMaxVotes" value="{@$pollMaxVotes}" min="1" class="tiny" />
+ {if $errorField == 'pollMaxVotes'}
+ <small class="innerError">
+ {lang}wcf.poll.maxVotes.error.{@$errorType}{/lang}
+ </small>
+ {/if}
+ </dd>
+ <dd>
+ <label><input type="checkbox" name="pollIsChangeable" value="1"{if $pollIsChangeable} checked="checked"{/if} /> {lang}wcf.poll.isChangeable{/lang}</label>
+ </dd>
+ {if !$pollID}
+ <dd>
+ <label><input type="checkbox" name="pollIsPublic" value="1"{if $pollIsPublic} checked="checked"{/if} /> {lang}wcf.poll.isPublic{/lang}</label>
+ </dd>
+ {/if}
+ <dd>
+ <label><input type="checkbox" name="pollResultsRequireVote" value="1"{if $pollResultsRequireVote} checked="checked"{/if} /> {lang}wcf.poll.resultsRequireVote{/lang}</label>
+ <small>{lang}wcf.poll.resultsRequireVote.description{/lang}</small>
+ </dd>
+ <dd>
+ <label><input type="checkbox" name="pollSortByVotes" value="1"{if $pollSortByVotes} checked="checked"{/if} /> {lang}wcf.poll.sortByVotes{/lang}</label>
+ </dd>
+ </dl>
+
+ {event name='fields'}
+ </fieldset>
+ </div>
+{/if}
\ No newline at end of file
--- /dev/null
+<ul class="smileyList">
+ {foreach from=$smilies item=smiley}
+ <li><a title="{lang}{$smiley->smileyTitle}{/lang}" class="jsTooltip jsSmiley" data-smiley-code="{$smiley->smileyCode}"><img src="{$smiley->getURL()}" alt="{$smiley->smileyCode}" class="icon24" /></a></li>
+ {/foreach}
+</ul>
\ No newline at end of file
--- /dev/null
+WCF.Language.addObject({
+ 'wcf.message.quote.insertAllQuotes': '{lang}wcf.message.quote.insertAllQuotes{/lang}',
+ 'wcf.message.quote.insertSelectedQuotes': '{lang}wcf.message.quote.insertSelectedQuotes{/lang}',
+ 'wcf.message.quote.manageQuotes': '{lang}wcf.message.quote.manageQuotes{/lang}',
+ 'wcf.message.quote.quoteSelected': '{lang}wcf.message.quote.quoteSelected{/lang}',
+ 'wcf.message.quote.removeAllQuotes': '{lang}wcf.message.quote.removeAllQuotes{/lang}',
+ 'wcf.message.quote.removeSelectedQuotes': '{lang}wcf.message.quote.removeSelectedQuotes{/lang}',
+ 'wcf.message.quote.showQuotes': '{lang}wcf.message.quote.showQuotes{/lang}'
+});
+
+{if !$wysiwygSelector|isset}{assign var=wysiwygSelector value=''}{/if}
+{if !$supportPaste|isset}{assign var=supportPaste value=false}{/if}
+var $quoteManager = new WCF.Message.Quote.Manager({@$__quoteCount}, '{$wysiwygSelector|encodeJS}', {if $supportPaste}true{else}false{/if}, [ {implode from=$__quoteRemove item=quoteID}'{$quoteID}'{/implode} ]);
\ No newline at end of file
--- /dev/null
+{if SIGNATURE_MAX_IMAGE_HEIGHT}
+ <style type="text/css">
+ .messageSignature img {
+ max-height: {@SIGNATURE_MAX_IMAGE_HEIGHT}px;
+ }
+ </style>
+{/if}
\ No newline at end of file
--- /dev/null
+{include file='documentHeader'}
+
+<head>
+ <title>{lang}wcf.user.accountManagement{/lang} - {lang}wcf.user.usercp{/lang} - {PAGE_TITLE|language}</title>
+
+ {include file='headInclude'}
+</head>
+
+<body id="tpl{$templateName|ucfirst}">
+
+{include file='userMenuSidebar'}
+
+{include file='header' sidebarOrientation='left'}
+
+<header class="boxHeadline">
+ <h1>{lang}wcf.user.accountManagement{/lang}</h1>
+</header>
+
+{include file='userNotice'}
+
+{if $errorField}
+ <p class="error">{lang}wcf.global.form.error{/lang}</p>
+{/if}
+
+<p class="warning">{lang}wcf.user.accountManagement.warning{/lang}</p>
+
+{if $success|isset && $success|count > 0}
+ <div class="success">
+ {foreach from=$success item=successMessage}
+ <p>{lang}{@$successMessage}{/lang}</p>
+ {/foreach}
+ </div>
+{/if}
+
+{assign var=__authProvider value=$__wcf->getUserProfileHandler()->getAuthProvider()}
+
+<div class="contentNavigation">
+ {hascontent}
+ <nav>
+ <ul>
+ {content}
+ {event name='contentNavigationButtons'}
+ {/content}
+ </ul>
+ </nav>
+ {/hascontent}
+</div>
+
+<form method="post" action="{link controller='AccountManagement'}{/link}">
+ <div class="container containerPadding marginTop">
+ {if !$__authProvider}
+ <fieldset>
+ <legend><label for="password">{lang}wcf.user.password{/lang}</label></legend>
+
+ <dl{if $errorField == 'password'} class="formError"{/if}>
+ <dt><label for="password">{lang}wcf.user.password{/lang}</label></dt>
+ <dd>
+ <input type="password" id="password" name="password" value="" required="required" class="medium" />
+ {if $errorField == 'password'}
+ <small class="innerError">
+ {if $errorType == 'empty'}{lang}wcf.global.form.error.empty{/lang}{/if}
+ {if $errorType == 'false'}{lang}wcf.user.password.error.false{/lang}{/if}
+ </small>
+ {/if}
+ <small>{lang}wcf.user.accountManagement.password.description{/lang}</small>
+ </dd>
+ </dl>
+
+ <dl>
+ <dd>
+ <ul class="buttonList">
+ <li><a class="button small" href="{link controller='LostPassword'}{/link}"><span>{lang}wcf.user.lostPassword{/lang}</span></a></li>
+ </ul>
+ </dd>
+ </dl>
+
+ {event name='passwordFields'}
+ </fieldset>
+ {/if}
+
+ {if $__wcf->getSession()->getPermission('user.profile.canRename')}
+ <fieldset>
+ <legend><label for="username">{lang}wcf.user.changeUsername{/lang}</label></legend>
+
+ <dl{if $errorField == 'username'} class="formError"{/if}>
+ <dt><label for="username">{lang}wcf.user.newUsername{/lang}</label></dt>
+ <dd>
+ <input type="text" id="username" name="username" value="{$username}" required="required" pattern="^[^,]{ldelim}{REGISTER_USERNAME_MIN_LENGTH},{REGISTER_USERNAME_MAX_LENGTH}}$" class="medium" />
+
+ {if $errorField == 'username'}
+ <small class="innerError">
+ {if $errorType == 'empty'}{lang}wcf.global.form.error.empty{/lang}{/if}
+ {if $errorType == 'notValid'}{lang}wcf.user.username.error.notValid{/lang}{/if}
+ {if $errorType == 'notUnique'}{lang}wcf.user.username.error.notUnique{/lang}{/if}
+ {if $errorType == 'alreadyRenamed'}{lang}wcf.user.username.error.alreadyRenamed{/lang}{/if}
+ </small>
+ {/if}
+ {if $renamePeriod > 0}
+ <small>{lang}wcf.user.changeUsername.description{/lang}</small>
+ {/if}
+ </dd>
+ </dl>
+
+ {event name='changeUsernameFields'}
+ </fieldset>
+ {/if}
+
+ {if !$__authProvider}
+ <fieldset>
+ <legend><label for="newPassword">{lang}wcf.user.changePassword{/lang}</label></legend>
+
+ <dl{if $errorField == 'newPassword'} class="formError"{/if}>
+ <dt><label for="newPassword">{lang}wcf.user.newPassword{/lang}</label></dt>
+ <dd>
+ <input type="password" id="newPassword" name="newPassword" value="{$newPassword}" class="medium" />
+
+ {if $errorField == 'newPassword'}
+ <small class="innerError">
+ {if $errorType == 'empty'}{lang}wcf.global.form.error.empty{/lang}{/if}
+ {if $errorType == 'notSecure'}{lang}wcf.user.password.error.notSecure{/lang}{/if}
+ </small>
+ {/if}
+ </dd>
+ </dl>
+
+ <dl{if $errorField == 'confirmNewPassword'} class="formError"{/if}>
+ <dt><label for="confirmNewPassword">{lang}wcf.user.confirmPassword{/lang}</label></dt>
+ <dd>
+ <input type="password" id="confirmNewPassword" name="confirmNewPassword" value="{$confirmNewPassword}" class="medium" />
+
+ {if $errorField == 'confirmNewPassword'}
+ <small class="innerError">
+ {if $errorType == 'empty'}{lang}wcf.global.form.error.empty{/lang}{/if}
+ {if $errorType == 'notEqual'}{lang}wcf.user.confirmPassword.error.notEqual{/lang}{/if}
+ </small>
+ {/if}
+ </dd>
+ </dl>
+
+ {event name='changePasswordFields'}
+ </fieldset>
+ {/if}
+
+ {if $__wcf->getSession()->getPermission('user.profile.canChangeEmail')}
+ <fieldset>
+ <legend><label for="email">{lang}wcf.user.changeEmail{/lang}</label></legend>
+
+ <dl{if $errorField == 'email'} class="formError"{/if}>
+ <dt><label for="email">{lang}wcf.user.newEmail{/lang}</label></dt>
+ <dd>
+ <input type="email" id="email" name="email" value="{$email}" class="medium" />
+
+ {if $errorField == 'email'}
+ <small class="innerError">
+ {if $errorType == 'empty'}{lang}wcf.global.form.error.empty{/lang}{/if}
+ {if $errorType == 'notValid'}{lang}wcf.user.email.error.notValid{/lang}{/if}
+ {if $errorType == 'notUnique'}{lang}wcf.user.email.error.notUnique{/lang}{/if}
+ </small>
+ {/if}
+ </dd>
+ </dl>
+
+ <dl{if $errorField == 'confirmEmail'} class="formError"{/if}>
+ <dt><label for="confirmEmail">{lang}wcf.user.confirmEmail{/lang}</label></dt>
+ <dd>
+ <input type="email" id="confirmEmail" name="confirmEmail" value="{$confirmEmail}" class="medium" />
+
+ {if $errorField == 'confirmEmail'}
+ <small class="innerError">
+ {if $errorType == 'notEqual'}{lang}wcf.user.confirmEmail.error.notEqual{/lang}{/if}
+ </small>
+ {/if}
+ </dd>
+ </dl>
+
+ {event name='changeEmailFields'}
+
+ {if REGISTER_ACTIVATION_METHOD == 1 && $__wcf->getUser()->reactivationCode != 0}
+ <dl>
+ <dd>
+ <ul class="buttonList">
+ <li><a class="button small" href="{link controller='EmailActivation'}{/link}"><span>{lang}wcf.user.emailActivation{/lang}</span></a></li>
+ </ul>
+ </dd>
+ </dl>
+ {/if}
+ </fieldset>
+ {/if}
+
+ {if $__wcf->getSession()->getPermission('user.profile.canQuit')}
+ <fieldset>
+ <legend>{lang}wcf.user.quit{/lang}</legend>
+
+ {if $quitStarted}
+ <dl>
+ <dd>
+ <label><input type="checkbox" name="cancelQuit" value="1" {if $cancelQuit == 1}checked="checked" {/if}/> {lang}wcf.user.quit.cancel{/lang}</label>
+ </dd>
+ </dl>
+ {else}
+ <dl>
+ <dd>
+ <label><input type="checkbox" name="quit" value="1" {if $quit == 1}checked="checked" {/if}/> {lang}wcf.user.quit.sure{/lang}</label>
+ <small>{lang}wcf.user.quit.description{/lang}</small>
+ </dd>
+ </dl>
+ {/if}
+
+ {event name='quitFields'}
+ </fieldset>
+ {/if}
+
+ {hascontent}
+ <fieldset id="3rdParty">
+ <legend>{lang}wcf.user.3rdparty{/lang}</legend>
+
+ {content}
+ {if $__authProvider}
+ <dl>
+ <dt>{lang}wcf.user.3rdparty.{@$__authProvider}{/lang}</dt>
+ <dd>
+ <label><input type="checkbox" name="{@$__authProvider}Disconnect" value="1" /> {lang}wcf.user.3rdparty.{@$__authProvider}.disconnect{/lang}</label>
+ </dd>
+ </dl>
+ {else}
+ {if GITHUB_PUBLIC_KEY !== '' && GITHUB_PRIVATE_KEY !== ''}
+ <dl>
+ <dt>{lang}wcf.user.3rdparty.github{/lang}</dt>
+ <dd>
+ {if $__wcf->getSession()->getVar('__githubToken')}
+ <label><input type="checkbox" name="githubConnect" value="1"{if $githubConnect} checked="checked"{/if} /> {lang}wcf.user.3rdparty.github.connect{/lang}</label>
+ {else}
+ <a href="{link controller='GithubAuth'}{/link}" class="button small"><span class="icon icon16 icon-github"></span> <span>{lang}wcf.user.3rdparty.github.connect{/lang}</span></a>
+ {/if}
+ </dd>
+ </dl>
+ {/if}
+
+ {if TWITTER_PUBLIC_KEY !== '' && TWITTER_PRIVATE_KEY !== ''}
+ <dl>
+ <dt>{lang}wcf.user.3rdparty.twitter{/lang}</dt>
+ <dd>
+ {if $__wcf->getSession()->getVar('__twitterData')}
+ <label><input type="checkbox" name="twitterConnect" value="1"{if $twitterConnect} checked="checked"{/if} /> {lang}wcf.user.3rdparty.twitter.connect{/lang}</label>
+ {else}
+ <a href="{link controller='TwitterAuth'}{/link}" class="button small"><span class="icon icon16 icon-twitter"></span> <span>{lang}wcf.user.3rdparty.twitter.connect{/lang}</span></a>
+ {/if}
+ </dd>
+ </dl>
+ {/if}
+
+ {if FACEBOOK_PUBLIC_KEY !== '' && FACEBOOK_PRIVATE_KEY !== ''}
+ <dl>
+ <dt>{lang}wcf.user.3rdparty.facebook{/lang}</dt>
+ <dd>
+ {if $__wcf->getSession()->getVar('__facebookData')}
+ <label><input type="checkbox" name="facebookConnect" value="1"{if $facebookConnect} checked="checked"{/if} /> {lang}wcf.user.3rdparty.facebook.connect{/lang}</label>
+ {else}
+ <a href="{link controller='FacebookAuth'}{/link}" class="button small"><span class="icon icon16 icon-facebook"></span> <span>{lang}wcf.user.3rdparty.facebook.connect{/lang}</span></a>
+ {/if}
+ </dd>
+ </dl>
+ {/if}
+
+ {if GOOGLE_PUBLIC_KEY !== '' && GOOGLE_PRIVATE_KEY !== ''}
+ <dl>
+ <dt>{lang}wcf.user.3rdparty.google{/lang}</dt>
+ <dd>
+ {if $__wcf->getSession()->getVar('__googleData')}
+ <label><input type="checkbox" name="googleConnect" value="1"{if $googleConnect} checked="checked"{/if} /> {lang}wcf.user.3rdparty.google.connect{/lang}</label>
+ {else}
+ <a href="{link controller='GoogleAuth'}{/link}" class="button small"><span class="icon icon16 icon-google-plus"></span> <span>{lang}wcf.user.3rdparty.google.connect{/lang}</span></a>
+ {/if}
+ </dd>
+ </dl>
+ {/if}
+ {/if}
+
+ {event name='3rdpartyFields'}
+ {/content}
+ </fieldset>
+ {/hascontent}
+
+ {event name='fieldsets'}
+ </div>
+
+ <div class="formSubmit">
+ {@SECURITY_TOKEN_INPUT_TAG}
+ <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s" />
+ </div>
+</form>
+
+{include file='footer'}
+
+</body>
+</html>
--- /dev/null
+<script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ {if $aclValues[$objectTypeID]|isset}
+ var initialPermissions = {
+ returnValues: {
+ options: {
+ {implode from=$aclValues[$objectTypeID][options] key='__optionID' item='__optionData'}
+ {@$__optionID}: {
+ categoryName: '{@$__optionData[categoryName]|encodeJS}',
+ label: '{@$__optionData[label]|encodeJS}',
+ optionName: '{@$__optionData[optionName]|encodeJS}'
+ }
+ {/implode}
+ },
+ categories: {
+ {implode from=$aclValues[$objectTypeID][categories] key='__category' item='__categoryName'}
+ '{@$__category|encodeJS}': '{@$__categoryName|encodeJS}'
+ {/implode}
+ },
+ user: {
+ {if $aclValues[$objectTypeID][user]|isset}
+ option: {
+ {implode from=$aclValues[$objectTypeID][user][option] key='__userID' item='__optionData'}
+ {@$__userID}: {
+ {implode from=$__optionData key='__optionID' item='__optionValue'}
+ {@$__optionID}: {@$__optionValue}
+ {/implode}
+ }
+ {/implode}
+ },
+ label: {
+ {implode from=$aclValues[$objectTypeID][user][label] key='__userID' item='__label'}
+ {@$__userID}: '{@$__label|encodeJS}'
+ {/implode}
+ }
+ {/if}
+ },
+ group: {
+ {if $aclValues[$objectTypeID][group]|isset}
+ option: {
+ {implode from=$aclValues[$objectTypeID][group][option] key='__groupID' item='__optionData'}
+ {@$__groupID}: {
+ {implode from=$__optionData key='__optionID' item='__optionValue'}
+ {@$__optionID}: {@$__optionValue}
+ {/implode}
+ }
+ {/implode}
+ },
+ label: {
+ {implode from=$aclValues[$objectTypeID][group][label] key='__groupID' item='__label'}
+ {@$__groupID}: '{@$__label|encodeJS}'
+ {/implode}
+ }
+ {/if}
+ }
+ }
+ };
+ {/if}
+ new {if $aclListClassName|isset}{@$aclListClassName}{else}WCF.ACL.List{/if}($('#{@$containerID}'), {@$objectTypeID}, {if $categoryName|isset}'{@$categoryName}'{else}null{/if}, {if $objectID|isset}{@$objectID}{else}0{/if}, {if !$includeUserGroups|isset || $includeUserGroups}true{else}false{/if}{if $aclValues[$objectTypeID]|isset}, initialPermissions{/if});
+ });
+ //]]>
+</script>
\ No newline at end of file
--- /dev/null
+<script type="text/javascript" src="{@$__wcf->getPath()}js/WCF.ACL{if !ENABLE_DEBUG_MODE}.min{/if}.js?v={@$__wcfVersion}"></script>
+<script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ WCF.Language.addObject({
+ 'wcf.acl.option.deny': '{lang}wcf.acl.option.deny{/lang}',
+ 'wcf.acl.option.fullAccess': '{lang}wcf.acl.option.fullAccess{/lang}',
+ 'wcf.acl.option.grant': '{lang}wcf.acl.option.grant{/lang}',
+ 'wcf.acl.search.user.description': '{lang}wcf.acl.search.user.description{/lang}',
+ 'wcf.acl.search.description': '{lang}wcf.acl.search.description{/lang}'
+ });
+ });
+ //]]>
+</script>
\ No newline at end of file
--- /dev/null
+{if $attachmentList && $attachmentList->getGroupedObjects($objectID)|count}
+ {hascontent}
+ <div class="attachmentThumbnailList">
+ <fieldset>
+ <legend>{lang}wcf.attachment.images{/lang}</legend>
+
+ <ul>
+ {content}
+ {foreach from=$attachmentList->getGroupedObjects($objectID) item=attachment}
+ {if $attachment->showAsImage() && !$attachment->isEmbedded()}
+ <li class="attachmentThumbnail">
+ {if $attachment->hasThumbnail()}
+ <a href="{link controller='Attachment' object=$attachment}{/link}"{if $attachment->canDownload()} class="jsImageViewer" title="{$attachment->filename}"{/if}><img src="{link controller='Attachment' object=$attachment}thumbnail=1{/link}" alt="" /></a>
+ {else}
+ <img src="{link controller='Attachment' object=$attachment}{/link}" alt="" style="margin-top: {@ATTACHMENT_THUMBNAIL_HEIGHT/2-$attachment->height/2}px; margin-left: {@ATTACHMENT_THUMBNAIL_WIDTH/2-$attachment->width/2}px" />
+ {/if}
+
+ <div title="{lang}wcf.attachment.image.info{/lang}">
+ <p>{$attachment->filename}</p>
+ <small>{lang}wcf.attachment.image.info{/lang}</small>
+ </div>
+ </li>
+ {/if}
+ {/foreach}
+ {/content}
+ </ul>
+ </fieldset>
+ </div>
+ {/hascontent}
+
+ {hascontent}
+ <div class="attachmentFileList">
+ <fieldset>
+ <legend>{lang}wcf.attachment.files{/lang}</legend>
+
+ <ul>
+ {content}
+ {foreach from=$attachmentList->getGroupedObjects($objectID) item=attachment}
+ {if $attachment->showAsFile() && !$attachment->isEmbedded()}
+ <li class="box32">
+ <a href="{link controller='Attachment' object=$attachment}{/link}"><span class="icon icon32 icon-paper-clip"></span></a>
+
+ <div>
+ <p><a href="{link controller='Attachment' object=$attachment}{/link}">{$attachment->filename}</a></p>
+ <small>{lang}wcf.attachment.file.info{/lang}</small>
+ </div>
+ </li>
+ {/if}
+ {/foreach}
+ {/content}
+ </ul>
+ </fieldset>
+ </div>
+ {/hascontent}
+{/if}
\ No newline at end of file
--- /dev/null
+<fieldset>
+ <legend class="invisible">{lang}wcf.user.author{/lang}</legend>
+
+ <div class="box96 framed">
+ {@$userProfile->getAvatar()->getImageTag(96)}
+
+ <div>
+ <div class="containerHeadline">
+ <h3><a href="{link controller='User' object=$userProfile}{/link}" rel="author">{$userProfile->username}</a></h3>
+ {if MODULE_USER_RANK && $userProfile->getUserTitle()}<p><span class="badge userTitleBadge{if $userProfile->getRank() && $userProfile->getRank()->cssClassName} {@$userProfile->getRank()->cssClassName}{/if}">{$userProfile->getUserTitle()}</span></p>{/if}
+ </div>
+
+ {include file='userInformationStatistics' user=$userProfile}
+ </div>
+ </div>
+</fieldset>
\ No newline at end of file
--- /dev/null
+<dl class="wide">
+ <dt>{lang}wcf.user.avatar.type.custom.crop{/lang}</dt>
+ <dd>
+ <div id="userAvatarCropSelection">
+ {@$avatar->getImageTag()}
+ <div id="userAvatarCropOverlay"></div>
+ <div id="userAvatarCropOverlaySelection"></div>
+ </div>
+
+ <small>{lang}wcf.user.avatar.type.custom.crop.description{/lang}</small>
+ </dd>
+</dl>
+
+<div class="formSubmit">
+ <button data-type="save" class="buttonPrimary">{lang}wcf.global.button.save{/lang}</button>
+</div>
--- /dev/null
+{include file='documentHeader'}
+
+<head>
+ <title>{lang}wcf.user.avatar.edit{/lang} - {lang}wcf.user.usercp{/lang} - {PAGE_TITLE|language}</title>
+
+ {include file='headInclude'}
+</head>
+
+<body id="tpl{$templateName|ucfirst}">
+
+{include file='userMenuSidebar'}
+
+{include file='header' sidebarOrientation='left'}
+
+<header class="boxHeadline">
+ <h1>{lang}wcf.user.avatar.edit{/lang}</h1>
+</header>
+
+{include file='userNotice'}
+
+{if $__wcf->user->disableAvatar}
+ <p class="error">{lang}wcf.user.avatar.error.disabled{/lang}</p>
+{/if}
+
+{if $errorField}
+ <p class="error">{lang}wcf.global.form.error{/lang}</p>
+{/if}
+
+{if $success|isset}
+ <p class="success">{lang}wcf.global.success.edit{/lang}</p>
+{/if}
+
+<div class="contentNavigation">
+ {hascontent}
+ <nav>
+ <ul>
+ {content}
+ {event name='contentNavigationButtons'}
+ {/content}
+ </ul>
+ </nav>
+ {/hascontent}
+</div>
+
+<form method="post" action="{link controller='AvatarEdit'}{/link}" id="avatarForm">
+ <div class="container containerPadding marginTop">
+ <fieldset>
+ <legend>{lang}wcf.user.avatar{/lang}</legend>
+
+ <dl>
+ <dd>
+ <label><input type="radio" name="avatarType" value="none" {if $avatarType == 'none'}checked="checked" {/if}/> {lang}wcf.user.avatar.type.none{/lang}</label>
+ <small>{lang}wcf.user.avatar.type.none.description{/lang}</small>
+ </dd>
+ </dl>
+
+ <dl class="jsOnly{if $errorField == 'custom'} formError{/if}" id="avatarUpload">
+ <dt class="framed">
+ {if $avatarType == 'custom'}
+ {assign var='__customAvatar' value=$__wcf->getUserProfileHandler()->getAvatar()->getImageTag(96)}
+ {if $__wcf->getUserProfileHandler()->getAvatar()->canCrop()}
+ {assign var='__customAvatar' value=$__customAvatar|substr:0:-2}
+ {assign var='__customAvatarTitle' value='wcf.user.avatar.type.custom.crop'|language}
+ {append var='__customAvatar' value='class="userAvatarCrop jsTooltip" title="'|concat:$__customAvatarTitle:'" />'}
+ {/if}
+ {@$__customAvatar}
+ {else}
+ <img src="{@$__wcf->getPath()}images/avatars/avatar-default.svg" alt="" class="icon96" />
+ {/if}
+ </dt>
+ <dd>
+ <label><input type="radio" name="avatarType" value="custom" {if $avatarType == 'custom'}checked="checked" {/if}/> {lang}wcf.user.avatar.type.custom{/lang}</label>
+ <small>{lang}wcf.user.avatar.type.custom.description{/lang}</small>
+
+ {* placeholder for upload button: *}
+ <div></div>
+
+ {if $errorField == 'custom'}
+ <small class="innerError">
+ {if $errorType == 'empty'}{lang}wcf.global.form.error.empty{/lang}{/if}
+ </small>
+ {/if}
+ </dd>
+ </dl>
+
+ {if MODULE_GRAVATAR}
+ <dl{if $errorField == 'gravatar'} class="formError"{/if}>
+ <dt class="framed"><img src="http://www.gravatar.com/avatar/{@$__wcf->user->email|strtolower|md5}?s=96" alt="" class="icon96" /></dt>
+ <dd>
+ <label><input type="radio" name="avatarType" value="gravatar" {if $avatarType == 'gravatar'}checked="checked" {/if}/> {lang}wcf.user.avatar.type.gravatar{/lang}</label>
+ {if $errorField == 'gravatar'}
+ <small class="innerError">
+ {if $errorType == 'notFound'}{lang}wcf.user.avatar.type.gravatar.error.notFound{/lang}{/if}
+ </small>
+ {/if}
+ <small>{lang}wcf.user.avatar.type.gravatar.description{/lang}</small>
+ </dd>
+ </dl>
+ {/if}
+
+ {event name='avatarFields'}
+ </fieldset>
+
+ {event name='fieldsets'}
+ </div>
+
+ {if !$__wcf->user->disableAvatar}
+ <div class="formSubmit">
+ <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s" />
+ </div>
+ {/if}
+</form>
+
+{include file='footer'}
+
+<script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ WCF.Language.addObject({
+ 'wcf.user.avatar.type.custom.crop': '{lang}wcf.user.avatar.type.custom.crop{/lang}',
+ 'wcf.user.avatar.upload.error.invalidExtension': '{lang}wcf.user.avatar.upload.error.invalidExtension{/lang}',
+ 'wcf.user.avatar.upload.error.tooSmall': '{lang}wcf.user.avatar.upload.error.tooSmall{/lang}',
+ 'wcf.user.avatar.upload.error.tooLarge': '{lang}wcf.user.avatar.upload.error.tooLarge{/lang}',
+ 'wcf.user.avatar.upload.error.uploadFailed': '{lang}wcf.user.avatar.upload.error.uploadFailed{/lang}',
+ 'wcf.user.avatar.upload.error.badImage': '{lang}wcf.user.avatar.upload.error.badImage{/lang}',
+ 'wcf.user.avatar.upload.success': '{lang}wcf.user.avatar.upload.success{/lang}',
+ 'wcf.global.button.upload': '{lang}wcf.global.button.upload{/lang}'
+ });
+
+ {if !$__wcf->user->disableAvatar}
+ {if $__wcf->getUserProfileHandler()->getAvatar()->canCrop()}
+ new WCF.User.Avatar.Upload(0, new WCF.User.Avatar.Crop({@$__wcf->getUserProfileHandler()->getAvatar()->avatarID}));
+ {else}
+ new WCF.User.Avatar.Upload();
+ {/if}
+ {/if}
+ });
+ //]]>
+</script>
+
+</body>
+</html>
--- /dev/null
+<p class="marginTop" id="benchmark"><small>Execution time: {@$__wcf->getBenchmark()->getExecutionTime()}s ({#($__wcf->getBenchmark()->getExecutionTime()-$__wcf->getBenchmark()->getQueryExecutionTime())/$__wcf->getBenchmark()->getExecutionTime()*100}% PHP, {#$__wcf->getBenchmark()->getQueryExecutionTime()/$__wcf->getBenchmark()->getExecutionTime()*100}% SQL) | SQL queries: {#$__wcf->getBenchmark()->getQueryCount()} | Memory-Usage: {$__wcf->getBenchmark()->getMemoryUsage()}</small></p>
+
+{if ENABLE_DEBUG_MODE}
+ <script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ $('#benchmarkDetails > li > span').click(function() {
+ $(this).parent().children('pre').toggle();
+ });
+ });
+ //]]>
+ </script>
+ <ul id="benchmarkDetails" style="display: none;">
+ {foreach from=$__wcf->getBenchmark()->getItems() key=benchmarkIndex item=item}
+ <li id="benchmarkItem{@$benchmarkIndex}" style="margin-bottom: 8px;"{if $item.use >= 0.01} class="hot"{/if}>
+ <span>{if $item.type == 1}(SQL Query) {/if}{$item.text}</span><br />
+ <small style="font-size: .85em">Execution time: {@$item.use}s</small>
+
+ <pre style="display: none">{foreach from=$item.trace key=traceNo item=traceItem}#{#$traceNo} {if !$traceItem.class|empty}{$traceItem.class}{$traceItem.type}{else}{if !$traceItem.file|empty}{$traceItem.file}: {/if}{/if}{$traceItem.function}() {if !$traceItem.line|empty}(line {#$traceItem.line}){/if}
+{/foreach}</pre>
+
+ </li>
+ {/foreach}
+ </ul>
+
+ <script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ $('#benchmark').click(function() {
+ $('#benchmarkDetails').wcfDialog({
+ title: 'Log'
+ });
+ });
+ });
+ //]]>
+ </script>
+{/if}
\ No newline at end of file
--- /dev/null
+<input type="number" id="{$option->optionName}" name="values[{$option->optionName}][ageFrom]" value="{@$valueAgeFrom}" placeholder="{lang}wcf.user.birthday.age.from{/lang}" min="0" max="120" class="tiny" />
+<input type="number" id="{$option->optionName}_age_to" name="values[{$option->optionName}][ageTo]" value="{@$valueAgeTo}" placeholder="{lang}wcf.user.birthday.age.to{/lang}" min="0" max="120" class="tiny" />
+
+<script type="text/javascript">
+//<![CDATA[
+$(function() {
+ $('#{$option->optionName}').parents('dl:eq(0)').find('> dt > label').text('{lang}wcf.user.birthday.age{/lang}');
+});
+//]]>
+</script>
\ No newline at end of file
--- /dev/null
+<input type="checkbox" id="{$option->optionName}" {if $value} checked="checked"{/if} name="values[{$option->optionName}]" value="1" {if $disableOptions || $enableOptions}class="jsEnablesOptions" data-disable-options="[ {@$disableOptions}]" data-enable-options="[ {@$enableOptions}]" {/if} />
--- /dev/null
+{if !$__microdata|isset}{assign var=__microdata value=true}{/if}
+{hascontent}
+ <nav class="breadcrumbs marginTop">
+ <ul>
+ {content}
+ {foreach from=$__wcf->getBreadcrumbs() item=$breadcrumb}
+ <li title="{$breadcrumb->getLabel()}"{if $__microdata} itemscope="itemscope" itemtype="http://data-vocabulary.org/Breadcrumb"{/if}>
+ <a href="{$breadcrumb->getURL()}"{if $__microdata} itemprop="url"{/if}><span{if $__microdata} itemprop="title"{/if}>{$breadcrumb->getLabel()}</span></a> <span class="pointer"><span>»</span></span>
+ </li>
+ {/foreach}
+
+ {event name='breadcrumbs'}
+ {/content}
+ </ul>
+ </nav>
+{/hascontent}
--- /dev/null
+{foreach from=$categoryNodeList item='category'}
+ {if !$maximumNestingLevel|isset || $maximumNestingLevel == -1 || $categoryNodeList->getDepth() <= $maximumNestingLevel}
+ <option value="{$category->categoryID}"{if $categoryID|isset && $categoryID == $category->categoryID} selected="selected"{/if}>{section name=i loop=$categoryNodeList->getDepth()} {/section}{$category->getTitle()}</option>
+ {/if}
+{/foreach}
\ No newline at end of file
--- /dev/null
+<div class="container codeBox {$highlighter|get_class|substr:30|lcfirst}">
+ <div>
+ <div>
+ <h3>{@$highlighter->getTitle()}{if $filename}: {@$filename}{/if}</h3>
+ </div>
+
+ <ol start="{$startLineNumber}">
+ {assign var='lineNumber' value=$startLineNumber}
+ {foreach from=$content item=line}
+ {if $lineNumbers[$lineNumber]|isset}
+ <li id="{@$lineNumbers[$lineNumber]}"><a href="{@$__wcf->getAnchor($lineNumbers[$lineNumber])}" class="lineAnchor"></a>{@$line}</li>
+ {else}
+ <li>{@$line}</li>
+ {/if}
+
+ {assign var='lineNumber' value=$lineNumber+1}
+ {/foreach}
+ </ol>
+ </div>
+</div>
--- /dev/null
+{foreach from=$commentList item=comment}
+ <li class="comment jsComment" data-comment-id="{@$comment->commentID}" data-object-type="com.woltlab.wcf.comment" data-like-liked="{if $likeData[comment][$comment->commentID]|isset}{@$likeData[comment][$comment->commentID]->liked}{/if}" data-like-likes="{if $likeData[comment][$comment->commentID]|isset}{@$likeData[comment][$comment->commentID]->likes}{else}0{/if}" data-like-dislikes="{if $likeData[comment][$comment->commentID]|isset}{@$likeData[comment][$comment->commentID]->dislikes}{else}0{/if}" data-like-users='{if $likeData[comment][$comment->commentID]|isset}{ {implode from=$likeData[comment][$comment->commentID]->getUsers() item=likeUser}"{@$likeUser->userID}": { "username": "{$likeUser->username|encodeJSON}" }{/implode} }{else}{ }{/if}' data-can-edit="{if $comment->isEditable()}true{else}false{/if}" data-can-delete="{if $comment->isDeletable()}true{else}false{/if}" data-responses="{@$comment->responses}" data-last-response-time="{@$comment->getLastResponseTime()}" data-user-id="{@$comment->userID}">
+ <div class="box32">
+ {if $comment->userID}
+ <a href="{link controller='User' object=$comment->getUserProfile()}{/link}" title="{$comment->getUserProfile()->username}" class="framed">
+ {@$comment->getUserProfile()->getAvatar()->getImageTag(32)}
+ </a>
+ {else}
+ <span class="framed">{@$comment->getUserProfile()->getAvatar()->getImageTag(32)}</span>
+ {/if}
+
+ <div>
+ <div class="commentContent">
+ <div class="containerHeadline">
+ <h3>
+ {if $comment->userID}
+ <a href="{link controller='User' object=$comment->getUserProfile()}{/link}" class="userLink" data-user-id="{@$comment->userID}">{$comment->username}</a>
+ {else}
+ {$comment->username}
+ {/if}
+
+ <small> - {@$comment->time|time}</small>
+ </h3>
+ </div>
+
+ <p class="userMessage">{@$comment->getFormattedMessage()}</p>
+
+ <nav class="jsMobileNavigation buttonGroupNavigation">
+ <ul class="commentOptions">
+ <li class="jsReportCommentComment jsOnly" data-object-id="{@$comment->commentID}"><a title="{lang}wcf.moderation.report.reportContent{/lang}" class="jsTooltip"><span class="icon icon16 icon-warning-sign"></span> <span class="invisible">{lang}wcf.moderation.report.reportContent{/lang}</span></a></li>
+
+ {event name='commentOptions'}
+ </ul>
+ </nav>
+ </div>
+
+ <ul data-responses="{@$comment->responses}" class="commentResponseList">
+ {if $comment|count}
+ {include file='commentResponseList' responseList=$comment}
+ {/if}
+ </ul>
+ </div>
+ </div>
+ </li>
+{/foreach}
--- /dev/null
+{foreach from=$responseList item=response}
+ <li class="commentResponse jsCommentResponse" data-response-id="{@$response->responseID}" data-object-type="com.woltlab.wcf.comment.response" data-like-liked="{if $likeData[response][$response->responseID]|isset}{@$likeData[response][$response->responseID]->liked}{/if}" data-like-likes="{if $likeData[response][$response->responseID]|isset}{@$likeData[response][$response->responseID]->likes}{else}0{/if}" data-like-dislikes="{if $likeData[response][$response->responseID]|isset}{@$likeData[response][$response->responseID]->dislikes}{else}0{/if}" data-like-users='{if $likeData[response][$response->responseID]|isset}{ {implode from=$likeData[response][$response->responseID]->getUsers() item=likeUser}"{@$likeUser->userID}": { "username": "{$likeUser->username|encodeJSON}" }{/implode} }{else}{ }{/if}' data-can-edit="{if $response->isEditable()}true{else}false{/if}" data-can-delete="{if $response->isDeletable()}true{else}false{/if}" data-user-id="{@$response->userID}">
+ <div class="box32">
+ {if $response->userID}
+ <a href="{link controller='User' object=$response->getUserProfile()}{/link}" title="{$response->getUserProfile()->username}" class="framed">
+ {@$response->getUserProfile()->getAvatar()->getImageTag(32)}
+ </a>
+ {else}
+ <span class="framed">{@$response->getUserProfile()->getAvatar()->getImageTag(32)}</span>
+ {/if}
+
+ <div class="commentContent commentResponseContent">
+ <div class="containerHeadline">
+ <h3>
+ {if $response->userID}
+ <a href="{link controller='User' object=$response->getUserProfile()}{/link}" class="userLink" data-user-id="{@$response->userID}">{$response->username}</a>
+ {else}
+ {$response->username}
+ {/if}
+
+ <small> - {@$response->time|time}</small>
+ </h3>
+ </div>
+
+ <p class="userMessage">{@$response->getFormattedMessage()}</p>
+
+ <nav class="jsMobileNavigation buttonGroupNavigation">
+ <ul class="commentOptions">
+ <li class="jsReportCommentResponse jsOnly" data-object-id="{@$response->responseID}"><a title="{lang}wcf.moderation.report.reportContent{/lang}" class="jsTooltip"><span class="icon icon16 icon-warning-sign"></span> <span class="invisible">{lang}wcf.moderation.report.reportContent{/lang}</span></a></li>
+
+ {event name='commentOptions'}
+ </ul>
+ </nav>
+ </div>
+ </div>
+ </li>
+{/foreach}
--- /dev/null
+{include file='documentHeader'}
+
+<head>
+ <title>{if $__wcf->getPageMenu()->getLandingPage()->menuItem != 'wcf.user.dashboard'}{lang}wcf.user.dashboard{/lang} - {/if}{PAGE_TITLE|language}</title>
+
+ {include file='headInclude'}
+
+ <link rel="canonical" href="{link controller='Dashboard'}{/link}" />
+</head>
+
+<body id="tpl{$templateName|ucfirst}">
+
+{if $__boxSidebar|isset && $__boxSidebar}
+ {capture assign='sidebar'}
+ {@$__boxSidebar}
+ {/capture}
+{/if}
+
+{include file='header' sidebarOrientation='right'}
+
+{if $__wcf->getPageMenu()->getLandingPage()->menuItem == 'wcf.user.dashboard'}
+ <header class="boxHeadline">
+ <h1>{PAGE_TITLE|language}</h1>
+ {hascontent}<p>{content}{PAGE_DESCRIPTION|language}{/content}</p>{/hascontent}
+ </header>
+{else}
+ <header class="boxHeadline">
+ <h1>{lang}wcf.user.dashboard{/lang}</h1>
+ </header>
+{/if}
+
+{include file='userNotice'}
+
+<div class="contentNavigation">
+ {hascontent}
+ <nav>
+ <ul>
+ {content}
+ {event name='contentNavigationButtonsTop'}
+ {/content}
+ </ul>
+ </nav>
+ {/hascontent}
+</div>
+
+<section id="dashboard">
+ {if $__boxContent|isset}{@$__boxContent}{/if}
+</section>
+
+<div class="contentNavigation">
+ {hascontent}
+ <nav>
+ <ul>
+ {content}
+ {event name='contentNavigationButtonsBottom'}
+ {/content}
+ </ul>
+ </nav>
+ {/hascontent}
+</div>
+
+{include file='footer'}
+
+</body>
+</html>
--- /dev/null
+<div class="dashboardBox">
+ {@$template}
+</div>
\ No newline at end of file
--- /dev/null
+<ul class="sidebarBoxList">
+ {foreach from=$mostActiveMembers item=activeMember}
+ <li class="box24">
+ <a href="{link controller='User' object=$activeMember}{/link}" class="framed">{@$activeMember->getAvatar()->getImageTag(24)}</a>
+
+ <div class="sidebarBoxHeadline">
+ <h3><a href="{link controller='User' object=$activeMember}{/link}" class="userLink" data-user-id="{@$activeMember->userID}">{$activeMember->username}</a></h3>
+ <small>{lang}wcf.dashboard.box.mostActiveMembers.points{/lang}</small>
+ </div>
+ </li>
+ {/foreach}
+</ul>
\ No newline at end of file
--- /dev/null
+<ul class="sidebarBoxList">
+ {foreach from=$mostLikedMembers item=likedMember}
+ <li class="box24">
+ <a href="{link controller='User' object=$likedMember}{/link}" class="framed">{@$likedMember->getAvatar()->getImageTag(24)}</a>
+
+ <div class="sidebarBoxHeadline">
+ <h3><a href="{link controller='User' object=$likedMember}{/link}" class="userLink" data-user-id="{@$likedMember->userID}">{$likedMember->username}</a></h3>
+ <small>{lang}wcf.dashboard.box.mostLikedMembers.likes{/lang}</small>
+ </div>
+ </li>
+ {/foreach}
+</ul>
--- /dev/null
+<ul class="sidebarBoxList">
+ {foreach from=$newestMembers item=newMember}
+ <li class="box24">
+ <a href="{link controller='User' object=$newMember}{/link}" class="framed">{@$newMember->getAvatar()->getImageTag(24)}</a>
+
+ <div class="sidebarBoxHeadline">
+ <h3><a href="{link controller='User' object=$newMember}{/link}" class="userLink" data-user-id="{@$newMember->userID}">{$newMember->username}</a></h3>
+ <small>{@$newMember->registrationDate|time}</small>
+ </div>
+ </li>
+ {/foreach}
+</ul>
\ No newline at end of file
--- /dev/null
+<header class="boxHeadline boxSubHeadline">
+ <h2>{lang}wcf.user.recentActivity{/lang}</h2>
+ {if $filteredByFollowedUsers}<p>{lang}wcf.user.recentActivity.filteredByFollowedUsers{/lang}</p>{/if}
+</header>
+
+<div class="container marginTop">
+ <ul id="recentActivities" class="containerList recentActivityList" data-last-event-time="{@$lastEventTime}">
+ {include file='recentActivityListItem'}
+ </ul>
+</div>
+
+<script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ WCF.Language.addObject({
+ 'wcf.user.recentActivity.more': '{lang}wcf.user.recentActivity.more{/lang}',
+ 'wcf.user.recentActivity.noMoreEntries': '{lang}wcf.user.recentActivity.noMoreEntries{/lang}'
+ });
+
+ new WCF.User.RecentActivityLoader(null, {if $filteredByFollowedUsers}true{else}false{/if});
+ });
+ //]]>
+</script>
\ No newline at end of file
--- /dev/null
+<ul class="sidebarBoxList">
+ {foreach from=$eventList item=event}
+ <li class="box24">
+ <a href="{link controller='User' object=$event->getUserProfile()}{/link}" title="{$event->getUserProfile()->username}" class="framed">{@$event->getUserProfile()->getAvatar()->getImageTag(24)}</a>
+
+ <div class="sidebarBoxHeadline">
+ <h3><a href="{link controller='User' object=$event->getUserProfile()}{/link}" class="userLink" data-user-id="{@$event->getUserProfile()->userID}">{$event->getUserProfile()->username}</a><small> - {@$event->time|time}</small></h3>
+ <small>{@$event->getTitle()}</small>
+ </div>
+ </li>
+ {/foreach}
+</ul>
--- /dev/null
+<fieldset class="dashboardBox dashboardBoxRegisterButton">
+ <div>
+ <a href="{link controller='Register'}{/link}" class="button">{lang}wcf.user.button.registerNow{/lang}</a>
+ </div>
+</fieldset>
--- /dev/null
+<fieldset class="dashboardBox">
+ <legend>{lang}wcf.dashboard.box.{$box->boxName}{/lang}</legend>
+
+ <div>
+ {@$template}
+ </div>
+</fieldset>
\ No newline at end of file
--- /dev/null
+<fieldset class="dashboardBox dashboardBoxSignedInAs">
+ <legend class="invisible">{lang}wcf.dashboard.box.{$box->boxName}{/lang}</legend>
+
+ <div class="box96 framed">
+ {@$__wcf->getUserProfileHandler()->getAvatar()->getImageTag(96)}
+
+ <div>
+ <div class="containerHeadline">
+ <h3><a href="{link controller='User' object=$__wcf->user}{/link}">{$__wcf->user->username}</a></h3>
+ {if MODULE_USER_RANK && $__wcf->getUserProfileHandler()->getUserTitle()}<p><span class="badge userTitleBadge{if $__wcf->getUserProfileHandler()->getRank() && $__wcf->getUserProfileHandler()->getRank()->cssClassName} {@$__wcf->getUserProfileHandler()->getRank()->cssClassName}{/if}">{$__wcf->getUserProfileHandler()->getUserTitle()}</span></p>{/if}
+ </div>
+
+ {include file='userInformationStatistics' user=$__wcf->user}
+ </div>
+ </div>
+</fieldset>
\ No newline at end of file
--- /dev/null
+<dl class="plain inlineDataList">
+ <dt>{lang}wcf.user.members{/lang}</dt>
+ <dd>{#$dashboardStats[members]}</dd>
+
+ {event name='stats'}
+
+ <dt>{lang}wcf.user.newestMember{/lang}</dt>
+ <dd><a href="{link controller='User' object=$dashboardStats[newestMember]}{/link}" class="userLink" data-user-id="{$dashboardStats[newestMember]->userID}">{$dashboardStats[newestMember]}</a></dd>
+</dl>
\ No newline at end of file
--- /dev/null
+<div id="userActivityPointListContainer" class="tabularBox marginTop">
+ <table class="table">
+ <thead>
+ <tr>
+ <th>{lang}wcf.user.activityPoint.objectType{/lang}</th>
+ <th>{lang}wcf.user.activityPoint.objects{/lang}</th>
+ <th>{lang}wcf.user.activityPoint.pointsPerObject{/lang}</th>
+ <th>{lang}wcf.user.activityPoint.sum{/lang}</th>
+ </tr>
+ </thead>
+
+ <tbody>
+ {assign var='activityPointSum' value=0}
+ {foreach from=$activityPointObjectTypes item='objectType'}
+ {if $objectType->activityPoints > 0 && $objectType->points > 0}
+ <tr>
+ <td class="columnTitle">
+ {lang}wcf.user.activityPoint.objectType.{$objectType->objectType}{/lang}
+ </td>
+ <td class="columnDigits">
+ {#$objectType->activityPoints/$objectType->points}
+ </td>
+ <td class="columnDigits">
+ {#$objectType->points}
+ </td>
+ <td class="columnDigits">
+ {#$objectType->activityPoints}
+ </td>
+ {assign var='activityPointSum' value=$activityPointSum + $objectType->activityPoints}
+ </tr>
+ {/if}
+ {/foreach}
+
+ <tr>
+ <td class="columnTitle focus right" colspan="3">∑</td>
+ <td class="columnDigits focus"><span class="badge">{#$user->activityPoints}</span></td>
+ </tr>
+ </tbody>
+ </table>
+</div>
--- /dev/null
+{include file='documentHeader'}
+
+<head>
+ <title>{lang}wcf.user.register.disclaimer{/lang} - {PAGE_TITLE|language}</title>
+
+ {include file='headInclude'}
+</head>
+
+<body id="tpl{$templateName|ucfirst}">
+
+{include file='header'}
+
+<header class="boxHeadline">
+ <h1>{lang}wcf.user.register.disclaimer{/lang}</h1>
+</header>
+
+{include file='userNotice'}
+
+{if $errorField}
+ <p class="error">{lang}wcf.global.form.error{/lang}</p>
+{/if}
+
+<div class="contentNavigation">
+ {hascontent}
+ <nav>
+ <ul>
+ {content}
+ {event name='contentNavigationButtons'}
+ {/content}
+ </ul>
+ </nav>
+ {/hascontent}
+</div>
+
+<form method="post" action="{link controller='Disclaimer'}{/link}">
+ <div class="container containerPadding marginTop htmlContent">
+ {lang}wcf.user.register.disclaimer.text{/lang}
+
+ {event name='fieldsets'}
+ </div>
+
+ <div class="formSubmit">
+ <input type="submit" name="accept" value="{lang}wcf.user.register.disclaimer.accept{/lang}" accesskey="s" />
+ <a class="button" href="{link}{/link}">{lang}wcf.user.register.disclaimer.decline{/lang}</a>
+ </div>
+</form>
+
+{include file='footer'}
+
+</body>
+</html>
--- /dev/null
+<!DOCTYPE html>
+<html dir="{lang}wcf.global.pageDirection{/lang}" lang="{@$__wcf->language->getFixedLanguageCode()}">
--- /dev/null
+{include file='documentHeader'}
+
+<head>
+ <title>{lang}wcf.user.emailActivation{/lang} - {PAGE_TITLE|language}</title>
+
+ {include file='headInclude'}
+</head>
+
+<body id="tpl{$templateName|ucfirst}">
+
+{include file='header'}
+
+<header class="boxHeadline">
+ <h1>{lang}wcf.user.emailActivation{/lang}</h1>
+</header>
+
+{include file='userNotice'}
+
+{if $errorField}
+ <p class="error">{lang}wcf.global.form.error{/lang}</p>
+{/if}
+
+<div class="contentNavigation">
+ {hascontent}
+ <nav>
+ <ul>
+ {content}
+ {event name='contentNavigationButtons'}
+ {/content}
+ </ul>
+ </nav>
+ {/hascontent}
+</div>
+
+<form method="post" action="{link controller='EmailActivation'}{/link}">
+ <div class="container containerPadding marginTop">
+ <fieldset>
+ <legend><label for="userID">{lang}wcf.user.emailActivation{/lang}</label></legend>
+
+ <dl{if $errorField == 'u'} class="formError"{/if}>
+ <dt><label for="userID">{lang}wcf.user.userID{/lang}</label></dt>
+ <dd>
+ <input type="text" id="userID" name="u" value="{@$u}" required="required" class="medium" />
+ {if $errorField == 'u'}
+ <small class="innerError">
+ {if $errorType == 'notValid'}{lang}wcf.user.userID.error.invalid{/lang}{/if}
+ </small>
+ {/if}
+ </dd>
+ </dl>
+
+ <dl{if $errorField == 'a'} class="formError"{/if}>
+ <dt><label for="activationCode">{lang}wcf.user.activationCode{/lang}</label></dt>
+ <dd>
+ <input type="text" id="activationCode" maxlength="9" name="a" value="{@$a}" required="required" class="medium" />
+ {if $errorField == 'a'}
+ <small class="innerError">
+ {if $errorType == 'notValid'}{lang}wcf.user.activationCode.error.notValid{/lang}{/if}
+ </small>
+ {/if}
+ </dd>
+ </dl>
+
+ {event name='fields'}
+
+ <dl>
+ <dd>
+ <ul class="buttonList">
+ <li><a class="button small" href="{link controller='EmailNewActivationCode'}{/link}"><span>{lang}wcf.user.newActivationCode{/lang}</span></a></li>
+ {event name='buttons'}
+ </ul>
+ </dd>
+ </dl>
+ </fieldset>
+
+ {event name='fieldsets'}
+ </div>
+
+ <div class="formSubmit">
+ <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s" />
+ </div>
+</form>
+
+{include file='footer'}
+
+</body>
+</html>
--- /dev/null
+{include file='documentHeader'}
+
+<head>
+ <title>{lang}wcf.user.newActivationCode{/lang} - {PAGE_TITLE|language}</title>
+ {include file='headInclude'}
+</head>
+
+<body id="tpl{$templateName|ucfirst}">
+
+{include file='header'}
+
+<header class="boxHeadline">
+ <h1>{lang}wcf.user.newActivationCode{/lang}</h1>
+</header>
+
+{include file='userNotice'}
+
+{if $errorField}
+ <p class="error">{lang}wcf.global.form.error{/lang}</p>
+{/if}
+
+<div class="contentNavigation">
+ {hascontent}
+ <nav>
+ <ul>
+ {content}
+ {event name='contentNavigationButtons'}
+ {/content}
+ </ul>
+ </nav>
+ {/hascontent}
+</div>
+
+<form method="post" action="{link controller='EmailNewActivationCode'}{/link}">
+ <div class="container containerPadding marginTop">
+ <fieldset>
+ <legend>{lang}wcf.user.newActivationCode{/lang}</legend>
+
+ <dl{if $errorField == 'username'} class="formError"{/if}>
+ <dt><label for="username">{lang}wcf.user.username{/lang}</label></dt>
+ <dd>
+ <input type="text" id="username" name="username" value="{$username}" required="required" class="medium" />
+ {if $errorField == 'username'}
+ <small class="innerError">
+ {if $errorType == 'empty'}
+ {lang}wcf.global.form.error.empty{/lang}
+ {elseif $errorType == 'alreadyEnabled'}
+ {lang}wcf.user.registerActivation.error.userAlreadyEnabled{/lang}
+ {else}
+ {lang}wcf.user.username.error.{@$errorType}{/lang}
+ {/if}
+ </small>
+ {/if}
+ </dd>
+ </dl>
+
+ <dl{if $errorField == 'password'} class="formError"{/if}>
+ <dt><label for="password">{lang}wcf.user.password{/lang}</label></dt>
+ <dd>
+ <input type="password" id="password" name="password" value="{$password}" required="required" class="medium" />
+ {if $errorField == 'password'}
+ <small class="innerError">
+ {if $errorType == 'empty'}
+ {lang}wcf.global.form.error.empty{/lang}
+ {else}
+ {lang}wcf.user.password.error.{@$errorType}{/lang}
+ {/if}
+ </small>
+ {/if}
+ </dd>
+ </dl>
+
+ {event name='fields'}
+ </fieldset>
+
+ {event name='fieldsets'}
+ </div>
+
+ <div class="formSubmit">
+ <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s" />
+ </div>
+</form>
+
+{include file='footer'}
+
+</body>
+</html>
--- /dev/null
+{include file='documentHeader'}
+
+<head>
+ <title>{lang}wcf.user.following{/lang} - {lang}wcf.user.usercp{/lang} - {PAGE_TITLE|language}</title>
+ {include file='headInclude'}
+
+ <script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ new WCF.Action.Delete('wcf\\data\\user\\follow\\UserFollowAction', '.jsFollowing');
+ });
+ //]]>
+ </script>
+</head>
+
+<body id="tpl{$templateName|ucfirst}">
+
+{include file='userMenuSidebar'}
+
+{include file='header' sidebarOrientation='left'}
+
+<header class="boxHeadline">
+ <h1>{lang}wcf.user.following{/lang} <span class="badge">{#$items}</span></h1>
+</header>
+
+{include file='userNotice'}
+
+<div class="contentNavigation">
+ {pages print=true assign=pagesLinks controller='Following' link="pageNo=%d"}
+
+ {hascontent}
+ <nav>
+ <ul>
+ {content}
+ {event name='contentNavigationButtonsTop'}
+ {/content}
+ </ul>
+ </nav>
+ {/hascontent}
+</div>
+
+{if $objects|count}
+ <div class="container marginTop">
+ <ol class="containerList doubleColumned userList">
+ {foreach from=$objects item=user}
+ <li class="jsFollowing">
+ <div class="box48">
+ <a href="{link controller='User' object=$user}{/link}" title="{$user->username}" class="framed">{@$user->getAvatar()->getImageTag(48)}</a>
+
+ <div class="details userInformation">
+ {include file='userInformationHeadline'}
+
+ <nav class="jsMobileNavigation buttonGroupNavigation">
+ <ul class="buttonList jsOnly">
+ <li><span class="icon icon16 icon-remove pointer jsTooltip jsDeleteButton" title="{lang}wcf.user.button.unfollow{/lang}" data-object-id="{@$user->followID}"></span></li>
+ {event name='userButtons'}
+ </ul>
+ </nav>
+
+ {include file='userInformationStatistics'}
+ </div>
+ </div>
+ </li>
+ {/foreach}
+ </ol>
+ </div>
+
+ <div class="contentNavigation">
+ {@$pagesLinks}
+
+ {hascontent}
+ <nav>
+ <ul>
+ {content}
+ {event name='contentNavigationButtonsBottom'}
+ {/content}
+ </ul>
+ </nav>
+ {/hascontent}
+ </div>
+{else}
+ <p class="info">{lang}wcf.user.following.noUsers{/lang}</p>
+{/if}
+
+{include file='footer'}
+
+</body>
+</html>
--- /dev/null
+ {event name='contents'}
+
+ {if $skipBreadcrumbs|empty}{include file='breadcrumbs' __microdata=false}{/if}
+
+ </section>
+
+ {if $sidebarOrientation|isset && $sidebarOrientation == 'right'}
+ {@$__sidebar}
+ {/if}
+ </div>
+ </div>
+</div>
+
+<footer id="pageFooter" class="{if $__wcf->getStyleHandler()->getStyle()->getVariable('useFluidLayout')}layoutFluid{else}layoutFixed{/if} footer">
+ <div>
+ <nav id="footerNavigation" class="navigation navigationFooter">
+ {include file='footerMenu'}
+
+ <ul class="navigationIcons">
+ <li id="toTopLink" class="toTopLink"><a href="{$__wcf->getAnchor('top')}" title="{lang}wcf.global.scrollUp{/lang}" class="jsTooltip"><span class="icon icon16 icon-arrow-up"></span> <span class="invisible">{lang}wcf.global.scrollUp{/lang}</span></a></li>
+ {event name='navigationIcons'}
+ </ul>
+
+ <ul class="navigationItems">
+ {if SHOW_CLOCK}
+ <li title="{lang}wcf.date.timezone.{@'/'|str_replace:'.':$__wcf->getUser()->getTimeZone()->getName()|strtolower}{/lang}"><p><span class="icon icon16 icon-time"></span> <span>{@TIME_NOW|plainTime}</span></p></li>
+ {/if}
+ {event name='navigationItems'}
+ </ul>
+ </nav>
+
+ <div class="footerContent">
+ {event name='footerContents'}
+
+ {if ENABLE_BENCHMARK}{include file='benchmark'}{/if}
+
+ {event name='copyright'}
+ </div>
+ </div>
+</footer>
+
+{event name='footer'}
+
+<a id="bottom"></a>
--- /dev/null
+{if $__wcf->getPageMenu()->getMenuItems('footer')|count > 0}
+ <ul class="navigationMenuItems">
+ {foreach from=$__wcf->getPageMenu()->getMenuItems('footer') item=menuItem}
+ <li><a href="{$menuItem->getProcessor()->getLink()}">{lang}{$menuItem->menuItem}{/lang}{if $menuItem->getProcessor()->getNotifications()} <span class="badge badgeUpdate">{#$menuItem->getProcessor()->getNotifications()}</span>{/if}</a></li>
+ {/foreach}
+ </ul>
+{/if}
--- /dev/null
+{foreach from=$groupedUsers item=group}
+ {if $group}
+ <header class="boxHeadline">
+ <h1>{$group}</h1>
+ </header>
+ {/if}
+
+ {if $group|count}
+ <div class="container marginTop">
+ <ol class="containerList jsGroupedUserList">
+ {foreach from=$group item=user}
+ {include file='userListItem'}
+ {/foreach}
+ </ol>
+ </div>
+ {else}
+ <p class="marginTop">{$group->getNoUsersMessage()}</p>
+ {/if}
+{/foreach}
+
+<div class="contentNavigation"><div class="jsPagination"></div></div>
+
+<script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ WCF.Language.addObject({
+ 'wcf.user.button.follow': '{lang}wcf.user.button.follow{/lang}',
+ 'wcf.user.button.ignore': '{lang}wcf.user.button.ignore{/lang}',
+ 'wcf.user.button.unfollow': '{lang}wcf.user.button.unfollow{/lang}',
+ 'wcf.user.button.unignore': '{lang}wcf.user.button.unignore{/lang}'
+ });
+
+ new WCF.User.Action.Follow($('.jsGroupedUserList > li'));
+ new WCF.User.Action.Ignore($('.jsGroupedUserList > li'));
+ });
+ //]]>
+</script>
\ No newline at end of file
--- /dev/null
+<base href="{$baseHref}" />
+<meta charset="utf-8" />
+<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1" />
+<meta name="format-detection" content="telephone=no" />
+{if $allowSpidersToIndexThisPage|empty}<meta name="robots" content="noindex,nofollow" />{/if}
+{implode from=$__wcf->getMetaTagHandler() item=__metaTag glue="\n"}{@$__metaTag}{/implode}
+{event name='metaTags'}
+
+<script type="text/javascript">
+ //<![CDATA[
+ var SID_ARG_2ND = '{@SID_ARG_2ND_NOT_ENCODED}';
+ var WCF_PATH = '{@$__wcf->getPath()}';
+ var SECURITY_TOKEN = '{@SECURITY_TOKEN}';
+ var LANGUAGE_ID = {@$__wcf->getLanguage()->languageID};
+ var TIME_NOW = {@TIME_NOW};
+ //]]>
+</script>
+{if JQUERY_SOURCE == 'google'}
+<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/2.0.1/jquery.min.js"></script>
+<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
+{elseif JQUERY_SOURCE == 'microsoft'}
+<script type="text/javascript" src="//ajax.aspnetcdn.com/ajax/jQuery/jquery-2.0.1.min.js"></script>
+<script type="text/javascript" src="//ajax.aspnetcdn.com/ajax/jquery.ui/1.10.3/jquery-ui.min.js"></script>
+{elseif JQUERY_SOURCE == 'cloudflare'}
+<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.0.1/jquery.min.js"></script>
+<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
+{else}
+<script type="text/javascript" src="{@$__wcf->getPath()}js/3rdParty/jquery.min.js?v={@$__wcfVersion}"></script>
+<script type="text/javascript" src="{@$__wcf->getPath()}js/3rdParty/jquery-ui.min.js?v={@$__wcfVersion}"></script>
+{/if}
+{if JQUERY_SOURCE != 'local'}
+<script type="text/javascript">
+ //<![CDATA[
+ if (!window.jQuery) {
+ document.write('<script type="text/javascript" src="{@$__wcf->getPath()}js/3rdParty/jquery.min.js?v={@$__wcfVersion}"><\/script>');
+ document.write('<script type="text/javascript" src="{@$__wcf->getPath()}js/3rdParty/jquery-ui.min.js?v={@$__wcfVersion}"><\/script>');
+ }
+ //]]>
+</script>
+{/if}
+<script type="text/javascript" src="{@$__wcf->getPath()}js/3rdParty/jquery-ui.nestedSortable.js?v={@$__wcfVersion}"></script>
+<script type="text/javascript" src="{@$__wcf->getPath()}js/3rdParty/jquery-ui.timepicker.min.js?v={@$__wcfVersion}"></script>
+<script type="text/javascript" src="{@$__wcf->getPath()}js/WCF{if !ENABLE_DEBUG_MODE}.min{/if}.js?v={@$__wcfVersion}"></script>
+<script type="text/javascript">
+ //<![CDATA[
+ WCF.User.init({@$__wcf->user->userID}, '{@$__wcf->user->username|encodeJS}');
+ //]]>
+</script>
+<script type="text/javascript" src="{@$__wcf->getPath()}js/WCF.Message{if !ENABLE_DEBUG_MODE}.min{/if}.js?v={@$__wcfVersion}"></script>
+<script type="text/javascript" src="{@$__wcf->getPath()}js/WCF.User{if !ENABLE_DEBUG_MODE}.min{/if}.js?v={@$__wcfVersion}"></script>
+<script type="text/javascript" src="{@$__wcf->getPath('wcf')}js/WCF.Like{if !ENABLE_DEBUG_MODE}.min{/if}.js?v={@$__wcfVersion}"></script>
+{event name='javascriptInclude'}
+
+<!-- Stylesheets -->
+{@$__wcf->getStyleHandler()->getStylesheet()}
+{event name='stylesheets'}
+
+<noscript>
+ <style type="text/css">
+ .jsOnly {
+ display: none !important;
+ }
+
+ .noJsOnly {
+ display: block !important;
+ }
+ </style>
+</noscript>
+
+<script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ WCF.Language.addObject({
+ '__days': [ '{lang}wcf.date.day.sunday{/lang}', '{lang}wcf.date.day.monday{/lang}', '{lang}wcf.date.day.tuesday{/lang}', '{lang}wcf.date.day.wednesday{/lang}', '{lang}wcf.date.day.thursday{/lang}', '{lang}wcf.date.day.friday{/lang}', '{lang}wcf.date.day.saturday{/lang}' ],
+ '__daysShort': [ '{lang}wcf.date.day.sun{/lang}', '{lang}wcf.date.day.mon{/lang}', '{lang}wcf.date.day.tue{/lang}', '{lang}wcf.date.day.wed{/lang}', '{lang}wcf.date.day.thu{/lang}', '{lang}wcf.date.day.fri{/lang}', '{lang}wcf.date.day.sat{/lang}' ],
+ '__months': [ '{lang}wcf.date.month.january{/lang}', '{lang}wcf.date.month.february{/lang}', '{lang}wcf.date.month.march{/lang}', '{lang}wcf.date.month.april{/lang}', '{lang}wcf.date.month.may{/lang}', '{lang}wcf.date.month.june{/lang}', '{lang}wcf.date.month.july{/lang}', '{lang}wcf.date.month.august{/lang}', '{lang}wcf.date.month.september{/lang}', '{lang}wcf.date.month.october{/lang}', '{lang}wcf.date.month.november{/lang}', '{lang}wcf.date.month.december{/lang}' ],
+ '__monthsShort': [ '{lang}wcf.date.month.jan{/lang}', '{lang}wcf.date.month.feb{/lang}', '{lang}wcf.date.month.mar{/lang}', '{lang}wcf.date.month.apr{/lang}', '{lang}wcf.date.month.may{/lang}', '{lang}wcf.date.month.jun{/lang}', '{lang}wcf.date.month.jul{/lang}', '{lang}wcf.date.month.aug{/lang}', '{lang}wcf.date.month.sep{/lang}', '{lang}wcf.date.month.oct{/lang}', '{lang}wcf.date.month.nov{/lang}', '{lang}wcf.date.month.dec{/lang}' ],
+ 'wcf.clipboard.item.unmarkAll': '{lang}wcf.clipboard.item.unmarkAll{/lang}',
+ 'wcf.date.relative.now': '{lang}wcf.date.relative.now{/lang}',
+ 'wcf.date.relative.minutes': '{capture assign=relativeMinutes}{lang}wcf.date.relative.minutes{/lang}{/capture}{@$relativeMinutes|encodeJS}',
+ 'wcf.date.relative.hours': '{capture assign=relativeHours}{lang}wcf.date.relative.hours{/lang}{/capture}{@$relativeHours|encodeJS}',
+ 'wcf.date.relative.pastDays': '{capture assign=relativePastDays}{lang}wcf.date.relative.pastDays{/lang}{/capture}{@$relativePastDays|encodeJS}',
+ 'wcf.date.dateFormat': '{lang}wcf.date.dateFormat{/lang}',
+ 'wcf.date.dateTimeFormat': '{lang}wcf.date.dateTimeFormat{/lang}',
+ 'wcf.date.hour': '{lang}wcf.date.hour{/lang}',
+ 'wcf.date.minute': '{lang}wcf.date.minute{/lang}',
+ 'wcf.date.timeFormat': '{lang}wcf.date.timeFormat{/lang}',
+ 'wcf.global.button.add': '{lang}wcf.global.button.add{/lang}',
+ 'wcf.global.button.cancel': '{lang}wcf.global.button.cancel{/lang}',
+ 'wcf.global.button.close': '{lang}wcf.global.button.close{/lang}',
+ 'wcf.global.button.collapsible': '{lang}wcf.global.button.collapsible{/lang}',
+ 'wcf.global.button.delete': '{lang}wcf.global.button.delete{/lang}',
+ 'wcf.global.button.disable': '{lang}wcf.global.button.disable{/lang}',
+ 'wcf.global.button.disabledI18n': '{lang}wcf.global.button.disabledI18n{/lang}',
+ 'wcf.global.button.edit': '{lang}wcf.global.button.edit{/lang}',
+ 'wcf.global.button.enable': '{lang}wcf.global.button.enable{/lang}',
+ 'wcf.global.button.next': '{lang}wcf.global.button.next{/lang}',
+ 'wcf.global.button.preview': '{lang}wcf.global.button.preview{/lang}',
+ 'wcf.global.button.reset': '{lang}wcf.global.button.reset{/lang}',
+ 'wcf.global.button.save': '{lang}wcf.global.button.save{/lang}',
+ 'wcf.global.button.search': '{lang}wcf.global.button.search{/lang}',
+ 'wcf.global.button.submit': '{lang}wcf.global.button.submit{/lang}',
+ 'wcf.global.confirmation.cancel': '{lang}wcf.global.confirmation.cancel{/lang}',
+ 'wcf.global.confirmation.confirm': '{lang}wcf.global.confirmation.confirm{/lang}',
+ 'wcf.global.confirmation.title': '{lang}wcf.global.confirmation.title{/lang}',
+ 'wcf.global.decimalPoint': '{capture assign=decimalPoint}{lang}wcf.global.decimalPoint{/lang}{/capture}{$decimalPoint|encodeJS}',
+ 'wcf.global.error.timeout': '{lang}wcf.global.error.timeout{/lang}',
+ 'wcf.global.error.title': '{lang}wcf.global.error.title{/lang}',
+ 'wcf.global.form.error.empty': '{lang}wcf.global.form.error.empty{/lang}',
+ 'wcf.global.language.noSelection': '{lang}wcf.global.language.noSelection{/lang}',
+ 'wcf.global.loading': '{lang}wcf.global.loading{/lang}',
+ 'wcf.global.page.jumpTo': '{lang}wcf.global.page.jumpTo{/lang}',
+ 'wcf.global.page.jumpTo.description': '{lang}wcf.global.page.jumpTo.description{/lang}',
+ 'wcf.global.page.pageNavigation': '{lang}wcf.global.page.pageNavigation{/lang}',
+ 'wcf.global.page.next': '{capture assign=pageNext}{lang}wcf.global.page.next{/lang}{/capture}{@$pageNext|encodeJS}',
+ 'wcf.global.page.previous': '{capture assign=pagePrevious}{lang}wcf.global.page.previous{/lang}{/capture}{@$pagePrevious|encodeJS}',
+ 'wcf.global.success': '{lang}wcf.global.success{/lang}',
+ 'wcf.global.success.add': '{lang}wcf.global.success.add{/lang}',
+ 'wcf.global.success.edit': '{lang}wcf.global.success.edit{/lang}',
+ 'wcf.global.thousandsSeparator': '{capture assign=thousandsSeparator}{lang}wcf.global.thousandsSeparator{/lang}{/capture}{@$thousandsSeparator|encodeJS}',
+ 'wcf.page.sitemap': '{lang}wcf.page.sitemap{/lang}',
+ 'wcf.style.changeStyle': '{lang}wcf.style.changeStyle{/lang}'
+ {if MODULE_LIKE}
+ ,'wcf.like.button.like': '{lang}wcf.like.button.like{/lang}',
+ 'wcf.like.button.dislike': '{lang}wcf.like.button.dislike{/lang}',
+ 'wcf.like.tooltip': '{lang}wcf.like.jsTooltip{/lang}',
+ 'wcf.like.summary': '{lang}wcf.like.summary{/lang}',
+ 'wcf.like.details': '{lang}wcf.like.details{/lang}'
+ {/if}
+
+ {event name='javascriptLanguageImport'}
+ });
+
+ if (jQuery.browser.touch) $('html').addClass('touch');
+ new WCF.Date.Time();
+ new WCF.Effect.SmoothScroll();
+ new WCF.Effect.BalloonTooltip();
+ new WCF.Sitemap();
+ {if $__wcf->getStyleHandler()->countStyles() > 1}new WCF.Style.Chooser();{/if}
+ WCF.Dropdown.init();
+ WCF.System.PageNavigation.init('.pageNavigation');
+ WCF.Date.Picker.init();
+ WCF.System.MobileNavigation.init();
+ new WCF.User.ProfilePreview();
+
+ {event name='javascriptInit'}
+
+ {if $executeCronjobs}
+ new WCF.Action.Proxy({
+ autoSend: true,
+ data: {
+ className: 'wcf\\data\\cronjob\\CronjobAction',
+ actionName: 'executeCronjobs'
+ },
+ showLoadingOverlay: false,
+ failure: function() {
+ return false;
+ }
+ });
+ {/if}
+ {if $__sessionKeepAlive|isset}
+ new WCF.System.KeepAlive({@$__sessionKeepAlive});
+ {/if}
+ });
+ //]]>
+</script>
+
+{include file='imageViewer'}
\ No newline at end of file
--- /dev/null
+<a id="top"></a>
+
+<header id="pageHeader" class="{if $__wcf->getStyleHandler()->getStyle()->getVariable('useFluidLayout')}layoutFluid{else}layoutFixed{/if}">
+ <div>
+ <nav id="topMenu" class="userPanel">
+ <div class="{if $__wcf->getStyleHandler()->getStyle()->getVariable('useFluidLayout')}layoutFluid{else}layoutFixed{/if}">
+ {hascontent}
+ <ul class="userPanelItems">
+ {content}
+ {include file='userPanel'}
+ {event name='topMenu'}
+ {/content}
+ </ul>
+ {/hascontent}
+
+ {include file='searchArea'}
+ </div>
+ </nav>
+
+ <div id="logo" class="logo">
+ <a href="{link}{/link}">
+ {if $__wcf->getStyleHandler()->getStyle()->getPageLogo()}
+ <img src="{$__wcf->getStyleHandler()->getStyle()->getPageLogo()}" alt="" />
+ {/if}
+ {event name='headerLogo'}
+ </a>
+ </div>
+
+ {event name='headerContents'}
+
+ {include file='mainMenu'}
+
+ <nav class="navigation navigationHeader">
+ {include file='mainMenuSubMenu'}
+
+ <ul class="navigationIcons">
+ <li id="toBottomLink"><a href="{$__wcf->getAnchor('bottom')}" title="{lang}wcf.global.scrollDown{/lang}" class="jsTooltip"><span class="icon icon16 icon-arrow-down"></span> <span class="invisible">{lang}wcf.global.scrollDown{/lang}</span></a></li>
+ <li id="sitemap" class="jsOnly"><a title="{lang}wcf.page.sitemap{/lang}" class="jsTooltip"><span class="icon icon16 icon-sitemap"></span> <span class="invisible">{lang}wcf.page.sitemap{/lang}</span></a></li>
+ {if $headerNavigation|isset}{@$headerNavigation}{/if}
+ {event name='navigationIcons'}
+ </ul>
+ </nav>
+ </div>
+</header>
+
+<div id="main" class="{if $__wcf->getStyleHandler()->getStyle()->getVariable('useFluidLayout')}layoutFluid{else}layoutFixed{/if}{if $sidebarOrientation|isset && $sidebar|isset} sidebarOrientation{@$sidebarOrientation|ucfirst}{if $sidebarOrientation == 'right' && $sidebarCollapsed} sidebarCollapsed{/if}{/if}">
+ <div>
+ <div>
+ {capture assign='__sidebar'}
+ {if $sidebar|isset}
+ <aside class="sidebar"{if $sidebarOrientation|isset && $sidebarOrientation == 'right'} data-is-open="{if $sidebarCollapsed}false{else}true{/if}" data-sidebar-name="{$sidebarName}"{/if}>
+ <div>
+ {event name='sidebarBoxesTop'}
+
+ {@$sidebar}
+
+ {event name='sidebarBoxesBottom'}
+ </div>
+ </aside>
+
+ {if $sidebarOrientation|isset && $sidebarOrientation == 'right'}
+ <script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ new WCF.Collapsible.Sidebar();
+ });
+ //]]>
+ </script>
+ {/if}
+ {/if}
+ {/capture}
+
+ {if !$sidebarOrientation|isset || $sidebarOrientation == 'left'}
+ {@$__sidebar}
+ {/if}
+
+ <section id="content" class="content">
+
+ {event name='contents'}
+
+ {if $skipBreadcrumbs|empty}{include file='breadcrumbs'}{/if}
+
\ No newline at end of file
--- /dev/null
+{include file='documentHeader'}
+
+<head>
+ <title>{lang}wcf.user.ignoredUsers{/lang} - {lang}wcf.user.usercp{/lang} - {PAGE_TITLE|language}</title>
+ {include file='headInclude'}
+
+ <script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ new WCF.Action.Delete('wcf\\data\\user\\ignore\\UserIgnoreAction', '.jsIgnoredUser');
+ });
+ //]]>
+ </script>
+</head>
+
+<body id="tpl{$templateName|ucfirst}">
+
+{include file='userMenuSidebar'}
+
+{include file='header' sidebarOrientation='left'}
+
+<header class="boxHeadline">
+ <h1>{lang}wcf.user.ignoredUsers{/lang} <span class="badge">{#$items}</span></h1>
+</header>
+
+{include file='userNotice'}
+
+<div class="contentNavigation">
+ {pages print=true assign=pagesLinks controller='IgnoredUsers' link="pageNo=%d"}
+
+ {hascontent}
+ <nav>
+ <ul>
+ {content}
+ {event name='contentNavigationButtonsTop'}
+ {/content}
+ </ul>
+ </nav>
+ {/hascontent}
+</div>
+
+{if $objects|count}
+ <div class="container marginTop">
+ <ol class="containerList doubleColumned userList">
+ {foreach from=$objects item=user}
+ <li class="jsIgnoredUser">
+ <div class="box48">
+ <a href="{link controller='User' object=$user}{/link}" title="{$user->username}" class="framed">{@$user->getAvatar()->getImageTag(48)}</a>
+
+ <div class="details userInformation">
+ {include file='userInformationHeadline'}
+
+ <nav class="jsMobileNavigation buttonGroupNavigation">
+ <ul class="buttonList jsOnly">
+ <li><span class="icon icon16 icon-remove pointer jsTooltip jsDeleteButton" title="{lang}wcf.user.button.unignore{/lang}" data-object-id="{@$user->ignoreID}"></span></li>
+ {event name='userButtons'}
+ </ul>
+ </nav>
+
+ {include file='userInformationStatistics'}
+ </div>
+ </div>
+ </li>
+ {/foreach}
+ </ol>
+ </div>
+
+ <div class="contentNavigation">
+ {@$pagesLinks}
+
+ {hascontent}
+ <nav>
+ <ul>
+ {content}
+ {event name='contentNavigationButtonsBottom'}
+ {/content}
+ </ul>
+ </nav>
+ {/hascontent}
+ </div>
+{else}
+ <p class="info">{lang}wcf.user.ignoredUsers.noUsers{/lang}</p>
+{/if}
+
+{include file='footer'}
+
+</body>
+</html>
--- /dev/null
+{if !$__imageViewerLoaded|isset}
+ <script type="text/javascript" src="{@$__wcf->getPath()}js/3rdParty/slimbox2.min.js"></script>
+ <script type="text/javascript" src="{@$__wcf->getPath()}js/WCF.ImageViewer{if !ENABLE_DEBUG_MODE}.min{/if}.js?v={@$__wcfVersion}"></script>
+ <script type="text/javascript">
+ //<![CDATA[
+ var $imageViewer = null;
+ $(function() {
+ WCF.Language.addObject({
+ 'wcf.imageViewer.counter': '{lang}wcf.imageViewer.counter{/lang}',
+ 'wcf.imageViewer.close': '{lang}wcf.imageViewer.close{/lang}',
+ 'wcf.imageViewer.enlarge': '{lang}wcf.imageViewer.enlarge{/lang}',
+ 'wcf.imageViewer.next': '{lang}wcf.imageViewer.next{/lang}',
+ 'wcf.imageViewer.previous': '{lang}wcf.imageViewer.previous{/lang}'
+ });
+
+ $imageViewer = new WCF.ImageViewer();
+ });
+ //]]>
+ </script>
+
+ {assign var=__imageViewerLoaded value=true}
+{/if}
\ No newline at end of file
--- /dev/null
+<input type="number" id="{$option->optionName}" name="values[{$option->optionName}]" value="{$value}"{if $option->minvalue !== null} min="{$option->minvalue}"{/if}{if $option->maxvalue !== null} max="{$option->maxvalue}"{/if}{if $inputClass} class="{@$inputClass}"{/if} />
\ No newline at end of file
--- /dev/null
+{include file='documentHeader'}
+
+<head>
+ <title>{lang}wcf.user.login{/lang} - {PAGE_TITLE|language}</title>
+
+ {include file='headInclude'}
+
+ <script type="text/javascript" src="{@$__wcf->getPath('wcf')}js/WCF.User{if !ENABLE_DEBUG_MODE}.min{/if}.js?v={@$__wcfVersion}"></script>
+ <script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ new WCF.User.Login(false);
+ })
+ //]]>
+ </script>
+</head>
+
+<body id="tpl{$templateName|ucfirst}">
+{include file='header' __disableLoginLink=true}
+
+<header class="boxHeadline">
+ <h1>{lang}wcf.user.login{/lang}</h1>
+</header>
+
+{include file='userNotice'}
+
+{if $errorField}
+ <p class="error">{lang}wcf.global.form.error{/lang}</p>
+{/if}
+
+<div class="contentNavigation">
+ {hascontent}
+ <nav>
+ <ul>
+ {content}
+ {event name='contentNavigationButtons'}
+ {/content}
+ </ul>
+ </nav>
+ {/hascontent}
+</div>
+
+<form method="post" action="{link controller='Login'}{/link}" id="loginForm">
+ <div class="container containerPadding marginTop">
+ <fieldset>
+ <legend>{lang}wcf.user.login.data{/lang}</legend>
+
+ <dl{if $errorField == 'username'} class="formError"{/if}>
+ <dt><label for="username">{lang}wcf.user.usernameOrEmail{/lang}</label></dt>
+ <dd>
+ <input type="text" id="username" name="username" value="{$username}" required="required" class="long" />
+ {if $errorField == 'username'}
+ <small class="innerError">
+ {if $errorType == 'empty'}
+ {lang}wcf.global.form.error.empty{/lang}
+ {else}
+ {lang}wcf.user.username.error.{@$errorType}{/lang}
+ {/if}
+ </small>
+ {/if}
+ </dd>
+ </dl>
+
+ {if !REGISTER_DISABLED}
+ <dl>
+ <dt>{lang}wcf.user.login.action{/lang}</dt>
+ <dd><label><input type="radio" name="action" value="register" /> {lang}wcf.user.login.action.register{/lang}</label></dd>
+ <dd><label><input type="radio" name="action" value="login" checked="checked" /> {lang}wcf.user.login.action.login{/lang}</label></dd>
+ </dl>
+ {/if}
+
+ <dl{if $errorField == 'password'} class="formError"{/if}>
+ <dt><label for="password">{lang}wcf.user.password{/lang}</label></dt>
+ <dd>
+ <input type="password" id="password" name="password" value="{$password}" class="long" />
+ {if $errorField == 'password'}
+ <small class="innerError">
+ {if $errorType == 'empty'}
+ {lang}wcf.global.form.error.empty{/lang}
+ {else}
+ {lang}wcf.user.password.error.{@$errorType}{/lang}
+ {/if}
+ </small>
+ {/if}
+ </dd>
+ </dl>
+
+ {if $supportsPersistentLogins}
+ <dl>
+ <dd>
+ <label for="useCookies"><input type="checkbox" id="useCookies" name="useCookies" value="1" {if $useCookies}checked="checked" {/if}/> {lang}wcf.user.useCookies{/lang}</label>
+ </dd>
+ </dl>
+ {/if}
+
+ {event name='fields'}
+
+ <dl>
+ <dd>
+ <ul class="buttonList">
+ <li><a class="button small" href="{link controller='LostPassword'}{/link}"><span>{lang}wcf.user.lostPassword{/lang}</span></a></li>
+ {if !REGISTER_DISABLED && REGISTER_ACTIVATION_METHOD == 1}<li><a class="button small" href="{link controller='RegisterActivation'}{/link}"><span>{lang}wcf.user.registerActivation{/lang}</span></a></li>{/if}
+ {event name='buttons'}
+ </ul>
+ </dd>
+ </dl>
+ </fieldset>
+
+ {capture assign='__3rdPartyButtons'}
+
+ {/capture}
+
+ {hascontent}
+ <fieldset>
+ <legend>{lang}wcf.user.login.3rdParty{/lang}</legend>
+
+ <dl>
+ <dd>
+ <ul class="buttonList">
+ {content}
+ {if GITHUB_PUBLIC_KEY !== '' && GITHUB_PRIVATE_KEY !== ''}
+ <li id="githubAuth" class="3rdPartyAuth">
+ <a href="{link controller='GithubAuth'}{/link}" class="button small"><span class="icon icon16 icon-github"></span> <span>{lang}wcf.user.3rdparty.github.login{/lang}</span></a>
+ </li>
+ {/if}
+
+ {if TWITTER_PUBLIC_KEY !== '' && TWITTER_PRIVATE_KEY !== ''}
+ <li id="twitterAuth" class="3rdPartyAuth">
+ <a href="{link controller='TwitterAuth'}{/link}" class="button small"><span class="icon icon16 icon-twitter"></span> <span>{lang}wcf.user.3rdparty.twitter.login{/lang}</span></a>
+ </li>
+ {/if}
+
+ {if FACEBOOK_PUBLIC_KEY !== '' && FACEBOOK_PRIVATE_KEY !== ''}
+ <li id="facebookAuth" class="3rdPartyAuth">
+ <a href="{link controller='FacebookAuth'}{/link}" class="button small"><span class="icon icon16 icon-facebook"></span> <span>{lang}wcf.user.3rdparty.facebook.login{/lang}</span></a>
+ </li>
+ {/if}
+
+ {if GOOGLE_PUBLIC_KEY !== '' && GOOGLE_PRIVATE_KEY !== ''}
+ <li id="googleAuth" class="3rdPartyAuth">
+ <a href="{link controller='GoogleAuth'}{/link}" class="button small"><span class="icon icon16 icon-google-plus"></span> <span>{lang}wcf.user.3rdparty.google.login{/lang}</span></a>
+ </li>
+ {/if}
+ {/content}
+ </ul>
+ </dd>
+ </dl>
+ </fieldset>
+ {/hascontent}
+
+ {event name='fieldsets'}
+ </div>
+
+ <div class="formSubmit">
+ <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s" />
+ <input type="hidden" name="url" value="{@$url}" />
+ </div>
+</form>
+
+{include file='footer'}
+
+</body>
+</html>
--- /dev/null
+{include file="documentHeader"}
+
+<head>
+ <title>{lang}wcf.user.lostPassword{/lang} - {PAGE_TITLE|language}</title>
+ {include file='headInclude'}
+
+ <script type="text/javascript" src="{@$__wcf->getPath('wcf')}js/WCF.User{if !ENABLE_DEBUG_MODE}.min{/if}.js?v={@$__wcfVersion}"></script>
+ <script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ new WCF.User.Registration.LostPassword();
+ });
+ //]]>
+ </script>
+</head>
+
+<body id="tpl{$templateName|ucfirst}">
+
+{include file='header'}
+
+<header class="boxHeadline">
+ <h1>{lang}wcf.user.lostPassword{/lang}</h1>
+</header>
+
+{include file='userNotice'}
+
+<p class="info">{lang}wcf.user.lostPassword.description{/lang}</p>
+
+{if $errorField}
+ <p class="error">{lang}wcf.global.form.error{/lang}</p>
+{/if}
+
+<div class="contentNavigation">
+ {hascontent}
+ <nav>
+ <ul>
+ {content}
+ {event name='contentNavigationButtons'}
+ {/content}
+ </ul>
+ </nav>
+ {/hascontent}
+</div>
+
+<form method="post" action="{link controller='LostPassword'}{/link}">
+ <div class="container containerPadding marginTop">
+ <fieldset>
+ <legend>{lang}wcf.user.lostPassword{/lang}</legend>
+
+ <dl id="usernameDiv"{if $errorField == 'username'} class="formError"{/if}>
+ <dt>
+ <label for="usernameInput">{lang}wcf.user.username{/lang}</label>
+ </dt>
+ <dd>
+ <input type="text" id="usernameInput" name="username" value="{$username}" class="medium" />
+ {if $errorField == 'username'}
+ <small class="innerError">
+ {if $errorType == 'empty'}{lang}wcf.global.form.error.empty{/lang}{/if}
+ {if $errorType == 'notFound'}{lang}wcf.user.error.username.notFound{/lang}{/if}
+ {if $errorType == '3rdParty'}{lang}wcf.user.error.username.3rdParty{/lang}{/if}
+ </small>
+ {/if}
+ </dd>
+ </dl>
+
+ <dl id="emailDiv"{if $errorField == 'email'} class="formError"{/if}>
+ <dt>
+ <label for="emailInput">{lang}wcf.user.email{/lang}</label>
+ </dt>
+ <dd>
+ <input type="email" id="emailInput" name="email" value="{$email}" class="medium" />
+ {if $errorField == 'email'}
+ <small class="innerError">
+ {if $errorType == 'empty'}{lang}wcf.global.form.error.empty{/lang}{/if}
+ {if $errorType == 'notFound'}{lang}wcf.user.lostPassword.error.email.notFound{/lang}{/if}
+ </small>
+ {/if}
+ </dd>
+ </dl>
+
+ {event name='fields'}
+ </fieldset>
+
+ {event name='fieldsets'}
+
+ {if $useCaptcha}{include file='recaptcha'}{/if}
+ </div>
+
+ <div class="formSubmit">
+ <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s" />
+ </div>
+</form>
+
+{include file='footer'}
+
+</body>
+</html>
--- /dev/null
+{include file='documentHeader'}
+
+<head>
+ <title>{lang}wcf.user.mail.title{/lang} - {lang}wcf.user.profile{/lang} - {PAGE_TITLE|language}</title>
+
+ {include file='headInclude'}
+</head>
+
+<body id="tpl{$templateName|ucfirst}">
+{include file='header'}
+
+<header class="boxHeadline">
+ <h1>{lang}wcf.user.mail.title{/lang}</h1>
+</header>
+
+{include file='userNotice'}
+
+{if $errorField}
+ <p class="error">{lang}wcf.global.form.error{/lang}</p>
+{/if}
+
+<div class="contentNavigation">
+ {hascontent}
+ <nav>
+ <ul>
+ {content}
+ {event name='contentNavigationButtons'}
+ {/content}
+ </ul>
+ </nav>
+ {/hascontent}
+</div>
+
+<form method="post" action="{link controller='Mail' object=$user}{/link}">
+ <div class="container containerPadding marginTop">
+ <fieldset>
+ <legend>{lang}wcf.user.mail.information{/lang}</legend>
+
+ <dl{if $errorField == 'subject'} class="formError"{/if}>
+ <dt><label for="subject">{lang}wcf.user.mail.subject{/lang}</label></dt>
+ <dd>
+ <input type="text" id="subject" name="subject" value="{$subject}" required="required" class="long" />
+ {if $errorField == 'subject'}
+ <small class="innerError">
+ {if $errorType == 'empty'}
+ {lang}wcf.global.form.error.empty{/lang}
+ {else}
+ {lang}wcf.user.mail.subject.error.{@$errorType}{/lang}
+ {/if}
+ </small>
+ {/if}
+ </dd>
+ </dl>
+
+ {if $__wcf->user->userID}
+ <dl>
+ <dd><label><input type="checkbox" name="showAddress" value="1" {if $showAddress == 1} checked="checked"{/if}/> {lang}wcf.user.mail.showAddress{/lang}</label></dd>
+ </dl>
+ {else}
+ <dl{if $errorField == 'email'} class="formError"{/if}>
+ <dt><label for="email">{lang}wcf.user.mail.senderEmail{/lang}</label></dt>
+ <dd>
+ <input type="email" id="email" name="email" value="{$email}" required="required" class="medium" />
+ {if $errorField == 'email'}
+ <small class="innerError">
+ {if $errorType == 'empty'}
+ {lang}wcf.global.form.error.empty{/lang}
+ {elseif $errorType == 'invalid'}
+ {lang}wcf.user.email.error.notValid{/lang}
+ {else}
+ {lang}wcf.user.mail.senderEmail.error.{@$errorType}{/lang}
+ {/if}
+ </small>
+ {/if}
+ </dd>
+ </dl>
+ {/if}
+
+ {event name='informationFields'}
+ </fieldset>
+
+ <fieldset>
+ <legend><label for="message">{lang}wcf.user.mail.message{/lang}</label></legend>
+
+ <dl class="wide{if $errorField == 'message'} formError{/if}">
+ <dd>
+ <textarea rows="15" cols="40" name="message" id="message" required="required">{$message}</textarea>
+ {if $errorField == 'message'}
+ <small class="innerError">
+ {if $errorType == 'empty'}
+ {lang}wcf.global.form.error.empty{/lang}
+ {else}
+ {lang}wcf.user.mail.message.error.{@$errorType}{/lang}
+ {/if}
+ </small>
+ {/if}
+ </dd>
+ </dl>
+
+ {event name='messageFields'}
+ </fieldset>
+
+ {event name='fieldsets'}
+
+ {if $useCaptcha}
+ {include file='recaptcha'}
+ {/if}
+ </div>
+
+ <div class="formSubmit">
+ <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s" />
+ </div>
+</form>
+
+{include file='footer'}
+
+</body>
+</html>
--- /dev/null
+{if $__wcf->getPageMenu()->getMenuItems('header')|count > 0}
+ <nav id="mainMenu" class="mainMenu jsMobileNavigation" data-button-label="{lang}wcf.page.mainMenu{/lang}">
+ <ul>{foreach from=$__wcf->getPageMenu()->getMenuItems('header') item=menuItem}<li{if $__wcf->getPageMenu()->getActiveMenuItem() == $menuItem->menuItem} class="active"{/if}>{*
+ *}<a href="{$menuItem->getProcessor()->getLink()}">{lang}{$menuItem->menuItem}{/lang}{if $menuItem->getProcessor()->getNotifications()} <span class="badge badgeUpdate">{#$menuItem->getProcessor()->getNotifications()}</span>{/if}</a>{*
+ *}{if $__wcf->getPageMenu()->getMenuItems($menuItem->menuItem)|count > 0 && $__wcf->getPageMenu()->getActiveMenuItem() == $menuItem->menuItem}<ul class="invisible">{*
+ *}{foreach from=$__wcf->getPageMenu()->getMenuItems($menuItem->menuItem) item=subMenuItem}{*
+ *}<li{if $__wcf->getPageMenu()->getActiveMenuItem(1) == $subMenuItem->menuItem} class="active"{/if}><a href="{$subMenuItem->getProcessor()->getLink()}"><span>{lang}{$subMenuItem->menuItem}{/lang}</span></a>{if $subMenuItem->getProcessor()->getNotifications()} <span class="badge badgeUpdate">{#$subMenuItem->getProcessor()->getNotifications()}</span>{/if}</li>{*
+ *}{/foreach}{*
+ *}{event name='items'}</ul>{/if}</li>{/foreach}</ul>
+ </nav>
+{/if}
--- /dev/null
+{foreach from=$__wcf->getPageMenu()->getMenuItems('header') item=menuItem}
+ {if $__wcf->getPageMenu()->getMenuItems($menuItem->menuItem)|count > 0 && $__wcf->getPageMenu()->getActiveMenuItem() == $menuItem->menuItem}
+ <ul class="navigationMenuItems">
+ {foreach from=$__wcf->getPageMenu()->getMenuItems($menuItem->menuItem) item=subMenuItem}
+ <li{if $__wcf->getPageMenu()->getActiveMenuItem(1) == $subMenuItem->menuItem} class="active"{/if}><a href="{$subMenuItem->getProcessor()->getLink()}"><span>{lang}{$subMenuItem->menuItem}{/lang}</span></a>{if $subMenuItem->getProcessor()->getNotifications()} <span class="badge badgeUpdate">{#$subMenuItem->getProcessor()->getNotifications()}</span>{/if}</li>
+ {/foreach}
+ {event name='items'}
+ </ul>
+ {/if}
+{/foreach}
\ No newline at end of file
--- /dev/null
+<fieldset>
+ <dl class="wide">
+ <dd>
+ <label><input type="radio" name="subscribe" value="1"{if $userObjectWatch} checked="checked"{/if} /> {lang}wcf.user.objectWatch.subscribe.{@$objectType->objectType}{/lang}</label>
+
+ <small><label><input type="checkbox" name="enableNotification" value="1"{if $userObjectWatch && $userObjectWatch->notification} checked="checked"{/if} /> {lang}wcf.user.objectWatch.enableNotification.{@$objectType->objectType}{/lang}</label></small>
+ </dd>
+ </dl>
+ <dl class="wide">
+ <dd>
+ <label><input type="radio" name="subscribe" value="0"{if !$userObjectWatch} checked="checked"{/if} /> {lang}wcf.user.objectWatch.unsubscribe.{@$objectType->objectType}{/lang}</label>
+ </dd>
+ </dl>
+
+ {event name='fields'}
+</fieldset>
+
+<div class="formSubmit">
+ <button class="jsButtonSave buttonPrimary">{lang}wcf.global.button.save{/lang}</button>
+</div>
\ No newline at end of file
--- /dev/null
+{include file='documentHeader'}
+
+<head>
+ <title>{if $searchID}{lang}wcf.user.search.results{/lang}{else}{lang}wcf.user.members{/lang}{/if} {if $pageNo > 1}- {lang}wcf.page.pageNo{/lang} {/if}- {PAGE_TITLE|language}</title>
+
+ {include file='headInclude'}
+
+ {capture assign='canonicalURLParameters'}sortField={@$sortField}&sortOrder={@$sortOrder}{if $letter}&letter={@$letter|rawurlencode}{/if}{/capture}
+ {if $pageNo < $pages}
+ <link rel="next" href="{link controller='MembersList'}pageNo={@$pageNo+1}&{@$canonicalURLParameters}{/link}" />
+ {/if}
+ {if $pageNo > 1}
+ <link rel="prev" href="{link controller='MembersList'}{if $pageNo > 2}pageNo={@$pageNo-1}&{/if}{@$canonicalURLParameters}{/link}" />
+ {/if}
+ <link rel="canonical" href="{link controller='MembersList'}{if $pageNo > 1}pageNo={@$pageNo}&{/if}{@$canonicalURLParameters}{/link}" />
+
+ <script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ WCF.Language.addObject({
+ 'wcf.user.button.follow': '{lang}wcf.user.button.follow{/lang}',
+ 'wcf.user.button.ignore': '{lang}wcf.user.button.ignore{/lang}',
+ 'wcf.user.button.unfollow': '{lang}wcf.user.button.unfollow{/lang}',
+ 'wcf.user.button.unignore': '{lang}wcf.user.button.unignore{/lang}'
+ });
+
+ new WCF.User.Action.Follow($('.userList > li'));
+ new WCF.User.Action.Ignore($('.userList > li'));
+
+ new WCF.Search.User('#searchUsername', function(data) {
+ var $link = '{link controller='User' id=2147483646 title='wcfTitlePlaceholder' encode=false}{/link}';
+ window.location = $link.replace('2147483646', data.objectID).replace('wcfTitlePlaceholder', data.label);
+ }, false, [ ], false);
+ });
+ //]]>
+ </script>
+</head>
+
+<body id="tpl{$templateName|ucfirst}">
+
+{capture assign='sidebar'}
+ {assign var=encodedLetter value=$letter|rawurlencode}
+ <div class="jsOnly">
+ <form method="get" action="{if $searchID}{link controller='MembersList' id=$searchID}{/link}{else}{link controller='MembersList'}{/link}{/if}">
+ <fieldset>
+ <legend><label for="searchUsername">{lang}wcf.user.search{/lang}</label></legend>
+
+ <dl>
+ <dd>
+ <input type="text" id="searchUsername" name="username" class="long" placeholder="{lang}wcf.user.username{/lang}" />
+ </dd>
+ </dl>
+ </fieldset>
+ </form>
+ </div>
+
+ <fieldset>
+ <legend>{lang}wcf.user.members.sort.letters{/lang}</legend>
+
+ <ul class="buttonList letters">
+ {foreach from=$letters item=__letter}
+ <li><a href="{if $searchID}{link controller='MembersList' id=$searchID}sortField={$sortField}&sortOrder={$sortOrder}&letter={$__letter|rawurlencode}{/link}{else}{link controller='MembersList'}sortField={$sortField}&sortOrder={$sortOrder}&letter={$__letter|rawurlencode}{/link}{/if}" class="button small{if $letter == $__letter} active{/if}">{$__letter}</a></li>
+ {/foreach}
+ {if !$letter|empty}<li><a href="{if $searchID}{link controller='MembersList' id=$searchID}sortField={$sortField}&sortOrder={$sortOrder}{/link}{else}{link controller='MembersList'}sortField={$sortField}&sortOrder={$sortOrder}{/link}{/if}" class="button small">{lang}wcf.user.members.sort.letters.all{/lang}</a></li>{/if}
+ </ul>
+ </fieldset>
+
+ <div>
+ <form method="get" action="{if $searchID}{link controller='MembersList' id=$searchID}{/link}{else}{link controller='MembersList'}{/link}{/if}">
+ <fieldset>
+ <legend><label for="sortField">{lang}wcf.user.members.sort{/lang}</label></legend>
+
+ <dl>
+ <dd>
+ <select id="sortField" name="sortField">
+ <option value="username"{if $sortField == 'username'} selected="selected"{/if}>{lang}wcf.user.username{/lang}</option>
+ <option value="registrationDate"{if $sortField == 'registrationDate'} selected="selected"{/if}>{lang}wcf.user.registrationDate{/lang}</option>
+ <option value="activityPoints"{if $sortField == 'activityPoints'} selected="selected"{/if}>{lang}wcf.user.activityPoint{/lang}</option>
+ <option value="likesReceived"{if $sortField == 'likesReceived'} selected="selected"{/if}>{lang}wcf.like.likesReceived{/lang}</option>
+ {event name='sortField'}
+ </select>
+ <select name="sortOrder">
+ <option value="ASC"{if $sortOrder == 'ASC'} selected="selected"{/if}>{lang}wcf.global.sortOrder.ascending{/lang}</option>
+ <option value="DESC"{if $sortOrder == 'DESC'} selected="selected"{/if}>{lang}wcf.global.sortOrder.descending{/lang}</option>
+ </select>
+ </dd>
+ </dl>
+ </fieldset>
+
+ <div class="formSubmit">
+ <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s" />
+ <input type="hidden" name="letter" value="{$letter}" />
+ </div>
+ </form>
+ </div>
+
+ {@$__boxSidebar}
+{/capture}
+
+{include file='header' sidebarOrientation='right'}
+
+<header class="boxHeadline">
+ <h1>{if $searchID}{lang}wcf.user.search.results{/lang}{else}{lang}wcf.user.members{/lang}{/if} <span class="badge">{#$items}</span></h1>
+</header>
+
+{include file='userNotice'}
+
+<div class="contentNavigation">
+ {if $searchID}
+ {pages print=true assign=pagesLinks controller='MembersList' id=$searchID link="pageNo=%d&sortField=$sortField&sortOrder=$sortOrder&letter=$encodedLetter"}
+ {else}
+ {pages print=true assign=pagesLinks controller='MembersList' link="pageNo=%d&sortField=$sortField&sortOrder=$sortOrder&letter=$encodedLetter"}
+ {/if}
+
+ {hascontent}
+ <nav>
+ <ul>
+ {content}
+ {event name='contentNavigationButtonsTop'}
+ {/content}
+ </ul>
+ </nav>
+ {/hascontent}
+</div>
+
+{if $items}
+ <div class="container marginTop">
+ <ol class="containerList doubleColumned userList">
+ {foreach from=$objects item=user}
+ {include file='userListItem'}
+ {/foreach}
+ </ol>
+ </div>
+{else}
+ <p class="info">{lang}wcf.user.members.noMembers{/lang}</p>
+{/if}
+
+<div class="contentNavigation">
+ {@$pagesLinks}
+
+ {hascontent}
+ <nav>
+ <ul>
+ {content}
+ {event name='contentNavigationButtonsBottom'}
+ {/content}
+ </ul>
+ </nav>
+ {/hascontent}
+</div>
+
+{include file='footer'}
+
+</body>
+</html>
--- /dev/null
+<div id="attachments" class="jsOnly formAttachmentContent tabMenuContent container containerPadding">
+ <ul class="formAttachmentList clearfix"{if !$attachmentHandler->getAttachmentList()|count} style="display: none"{/if}>
+ {foreach from=$attachmentHandler->getAttachmentList() item=$attachment}
+ <li class="box48">
+ {if $attachment->tinyThumbnailType}
+ <img src="{link controller='Attachment' object=$attachment}tiny=1{/link}" alt="" class="attachmentTinyThumbnail" />
+ {else}
+ <span class="icon icon48 icon-paper-clip"></span>
+ {/if}
+
+ <div>
+ <div>
+ <p><a href="{link controller='Attachment' object=$attachment}{/link}"{if $attachment->isImage} title="{$attachment->filename}" class="jsImageViewer"{/if}>{$attachment->filename}</a></p>
+ <small>{@$attachment->filesize|filesize}</small>
+ </div>
+
+ <ul>
+ <li><span class="icon icon16 icon-remove pointer jsTooltip jsDeleteButton " title="{lang}wcf.global.button.delete{/lang}" data-object-id="{@$attachment->attachmentID}" data-confirm-message="{lang}wcf.attachment.delete.sure{/lang}"></span></li>
+ <li><span class="icon icon16 icon-paste pointer jsTooltip jsButtonInsertAttachment" title="{lang}wcf.attachment.insert{/lang}" data-object-id="{@$attachment->attachmentID}" /></li>
+ </ul>
+ </div>
+ </li>
+ {/foreach}
+ </ul>
+
+ <dl class="wide">
+ <dd>
+ <div></div>
+ <small>{lang}wcf.attachment.upload.limits{/lang}</small>
+ </dd>
+ </dl>
+
+ {event name='fields'}
+</div>
+
+<script type="text/javascript" src="{@$__wcf->getPath()}js/WCF.Attachment{if !ENABLE_DEBUG_MODE}.min{/if}.js?v={@$__wcfVersion}"></script>
+<script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ WCF.Language.addObject({
+ 'wcf.attachment.upload.error.invalidExtension': '{lang}wcf.attachment.upload.error.invalidExtension{/lang}',
+ 'wcf.attachment.upload.error.tooLarge': '{lang}wcf.attachment.upload.error.tooLarge{/lang}',
+ 'wcf.attachment.upload.error.reachedLimit': '{lang}wcf.attachment.upload.error.reachedLimit{/lang}',
+ 'wcf.attachment.upload.error.reachedRemainingLimit': '{lang}wcf.attachment.upload.error.reachedRemainingLimit{/lang}',
+ 'wcf.attachment.upload.error.uploadFailed': '{lang}wcf.attachment.upload.error.uploadFailed{/lang}',
+ 'wcf.global.button.upload': '{lang}wcf.global.button.upload{/lang}',
+ 'wcf.attachment.insert': '{lang}wcf.attachment.insert{/lang}',
+ 'wcf.attachment.delete.sure': '{lang}wcf.attachment.delete.sure{/lang}'
+ });
+
+ new WCF.Attachment.Upload($('#attachments > dl > dd > div'), $('#attachments > ul'), '{@$attachmentObjectType}', '{@$attachmentObjectID}', '{$tmpHash|encodeJS}', '{@$attachmentParentObjectID}', {@$attachmentHandler->getMaxCount()}, '{@$wysiwygContainerID}');
+ new WCF.Action.Delete('wcf\\data\\attachment\\AttachmentAction', '.formAttachmentList > li');
+ });
+ //]]>
+</script>
+
+<input type="hidden" name="tmpHash" value="{$tmpHash}" />
\ No newline at end of file
--- /dev/null
+{if $availableContentLanguages|count}
+ <dl{if $errorField == 'languageID'} class="formError"{/if}>
+ <dt>{lang}wcf.user.language{/lang}</dt>
+ <dd id="languageIDContainer">
+ <noscript>
+ <select name="languageID" id="languageID">
+ {foreach from=$availableContentLanguages item=contentLanguage}
+ <option value="{@$contentLanguage->languageID}">{$contentLanguage}</option>
+ {/foreach}
+ </select>
+ </noscript>
+ </dd>
+ </dl>
+
+ <script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ var $languages = {
+ {implode from=$availableContentLanguages item=contentLanguage}
+ '{@$contentLanguage->languageID}': {
+ iconPath: '{@$contentLanguage->getIconPath()}',
+ languageName: '{$contentLanguage}'
+ }
+ {/implode}
+ };
+
+ new WCF.Language.Chooser('languageIDContainer', 'languageID', {$languageID}, $languages);
+ });
+ //]]>
+ </script>
+{/if}
\ No newline at end of file
--- /dev/null
+<button id="previewButton" class="jsOnly" accesskey="p">{lang}wcf.global.button.preview{/lang}</button>
+
+<script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ WCF.Language.addObject({
+ 'wcf.global.preview': '{lang}wcf.global.preview{/lang}'
+ });
+
+ new WCF.Message.DefaultPreview({if MODULE_ATTACHMENT && $attachmentHandler !== null}'{@$attachmentObjectType}', '{@$attachmentObjectID}', '{$tmpHash|encodeJS}'{/if});
+ });
+ //]]>
+</script>
\ No newline at end of file
--- /dev/null
+<fieldset id="settings" class="settingsContent tabMenuContent container containerPadding">
+ <dl class="wide">
+ {if $__wcf->getSession()->getPermission('user.message.canUseBBCodes')}
+ <dd>
+ <label><input id="preParse" name="preParse" type="checkbox" value="1"{if $preParse} checked="checked"{/if} /> {lang}wcf.message.settings.preParse{/lang}</label>
+ <small>{lang}wcf.message.settings.preParse.description{/lang}</small>
+ </dd>
+ {/if}
+ {if $__wcf->getSession()->getPermission('user.message.canUseSmilies')}
+ <dd>
+ <label><input id="enableSmilies" name="enableSmilies" type="checkbox" value="1"{if $enableSmilies} checked="checked"{/if} /> {lang}wcf.message.settings.enableSmilies{/lang}</label>
+ <small>{lang}wcf.message.settings.enableSmilies.description{/lang}</small>
+ </dd>
+ {/if}
+ {if $__wcf->getSession()->getPermission('user.message.canUseBBCodes')}
+ <dd>
+ <label><input id="enableBBCodes" name="enableBBCodes" type="checkbox" value="1"{if $enableBBCodes} checked="checked"{/if} /> {lang}wcf.message.settings.enableBBCodes{/lang}</label>
+ <small>{lang}wcf.message.settings.enableBBCodes.description{/lang}</small>
+ </dd>
+ {/if}
+ {if $__wcf->getSession()->getPermission('user.message.canUseHtml')}
+ <dd>
+ <label><input id="enableHtml" name="enableHtml" type="checkbox" value="1"{if $enableHtml} checked="checked"{/if} /> {lang}wcf.message.settings.enableHtml{/lang}</label>
+ <small>{lang}wcf.message.settings.enableHtml.description{/lang}</small>
+ </dd>
+ {/if}
+ {if 'MODULE_USER_SIGNATURE'|defined && MODULE_USER_SIGNATURE && $showSignatureSetting && $__wcf->user->userID}
+ <dd>
+ <label><input id="showSignature" name="showSignature" type="checkbox" value="1"{if $showSignature} checked="checked"{/if} /> {lang}wcf.message.settings.showSignature{/lang}</label>
+ <small>{lang}wcf.message.settings.showSignature.description{/lang}</small>
+ </dd>
+ {/if}
+
+ {event name='settings'}
+ </dl>
+</fieldset>
--- /dev/null
+{assign var=__tabCount value=0}
+{capture assign=__categoryTabs}
+ {foreach from=$smileyCategories item=smileyCategory}
+ {assign var=__tabCount value=$__tabCount + 1}
+ {assign var='__smileyAnchor' value='smilies-'|concat:$smileyCategory->categoryID}
+ <li><a href="{$__wcf->getAnchor($__smileyAnchor)}" data-smiley-category-id="{@$smileyCategory->categoryID}">{$smileyCategory->title|language}</a></li>
+ {/foreach}
+{/capture}
+
+<div id="smilies" class="jsOnly smiliesContent tabMenuContent container containerPadding{if $__tabCount} tabMenuContainer{/if}">
+ {capture assign=__defaultSmilies}
+ {include file='__messageFormSmilies' smilies=$defaultSmilies}
+ {/capture}
+
+ {if $__tabCount > 1}
+ <nav class="menu">
+ <ul>
+ {@$__categoryTabs}
+ </ul>
+ </nav>
+
+ {foreach from=$smileyCategories item=smileyCategory}
+ {if !$smileyCategory->isDisabled}
+ <div id="smilies-{@$smileyCategory->categoryID}" class="hidden">
+ {if !$smileyCategory->categoryID}{@$__defaultSmilies}{/if}
+ </div>
+ {/if}
+ {/foreach}
+
+ <script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ new WCF.Message.SmileyCategories();
+ });
+ //]]>
+ </script>
+ {else}
+ {@$__defaultSmilies}
+ {/if}
+
+ {event name='fields'}
+
+ <script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ new WCF.Message.Smilies('{if $wysiwygSelector|isset}{$wysiwygSelector|encodeJS}{else}text{/if}');
+ });
+ //]]>
+ </script>
+</div>
--- /dev/null
+<div class="tabMenuContainer" data-active="{$activeTabMenuItem}" data-store="activeTabMenuItem">
+ <nav class="tabMenu jsOnly">
+ <ul>
+ {if MODULE_SMILEY && $smileyCategories|count}<li id="smiliesTab"><a href="{@$__wcf->getAnchor('smilies')}" title="{lang}wcf.message.smilies{/lang}">{lang}wcf.message.smilies{/lang}</a></li>{/if}
+ {if MODULE_ATTACHMENT && $attachmentHandler !== null && $attachmentHandler->canUpload()}<li id="attachmentsTab"><a href="{@$__wcf->getAnchor('attachments')}" title="{lang}wcf.attachment.attachments{/lang}">{lang}wcf.attachment.attachments{/lang}</a></li>{/if}
+ <li><a href="{@$__wcf->getAnchor('settings')}" title="{lang}wcf.message.settings{/lang}">{lang}wcf.message.settings{/lang}</a></li>
+ {if $__showPoll|isset && $__showPoll}<li><a href="{@$__wcf->getAnchor('poll')}" title="{lang}wcf.poll.management{/lang}">{lang}wcf.poll.management{/lang}</a></li>{/if}
+ {event name='tabMenuTabs'}
+ </ul>
+ </nav>
+
+ {if MODULE_SMILEY && $smileyCategories|count}{include file='messageFormSmilies'}{/if}
+ {if MODULE_ATTACHMENT && $attachmentHandler !== null && $attachmentHandler->canUpload()}{include file='messageFormAttachments'}{/if}
+
+ {include file='messageFormSettings'}
+ {include file='__messageFormPoll'}
+
+ {event name='tabMenuContents'}
+</div>
+
+<script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ if (jQuery.browser.mobile) $('#smiliesTab, #smilies').remove();
+ WCF.TabMenu.init();
+ });
+ //]]>
+</script>
\ No newline at end of file
--- /dev/null
+<textarea id="{$option->optionName}" name="values[{$option->optionName}]" cols="40" rows="10">{$value}</textarea>
+{include file='wysiwyg' wysiwygSelector=$option->optionName}
+
+<script type="text/javascript">
+//<![CDATA[
+$(function() {
+ $('#{$option->optionName}').parents('dl:eq(0)').addClass('wide');
+});
+//]]>
+</script>
\ No newline at end of file
--- /dev/null
+{if !$supportPaste|isset}{assign var=supportPaste value=false}{/if}
+{foreach from=$messages item=message}
+ <article class="message messageReduced marginTop jsInvalidQuoteTarget" data-link="{@$message->getLink()}" data-username="{$message->getUsername()}">
+ <div>
+ <section class="messageContent">
+ <div>
+ <header class="messageHeader">
+ <div class="box32">
+ {if $userProfiles[$message->getUserID()]|isset}
+ <a href="{link controller='User' object=$userProfiles[$message->getUserID()]}{/link}" class="framed">{@$userProfiles[$message->getUserID()]->getAvatar()->getImageTag(32)}</a>
+ {/if}
+
+ <div class="messageHeadline">
+ <h1><a href="{@$message->getLink()}">{$message->getTitle()}</a></h1>
+ <p>
+ <span class="username">{if $userProfiles[$message->getUserID()]|isset}<a href="{link controller='User' object=$userProfiles[$message->getUserID()]}{/link}">{$message->getUsername()}</a>{else}{$message->getUsername()}{/if}</span>
+ {@$message->getTime()|time}
+ </p>
+ </div>
+ </div>
+ </header>
+
+ <div class="messageBody">
+ <div>
+ <div class="messageText">
+ <ul>
+ {foreach from=$message key=quoteID item=quote}
+ <li data-quote-id="{@$quoteID}">
+ <span>
+ <input type="checkbox" value="1" id="quote_{@$quoteID}" class="jsCheckbox" />
+ {if $supportPaste}<span class="icon icon16 icon-plus jsTooltip jsInsertQuote" title="{lang}wcf.message.quote.insertQuote{/lang}"></span>{/if}
+ </span>
+
+ <div class="jsQuote">
+ <label for="quote_{@$quoteID}">{@$quote}</label>
+ </div>
+ <div class="jsFullQuote">
+ {$message->getFullQuote($quoteID)}
+ </div>
+ </li>
+ {/foreach}
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+ </section>
+ </div>
+ </article>
+{/foreach}
\ No newline at end of file
--- /dev/null
+{if !$__messageSidebarJavascript|isset}
+ <script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ WCF.Language.addObject({
+ 'wcf.user.activityPoint': '{lang}wcf.user.activityPoint{/lang}'
+ });
+
+ WCF.User.Profile.ActivityPointList.init();
+ });
+ //]]>
+ </script>
+ {assign var=__messageSidebarJavascript value=true}
+{/if}
+
+<aside class="messageSidebar{if MESSAGE_SIDEBAR_ENABLE_ONLINE_STATUS && $userProfile->isOnline()} userOnline{/if} {if $userProfile->userID}member{else}guest{/if}"{if $userProfile->userID} itemscope="itemscope" itemtype="http://data-vocabulary.org/Person"{/if}>
+ <div>
+ {if $userProfile->userID}
+ {assign var='username' value=$userProfile->username}
+
+ <header>
+ <h2 class="username">
+ <a href="{link controller='User' object=$userProfile->getDecoratedObject()}{/link}" class="userLink" data-user-id="{@$userProfile->userID}" rel="author">
+ <span itemprop="name">{$username}</span>
+ </a>
+ </h2>
+
+ {event name='header'}
+ </header>
+
+ {if MESSAGE_SIDEBAR_ENABLE_AVATAR}
+ {if $userProfile->getAvatar()}
+ <div class="userAvatar">
+ {capture assign='__userAvatar'}{@$userProfile->getAvatar()->getImageTag(128)}{/capture}
+ <a href="{link controller='User' object=$userProfile->getDecoratedObject()}{/link}" class="framed">{@'<img'|str_replace:'<img itemprop="photo"':$__userAvatar}</a>
+
+ {if MESSAGE_SIDEBAR_ENABLE_ONLINE_STATUS && $userProfile->isOnline()}<span class="badge green badgeOnline" title="{lang}wcf.user.online.title{/lang}">{lang}wcf.user.online{/lang}</span>{/if}
+ </div>
+ {/if}
+ {/if}
+
+ {if MODULE_USER_RANK && MESSAGE_SIDEBAR_ENABLE_RANK}
+ {if $userProfile->getUserTitle()}
+ <div class="userTitle">
+ <p class="badge userTitleBadge{if $userProfile->getRank() && $userProfile->getRank()->cssClassName} {@$userProfile->getRank()->cssClassName}{/if}" itemprop="title">{$userProfile->getUserTitle()}</p>
+ </div>
+ {/if}
+ {if $userProfile->getRank() && $userProfile->getRank()->rankImage}
+ <div class="userRank">{@$userProfile->getRank()->getImage()}</div>
+ {/if}
+ {/if}
+ {else}
+ <header>
+ <h2 class="username">
+ <span>{@$userProfile->username}</span>
+ </h2>
+
+ <div class="userTitle">
+ <p class="badge">{lang}wcf.user.guest{/lang}</p>
+ </div>
+
+ {event name='header'}
+ </header>
+ {/if}
+
+ {event name='beforeCredits'}
+
+ {if $userProfile->userID}
+ {hascontent}
+ <div class="userCredits">
+ <dl class="plain dataList">
+ {content}
+ {if MESSAGE_SIDEBAR_ENABLE_LIKES_RECEIVED && $userProfile->likesReceived}
+ <dt>{lang}wcf.like.likesReceived{/lang}</dt>
+ <dd>{#$userProfile->likesReceived}</dd>
+ {/if}
+
+ {if MESSAGE_SIDEBAR_ENABLE_ACTIVITY_POINTS && $userProfile->activityPoints}
+ <dt><a class="activityPointsDisplay jsTooltip" title="{lang}wcf.user.activityPoint.showDetails{/lang}" data-user-id="{@$userProfile->userID}">{lang}wcf.user.activityPoint{/lang}</a></dt>
+ <dd>{#$userProfile->activityPoints}</dd>
+ {/if}
+ {event name='userCredits'}
+ {if MESSAGE_SIDEBAR_USER_OPTIONS}
+ {assign var='__sidebarUserOptions' value=','|explode:MESSAGE_SIDEBAR_USER_OPTIONS}
+ {foreach from=$__sidebarUserOptions item='__sidebarUserOption'}
+ {if $userProfile->getUserOption($__sidebarUserOption)}
+ <dt>{lang}wcf.user.option.{$__sidebarUserOption}{/lang}</dt>
+ <dd{if $__sidebarUserOption == 'location'} itemprop="locality"{/if}>{@$userProfile->getFormattedUserOption($__sidebarUserOption)}</dd>
+ {/if}
+ {/foreach}
+ {/if}
+ {/content}
+ </dl>
+ </div>
+ {/hascontent}
+ {/if}
+
+ {event name='afterCredits'}
+ </div>
+</aside>
--- /dev/null
+{hascontent}
+ <div id="{$option->optionName}">
+ {content}
+ {@$value}
+ {/content}
+ </div>
+
+ <script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ $('#{$option->optionName}').parents('dl:eq(0)').addClass('wide');
+ });
+ //]]>
+ </script>
+{/hascontent}
\ No newline at end of file
--- /dev/null
+{include file='documentHeader'}
+
+<head>
+ <title>{lang}wcf.moderation.activation{/lang} - {PAGE_TITLE|language}</title>
+
+ {include file='headInclude'}
+
+ <script type="text/javascript" src="{@$__wcf->getPath()}js/WCF.Moderation{if !ENABLE_DEBUG_MODE}.min{/if}.js?v={@$__wcfVersion}"></script>
+ <script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ new WCF.Moderation.Activation.Management({@$queue->queueID}, '{link controller='ModerationList'}{/link}');
+
+ WCF.Language.addObject({
+ 'wcf.moderation.activation.enableContent.confirmMessage': '{lang}wcf.moderation.activation.enableContent.confirmMessage{/lang}',
+ 'wcf.moderation.activation.removeContent.confirmMessage': '{lang}wcf.moderation.activation.removeContent.confirmMessage{/lang}'
+ });
+ });
+ //]]>
+ </script>
+</head>
+
+<body id="tpl{$templateName|ucfirst}">
+
+{include file='header' sidebarOrientation='left'}
+
+<header class="boxHeadline">
+ <h1>{lang}wcf.moderation.activation{/lang}</h1>
+</header>
+
+{include file='userNotice'}
+
+<div class="contentNavigation">
+ <nav>
+ <ul>
+ <li><a href="{link controller='ModerationList'}{/link}" class="button"><span class="icon icon16 icon-list"></span> <span>{lang}wcf.moderation.moderation{/lang}</span></a></li>
+
+ {event name='contentNavigationButtonsTop'}
+ </ul>
+ </nav>
+</div>
+
+<form method="post" action="{link controller='ModerationActivation' id=$queue->queueID}{/link}" class="container containerPadding marginTop">
+ <fieldset>
+ <legend>{lang}wcf.moderation.activation.details{/lang}</legend>
+
+ <dl>
+ <dt>{lang}wcf.global.objectID{/lang}</dt>
+ <dd>{#$queue->queueID}</dd>
+ </dl>
+ {if $queue->lastChangeTime}
+ <dl>
+ <dt>{lang}wcf.moderation.lastChangeTime{/lang}</dt>
+ <dd>{@$queue->lastChangeTime|time}</dd>
+ </dl>
+ {/if}
+ <dl>
+ <dt>{lang}wcf.moderation.assignedUser{/lang}</dt>
+ <dd>
+ <ul>
+ {if $assignedUserID && ($assignedUserID != $__wcf->getUser()->userID)}
+ <li><label><input type="radio" name="assignedUserID" value="{@$assignedUserID}" checked="checked" /> {$queue->assignedUsername}</label></li>
+ {/if}
+ <li><label><input type="radio" name="assignedUserID" value="{@$__wcf->getUser()->userID}"{if $assignedUserID == $__wcf->getUser()->userID} checked="checked"{/if} /> {$__wcf->getUser()->username}</label></li>
+ <li><label><input type="radio" name="assignedUserID" value="0"{if !$assignedUserID} checked="checked"{/if} /> {lang}wcf.moderation.assignedUser.nobody{/lang}</label></li>
+ </ul>
+ </dd>
+ </dl>
+ {if $queue->assignedUser}
+ <dl>
+
+ <dd><a href="{link controller='User' id=$assignedUserID}{/link}" class="userLink" data-user-id="{@$assignedUserID}">{$queue->assignedUsername}</a></dd>
+ </dl>
+ {/if}
+ <dl>
+ <dt><label for="comment">{lang}wcf.moderation.comment{/lang}</label></dt>
+ <dd><textarea id="comment" name="comment" rows="4" cols="40">{$comment}</textarea></dd>
+ </dl>
+
+ {event name='detailsFields'}
+
+ <div class="formSubmit">
+ <input type="submit" value="{lang}wcf.global.button.submit{/lang}" />
+ </div>
+ </fieldset>
+
+ {event name='fieldsets'}
+</form>
+
+<header class="boxHeadline boxSubHeadline">
+ <h2>{lang}wcf.moderation.activation.content{/lang}</h2>
+</header>
+
+<div class="marginTop">
+ {@$disabledContent}
+</div>
+
+<div class="contentNavigation">
+ <nav>
+ <ul>
+ <li class="jsOnly"><button id="enableContent">{lang}wcf.moderation.activation.enableContent{/lang}</button></li>
+ <li class="jsOnly"><button id="removeContent">{lang}wcf.moderation.activation.removeContent{/lang}</button></li>
+ <li><a href="{link controller='ModerationList'}{/link}" class="button"><span class="icon icon16 icon-list"></span> <span>{lang}wcf.moderation.moderation{/lang}</span></a></li>
+
+ {event name='contentNavigationButtonsBottom'}
+ </ul>
+ </nav>
+</div>
+
+{include file='footer'}
+
+</body>
+</html>
\ No newline at end of file
--- /dev/null
+<article class="message messageReduced">
+ <div>
+ <section class="messageContent">
+ <div>
+ <header class="messageHeader">
+ <div class="box32">
+ <a href="{link controller='User' object=$message->getUserProfile()->getDecoratedObject()}{/link}" class="framed">{@$message->getUserProfile()->getAvatar()->getImageTag(32)}</a>
+
+ <div class="messageHeadline">
+ <h1><a href="{@$message->getLink()}">{$message->getTitle()}</a></h1>
+ <p>
+ <span class="username"><a href="{link controller='User' object=$message->getUserProfile()->getDecoratedObject()}{/link}">{$message->getUsername()}</a></span>
+ {@$message->getTime()|time}
+ </p>
+ </div>
+ </div>
+ </header>
+
+ <div class="messageBody">
+ <div>
+ <div class="messageText">
+ {@$message->getFormattedMessage()}
+ </div>
+ </div>
+ </div>
+ </div>
+ </section>
+ </div>
+</article>
\ No newline at end of file
--- /dev/null
+{include file='documentHeader'}
+
+<head>
+ <title>{lang}wcf.moderation.moderation{/lang} {if $pageNo > 1}- {lang}wcf.page.pageNo{/lang} {/if}- {PAGE_TITLE|language}</title>
+
+ {include file='headInclude'}
+</head>
+
+<body id="tpl{$templateName|ucfirst}">
+
+{capture assign='sidebar'}
+ {* moderation type *}
+ <fieldset>
+ <legend>{lang}wcf.moderation.filterByType{/lang}</legend>
+
+ <nav>
+ <ul>
+ <li{if $definitionID == 0} class="active"{/if}><a href="{link controller='ModerationList'}definitionID=0&assignedUserID={@$assignedUserID}&status={@$status}&pageNo={@$pageNo}&sortField={@$sortField}&sortOrder={@$sortOrder}{/link}">{lang}wcf.moderation.type.all{/lang}</a></li>
+ {foreach from=$availableDefinitions key=__definitionID item=definitionName}
+ <li{if $definitionID == $__definitionID} class="active"{/if}><a href="{link controller='ModerationList'}definitionID={@$__definitionID}&assignedUserID={@$assignedUserID}&status={@$status}&pageNo={@$pageNo}&sortField={@$sortField}&sortOrder={@$sortOrder}{/link}">{lang}wcf.moderation.type.{$definitionName}{/lang}</a></li>
+ {/foreach}
+
+ {event name='sidebarModerationType'}
+ </ul>
+ </nav>
+ </fieldset>
+
+ {* assigned user *}
+ <fieldset>
+ <legend>{lang}wcf.moderation.filterByUser{/lang}</legend>
+
+ <nav>
+ <ul>
+ <li{if $assignedUserID == -1} class="active"{/if}><a href="{link controller='ModerationList'}definitionID={@$definitionID}&assignedUserID=-1&status={@$status}&pageNo={@$pageNo}&sortField={@$sortField}&sortOrder={@$sortOrder}{/link}">{lang}wcf.moderation.filterByUser.allEntries{/lang}</a></li>
+ <li{if $assignedUserID == 0} class="active"{/if}><a href="{link controller='ModerationList'}definitionID={@$definitionID}&assignedUserID=0&status={@$status}&pageNo={@$pageNo}&sortField={@$sortField}&sortOrder={@$sortOrder}{/link}">{lang}wcf.moderation.filterByUser.nobody{/lang}</a></li>
+ <li{if $assignedUserID == $__wcf->getUser()->userID} class="active"{/if}><a href="{link controller='ModerationList'}definitionID={@$definitionID}&assignedUserID={@$__wcf->getUser()->userID}&status={@$status}&pageNo={@$pageNo}&sortField={@$sortField}&sortOrder={@$sortOrder}{/link}">{lang}wcf.moderation.filterByUser.myself{/lang}</a></li>
+
+ {event name='sidebarAssignedUser'}
+ </ul>
+ </nav>
+ </fieldset>
+
+ {* status *}
+ <fieldset>
+ <legend>{lang}wcf.moderation.status{/lang}</legend>
+
+ <nav>
+ <ul>
+ <li{if $status == -1} class="active"{/if}><a href="{link controller='ModerationList'}definitionID={@$definitionID}&assignedUserID={@$assignedUserID}&status=-1&pageNo={@$pageNo}&sortField={@$sortField}&sortOrder={@$sortOrder}{/link}">{lang}wcf.moderation.status.all{/lang}</a></li>
+ <li{if $status == 2} class="active"{/if}><a href="{link controller='ModerationList'}definitionID={@$definitionID}&assignedUserID={@$assignedUserID}&status=2&pageNo={@$pageNo}&sortField={@$sortField}&sortOrder={@$sortOrder}{/link}">{lang}wcf.moderation.status.done{/lang}</a></li>
+
+ {event name='sidebarStatus'}
+ </ul>
+ </nav>
+ </fieldset>
+
+ {event name='sidebarBoxes'}
+{/capture}
+
+{include file='header' sidebarOrientation='left'}
+
+<header class="boxHeadline">
+ <h1>{lang}wcf.moderation.moderation{/lang}</h1>
+</header>
+
+{include file='userNotice'}
+
+<div class="contentNavigation">
+ {pages print=true assign=pagesLinks controller='ModerationList' link="id=$definitionID&pageNo=%d&sortField=$sortField&sortOrder=$sortOrder"}
+
+ {hascontent}
+ <nav>
+ <ul>
+ {content}
+ {event name='contentNavigationButtonsTop'}
+ {/content}
+ </ul>
+ </nav>
+ {/hascontent}
+</div>
+
+{if $objects|count}
+ <div class="marginTop tabularBox tabularBoxTitle messageGroupList">
+ <header>
+ <h2>{if $status == 2}{lang}wcf.moderation.doneItems{/lang}{else}{lang}wcf.moderation.outstandingItems{/lang}{/if} <span class="badge badgeInverse">{#$items}</span></h2>
+ </header>
+
+ <table class="table">
+ <thead>
+ <tr>
+ <th class="columnID{if $sortField == 'queueID'} active {@$sortOrder}{/if}"><a href="{link controller='ModerationList'}definitionID={@$definitionID}&assignedUserID={@$assignedUserID}&status={@$status}&pageNo={@$pageNo}&sortField=queueID&sortOrder={if $sortField == 'queueID' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{/link}">{lang}wcf.global.objectID{/lang}</a></th>
+ <th class="columnText columnTitle">{lang}wcf.moderation.title{/lang}</th>
+ <th class="columnText columnAssignedUserID{if $sortField == 'assignedUsername'} active {@$sortOrder}{/if}"><a href="{link controller='ModerationList'}definitionID={@$definitionID}&assignedUserID={@$assignedUserID}&status={@$status}&pageNo={@$pageNo}&sortField=assignedUsername&sortOrder={if $sortField == 'assignedUsername' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{/link}">{lang}wcf.moderation.assignedUser{/lang}</a></th>
+ <th class="columnDate columnLastChangeTime{if $sortField == 'lastChangeTime'} active {@$sortOrder}{/if}"><a href="{link controller='ModerationList'}definitionID={@$definitionID}&assignedUserID={@$assignedUserID}&status={@$status}&pageNo={@$pageNo}&sortField=lastChangeTime&sortOrder={if $sortField == 'lastChangeTime' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{/link}">{lang}wcf.moderation.lastChangeTime{/lang}</a></th>
+
+ {event name='columnHeads'}
+ </tr>
+ </thead>
+
+ <tbody>
+ {foreach from=$objects item=entry}
+ <tr>
+ <td class="columnID">{#$entry->queueID}</td>
+ <td class="columnText columnSubject">
+ <h3>
+ <span class="badge label">{lang}wcf.moderation.type.{@$definitionNames[$entry->objectTypeID]}{/lang}</span>
+ <a href="{$entry->getLink()}" class="messageGroupLink">{$entry->getTitle()}</a>
+ </h3>
+ <small>{if $entry->userID}<a href="{link controller='User' id=$entry->userID}{/link}" class="userLink" data-user-id="{@$entry->userID}">{$entry->username}</a>{else}{lang}wcf.user.guest{/lang}{/if} - {@$entry->time|time}</small>
+ </td>
+ <td class="columnText columnAssignedUserID">{if $entry->assignedUserID}<a href="{link controller='User' id=$entry->assignedUserID}{/link}" class="userLink" data-user-id="{@$entry->assignedUserID}">{$entry->assignedUsername}</a>{/if}</td>
+ <td class="columnDate columnLastChangeTime">{if $entry->lastChangeTime}{@$entry->lastChangeTime|time}{/if}</td>
+
+ {event name='columns'}
+ </tr>
+ {/foreach}
+ </tbody>
+ </table>
+ </div>
+
+ <div class="contentNavigation">
+ {@$pagesLinks}
+
+ {hascontent}
+ <nav>
+ <ul>
+ {content}
+ {event name='contentNavigationButtonsBottom'}
+ {/content}
+ </ul>
+ </nav>
+ {/hascontent}
+ </div>
+{else}
+ <p class="info">{lang}wcf.moderation.noItems{/lang}</p>
+{/if}
+
+{include file='footer'}
+
+</body>
+</html>
\ No newline at end of file
--- /dev/null
+{foreach from=$queues item=queue}
+ <li>
+ <a href="{@$queue->getLink()}" class="box24">
+ <div class="framed">
+ {@$queue->getUserProfile()->getAvatar()->getImageTag(24)}
+ </div>
+ <div>
+ <h3>{$queue->getAffectedObject()->getTitle()}</h3>
+ <small>{$queue->getAffectedObject()->getUsername()} - {@$queue->getAffectedObject()->getTime()|time}</small>
+ </div>
+ </a>
+ </li>
+{/foreach}
\ No newline at end of file
--- /dev/null
+{include file='documentHeader'}
+
+<head>
+ <title>{lang}wcf.moderation.report{/lang} - {PAGE_TITLE|language}</title>
+
+ {include file='headInclude'}
+
+ <script type="text/javascript" src="{@$__wcf->getPath()}js/WCF.Moderation{if !ENABLE_DEBUG_MODE}.min{/if}.js?v={@$__wcfVersion}"></script>
+ <script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ new WCF.Moderation.Report.Management({@$queue->queueID}, '{link controller='ModerationList'}{/link}');
+
+ WCF.Language.addObject({
+ 'wcf.moderation.report.removeContent.confirmMessage': '{lang}wcf.moderation.report.removeContent.confirmMessage{/lang}',
+ 'wcf.moderation.report.removeReport.confirmMessage': '{lang}wcf.moderation.report.removeReport.confirmMessage{/lang}'
+ });
+ });
+ //]]>
+ </script>
+</head>
+
+<body id="tpl{$templateName|ucfirst}">
+
+{include file='header' sidebarOrientation='left'}
+
+<header class="boxHeadline">
+ <h1>{lang}wcf.moderation.report{/lang}</h1>
+</header>
+
+{include file='userNotice'}
+
+<div class="contentNavigation">
+ <nav>
+ <ul>
+ <li><a href="{link controller='ModerationList'}{/link}" class="button"><span class="icon icon16 icon-list"></span> <span>{lang}wcf.moderation.moderation{/lang}</span></a></li>
+
+ {event name='contentNavigationButtonsTop'}
+ </ul>
+ </nav>
+</div>
+
+<form method="post" action="{link controller='ModerationReport' id=$queue->queueID}{/link}" class="container containerPadding marginTop">
+ <fieldset>
+ <legend>{lang}wcf.moderation.report.details{/lang}</legend>
+
+ <dl>
+ <dt>{lang}wcf.global.objectID{/lang}</dt>
+ <dd>{#$queue->queueID}</dd>
+ </dl>
+ <dl>
+ <dt>{lang}wcf.moderation.report.reportedBy{/lang}</dt>
+ <dd>{if $queue->userID}<a href="{link controller='User' id=$queue->userID}{/link}" class="userLink" data-user-id="{@$queue->userID}">{$queue->username}</a>{else}{lang}wcf.user.guest{/lang}{/if} ({@$queue->time|time})</dd>
+ </dl>
+ {if $queue->lastChangeTime}
+ <dl>
+ <dt>{lang}wcf.moderation.lastChangeTime{/lang}</dt>
+ <dd>{@$queue->lastChangeTime|time}</dd>
+ </dl>
+ {/if}
+ <dl>
+ <dt>{lang}wcf.moderation.assignedUser{/lang}</dt>
+ <dd>
+ <ul>
+ {if $assignedUserID && ($assignedUserID != $__wcf->getUser()->userID)}
+ <li><label><input type="radio" name="assignedUserID" value="{@$assignedUserID}" checked="checked" /> {$queue->assignedUsername}</label></li>
+ {/if}
+ <li><label><input type="radio" name="assignedUserID" value="{@$__wcf->getUser()->userID}"{if $assignedUserID == $__wcf->getUser()->userID} checked="checked"{/if} /> {$__wcf->getUser()->username}</label></li>
+ <li><label><input type="radio" name="assignedUserID" value="0"{if !$assignedUserID} checked="checked"{/if} /> {lang}wcf.moderation.assignedUser.nobody{/lang}</label></li>
+ </ul>
+ </dd>
+ </dl>
+ {if $queue->assignedUser}
+ <dl>
+
+ <dd><a href="{link controller='User' id=$assignedUserID}{/link}" class="userLink" data-user-id="{@$assignedUserID}">{$queue->assignedUsername}</a></dd>
+ </dl>
+ {/if}
+ <dl>
+ <dt>{lang}wcf.moderation.report.reason{/lang}</dt>
+ <dd>{@$queue->getFormattedMessage()}</dd>
+ </dl>
+ <dl>
+ <dt><label for="comment">{lang}wcf.moderation.comment{/lang}</label></dt>
+ <dd><textarea id="comment" name="comment" rows="4" cols="40">{$comment}</textarea></dd>
+ </dl>
+
+ {event name='detailsFields'}
+
+ <div class="formSubmit">
+ <input type="submit" value="{lang}wcf.global.button.submit{/lang}" />
+ </div>
+ </fieldset>
+
+ {event name='fieldsets'}
+</form>
+
+<header class="boxHeadline boxSubHeadline">
+ <h2>{lang}wcf.moderation.report.reportedContent{/lang}</h2>
+</header>
+
+<div class="marginTop">
+ {@$reportedContent}
+</div>
+
+<div class="contentNavigation">
+ <nav>
+ <ul>
+ <li class="jsOnly"><button id="removeContent">{lang}wcf.moderation.report.removeContent{/lang}</button></li>
+ {if $queue->status != 2}
+ <li class="jsOnly"><button id="removeReport">{lang}wcf.moderation.report.removeReport{/lang}</button></li>
+ {/if}
+ <li><a href="{link controller='ModerationList'}{/link}" class="button"><span class="icon icon16 icon-list"></span> <span>{lang}wcf.moderation.moderation{/lang}</span></a></li>
+
+ {event name='contentNavigationButtonsBottom'}
+ </ul>
+ </nav>
+</div>
+
+{include file='footer'}
+
+</body>
+</html>
\ No newline at end of file
--- /dev/null
+{if $alreadyReported}
+ <p class="info">{lang}wcf.moderation.report.alreadyReported{/lang}</p>
+{else}
+ <fieldset>
+ <legend><label for="reason">{lang}wcf.moderation.report.reason{/lang}</label></legend>
+
+ <dl class="wide">
+ <dd>
+ <textarea id="reason" required="required" cols="60" rows="10" class="jsReportMessage"></textarea>
+ <small>{lang}wcf.moderation.report.reason.description{/lang}</small>
+ </dd>
+ </dl>
+
+ {event name='reasonFields'}
+ </fieldset>
+
+ {event name='fieldsets'}
+
+ <div class="formSubmit">
+ <button class="jsSubmitReport buttonPrimary" accesskey="s">{lang}wcf.global.button.submit{/lang}</button>
+ </div>
+{/if}
\ No newline at end of file
--- /dev/null
+<select id="{$option->optionName}" name="values[{$option->optionName}][]" multiple="multiple" size="{if $selectOptions|count > 10}10{else}{@$selectOptions|count}{/if}">
+{foreach from=$selectOptions key=key item=selectOption}
+ <option value="{$key}"{if $key|in_array:$value} selected="selected"{/if}>{lang}{@$selectOption}{/lang}</option>
+{/foreach}
+</select>
--- /dev/null
+{if !$forceSelection|isset}{assign var=forceSelection value=false}{/if}
+<script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ var $availableLanguages = { {implode from=$availableLanguages key=languageID item=languageName}{@$languageID}: '{$languageName}'{/implode} };
+ var $values = { {implode from=$i18nValues[$elementIdentifier] key=languageID item=value}'{@$languageID}': '{$value}'{/implode} };
+ new WCF.MultipleLanguageInput('{@$elementIdentifier}', {if $forceSelection}true{else}false{/if}, $values, $availableLanguages);
+ });
+ //]]>
+</script>
\ No newline at end of file
--- /dev/null
+{include file='documentHeader'}
+
+<head>
+ <title>{lang}wcf.user.newPassword{/lang} - {PAGE_TITLE|language}</title>
+ {include file='headInclude'}
+</head>
+
+<body id="tpl{$templateName|ucfirst}">
+
+{include file='header'}
+
+<header class="boxHeadline">
+ <h1>{lang}wcf.user.newPassword{/lang}</h1>
+</header>
+
+{include file='userNotice'}
+
+{if $errorField}
+ <p class="error">{lang}wcf.global.form.error{/lang}</p>
+{/if}
+
+<div class="contentNavigation">
+ {hascontent}
+ <nav>
+ <ul>
+ {content}
+ {event name='contentNavigationButtons'}
+ {/content}
+ </ul>
+ </nav>
+ {/hascontent}
+</div>
+
+<form method="post" action="{link controller='NewPassword'}{/link}">
+ <div class="container containerPadding marginTop">
+ <fieldset>
+ <legend>{lang}wcf.user.newPassword{/lang}</legend>
+
+ <dl{if $errorField == 'userID'} class="formError"{/if}>
+ <dt>
+ <label for="userID">{lang}wcf.user.userID{/lang}</label>
+ </dt>
+ <dd>
+ <input type="text" id="userID" name="u" value="{@$userID}" required="required" class="medium" />
+ {if $errorField == 'userID'}
+ <small class="innerError">
+ {if $errorType == 'invalid'}{lang}wcf.user.userID.error.invalid{/lang}{/if}
+ </small>
+ {/if}
+ </dd>
+ </dl>
+
+ <dl{if $errorField == 'lostPasswordKey'} class="formError"{/if}>
+ <dt>
+ <label for="lostPasswordKey">{lang}wcf.user.lostPasswordKey{/lang}</label>
+ </dt>
+ <dd>
+ <input type="text" id="lostPasswordKey" name="k" value="{$lostPasswordKey}" required="required" class="medium" />
+ {if $errorField == 'lostPasswordKey'}
+ <small class="innerError">
+ {if $errorType == 'empty'}{lang}wcf.global.form.error.empty{/lang}{/if}
+ {if $errorType == 'invalid'}{lang}wcf.user.lostPasswordKey.error.invalid{/lang}{/if}
+ </small>
+ {/if}
+ </dd>
+ </dl>
+
+ {event name='fields'}
+ </fieldset>
+
+ {event name='fieldsets'}
+ </div>
+
+ <div class="formSubmit">
+ <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s" />
+ </div>
+</form>
+
+{include file='footer'}
+
+</body>
+</html>
--- /dev/null
+{include file='documentHeader'}
+
+<head>
+ <title>{lang}wcf.user.notification.notifications{/lang} - {lang}wcf.user.usercp{/lang} - {PAGE_TITLE|language}</title>
+ {include file='headInclude'}
+
+ <script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ WCF.Language.addObject({
+ 'wcf.user.notification.markAsConfirmed': '{lang}wcf.user.notification.markAsConfirmed{/lang}'
+ });
+
+ new WCF.Notification.List();
+ });
+ //]]>
+ </script>
+</head>
+
+<body id="tpl{$templateName|ucfirst}">
+
+{include file='userMenuSidebar'}
+
+{include file='header' sidebarOrientation='left'}
+
+<header class="boxHeadline">
+ <h1>{lang}wcf.user.notification.notifications{/lang} <span class="badge jsNotificationsBadge">{#$__wcf->getUserNotificationHandler()->getNotificationCount()}</span></h1>
+</header>
+
+{include file='userNotice'}
+
+<div class="contentNavigation">
+ {pages print=true assign=pagesLinks controller='NotificationList' link="pageNo=%d"}
+
+ {hascontent}
+ <nav>
+ <ul>
+ {content}
+ {if $notifications[notifications]}<li class="jsOnly"><a class="button jsMarkAllAsConfirmed"><span class="icon icon16 icon-remove"></span> <span>{lang}wcf.user.notification.markAllAsConfirmed{/lang}</span></a></li>{/if}
+
+ {event name='contentNavigationButtonsTop'}
+ {/content}
+ </ul>
+ </nav>
+ {/hascontent}
+</div>
+
+{if $notifications[notifications]}
+ <div class="container marginTop">
+ <ul class="containerList">
+ {foreach from=$notifications[notifications] item=$notification}
+ <li class="jsNotificationItem" data-notification-id="{@$notification[notificationID]}" data-link="{$notification[event]->getLink()}">
+ <div class="box48">
+ <a href="{link controller='User' object=$notification[event]->getAuthor()}{/link}" title="{$notification[event]->getAuthor()->username}" class="framed">{@$notification[event]->getAuthor()->getAvatar()->getImageTag(48)}</a>
+
+ <div class="details">
+ <div class="containerHeadline">
+ <h3><a href="{link controller='User' object=$notification[event]->getAuthor()}{/link}" class="userLink" data-user-id="{@$notification[event]->getAuthor()->userID}">{$notification[event]->getAuthor()->username}</a></h3>
+ <small>{@$notification[time]|time}</small>
+ </div>
+
+ <p>{@$notification[event]->getMessage()}</p>
+
+ <nav class="jsMobileNavigation buttonGroupNavigation">
+ <ul class="buttonList jsOnly">
+ <li><a class="jsMarkAsConfirmed jsTooltip" title="{lang}wcf.user.notification.markAsConfirmed{/lang}"><span class="icon icon16 icon-remove"></span></a></li>
+ </ul>
+ </nav>
+ </div>
+ </div>
+ </li>
+ {/foreach}
+ </ul>
+ </div>
+
+ <div class="contentNavigation">
+ {@$pagesLinks}
+
+ {hascontent}
+ <nav>
+ <ul>
+ {content}
+ {event name='contentNavigationButtonsBottom'}
+ {/content}
+ </ul>
+ </nav>
+ {/hascontent}
+ </div>
+{else}
+ <p class="info">{lang}wcf.user.notification.noNotifications{/lang}</p>
+{/if}
+
+{include file='footer'}
+
+</body>
+</html>
--- /dev/null
+{foreach from=$notifications[notifications] item=notification}
+ <li class="jsNotificationItem notificationItem" data-link="{$notification[event]->getLink()}" data-notification-id="{@$notification[notificationID]}">
+ <a class="box24">
+ <div class="framed">
+ {@$notification[event]->getAuthor()->getAvatar()->getImageTag(24)}
+ </div>
+ <div>
+ <h3>{@$notification[event]->getMessage()}</h3>
+ <small>{$notification[event]->getAuthor()->username} - {@$notification[time]|time}</small>
+ </div>
+ </a>
+ </li>
+{/foreach}
\ No newline at end of file
--- /dev/null
+{include file='documentHeader'}
+
+<head>
+ <title>{lang}wcf.user.menu.settings{/lang}: {lang}wcf.user.notification.notifications{/lang} - {lang}wcf.user.menu.settings{/lang} - {PAGE_TITLE|language}</title>
+
+ {include file='headInclude'}
+
+ <script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ $('#notificationSettings > fieldset > dl > dd > label > input').each(function(index, value) {
+ var $input = $(value);
+ $input.on('click', function(event) {
+ var $input = $(event.currentTarget);
+ $input.parents('dd').find('.jsMailNotificationType').toggle();
+ });
+ if (!$input.is(':checked')) {
+ $input.parents('dd').find('.jsMailNotificationType').hide();
+ }
+ });
+ });
+ //]]>
+ </script>
+</head>
+
+<body id="tpl{$templateName|ucfirst}">
+
+{include file='userMenuSidebar'}
+
+{include file='header' sidebarOrientation='left'}
+
+<header class="boxHeadline">
+ <h1>{lang}wcf.user.menu.settings{/lang}: {lang}wcf.user.notification.notifications{/lang}</h1>
+</header>
+
+{include file='userNotice'}
+
+{if $errorField}
+ <p class="error">{lang}wcf.global.form.error{/lang}</p>
+{/if}
+
+{if $success|isset}
+ <p class="success">{lang}wcf.global.success.edit{/lang}</p>
+{/if}
+
+<div class="contentNavigation">
+ {hascontent}
+ <nav>
+ <ul>
+ {content}
+ {event name='contentNavigationButtons'}
+ {/content}
+ </ul>
+ </nav>
+ {/hascontent}
+</div>
+
+<form method="post" action="{link controller='NotificationSettings'}{/link}">
+ <div class="container containerPadding marginTop" id="notificationSettings">
+ {foreach from=$events key='eventCategory' item='eventList'}
+ <fieldset>
+ <legend>{lang}wcf.user.notification.{$eventCategory}{/lang}</legend>
+
+ <dl>
+ {foreach from=$eventList item='event'}
+ <dd>
+ <label><input type="checkbox" name="settings[{@$event->eventID}][enabled]" value="1"{if $settings[$event->eventID][enabled]} checked="checked"{/if} /> {lang}wcf.user.notification.{$event->objectType}.{$event->eventName}{/lang}</label>
+ {hascontent}<small>{content}{lang __optional=true}wcf.user.notification.{$event->objectType}.{$event->eventName}.description{/lang}{/content}</small>{/hascontent}
+ <small class="jsMailNotificationType">
+ <select name="settings[{@$event->eventID}][mailNotificationType]">
+ <option value="none">{lang}wcf.user.notification.mailNotificationType.none{/lang}</option>
+ <option value="instant"{if $settings[$event->eventID][mailNotificationType] == 'instant'} selected="selected"{/if}>{lang}wcf.user.notification.mailNotificationType.instant{/lang}</option>
+ <option value="daily"{if $settings[$event->eventID][mailNotificationType] == 'daily'} selected="selected"{/if}>{lang}wcf.user.notification.mailNotificationType.daily{/lang}</option>
+ </select>
+ </small>
+ </dd>
+ {/foreach}
+ </dl>
+ </fieldset>
+ {/foreach}
+
+ {event name='fieldsets'}
+ </div>
+
+ <div class="formSubmit">
+ <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s" />
+ </div>
+</form>
+
+{include file='footer'}
+
+</body>
+</html>
--- /dev/null
+{include file='documentHeader'}
+
+<head>
+ <title>{lang}wcf.global.error.title{/lang} - {PAGE_TITLE|language}</title>
+
+ {include file='headInclude'}
+</head>
+
+<body id="tpl{$templateName|ucfirst}">
+
+{include file='header'}
+
+<div class="warning">
+ <p><strong>{lang}wcf.page.offline{/lang}</strong></p>
+ <p>{if OFFLINE_MESSAGE_ALLOW_HTML}{@OFFLINE_MESSAGE}{else}{@OFFLINE_MESSAGE|htmlspecialchars|nl2br}{/if}</p>
+</div>
+
+{include file='footer'}
+
+</body>
+</html>
\ No newline at end of file
--- /dev/null
+{include file="documentHeader"}
+
+<head>
+ <title>{lang}wcf.global.error.permissionDenied.title{/lang} - {lang}{PAGE_TITLE}{/lang}</title>
+
+ {include file='headInclude'}
+</head>
+
+<body id="tpl{$templateName|ucfirst}">
+
+{include file='header'}
+
+<p class="error">{lang}wcf.global.error.permissionDenied{/lang}</p>
+
+{event name='content'}
+
+{if ENABLE_DEBUG_MODE}
+ <!--
+ {$name} thrown in {$file} ({@$line})
+ Stacktrace:
+ {$stacktrace}
+ -->
+{/if}
+
+{include file='footer'}
+
+</body>
+</html>
\ No newline at end of file
--- /dev/null
+{if $__wcf->getUser()->userID && !$__pollLoadedJavaScript|isset}
+ {assign var=__pollLoadedJavaScript value=true}
+ <script type="text/javascript" src="{@$__wcf->getPath()}js/WCF.Poll{if !ENABLE_DEBUG_MODE}.min{/if}.js?v={@$__wcfVersion}"></script>
+ <script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ new WCF.Poll.Manager('.pollContainer');
+ });
+ //]]>
+ </script>
+{/if}
+
+<div class="container containerPadding pollContainer" data-poll-id="{@$poll->pollID}" data-can-vote="{if $poll->canVote()}1{else}0{/if}" data-can-view-result="{if $poll->canSeeResult()}1{else}0{/if}" data-can-view-participants="{if $poll->isPublic}true{else}false{/if}" data-in-vote="{if $poll->canVote() && !$poll->isParticipant()}1{else}0{/if}" data-question="{$poll->question}" data-max-votes="{@$poll->maxVotes}">
+ <fieldset>
+ <legend>{$poll->question} <span class="badge jsTooltip" title="{lang}wcf.poll.totalVotes{/lang}">{#$poll->votes}</span></legend>
+
+ <div class="pollInnerContainer">
+ {if !$__wcf->getUser()->userID}
+ {if $poll->canSeeResult()}
+ {include file='pollResult'}
+ {else}
+ {include file='pollVote'}
+ {/if}
+ {else}
+ {if $poll->canVote() && !$poll->isParticipant()}
+ {include file='pollVote'}
+ {else}
+ {include file='pollResult'}
+ {/if}
+ {/if}
+
+ {event name='pollData'}
+ </div>
+ </fieldset>
+
+ {if $__wcf->getUser()->userID}
+ <div class="formSubmit jsOnly">
+ <button class="small jsButtonPollVote">{lang}wcf.poll.button.vote{/lang}</button>
+ <button class="small jsButtonPollShowVote">{lang}wcf.poll.button.showVote{/lang}</button>
+ <button class="small jsButtonPollShowResult">{lang}wcf.poll.button.showResult{/lang}</button>
+ <button class="small jsButtonPollShowParticipants">{lang}wcf.poll.button.showParticipants{/lang}</button>
+ {event name='pollButtons'}
+ </div>
+ {/if}
+</div>
\ No newline at end of file
--- /dev/null
+<ol class="pollResultList">
+ {foreach from=$poll->getOptions(true) item=option}
+ <li class="pollResultItem">
+ <span class="pollMeter" style="width: {if $option->getRelativeVotes($poll)}{@$option->getRelativeVotes($poll)}%{else}0{/if}"> </span>
+ <div class="caption">
+ <span class="optionName">
+ {$option->optionValue} ({#$option->votes})</span>
+ <span class="relativeVotes">{@$option->getRelativeVotes($poll)}%</span>
+ </span>
+ </div>
+ </li>
+ {/foreach}
+</ol>
\ No newline at end of file
--- /dev/null
+<dl class="wide jsPollVote" data-max-votes="{@$poll->maxVotes}">
+ {foreach from=$poll->getOptions() item=option}
+ <dd>
+ <label>
+ {if $poll->canVote()}<input type="{if $poll->maxVotes > 1}checkbox{else}radio{/if}" name="pollOptions{@$poll->pollID}[]" value="{$option->optionValue}" data-option-id="{@$option->optionID}"{if $option->voted} checked="checked"{/if} />{/if}
+ {$option->optionValue}
+ </label>
+ </dd>
+ {/foreach}
+</dl>
+{if $poll->canVote()}
+ {if $poll->maxVotes > 1}<small>{lang}wcf.poll.multipleVotes{/lang}</small>{/if}
+{else}
+ <p class="info">{lang}wcf.poll.restrictedResult{/lang}</p>
+{/if}
\ No newline at end of file
--- /dev/null
+<blockquote class="container containerPadding quoteBox"{if $quoteLink} cite="{$quoteLink}"{/if}>
+ {if $quoteAuthor}
+ <header>
+ <h3>
+ {if $quoteLink}
+ <a href="{@$quoteLink}">{lang}wcf.bbcode.quote.title{/lang}</a>
+ {else}
+ {lang}wcf.bbcode.quote.title{/lang}
+ {/if}
+ </h3>
+ </header>
+ {/if}
+
+ <div>
+ {@$content}
+ </div>
+</blockquote>
\ No newline at end of file
--- /dev/null
+{foreach name=radioButtons from=$selectOptions key=key item=selectOption}
+ <label><input {if $tpl.foreach.radioButtons.first}id="{$option->optionName}" {/if}type="radio" name="values[{$option->optionName}]" value="{$key}" {if $value == $key} checked="checked"{/if} {if $disableOptions[$key]|isset || $enableOptions[$key]|isset}class="jsEnablesOptions" data-disable-options="[ {@$disableOptions[$key]}]" data-enable-options="[ {@$enableOptions[$key]}]"{/if} /> {lang}{@$selectOption}{/lang}</label>
+{/foreach}
--- /dev/null
+<fieldset>
+ <legend><label for="recaptcha_response_field">{lang}wcf.recaptcha.title{/lang}</label></legend>
+ <small>{lang}wcf.recaptcha.description{/lang}</small>
+
+ <dl class="wide reCaptcha{if $errorField == 'recaptchaString'} formError{/if}">
+ <script type="text/javascript">
+ //<![CDATA[
+ var RecaptchaOptions = {
+ lang: '{@$recaptchaLanguageCode}',
+ theme : 'custom'
+ }
+ //]]>
+ </script>
+ <dt class="jsOnly">
+ <label for="recaptcha_response_field">reCAPTCHA</label>
+ </dt>
+ <dd class="jsOnly">
+ <div id="recaptcha_image" class="framed"></div>
+ <input type="text" id="recaptcha_response_field" name="recaptcha_response_field" class="medium marginTop" />
+ {if $errorField == 'recaptchaString'}
+ <small class="innerError">
+ {if $errorType == 'empty'}{lang}wcf.global.form.error.empty{/lang}{/if}
+ {if $errorType == 'false'}{lang}wcf.recaptcha.error.recaptchaString.false{/lang}{/if}
+ </small>
+ {/if}
+ </dd>
+
+ {event name='fields'}
+
+ <dd class="jsOnly">
+ <ul class="buttonList">
+ <li><a href="javascript:Recaptcha.reload()" class="button small"><span class="icon icon16 icon-repeat"></span> <span>{lang}wcf.recaptcha.reload{/lang}</span></a></li>
+ <li class="recaptcha_only_if_image"><a href="javascript:Recaptcha.switch_type('audio')" class="button small"><span class="icon icon16 icon-volume-up"></span> <span>{lang}wcf.recaptcha.audio{/lang}</span></a></li>
+ <li class="recaptcha_only_if_audio"><a href="javascript:Recaptcha.switch_type('image')" class="button small"><span class="icon icon16 icon-eye-open"></span> <span>{lang}wcf.recaptcha.image{/lang}</span></a></li>
+ <li><a href="javascript:Recaptcha.showhelp()" class="button small"><span class="icon icon16 icon-question-sign"></span> <span>{lang}wcf.recaptcha.help{/lang}</span></a></li>
+ {event name='buttons'}
+ </ul>
+ </dd>
+
+ <script type="text/javascript" src="http{if $recaptchaUseSSL}s{/if}://www.google.com/recaptcha/api/challenge?k={$recaptchaPublicKey}"></script>
+ <noscript>
+ <dd>
+ <iframe src="http{if $recaptchaUseSSL}s{/if}://www.google.com/recaptcha/api/noscript?k={$recaptchaPublicKey}" height="300" width="500" seamless="seamless"></iframe><br />
+ <textarea name="recaptcha_challenge_field" rows="3" cols="40"></textarea>
+ <input type="hidden" name="recaptcha_response_field" value="manual_challenge" />
+ </dd>
+ {if $errorField == 'recaptchaString'}
+ <small class="innerError">
+ {if $errorType == 'empty'}{lang}wcf.global.form.error.empty{/lang}{/if}
+ {if $errorType == 'false'}{lang}wcf.recaptcha.error.recaptchaString.false{/lang}{/if}
+ </small>
+ {/if}
+ </noscript>
+ </dl>
+</fieldset>
--- /dev/null
+{hascontent}
+ <script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ WCF.Language.addObject({
+ 'wcf.user.recentActivity.more': '{lang}wcf.user.recentActivity.more{/lang}',
+ 'wcf.user.recentActivity.noMoreEntries': '{lang}wcf.user.recentActivity.noMoreEntries{/lang}'
+ });
+
+ new WCF.User.RecentActivityLoader({@$userID});
+ });
+ //]]>
+ </script>
+
+ <ul id="recentActivities" class="containerList recentActivityList" data-last-event-time="{@$lastEventTime}">
+ {content}
+ {include file='recentActivityListItem'}
+ {/content}
+ </ul>
+{hascontentelse}
+ <div class="containerPadding">
+ {if $placeholder|isset}{$placeholder}{/if}
+ </div>
+{/hascontent}
--- /dev/null
+{include file='documentHeader'}
+
+<head>
+ <title>{lang}wcf.user.recentActivity{/lang} - {PAGE_TITLE|language}</title>
+
+ {include file='headInclude'}
+
+ <link rel="canonical" href="{link controller='RecentActivityList'}{/link}" />
+
+ <script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ WCF.Language.addObject({
+ 'wcf.user.recentActivity.more': '{lang}wcf.user.recentActivity.more{/lang}',
+ 'wcf.user.recentActivity.noMoreEntries': '{lang}wcf.user.recentActivity.noMoreEntries{/lang}'
+ });
+
+ new WCF.User.RecentActivityLoader(null);
+ });
+ //]]>
+ </script>
+</head>
+
+<body id="tpl{$templateName|ucfirst}">
+
+{capture assign='sidebar'}
+ {@$__boxSidebar}
+{/capture}
+
+{include file='header' sidebarOrientation='right'}
+
+<header class="boxHeadline">
+ <h1>{lang}wcf.user.recentActivity{/lang}</h1>
+</header>
+
+{include file='userNotice'}
+
+<div class="contentNavigation">
+ {hascontent}
+ <nav>
+ <ul>
+ {content}
+ {event name='contentNavigationButtonsTop'}
+ {/content}
+ </ul>
+ </nav>
+ {/hascontent}
+</div>
+
+{if $eventList|count}
+ <div class="container marginTop">
+ <ul id="recentActivities" class="containerList recentActivityList" data-last-event-time="{@$lastEventTime}">
+ {include file='recentActivityListItem'}
+ </ul>
+ </div>
+
+ <div class="contentNavigation">
+ {hascontent}
+ <nav>
+ <ul>
+ {content}
+ {event name='contentNavigationButtonsBottom'}
+ {/content}
+ </ul>
+ </nav>
+ {/hascontent}
+ </div>
+{else}
+ <p class="info">{lang}wcf.user.recentActivity.noEntries{/lang}</p>
+{/if}
+
+
+
+{include file='footer'}
+
+</body>
+</html>
--- /dev/null
+{foreach from=$eventList item=event}
+ <li>
+ <div class="box48">
+ <a href="{link controller='User' object=$event->getUserProfile()}{/link}" title="{$event->getUserProfile()->username}" class="framed">{@$event->getUserProfile()->getAvatar()->getImageTag(48)}</a>
+
+ <div>
+ <div class="containerHeadline">
+ <h3><a href="{link controller='User' object=$event->getUserProfile()}{/link}" class="userLink" data-user-id="{@$event->getUserProfile()->userID}">{$event->getUserProfile()->username}</a><small> - {@$event->time|time}</small></h3>
+ <p><strong>{@$event->getTitle()}</strong></p>
+ <small class="containerContentType">{lang}wcf.user.recentActivity.{@$event->getObjectTypeName()}{/lang}</small>
+ </div>
+
+ <div>{@$event->getDescription()}</div>
+ </div>
+ </div>
+ </li>
+{/foreach}
\ No newline at end of file
--- /dev/null
+{include file="documentHeader"}
+
+<head>
+ <title>{lang}wcf.global.redirect.title{/lang} - {lang}{PAGE_TITLE}{/lang}</title>
+
+ {include file='headInclude'}
+
+ <meta http-equiv="refresh" content="{if $wait|isset}{@$wait}{else}10{/if};URL={$url}" />
+</head>
+
+<body id="tpl{$templateName|ucfirst}">
+
+{include file='header'}
+
+<div class="{if !$status|empty}{@$status}{else}success{/if}">
+ <p>{@$message}</p>
+ <a href="{$url}">{lang}wcf.global.redirect.url{/lang}</a>
+</div>
+
+{include file='footer'}
+
+</body>
+</html>
--- /dev/null
+{include file='documentHeader'}
+
+<head>
+ <title>{lang}wcf.user.register{/lang} - {PAGE_TITLE|language}</title>
+ {include file='headInclude'}
+
+ <script type="text/javascript" src="{@$__wcf->getPath()}js/WCF.User{if !ENABLE_DEBUG_MODE}.min{/if}.js?v={@$__wcfVersion}"></script>
+ <script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ WCF.Language.addObject({
+ 'wcf.global.form.error.empty': '{lang}wcf.global.form.error.empty{/lang}',
+ 'wcf.user.username.error.notValid': '{lang}wcf.user.username.error.notValid{/lang}',
+ 'wcf.user.username.error.notUnique': '{lang}wcf.user.username.error.notUnique{/lang}',
+ 'wcf.user.email.error.notValid' : '{lang}wcf.user.email.error.notValid{/lang}',
+ 'wcf.user.email.error.notUnique' : '{lang}wcf.user.email.error.notUnique{/lang}',
+ 'wcf.user.confirmEmail.error.notEqual' : '{lang}wcf.user.confirmEmail.error.notEqual{/lang}',
+ 'wcf.user.password.error.notSecure' : '{lang}wcf.user.password.error.notSecure{/lang}',
+ 'wcf.user.confirmPassword.error.notEqual' : '{lang}wcf.user.confirmPassword.error.notEqual{/lang}'
+ });
+
+ new WCF.User.Registration.Validation.EmailAddress($('#email'), $('#confirmEmail'), null);
+ new WCF.User.Registration.Validation.Password($('#password'), $('#confirmPassword'), null);
+ new WCF.User.Registration.Validation.Username($('#username', null, {
+ minlength: {@REGISTER_USERNAME_MIN_LENGTH},
+ maxlength: {@REGISTER_USERNAME_MAX_LENGTH}
+ }));
+ });
+ //]]>
+ </script>
+</head>
+
+<body id="tpl{$templateName|ucfirst}">
+{include file='header' __disableLoginLink=true}
+
+<header class="boxHeadline">
+ <h1>{lang}wcf.user.register{/lang}</h1>
+</header>
+
+{include file='userNotice'}
+
+{if $isExternalAuthentication}
+ {if $__wcf->session->getVar('__githubToken')}
+ <p class="info">{lang}wcf.user.3rdparty.github.register{/lang}</p>
+ {elseif $__wcf->session->getVar('__twitterData')}
+ <p class="info">{lang}wcf.user.3rdparty.twitter.register{/lang}</p>
+ {elseif $__wcf->session->getVar('__facebookData')}
+ <p class="info">{lang}wcf.user.3rdparty.facebook.register{/lang}</p>
+ {elseif $__wcf->session->getVar('__googleData')}
+ <p class="info">{lang}wcf.user.3rdparty.google.register{/lang}</p>
+ {/if}
+{/if}
+
+{if $errorField}
+ <p class="error">{lang}wcf.global.form.error{/lang}</p>
+{/if}
+
+<div class="contentNavigation">
+ {hascontent}
+ <nav>
+ <ul>
+ {content}
+ {event name='contentNavigationButtons'}
+ {/content}
+ </ul>
+ </nav>
+ {/hascontent}
+</div>
+
+<form method="post" action="{link controller='Register'}{/link}">
+ <div class="container containerPadding marginTop">
+ <fieldset>
+ <legend>{lang}wcf.user.username{/lang}</legend>
+
+ <dl{if $errorType.username|isset} class="formError"{/if}>
+ <dt>
+ <label for="username">{lang}wcf.user.username{/lang}</label>
+ </dt>
+ <dd>
+ <input type="text" id="username" name="username" value="{$username}" required="required" class="medium" />
+ {if $errorType.username|isset}
+ <small class="innerError">
+ {if $errorType.username == 'empty'}{lang}wcf.global.form.error.empty{/lang}{/if}
+ {if $errorType.username == 'notValid'}{lang}wcf.user.username.error.notValid{/lang}{/if}
+ {if $errorType.username == 'notUnique'}{lang}wcf.user.username.error.notUnique{/lang}{/if}
+ </small>
+ {/if}
+ <small>{lang}wcf.user.username.description{/lang}</small>
+ </dd>
+ </dl>
+
+ {event name='usernameFields'}
+ </fieldset>
+
+ <fieldset>
+ <legend>{lang}wcf.user.email{/lang}</legend>
+
+ <dl{if $errorType.email|isset} class="formError"{/if}>
+ <dt>
+ <label for="email">{lang}wcf.user.email{/lang}</label>
+ </dt>
+ <dd>
+ <input type="email" id="email" name="email" value="{$email}" required="required" class="medium" />
+ {if $errorType.email|isset}
+ <small class="innerError">
+ {if $errorType.email == 'empty'}{lang}wcf.global.form.error.empty{/lang}{/if}
+ {if $errorType.email == 'notValid'}{lang}wcf.user.email.error.notValid{/lang}{/if}
+ {if $errorType.email == 'notUnique'}{lang}wcf.user.email.error.notUnique{/lang}{/if}
+ </small>
+ {/if}
+ </dd>
+ </dl>
+
+ <dl{if $errorType.confirmEmail|isset} class="formError"{/if}>
+ <dt>
+ <label for="confirmEmail">{lang}wcf.user.confirmEmail{/lang}</label>
+ </dt>
+ <dd>
+ <input type="email" id="confirmEmail" name="confirmEmail" value="{$confirmEmail}" required="required" class="medium" />
+ {if $errorType.confirmEmail|isset}
+ <small class="innerError">
+ {if $errorType.confirmEmail == 'notEqual'}{lang}wcf.user.confirmEmail.error.notEqual{/lang}{/if}
+ </small>
+ {/if}
+ </dd>
+ </dl>
+
+ {event name='emailFields'}
+ </fieldset>
+
+ {if !$isExternalAuthentication}
+ <fieldset>
+ <legend>{lang}wcf.user.password{/lang}</legend>
+
+ <dl{if $errorType.password|isset} class="formError"{/if}>
+ <dt>
+ <label for="password">{lang}wcf.user.password{/lang}</label>
+ </dt>
+ <dd>
+ <input type="password" id="password" name="password" value="{$password}" required="required" class="medium" />
+ {if $errorType.password|isset}
+ <small class="innerError">
+ {if $errorType.password == 'empty'}{lang}wcf.global.form.error.empty{/lang}{/if}
+ {if $errorType.password == 'notSecure'}{lang}wcf.user.password.error.notSecure{/lang}{/if}
+ </small>
+ {/if}
+ <small>{lang}wcf.user.password.description{/lang}</small>
+ </dd>
+ </dl>
+
+ <dl{if $errorType.confirmPassword|isset} class="formError"{/if}>
+ <dt>
+ <label for="confirmPassword">{lang}wcf.user.confirmPassword{/lang}</label>
+ </dt>
+ <dd>
+ <input type="password" id="confirmPassword" name="confirmPassword" value="{$confirmPassword}" required="required" class="medium" />
+ {if $errorType.confirmPassword|isset}
+ <small class="innerError">
+ {if $errorType.confirmPassword == 'notEqual'}{lang}wcf.user.confirmPassword.error.notEqual{/lang}{/if}
+ </small>
+ {/if}
+ </dd>
+ </dl>
+
+ {event name='passwordFields'}
+ </fieldset>
+ {/if}
+
+ {if $availableLanguages|count > 1}
+ <fieldset>
+ <legend>{lang}wcf.user.language{/lang}</legend>
+
+ <dl>
+ <dt><label for="languageID">{lang}wcf.user.language{/lang}</label></dt>
+ <dd>
+ <select id="languageID" name="languageID">
+ {foreach from=$availableLanguages item=language}
+ <option value="{@$language->languageID}"{if $language->languageID == $languageID} selected="selected"{/if}>{$language}</option>
+ {/foreach}
+ </select>
+ <small>{lang}wcf.user.language.description{/lang}</small>
+ </dd>
+ </dl>
+
+ {hascontent}
+ <dl>
+ <dt><label>{lang}wcf.user.visibleLanguages{/lang}</label></dt>
+ <dd class="floated">
+ {content}
+ {foreach from=$availableContentLanguages item=language}
+ <label><input name="visibleLanguages[]" type="checkbox" value="{@$language->languageID}"{if $language->languageID|in_array:$visibleLanguages} checked="checked"{/if} /> {$language}</label>
+ {/foreach}
+ {/content}
+ <small>{lang}wcf.user.visibleLanguages.description{/lang}</small></dd>
+ </dl>
+ {/hascontent}
+
+ {event name='languageFields'}
+ </fieldset>
+ {/if}
+
+ {foreach from=$optionTree item=category}
+ <fieldset>
+ <legend>{lang}wcf.user.option.category.{@$category[object]->categoryName}{/lang}</legend>
+
+ {include file='userOptionFieldList' options=$category[options] langPrefix='wcf.user.option.'}
+ </fieldset>
+ {/foreach}
+
+ {event name='fieldsets'}
+
+ {if $useCaptcha}
+ {if $errorType.recaptchaString|isset}
+ {assign var=errorField value='recaptchaString'}
+ {assign var=errorType value=$errorType.recaptchaString}
+ {/if}
+ {include file='recaptcha'}
+ {/if}
+ </div>
+
+ <div class="formSubmit">
+ <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s" />
+ </div>
+</form>
+
+{include file='footer'}
+
+</body>
+</html>
\ No newline at end of file
--- /dev/null
+{include file='documentHeader'}
+
+<head>
+ <title>{lang}wcf.user.registerActivation{/lang} - {PAGE_TITLE|language}</title>
+ {include file='headInclude'}
+</head>
+
+<body id="tpl{$templateName|ucfirst}">
+
+{include file='header'}
+
+<header class="boxHeadline">
+ <h1>{lang}wcf.user.registerActivation{/lang}</h1>
+</header>
+
+{include file='userNotice'}
+
+{if $__wcf->user->userID && $__wcf->user->activationCode}<p class="info">{lang}wcf.user.registerActivation.info{/lang}</p>{/if}
+
+{if $errorField}
+ <p class="error">{lang}wcf.global.form.error{/lang}</p>
+{/if}
+
+<div class="contentNavigation">
+ {hascontent}
+ <nav>
+ <ul>
+ {content}
+ {event name='contentNavigationButtons'}
+ {/content}
+ </ul>
+ </nav>
+ {/hascontent}
+</div>
+
+<form method="post" action="{link controller='RegisterActivation'}{/link}">
+ <div class="container containerPadding marginTop">
+ <fieldset>
+ <legend><label for="userID">{lang}wcf.user.registerActivation{/lang}</label></legend>
+
+ <dl{if $errorField == 'username'} class="formError"{/if}>
+ <dt><label for="username">{lang}wcf.user.username{/lang}</label></dt>
+ <dd>
+ <input type="text" id="username" name="username" value="{@$username}" required="required" class="medium" />
+ {if $errorField == 'username'}
+ <small class="innerError">
+ {if $errorType == 'notFound'}{lang}wcf.user.username.error.notFound{/lang}{/if}
+ </small>
+ {/if}
+ </dd>
+ </dl>
+
+ <dl{if $errorField == 'activationCode'} class="formError"{/if}>
+ <dt><label for="activationCode">{lang}wcf.user.activationCode{/lang}</label></dt>
+ <dd>
+ <input type="text" id="activationCode" maxlength="9" name="activationCode" value="{@$activationCode}" required="required" class="medium" />
+ {if $errorField == 'activationCode'}
+ <small class="innerError">
+ {if $errorType == 'notValid'}{lang}wcf.user.activationCode.error.notValid{/lang}{/if}
+ </small>
+ {/if}
+ </dd>
+ </dl>
+
+ {event name='fields'}
+
+ <dl>
+ <dd>
+ <ul class="buttonList">
+ <li><a class="button small" href="{link controller='RegisterNewActivationCode'}{/link}"><span>{lang}wcf.user.newActivationCode{/lang}</span></a></li>
+ {event name='buttons'}
+ </ul>
+ </dd>
+ </dl>
+ </fieldset>
+
+ {event name='fieldsets'}
+ </div>
+
+ <div class="formSubmit">
+ <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s" />
+ </div>
+</form>
+
+{include file='footer'}
+</body>
+</html>
--- /dev/null
+{include file='documentHeader'}
+
+<head>
+ <title>{lang}wcf.user.newActivationCode{/lang} - {PAGE_TITLE|language}</title>
+ {include file='headInclude'}
+</head>
+
+<body id="tpl{$templateName|ucfirst}">
+
+{include file='header'}
+
+<header class="boxHeadline">
+ <h1>{lang}wcf.user.newActivationCode{/lang}</h1>
+</header>
+
+{include file='userNotice'}
+
+{if $errorField}
+ <p class="error">{lang}wcf.global.form.error{/lang}</p>
+{/if}
+
+<div class="contentNavigation">
+ {hascontent}
+ <nav>
+ <ul>
+ {content}
+ {event name='contentNavigationButtons'}
+ {/content}
+ </ul>
+ </nav>
+ {/hascontent}
+</div>
+
+<form method="post" action="{link controller='RegisterNewActivationCode'}{/link}">
+ <div class="container containerPadding marginTop">
+ <fieldset>
+ <legend>{lang}wcf.user.newActivationCode{/lang}</legend>
+
+ <dl{if $errorField == 'username'} class="formError"{/if}>
+ <dt><label for="username">{lang}wcf.user.username{/lang}</label></dt>
+ <dd>
+ <input type="text" id="username" name="username" value="{$username}" required="required" class="medium" />
+ {if $errorField == 'username'}
+ <small class="innerError">
+ {if $errorType == 'empty'}
+ {lang}wcf.global.form.error.empty{/lang}
+ {elseif $errorType == 'alreadyEnabled'}
+ {lang}wcf.user.registerActivation.error.userAlreadyEnabled{/lang}
+ {else}
+ {lang}wcf.user.username.error.{@$errorType}{/lang}
+ {/if}
+ </small>
+ {/if}
+ </dd>
+ </dl>
+
+ <dl{if $errorField == 'password'} class="formError"{/if}>
+ <dt><label for="password">{lang}wcf.user.password{/lang}</label></dt>
+ <dd>
+ <input type="password" id="password" name="password" value="{$password}" required="required" class="medium" />
+ {if $errorField == 'password'}
+ <small class="innerError">
+ {if $errorType == 'empty'}
+ {lang}wcf.global.form.error.empty{/lang}
+ {else}
+ {lang}wcf.user.password.error.{@$errorType}{/lang}
+ {/if}
+ </small>
+ {/if}
+ </dd>
+ </dl>
+
+ <dl{if $errorField == 'email'} class="formError"{/if}>
+ <dt><label for="email">{lang}wcf.user.email{/lang}</label></dt>
+ <dd>
+ <input type="email" id="email" name="email" value="{$email}" class="medium" />
+ {if $errorField == 'email'}
+ <small class="innerError">
+ {lang}wcf.user.email.error.{@$errorType}{/lang}
+ </small>
+ {/if}
+ <small>{lang}wcf.user.registerNewActivationCode.email.description{/lang}</small>
+ </dd>
+ </dl>
+
+ {event name='fields'}
+ </fieldset>
+
+ {event name='fieldsets'}
+ </div>
+
+ <div class="formSubmit">
+ <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s" />
+ </div>
+</form>
+
+{include file='footer'}
+
+</body>
+</html>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<rss version="2.0"
+ xmlns:atom="http://www.w3.org/2005/Atom"
+ xmlns:content="http://purl.org/rss/1.0/modules/content/"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
+>
+ <channel>
+ <title><![CDATA[{if $title}{$title} - {/if}{@PAGE_TITLE|language|escapeCDATA}]]></title>
+ <link><![CDATA[{@$baseHref|escapeCDATA}]]></link>
+ <description><![CDATA[{@PAGE_DESCRIPTION|escapeCDATA}]]></description>
+ <language>{@$__wcf->language->getFixedLanguageCode()}</language>
+ <pubDate>{'r'|gmdate:TIME_NOW}</pubDate>
+{assign var='dummy' value=$items->rewind()}
+ <lastBuildDate>{if $items->valid()}{'r'|gmdate:$items->current()->getTime()}{else}{'r'|gmdate:TIME_NOW}{/if}</lastBuildDate>
+ <ttl>60</ttl>
+ <generator><![CDATA[WoltLab Community Framework {@WCF_VERSION}]]></generator>
+ <atom:link href="{$__wcf->getRequestURI()}" rel="self" type="application/rss+xml" />
+{* *}{foreach from=$items item='item'}
+ <item>
+ <title><![CDATA[{@$item->getTitle()|escapeCDATA}]]></title>
+ <link><![CDATA[{@$item->getLink()|escapeCDATA}]]></link>
+ {hascontent}<description><![CDATA[{content}{@$item->getExcerpt()|escapeCDATA}{/content}]]></description>{/hascontent}
+ <pubDate>{'r'|gmdate:$item->getTime()}</pubDate>
+ <dc:creator>{@$item->getUsername()|escapeCDATA}</dc:creator>
+ <guid><![CDATA[{@$item->getLink()|escapeCDATA}]]></guid>
+ {foreach from=$item->getCategories() item='category'}
+ <category><![CDATA[{@$category|escapeCDATA}]]></category>
+ {/foreach}
+ {hascontent}<content:encoded><![CDATA[{content}{@$item->getFormattedMessage()|escapeCDATA}{/content}]]></content:encoded>{/hascontent}
+ <slash:comments>{@$item->getComments()|escapeCDATA}</slash:comments>
+ </item>
+{* *}{/foreach}
+ </channel>
+{if ENABLE_BENCHMARK}
+ <!--
+ Execution time: {@$__wcf->getBenchmark()->getExecutionTime()}s ({#($__wcf->getBenchmark()->getExecutionTime()-$__wcf->getBenchmark()->getQueryExecutionTime())/$__wcf->getBenchmark()->getExecutionTime()*100}% PHP, {#$__wcf->getBenchmark()->getQueryExecutionTime()/$__wcf->getBenchmark()->getExecutionTime()*100}% SQL) | SQL queries: {#$__wcf->getBenchmark()->getQueryCount()} | Memory-Usage: {$__wcf->getBenchmark()->getMemoryUsage()}
+
+{* *}{if ENABLE_DEBUG_MODE}
+{* *}{foreach from=$__wcf->getBenchmark()->getItems() item=item}
+{* *} {if $item.type == 1}(SQL Query) {/if}{$item.text} ({@$item.use}s)
+{* *}{/foreach}
+{* *}{/if}
+ -->
+{/if}
+</rss>
\ No newline at end of file
--- /dev/null
+{include file='documentHeader'}
+
+<head>
+ <title>{lang}wcf.search.title{/lang} - {PAGE_TITLE|language}</title>
+
+ {include file='headInclude'}
+</head>
+
+<body id="tpl{$templateName|ucfirst}">
+
+{include file='header'}
+
+<header class="boxHeadline">
+ <h1>{lang}wcf.search.title{/lang}</h1>
+</header>
+
+{include file='userNotice'}
+
+{if $errorField}
+ <p class="error">{lang}wcf.global.form.error{/lang}</p>
+{/if}
+
+{if $errorMessage|isset}
+ <p class="error">{@$errorMessage}</p>
+{/if}
+
+<form method="post" action="{link controller='Search'}{/link}">
+ <div class="container containerPadding marginTop">
+ <fieldset>
+ <legend>{lang}wcf.search.general{/lang}</legend>
+
+ <dl{if $errorField == 'q'} class="formError"{/if}>
+ <dt><label for="searchTerm">{lang}wcf.search.query{/lang}</label></dt>
+ <dd>
+ <input type="text" id="searchTerm" name="q" value="{$query}" class="long" maxlength="255" autofocus="autofocus" />
+ {if $errorField == 'q'}
+ <small class="innerError">
+ {if $errorType == 'empty'}
+ {lang}wcf.global.form.error.empty{/lang}
+ {else}
+ {lang}wcf.search.query.error.{@$errorType}{/lang}
+ {/if}
+ </small>
+ {/if}
+ <label><input type="checkbox" name="subjectOnly" value="1"{if $subjectOnly == 1} checked="checked"{/if} /> {lang}wcf.search.subjectOnly{/lang}</label>
+ {event name='queryOptions'}
+
+ <p><small>{lang}wcf.search.query.description{/lang}</small></p>
+ </dd>
+ </dl>
+
+ <dl>
+ <dt><label for="searchAuthor">{lang}wcf.search.author{/lang}</label></dt>
+ <dd>
+ <input type="text" id="searchAuthor" name="username" value="{$username}" class="long" maxlength="255" autocomplete="off" />
+ <label><input type="checkbox" name="nameExactly" value="1"{if $nameExactly == 1} checked="checked"{/if} /> {lang}wcf.search.matchExactly{/lang}</label>
+ {event name='authorOptions'}
+ </dd>
+ </dl>
+
+ <dl>
+ <dt><label for="startDate">{lang}wcf.search.period{/lang}</label></dt>
+ <dd>
+ <input type="date" id="startDate" name="startDate" value="{$startDate}" data-placeholder="{lang}wcf.date.period.start{/lang}" />
+ <input type="date" id="endDate" name="endDate" value="{$endDate}" data-placeholder="{lang}wcf.date.period.end{/lang}" />
+ {event name='periodOptions'}
+ </dd>
+ </dl>
+
+ <dl>
+ <dt><label for="sortField">{lang}wcf.search.sortBy{/lang}</label></dt>
+ <dd>
+ <select id="sortField" name="sortField">
+ <option value="relevance"{if $sortField == 'relevance'} selected="selected"{/if}>{lang}wcf.search.sortBy.relevance{/lang}</option>
+ <option value="subject"{if $sortField == 'subject'} selected="selected"{/if}>{lang}wcf.search.sortBy.subject{/lang}</option>
+ <option value="time"{if $sortField == 'time'} selected="selected"{/if}>{lang}wcf.search.sortBy.time{/lang}</option>
+ <option value="username"{if $sortField == 'username'} selected="selected"{/if}>{lang}wcf.search.sortBy.username{/lang}</option>
+ </select>
+
+ <select name="sortOrder">
+ <option value="ASC"{if $sortOrder == 'ASC'} selected="selected"{/if}>{lang}wcf.global.sortOrder.ascending{/lang}</option>
+ <option value="DESC"{if $sortOrder == 'DESC'} selected="selected"{/if}>{lang}wcf.global.sortOrder.descending{/lang}</option>
+ </select>
+ {event name='displayOptions'}
+ </dd>
+ </dl>
+
+ {event name='generalFields'}
+
+ <dl>
+ <dt>{lang}wcf.search.type{/lang}</dt>
+ <dd class="floated">
+ {foreach from=$objectTypes key=objectTypeName item=objectType}
+ {if $objectType->isAccessible()}
+ <label><input id="{@'.'|str_replace:'_':$objectTypeName}" type="checkbox" name="types[]" value="{@$objectTypeName}"{if $objectTypeName|in_array:$selectedObjectTypes} checked="checked"{/if} /> {lang}wcf.search.type.{@$objectTypeName}{/lang}</label>
+ {/if}
+ {/foreach}
+ </dd>
+ </dl>
+ </fieldset>
+
+ {event name='fieldsets'}
+ {if $useCaptcha}{include file='recaptcha'}{/if}
+
+ {foreach from=$objectTypes key=objectTypeName item=objectType}
+ {if $objectType->isAccessible() && $objectType->getFormTemplateName()}
+ {assign var='__jsID' value='.'|str_replace:'_':$objectTypeName}
+ <fieldset id="{@$__jsID}Form">
+ <legend>{lang}wcf.search.type.{@$objectTypeName}{/lang}</legend>
+
+ {include file=$objectType->getFormTemplateName() application=$objectType->getApplication()}
+
+ <script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ $('#{@$__jsID}').click(function() {
+ if (this.checked) $('#{@$__jsID}Form').wcfFadeIn();
+ else $('#{@$__jsID}Form').wcfFadeOut();
+ });
+ {if !$objectTypeName|in_array:$selectedObjectTypes}$('#{@$__jsID}Form').hide();{/if}
+ });
+ //]]>
+ </script>
+ </fieldset>
+ {/if}
+ {/foreach}
+ </div>
+
+ <div class="formSubmit">
+ <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s" />
+ </div>
+</form>
+
+{include file='footer'}
+
+<script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ new WCF.Search.User($('#searchAuthor'), function(data) {
+ $('#searchAuthor').val(data.label);//.focus();
+ });
+ });
+ //]]>
+</script>
+
+</body>
+</html>
\ No newline at end of file
--- /dev/null
+{capture assign='__searchFormLink'}{link controller='Search'}{/link}{/capture}
+{capture assign='__searchInputPlaceholder'}{lang}wcf.global.search.enterSearchTerm{/lang}{/capture}
+{capture assign='__searchDropdownOptions'}<label><input type="checkbox" name="subjectOnly" value="1" /> {lang}wcf.search.subjectOnly{/lang}</label>{/capture}
+{assign var='__searchHiddenInputFields' value=''}
+
+{event name='settings'}
+
+<aside id="search" class="searchBar dropdown" data-disable-auto-focus="true">
+ <form method="post" action="{@$__searchFormLink}">
+ <input type="search" name="q" placeholder="{@$__searchInputPlaceholder}" autocomplete="off" required="required" value="" class="dropdownToggle" data-toggle="search" />
+
+ <ul class="dropdownMenu">
+ {hascontent}
+ <li class="dropdownText">
+ {content}
+ {@$__searchDropdownOptions}
+ {/content}
+ </li>
+ <li class="dropdownDivider"></li>
+ {/hascontent}
+ <li><a href="{@$__searchFormLink}">{lang}wcf.search.extended{/lang}</a></li>
+ </ul>
+
+ {@$__searchHiddenInputFields}
+ </form>
+</aside>
+
+<script type="text/javascript" src="{@$__wcf->getPath('wcf')}js/WCF.Search.Message{if !ENABLE_DEBUG_MODE}.min{/if}.js?v={@$__wcfVersion}"></script>
+<script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ new WCF.Search.Message.SearchArea($('#search'));
+ });
+ //]]>
+</script>
\ No newline at end of file
--- /dev/null
+{include file='documentHeader'}
+
+<head>
+ <title>{lang}wcf.search.results{/lang} - {PAGE_TITLE|language}</title>
+
+ {include file='headInclude'}
+</head>
+
+<body id="tpl{$templateName|ucfirst}">
+
+{include file='header'}
+
+<header class="boxHeadline">
+ <h1>{if $query}<a href="{link controller='Search'}q={$query|urlencode}{/link}">{lang}wcf.search.results{/lang}</a>{else}{lang}wcf.search.results{/lang}{/if}</h1>
+ <p>{lang}wcf.search.results.description{/lang}</p>
+</header>
+
+{include file='userNotice'}
+
+<div class="contentNavigation">
+ {assign var=encodedHighlight value=$highlight|urlencode}
+ {pages print=true assign=pagesLinks controller='SearchResult' id=$searchID link="pageNo=%d&highlight=$encodedHighlight"}
+
+ {hascontent}
+ <nav>
+ <ul>
+ {content}
+ {if $alterable}
+ <li><a href="{link controller='Search'}modify={@$searchID}{/link}" class="button"><span class="icon icon16 icon-search"></span> <span>{lang}wcf.search.results.change{/lang}</span></a></li>
+ {/if}
+ {event name='contentNavigationButtonsTop'}
+ {/content}
+ </ul>
+ </nav>
+ {/hascontent}
+</div>
+
+{include file=$resultListTemplateName application=$resultListApplication}
+
+<div class="contentNavigation">
+ {@$pagesLinks}
+
+ {hascontent}
+ <nav>
+ <ul>
+ {content}
+ {if $alterable}
+ <li><a href="{link controller='Search'}modify={@$searchID}{/link}" class="button"><span class="icon icon16 icon-search"></span> <span>{lang}wcf.search.results.change{/lang}</span></a></li>
+ {/if}
+ {event name='contentNavigationButtonsBottom'}
+ {/content}
+ </ul>
+ </nav>
+ {/hascontent}
+</div>
+
+{include file='footer'}
+
+</body>
+</html>
\ No newline at end of file
--- /dev/null
+<div class="container marginTop">
+ <ul class="containerList messageSearchResultList">
+ {foreach from=$objects item=message}
+ <li>
+ <div class="box48">
+ <a href="{link controller='User' object=$message->getUserProfile()}{/link}" title="{$message->getUserProfile()->username}" class="framed">{@$message->getUserProfile()->getAvatar()->getImageTag(48)}</a>
+
+ <div>
+ <div class="containerHeadline">
+ <h3><a href="{$message->getLink($query)}">{$message->getSubject()}</a></h3>
+ <p>
+ <a href="{link controller='User' object=$message->getUserProfile()}{/link}" class="userLink" data-user-id="{@$message->getUserProfile()->userID}">{$message->getUserProfile()->username}</a>
+ <small>- {@$message->getTime()|time}</small>
+ {if $message->getContainerTitle()}<small>- <a href="{$message->getContainerLink()}">{$message->getContainerTitle()}</a></small>{/if}
+ </p>
+ <small class="containerContentType">{lang}wcf.search.object.{@$message->getObjectTypeName()}{/lang}</small>
+ </div>
+
+ <p>{@$message->getFormattedMessage()}</p>
+ </div>
+ </div>
+ </li>
+ {/foreach}
+ </ul>
+</div>
\ No newline at end of file
--- /dev/null
+<select id="{$option->optionName}" name="values[{$option->optionName}]">
+ {if $option->allowEmptyValue}<option value=""></option>{/if}
+ {foreach from=$selectOptions key=key item=selectOption}
+ <option value="{$key}"{if $value == $key} selected="selected"{/if}>{lang}{@$selectOption}{/lang}</option>
+ {/foreach}
+</select>
\ No newline at end of file
--- /dev/null
+{include file='documentHeader'}
+
+<head>
+ <title>{lang}wcf.user.option.category.settings.{$category}{/lang} - {lang}wcf.user.menu.settings{/lang} - {PAGE_TITLE|language}</title>
+ {include file='headInclude'}
+</head>
+
+<body id="tpl{$templateName|ucfirst}">
+
+{include file='userMenuSidebar'}
+
+{include file='header' sidebarOrientation='left'}
+
+<header class="boxHeadline">
+ <h1>{lang}wcf.user.menu.settings{/lang}: {lang}wcf.user.option.category.settings.{$category}{/lang}</h1>
+</header>
+
+{include file='userNotice'}
+
+{if $success|isset}
+ <p class="success">{lang}wcf.global.success.edit{/lang}</p>
+{/if}
+
+<div class="contentNavigation">
+ {hascontent}
+ <nav>
+ <ul>
+ {content}
+ {event name='contentNavigationButtons'}
+ {/content}
+ </ul>
+ </nav>
+ {/hascontent}
+</div>
+
+<form method="post" action="{link controller='Settings'}{/link}">
+ <div class="container containerPadding marginTop">
+ {if $category == 'general'}
+ {if $availableLanguages|count > 1}
+ <fieldset>
+ <legend>{lang}wcf.user.language{/lang}</legend>
+
+ <dl>
+ <dt><label>{lang}wcf.user.language{/lang}</label></dt>
+ <dd id="languageIDContainer">
+ <script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ var $languages = {
+ {implode from=$availableLanguages item=language}
+ '{@$language->languageID}': {
+ iconPath: '{@$language->getIconPath()}',
+ languageName: '{$language}'
+ }
+ {/implode}
+ };
+
+ new WCF.Language.Chooser('languageIDContainer', 'languageID', {@$languageID}, $languages);
+ });
+ //]]>
+ </script>
+ <noscript>
+ <select name="languageID" id="languageID">
+ {foreach from=$availableLanguages item=language}
+ <option value="{@$language->languageID}"{if $language->languageID == $languageID} selected="selected"{/if}>{$language}</option>
+ {/foreach}
+ </select>
+ </noscript>
+ </dd>
+ </dl>
+
+ {hascontent}
+ <dl>
+ <dt><label>{lang}wcf.user.visibleLanguages{/lang}</label></dt>
+ <dd class="floated">
+ {content}
+ {foreach from=$availableContentLanguages item=language}
+ <label><input name="contentLanguageIDs[]" type="checkbox" value="{@$language->languageID}"{if $language->languageID|in_array:$contentLanguageIDs} checked="checked"{/if} /> {$language}</label>
+ {/foreach}
+ {/content}
+ <small>{lang}wcf.user.visibleLanguages.description{/lang}</small></dd>
+ </dl>
+ {/hascontent}
+
+ {event name='languageFields'}
+ </fieldset>
+ {/if}
+
+ {if $availableStyles|count > 1}
+ <fieldset>
+ <legend>{lang}wcf.user.style{/lang}</legend>
+
+ <dl>
+ <dt><label for="styleID">{lang}wcf.user.style{/lang}</label></dt>
+ <dd>
+ <select id="styleID" name="styleID">
+ <option value="0"></option>
+ {foreach from=$availableStyles item=style}
+ <option value="{@$style->styleID}"{if $style->styleID == $styleID} selected="selected"{/if}>{$style->styleName}</option>
+ {/foreach}
+ </select>
+ <small>{lang}wcf.user.style.description{/lang}</small>
+ </dd>
+ </dl>
+
+ {event name='styleFields'}
+ </fieldset>
+ {/if}
+ {/if}
+
+ {foreach from=$optionTree[0][categories][0][categories] item=optionCategory}
+ <fieldset>
+ <legend>{lang}wcf.user.option.category.{@$optionCategory[object]->categoryName}{/lang}</legend>
+
+ {include file='userProfileOptionFieldList' options=$optionCategory[options] langPrefix='wcf.user.option.'}
+ </fieldset>
+ {/foreach}
+
+ {event name='fieldsets'}
+ </div>
+
+ <div class="formSubmit">
+ <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s" />
+ {if $category != 'general'}<input type="hidden" name="category" value="{$category}" />{/if}
+ </div>
+</form>
+
+{include file='footer'}
+
+</body>
+</html>
--- /dev/null
+<div class="messageShareButtons jsOnly">
+ <ul>
+ <li class="jsShareFacebook">
+ <a>
+ <span class="icon icon32 icon-facebook-sign jsTooltip" title="{lang}wcf.message.share.facebook{/lang}"></span>
+ <span class="invisible">{lang}wcf.message.share.facebook{/lang}</span>
+ </a>
+ <span class="badge" style="display: none">0</span>
+ </li>
+ <li class="jsShareTwitter">
+ <a>
+ <span class="icon icon32 icon-twitter-sign jsTooltip" title="{lang}wcf.message.share.twitter{/lang}"></span>
+ <span class="invisible">{lang}wcf.message.share.twitter{/lang}</span>
+ </a>
+ <span class="badge" style="display: none">0</span>
+ </li>
+ <li class="jsShareGoogle">
+ <a>
+ <span class="icon icon32 icon-google-plus-sign jsTooltip" title="{lang}wcf.message.share.google{/lang}"></span>
+ <span class="invisible">{lang}wcf.message.share.google{/lang}</span>
+ </a>
+ <span class="badge" style="display: none">0</span>
+ </li>
+ <li class="jsShareReddit">
+ <a>
+ <img class="jsTooltip" src="{$__wcf->getPath()}icon/reddit.png" alt="{lang}wcf.message.share.reddit{/lang}" title="{lang}wcf.message.share.reddit{/lang}" />
+ <span class="invisible">{lang}wcf.message.share.reddit{/lang}</span>
+ </a>
+ <span class="badge" style="display: none">0</span>
+ </li>
+
+ {event name='buttons'}
+ </ul>
+
+ <script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ WCF.Language.addObject({
+ 'wcf.message.share.facebook': '{lang}wcf.message.share.facebook{/lang}',
+ 'wcf.message.share.google': '{lang}wcf.message.share.google{/lang}',
+ 'wcf.message.share.reddit': '{lang}wcf.message.share.reddit{/lang}',
+ 'wcf.message.share.twitter': '{lang}wcf.message.share.twitter{/lang}'
+ });
+
+ new WCF.Message.Share.Page({if SHARE_BUTTONS_SHOW_COUNT}true{else}false{/if});
+ });
+ //]]>
+ </script>
+</div>
--- /dev/null
+{include file='documentHeader'}
+
+<head>
+ <title>{lang}wcf.user.signature.edit{/lang} - {PAGE_TITLE|language}</title>
+
+ {include file='headInclude'}
+
+ <script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ WCF.Language.addObject({
+ 'wcf.global.preview': '{lang}wcf.global.preview{/lang}'
+ });
+
+ new WCF.User.SignaturePreview('wcf\\data\\user\\UserProfileAction', 'text', 'previewButton');
+ });
+ //]]>
+ </script>
+</head>
+
+<body id="tpl{$templateName|ucfirst}">
+
+{include file='userMenuSidebar'}
+
+{include file='header' sidebarOrientation='left'}
+
+<header class="boxHeadline">
+ <h1>{lang}wcf.user.signature.edit{/lang}</h1>
+</header>
+
+{include file='userNotice'}
+
+{if $errorField}
+ <p class="error">{lang}wcf.global.form.error{/lang}</p>
+{/if}
+
+{if $success|isset}
+ <p class="success">{lang}wcf.global.success.edit{/lang}</p>
+{/if}
+
+{if $__wcf->user->disableSignature}
+ <p class="error">{lang}wcf.user.signature.error.disabled{/lang}</p>
+{/if}
+
+<div class="contentNavigation">
+ {hascontent}
+ <nav>
+ <ul>
+ {content}
+ {event name='contentNavigationButtons'}
+ {/content}
+ </ul>
+ </nav>
+ {/hascontent}
+</div>
+
+<form method="post" action="{link controller='SignatureEdit'}{/link}">
+ <div class="container containerPadding marginTop">
+ {if $signatureCache}
+ <fieldset>
+ <legend>{lang}wcf.user.signature.current{/lang}</legend>
+
+ {@$signatureCache}
+ </fieldset>
+ {/if}
+
+ {if !$__wcf->user->disableSignature}
+ <fieldset id="signatureContainer">
+ <legend>{lang}wcf.user.signature{/lang}</legend>
+
+ <dl class="wide{if $errorField == 'text'} formError{/if}">
+ <dt><label for="text">{lang}wcf.user.signature{/lang}</label></dt>
+ <dd>
+ <textarea id="text" name="text" rows="20" cols="40">{$text}</textarea>
+ {if $errorField == 'text'}
+ <small class="innerError">
+ {if $errorType == 'empty'}
+ {lang}wcf.global.form.error.empty{/lang}
+ {elseif $errorType == 'tooLong'}
+ {lang}wcf.message.error.tooLong{/lang}
+ {elseif $errorType == 'censoredWordsFound'}
+ {lang}wcf.message.error.censoredWordsFound{/lang}
+ {elseif $errorType == 'disallowedBBCodes'}
+ {lang}wcf.message.error.disallowedBBCodes{/lang}
+ {else}
+ {lang}wcf.user.signature.error.{@$errorType}{/lang}
+ {/if}
+ </small>
+ {/if}
+ </dd>
+ </dl>
+
+ {event name='fields'}
+ </fieldset>
+
+ {event name='fieldsets'}
+
+ {include file='messageFormTabs'}
+ {/if}
+ </div>
+
+ {if !$__wcf->user->disableSignature}
+ <div class="formSubmit">
+ <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s" />
+ <button id="previewButton" class="jsOnly" accesskey="p">{lang}wcf.global.button.preview{/lang}</button>
+ </div>
+ {/if}
+</form>
+
+{include file='footer'}
+{include file='wysiwyg'}
+
+</body>
+</html>
\ No newline at end of file
--- /dev/null
+<div class="sitemap">
+ {hascontent}
+ <div class="tabMenuContainer" data-active="sitemap_{@$defaultSitemapName}">
+ <nav class="tabMenu">
+ <ul>
+ {content}
+ {foreach from=$tree item=sitemapName}
+ <li><a href="#sitemap_{$sitemapName}" class="sitemapNavigation" data-sitemap-name="{$sitemapName}">{lang}wcf.page.sitemap.{$sitemapName}{/lang}</a></li>
+ {/foreach}
+ {/content}
+ </ul>
+ </nav>
+
+ {foreach from=$tree item=sitemapName}
+ <div id="sitemap_{$sitemapName}" class="container containerPadding tabMenuContent hidden">
+ {if $sitemapName == $defaultSitemapName}{@$sitemap}{/if}
+ </div>
+ {/foreach}
+ </div>
+
+ <script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ // fix anchor
+ var $location = location.toString().replace(location.hash, '');
+ $('.sitemap .tabMenu a').each(function(index, link) {
+ var $link = $(link);
+ $link.attr('href', $location + $link.attr('href'));
+ });
+
+ WCF.TabMenu.init();
+ });
+ //]]>
+ </script>
+ {hascontentelse}
+ {@$sitemap}
+ {/hascontent}
+</div>
\ No newline at end of file
--- /dev/null
+<ul class="sitemapList">
+ {if $__wcf->getUser()->userID}
+ {assign var=__userMenuActiveItems value=$__wcf->getUserMenu()->getActiveMenuItems()}
+ {foreach from=$__wcf->getUserMenu()->getMenuItems('') item=menuCategory}
+ <li>
+ <h3>{lang}{$menuCategory->menuItem}{/lang}</h3>
+ <ul>
+ {foreach from=$__wcf->getUserMenu()->getMenuItems($menuCategory->menuItem) item=menuItem}
+ <li><a href="{$menuItem->getLink()}">{lang}{$menuItem->menuItem}{/lang}</a></li>
+ {/foreach}
+ </ul>
+ </li>
+ {/foreach}
+ {else}
+ <li>
+ <a href="{link controller='Login'}{/link}">{lang}wcf.user.login{/lang}</a>
+ </li>
+ <li>
+ <a href="{link controller='Register'}{/link}">{lang}wcf.user.register{/lang}</a>
+ </li>
+ {/if}
+</ul>
\ No newline at end of file
--- /dev/null
+<div class="container containerPadding spoilerBox jsSpoilerBox">
+ <!-- begin:parser_nonessential -->
+ <header class="jsOnly">
+ <a class="button jsSpoilerToggle">{if $buttonTitle}{$buttonTitle}{else}{lang}wcf.bbcode.spoiler.show{/lang}{/if}</a>
+ </header>
+ <!-- end:parser_nonessential -->
+
+ <div>
+ {@$content}
+ </div>
+</div>
+
+<!-- begin:parser_nonessential -->
+<script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ var $spoilerBox = $('.jsSpoilerBox').removeClass('jsSpoilerBox');
+ $spoilerBox.children('div').hide();
+ $spoilerBox.find('> header > .jsSpoilerToggle').click(function() {
+ $(this).toggleClass('active').parent().next().slideToggle();
+ });
+ });
+ //]]>
+</script>
+<!-- end:parser_nonessential -->
\ No newline at end of file
--- /dev/null
+<div class="container">
+ <ol class="containerList styleList{if $styleList|count > 4} doubleColumned{/if}">
+ {foreach from=$styleList item=style}
+ <li data-style-id="{@$style->styleID}">
+ <div class="box64">
+ <span class="framed">
+ <img src="{@$style->getPreviewImage()}" alt="" />
+ </span>
+ <div class="details">
+ <div class="containerHeadline">
+ <h3>{$style->styleName}{if $style->styleID == $__wcf->getStyleHandler()->getStyle()->styleID} <span class="icon icon16 icon-check" title="{lang}wcf.style.currentStyle{/lang}"></span>{/if}</h3>
+ </div>
+ {if $style->styleDescription}<small>{lang}{@$style->styleDescription}{/lang}</small>{/if}
+ </div>
+ </div>
+ </li>
+ {/foreach}
+ </ol>
+</div>
\ No newline at end of file
--- /dev/null
+{hascontent}
+ <ul class="tagList">
+ {content}
+ {foreach from=$tags item=tag}
+ <li><a href="{link controller='Tagged' object=$tag}{/link}" rel="tag" style="font-size: {@$tag->getSize()}%;">{$tag->name}</a></li>
+ {/foreach}
+ {/content}
+ </ul>
+{/hascontent}
\ No newline at end of file
--- /dev/null
+<dl class="jsOnly">
+ <dt><label for="tagSearchInput{if $tagInputSuffix|isset}{@$tagInputSuffix}{/if}">{lang}wcf.tagging.tags{/lang}</label></dt>
+ <dd>
+ <div id="tagList{if $tagInputSuffix|isset}{@$tagInputSuffix}{/if}" class="editableItemList"></div>
+ <input id="tagSearchInput{if $tagInputSuffix|isset}{@$tagInputSuffix}{/if}" type="text" value="" class="long" />
+ <small>{lang}wcf.tagging.tags.description{/lang}</small>
+ </dd>
+</dl>
+<script type="text/javascript" src="{@$__wcf->getPath()}js/WCF.Tagging{if !ENABLE_DEBUG_MODE}.min{/if}.js?v={@$__wcfVersion}"></script>
+<script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ var $tagList = new WCF.Tagging.TagList('#tagList{if $tagInputSuffix|isset}{@$tagInputSuffix}{/if}', '#tagSearchInput{if $tagInputSuffix|isset}{@$tagInputSuffix}{/if}', {@TAGGING_MAX_TAG_LENGTH});
+
+ {if $tags|isset && $tags|count}
+ $tagList.load([ {implode from=$tags item=tag}'{$tag}'{/implode} ]);
+ {/if}
+ });
+ //]]>
+</script>
\ No newline at end of file
--- /dev/null
+{include file='documentHeader'}
+
+<head>
+ <title>{lang}wcf.tagging.taggedObjects.{@$objectType}{/lang} - {PAGE_TITLE|language}</title>
+
+ {include file='headInclude'}
+
+ {if $pageNo < $pages}
+ <link rel="next" href="{link controller='Tagged' object=$tag}objectType={@$objectType}&pageNo={@$pageNo+1}{/link}" />
+ {/if}
+ {if $pageNo > 1}
+ <link rel="prev" href="{link controller='Tagged' object=$tag}objectType={@$objectType}{if $pageNo > 2}&pageNo={@$pageNo-1}{/if}{/link}" />
+ {/if}
+ <link rel="canonical" href="{link controller='Tagged' object=$tag}objectType={@$objectType}{if $pageNo > 1}&pageNo={@$pageNo}{/if}{/link}" />
+</head>
+
+<body id="tpl{$templateName|ucfirst}">
+
+{capture assign='sidebar'}
+ <fieldset>
+ <legend>{lang}wcf.tagging.objectTypes{/lang}</legend>
+
+ <nav>
+ <ul>
+ {foreach from=$availableObjectTypes item=availableObjectType}
+ <li{if $objectType == $availableObjectType->objectType} class="active"{/if}><a href="{link controller='Tagged' object=$tag}objectType={@$availableObjectType->objectType}{/link}">{lang}wcf.tagging.objectType.{@$availableObjectType->objectType}{/lang}</a></li>
+ {/foreach}
+ </ul>
+ </nav>
+ </fieldset>
+
+ <fieldset>
+ <legend>{lang}wcf.tagging.tags{/lang}</legend>
+
+ <ul class="tagList">
+ {foreach from=$tags item=__tag}
+ <li><a href="{link controller='Tagged' object=$__tag}objectType={@$objectType}{/link}" rel="tag" style="font-size: {@$__tag->getSize()}%;">{$__tag->name}</a></li>
+ {/foreach}
+ </ul>
+ </fieldset>
+{/capture}
+
+{include file='header' sidebarOrientation='left'}
+
+<header class="boxHeadline">
+ <h1>{lang}wcf.tagging.taggedObjects.{@$objectType}{/lang}</h1>
+</header>
+
+{include file='userNotice'}
+
+<div class="contentNavigation">
+ {pages print=true assign=pagesLinks controller='Tagged' object=$tag link="objectType=$objectType&pageNo=%d"}
+
+ {hascontent}
+ <nav>
+ <ul>
+ {content}
+ {event name='contentNavigationButtonsTop'}
+ {/content}
+ </ul>
+ </nav>
+ {/hascontent}
+</div>
+
+{if $items}
+ {include file=$resultListTemplateName application=$resultListApplication}
+{else}
+ <p class="info">{lang}wcf.tagging.taggedObjects.noResults{/lang}</p>
+{/if}
+
+<div class="contentNavigation">
+ {@$pagesLinks}
+
+ {hascontent}
+ <nav>
+ <ul>
+ {content}
+ {event name='contentNavigationButtonsBottom'}
+ {/content}
+ </ul>
+ </nav>
+ {/hascontent}
+</div>
+
+{include file='footer'}
+
+</body>
+</html>
\ No newline at end of file
--- /dev/null
+{include file='documentHeader'}
+
+<head>
+ <title>{lang}wcf.user.team{/lang} - {PAGE_TITLE|language}</title>
+
+ {include file='headInclude'}
+
+ <link rel="canonical" href="{link controller='Team'}{/link}" />
+
+ <script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ WCF.Language.addObject({
+ 'wcf.user.button.follow': '{lang}wcf.user.button.follow{/lang}',
+ 'wcf.user.button.ignore': '{lang}wcf.user.button.ignore{/lang}',
+ 'wcf.user.button.unfollow': '{lang}wcf.user.button.unfollow{/lang}',
+ 'wcf.user.button.unignore': '{lang}wcf.user.button.unignore{/lang}'
+ });
+
+ new WCF.User.Action.Follow($('.userList > li'));
+ new WCF.User.Action.Ignore($('.userList > li'));
+ });
+ //]]>
+ </script>
+</head>
+
+<body id="tpl{$templateName|ucfirst}">
+
+{capture assign='sidebar'}
+ {@$__boxSidebar}
+{/capture}
+
+{include file='header' sidebarOrientation='right'}
+
+<header class="boxHeadline">
+ <h1>{lang}wcf.user.team{/lang}</h1>
+</header>
+
+{include file='userNotice'}
+
+<div class="contentNavigation">
+ {hascontent}
+ <nav>
+ <ul>
+ {content}
+ {event name='contentNavigationButtonsTop'}
+ {/content}
+ </ul>
+ </nav>
+ {/hascontent}
+</div>
+
+{foreach from=$objects->getTeams() item=team}
+ <header class="boxHeadline boxSubHeadline">
+ <h2>{$team->groupName|language} <span class="badge">{#$team->getMembers()|count}</span></h2>
+ </header>
+
+ <div class="container marginTop">
+ <ol class="containerList doubleColumned userList">
+ {foreach from=$team->getMembers() item=user}
+ {include file='userListItem'}
+ {/foreach}
+ </ol>
+ </div>
+{/foreach}
+
+<div class="contentNavigation">
+ {hascontent}
+ <nav>
+ <ul>
+ {content}
+ {event name='contentNavigationButtonsBottom'}
+ {/content}
+ </ul>
+ </nav>
+ {/hascontent}
+</div>
+
+{include file='footer'}
+
+</body>
+</html>
--- /dev/null
+<script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ var $availableLanguages = { {implode from=$availableLanguages key=languageID item=languageName}{@$languageID}: '{$languageName}'{/implode} };
+ var $optionValues = { {implode from=$i18nValues[$option->optionName] key=languageID item=value}'{@$languageID}': '{$value}'{/implode} };
+ new WCF.MultipleLanguageInput('{$option->optionName}', false, $optionValues, $availableLanguages);
+ });
+ //]]>
+</script>
+<input type="{@$inputType}" id="{$option->optionName}" name="{$option->optionName}" value="{$i18nPlainValues[$option->optionName]}" />
--- /dev/null
+<input type="{@$inputType}" id="{$option->optionName}" name="values[{$option->optionName}]" value="{$value}"{if $option->minlength > 0} required="required"{/if}{if $option->maxlength} maxlength="{$option->maxlength}"{/if}{if $inputClass} class="{@$inputClass}"{/if} />
--- /dev/null
+<script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ var $availableLanguages = { {implode from=$availableLanguages key=languageID item=languageName}{@$languageID}: '{$languageName}'{/implode} };
+ var $optionValues = { {implode from=$i18nValues[$option->optionName] key=languageID item=value}'{@$languageID}': '{$value}'{/implode} };
+ new WCF.MultipleLanguageInput('{$option->optionName}', false, $optionValues, $availableLanguages);
+ });
+ //]]>
+</script>
+<textarea id="{$option->optionName}" name="{$option->optionName}" cols="40" rows="10">{$i18nPlainValues[$option->optionName]}</textarea>
--- /dev/null
+<textarea id="{$option->optionName}" name="values[{$option->optionName}]" cols="40" rows="10">{$value}</textarea>
--- /dev/null
+{include file='documentHeader'}
+
+<head>
+ <title>{lang}wcf.user.profile{/lang} - {lang}wcf.user.members{/lang} - {PAGE_TITLE|language}</title>
+
+ {include file='headInclude'}
+
+ <link rel="canonical" href="{link controller='User' object=$user}{/link}" />
+
+ <script type="text/javascript" src="{@$__wcf->getPath('wcf')}js/WCF.User{if !ENABLE_DEBUG_MODE}.min{/if}.js?v={@$__wcfVersion}"></script>
+ {event name='javascriptInclude'}
+ <script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ {if $__wcf->getUser()->userID && $__wcf->getUser()->userID != $user->userID}
+ WCF.Language.addObject({
+ 'wcf.user.activityPoint': '{lang}wcf.user.activityPoint{/lang}',
+ 'wcf.user.button.follow': '{lang}wcf.user.button.follow{/lang}',
+ 'wcf.user.button.unfollow': '{lang}wcf.user.button.unfollow{/lang}',
+ 'wcf.user.button.ignore': '{lang}wcf.user.button.ignore{/lang}',
+ 'wcf.user.button.unignore': '{lang}wcf.user.button.unignore{/lang}'
+ });
+
+ {if !$user->getPermission('user.profile.cannotBeIgnored')}
+ new WCF.User.Profile.IgnoreUser({@$user->userID}, {if $__wcf->getUserProfileHandler()->isIgnoredUser($user->userID)}true{else}false{/if});
+ {/if}
+
+ new WCF.User.Profile.Follow({@$user->userID}, {if $__wcf->getUserProfileHandler()->isFollowing($user->userID)}true{else}false{/if});
+ {/if}
+
+ new WCF.User.Profile.TabMenu({@$user->userID});
+
+ WCF.TabMenu.init();
+
+ {if $user->canEdit() || ($__wcf->getUser()->userID == $user->userID && $user->canEditOwnProfile())}
+ WCF.Language.addObject({
+ 'wcf.user.editProfile': '{lang}wcf.user.editProfile{/lang}',
+ });
+
+ new WCF.User.Profile.Editor({@$user->userID}, {if $editOnInit}true{else}false{/if});
+ {/if}
+
+ {if $user->activityPoints}
+ WCF.Language.addObject({
+ 'wcf.user.activityPoint': '{lang}wcf.user.activityPoint{/lang}'
+ });
+
+ WCF.User.Profile.ActivityPointList.init();
+ {/if}
+
+ {if $followingCount > 10}
+ var $followingList = null;
+ $('#followingAll').click(function() {
+ if ($followingList === null) {
+ $followingList = new WCF.User.List('wcf\\data\\user\\follow\\UserFollowingAction', '{lang}wcf.user.profile.following{/lang}', { userID: {@$user->userID} });
+ }
+
+ $followingList.open();
+ });
+ {/if}
+ {if $followerCount > 10}
+ var $followerList = null;
+ $('#followerAll').click(function() {
+ if ($followerList === null) {
+ $followerList = new WCF.User.List('wcf\\data\\user\\follow\\UserFollowAction', '{lang}wcf.user.profile.followers{/lang}', { userID: {@$user->userID} });
+ }
+
+ $followerList.open();
+ });
+ {/if}
+ {if $visitorCount > 10}
+ var $visitorList = null;
+ $('#visitorAll').click(function() {
+ if ($visitorList === null) {
+ $visitorList = new WCF.User.List('wcf\\data\\user\\profile\\visitor\\UserProfileVisitorAction', '{lang}wcf.user.profile.visitors{/lang}', { userID: {@$user->userID} });
+ }
+
+ $visitorList.open();
+ });
+ {/if}
+
+ {event name='javascriptInit'}
+ });
+ //]]>
+ </script>
+
+ <noscript>
+ <style type="text/css">
+ #profileContent > .tabMenu > ul > li:not(:first-child) {
+ display: none !important;
+ }
+
+ #profileContent > .tabMenuContent:not(:first-of-type) {
+ display: none !important;
+ }
+ </style>
+ </noscript>
+</head>
+
+<body id="tpl{$templateName|ucfirst}">
+
+{include file='userSidebar' assign='sidebar'}
+
+{include file='header' sidebarOrientation='left'}
+
+<header class="boxHeadline userHeadline">
+ <span class="framed invisible">{@$user->getAvatar()->getImageTag(48)}</span>
+
+ <h1>{$user->username}{if MODULE_USER_RANK && $user->getUserTitle()} <span class="badge userTitleBadge{if $user->getRank() && $user->getRank()->cssClassName} {@$user->getRank()->cssClassName}{/if}">{$user->getUserTitle()}</span>{/if}</h1>
+
+ <ul class="dataList">
+ {if $user->gender}<li>{lang}wcf.user.gender.{if $user->gender == 1}male{else}female{/if}{/lang}</li>{/if}
+ {if $user->getAge()}<li>{@$user->getAge()}</li>{/if}
+ {if $user->location}<li>{lang}wcf.user.membersList.location{/lang}</li>{/if}
+ {if $user->getOldUsername()}<li>{lang}wcf.user.profile.oldUsername{/lang}</li>{/if}
+ <li>{lang}wcf.user.membersList.registrationDate{/lang}</li>
+ {event name='userDataRow1'}
+ </ul>
+ {if $user->canViewOnlineStatus() && $user->getLastActivityTime()}
+ <dl class="plain inlineDataList">
+ <dt>{lang}wcf.user.usersOnline.lastActivity{/lang}</dt>
+ <dd>{@$user->getLastActivityTime()|time}{if $user->getCurrentLocation()}, {@$user->getCurrentLocation()}{/if}</dd>
+ {event name='userDataRow2'}
+ </dl>
+ {/if}
+ <nav class="jsMobileNavigation buttonGroupNavigation">
+ <ul id="profileButtonContainer" class="buttonGroup">{*
+ *}{if $user->userID != $__wcf->user->userID}{if $user->isAccessible('canViewEmailAddress')}<li><a class="button jsTooltip" href="mailto:{@$user->getEncodedEmail()}" title="{lang}wcf.user.button.mail{/lang}"><span class="icon icon16 icon-envelope-alt"></span> <span class="invisible">{lang}wcf.user.button.mail{/lang}</span></a></li>{elseif $user->isAccessible('canMail') && $__wcf->session->getPermission('user.profile.canMail')}<li><a class="button jsTooltip" href="{link controller='Mail' object=$user}{/link}" title="{lang}wcf.user.button.mail{/lang}"><span class="icon icon16 icon-envelope-alt"></span> <span class="invisible">{lang}wcf.user.button.mail{/lang}</span></a></li>{/if}{/if}{*
+ *}{event name='buttons'}{*
+ *}</ul>
+ </nav>
+</header>
+
+{include file='userNotice'}
+
+<div class="contentNavigation">
+ {hascontent}
+ <nav>
+ <ul>
+ {content}
+ {event name='contentNavigationButtons'}
+ {/content}
+ </ul>
+ </nav>
+ {/hascontent}
+</div>
+
+<section id="profileContent" class="marginTop tabMenuContainer" data-active="{$__wcf->getUserProfileMenu()->getActiveMenuItem()->getIdentifier()}">
+ <nav class="tabMenu">
+ <ul>
+ {foreach from=$__wcf->getUserProfileMenu()->getMenuItems() item=menuItem}
+ {if $menuItem->getContentManager()->isVisible($userID)}
+ <li><a href="{$__wcf->getAnchor($menuItem->getIdentifier())}">{lang}wcf.user.profile.menu.{@$menuItem->menuItem}{/lang}</a></li>
+ {/if}
+ {/foreach}
+ </ul>
+ </nav>
+
+ {foreach from=$__wcf->getUserProfileMenu()->getMenuItems() item=menuItem}
+ {if $menuItem->getContentManager()->isVisible($userID)}
+ <div id="{$menuItem->getIdentifier()}" class="container tabMenuContent" data-menu-item="{$menuItem->menuItem}">
+ {if $menuItem === $__wcf->getUserProfileMenu()->getActiveMenuItem()}
+ {@$profileContent}
+ {/if}
+ </div>
+ {/if}
+ {/foreach}
+</section>
+
+{include file='footer'}
+
+</body>
+</html>
--- /dev/null
+{include file="documentHeader"}
+<head>
+ <title>{lang}wcf.global.error.title{/lang} - {lang}{PAGE_TITLE}{/lang}</title>
+
+ {include file='headInclude'}
+</head>
+
+<body{if $templateName|isset} id="tpl{$templateName|ucfirst}"{/if}>
+
+{include file='header'}
+
+<p id="errorMessage" class="error">
+ {@$message}
+</p>
+<script type="text/javascript">
+ //<![CDATA[
+ if (document.referrer) {
+ $('#errorMessage').append('<br /><a href="' + document.referrer + '">{lang}wcf.global.error.backward{/lang}</a>');
+ }
+ //]]>
+</script>
+
+{if ENABLE_DEBUG_MODE}
+ <!--
+ {$name} thrown in {$file} ({@$line})
+ Stacktrace:
+ {$stacktrace}
+ -->
+{/if}
+
+{include file='footer'}
+
+</body>
+</html>
--- /dev/null
+{include file='userInformationHeadline'}
+
+{include file='userInformationButtons'}
+
+{include file='userInformationStatistics'}
\ No newline at end of file
--- /dev/null
+{hascontent}
+ <nav class="jsMobileNavigation buttonGroupNavigation">
+ <ul class="buttonList">
+ {content}
+ {if $user->homepage}
+ <li><a class="jsTooltip" href="{@$user->homepage}" title="{lang}wcf.user.option.homepage{/lang}"{if EXTERNAL_LINK_REL_NOFOLLOW} rel="nofollow"{/if}{if EXTERNAL_LINK_TARGET_BLANK} target="_blank"{/if}><span class="icon icon16 icon-home"></span> <span class="invisible">{lang}wcf.user.option.homepage{/lang}</span></a></li>
+ {/if}
+
+ {if $user->userID != $__wcf->user->userID}
+ {if $user->isAccessible('canViewEmailAddress')}
+ <li><a class="jsTooltip" href="mailto:{@$user->getEncodedEmail()}" title="{lang}wcf.user.button.mail{/lang}"><span class="icon icon16 icon-envelope-alt"></span> <span class="invisible">{lang}wcf.user.button.mail{/lang}</span></a></li>
+ {elseif $user->isAccessible('canMail') && $__wcf->session->getPermission('user.profile.canMail')}
+ <li><a class="jsTooltip" href="{link controller='Mail' object=$user}{/link}" title="{lang}wcf.user.button.mail{/lang}"><span class="icon icon16 icon-envelope-alt"></span> <span class="invisible">{lang}wcf.user.button.mail{/lang}</span></a></li>
+ {/if}
+ {/if}
+
+ {if $__wcf->user->userID && $user->userID != $__wcf->user->userID}
+ {if $__wcf->getUserProfileHandler()->isFollowing($user->userID)}
+ <li class="jsOnly"><a data-following="1" data-object-id="{@$user->userID}" class="jsFollowButton jsTooltip" title="{lang}wcf.user.button.unfollow{/lang}"><span class="icon icon16 icon-minus"></span> <span class="invisible">{lang}wcf.user.button.unfollow{/lang}</span></a></li>
+ {else}
+ <li class="jsOnly"><a data-following="0" data-object-id="{@$user->userID}" class="jsFollowButton jsTooltip" title="{lang}wcf.user.button.follow{/lang}"><span class="icon icon16 icon-plus"></span> <span class="invisible">{lang}wcf.user.button.follow{/lang}</span></a></li>
+ {/if}
+
+ {*if !$user->getPermission('user.profile.cannotBeIgnored')*}{*disabled for performance reasons*}
+ {if $__wcf->getUserProfileHandler()->isIgnoredUser($user->userID)}
+ <li class="jsOnly"><a data-ignored="1" data-object-id="{@$user->userID}" class="jsIgnoreButton jsTooltip" title="{lang}wcf.user.button.unignore{/lang}"><span class="icon icon16 icon-circle-blank"></span> <span class="invisible">{lang}wcf.user.button.unignore{/lang}</span></a></li>
+ {else}
+ <li class="jsOnly"><a data-ignored="0" data-object-id="{@$user->userID}" class="jsIgnoreButton jsTooltip" title="{lang}wcf.user.button.ignore{/lang}"><span class="icon icon16 icon-off"></span> <span class="invisible">{lang}wcf.user.button.ignore{/lang}</span></a></li>
+ {/if}
+ {*/if*}
+ {/if}
+
+ {event name='buttons'}
+ {/content}
+ </ul>
+ </nav>
+{/hascontent}
\ No newline at end of file
--- /dev/null
+<div class="containerHeadline">
+ <h3><a href="{link controller='User' object=$user}{/link}">{$user->username}</a>{if MODULE_USER_RANK && $user->getUserTitle()} <span class="badge userTitleBadge{if $user->getRank() && $user->getRank()->cssClassName} {@$user->getRank()->cssClassName}{/if}">{$user->getUserTitle()}</span>{/if}</h3>
+</div>
+<ul class="dataList userFacts">
+ {if $user->gender}<li>{lang}wcf.user.gender.{if $user->gender == 1}male{else}female{/if}{/lang}</li>{/if}
+ {if $user->getAge()}<li>{@$user->getAge()}</li>{/if}
+ {if $user->location}<li>{lang}wcf.user.membersList.location{/lang}</li>{/if}
+ <li>{lang}wcf.user.membersList.registrationDate{/lang}</li>
+
+ {event name='userData'}
+</ul>
\ No newline at end of file
--- /dev/null
+<dl class="plain inlineDataList userStats">
+ {event name='statistics'}
+
+ {if MODULE_LIKE}
+ <dt>{lang}wcf.like.likesReceived{/lang}</dt>
+ <dd>{#$user->likesReceived}</dd>
+ {/if}
+
+ <dt>{lang}wcf.user.activityPoint{/lang}</dt>
+ <dd>{#$user->activityPoints}</dd>
+</dl>
\ No newline at end of file
--- /dev/null
+<li>
+ <div class="box48">
+ <a href="{link controller='User' object=$user}{/link}" title="{$user->username}" class="framed">{@$user->getAvatar()->getImageTag(48)}</a>
+
+ <div class="details userInformation">
+ {include file='userInformation'}
+ </div>
+ </div>
+</li>
\ No newline at end of file
--- /dev/null
+{capture assign='sidebar'}
+ {assign var=__userMenuActiveItems value=$__wcf->getUserMenu()->getActiveMenuItems()}
+
+ <script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ // mobile safari hover workaround
+ if ($(window).width() <= 800) {
+ $('.sidebar').addClass('mobileSidebar').hover(function() { });
+ }
+ });
+ //]]>
+ </script>
+
+ {foreach from=$__wcf->getUserMenu()->getMenuItems('') item=menuCategory}
+ <fieldset>
+ <legend>{lang}{$menuCategory->menuItem}{/lang}</legend>
+
+ <nav>
+ <ul>
+ {foreach from=$__wcf->getUserMenu()->getMenuItems($menuCategory->menuItem) item=menuItem}
+ <li{if $menuItem->menuItem|in_array:$__userMenuActiveItems} class="active"{/if}><a href="{$menuItem->getProcessor()->getLink()}">{@$menuItem}</a></li>
+ {/foreach}
+ </ul>
+ </nav>
+ </fieldset>
+ {/foreach}
+{/capture}
--- /dev/null
+<div class="userNotice">
+ {if OFFLINE && $__wcf->session->getPermission('admin.general.canViewPageDuringOfflineMode')}
+ <div class="warning">
+ <p><strong>{lang}wcf.page.offline{/lang}</strong></p>
+ <p>{if OFFLINE_MESSAGE_ALLOW_HTML}{@OFFLINE_MESSAGE}{else}{@OFFLINE_MESSAGE|htmlspecialchars|nl2br}{/if}</p>
+ </div>
+ {/if}
+
+ {if $__wcf->user->activationCode && REGISTER_ACTIVATION_METHOD == 1}
+ <p class="warning">{lang}wcf.user.register.needActivation{/lang}</p>
+ {/if}
+
+ {event name='userNotice'}
+</div>
\ No newline at end of file
--- /dev/null
+{foreach from=$options item=optionData}
+ {assign var=option value=$optionData[object]}
+ <dl class="{$option->optionName}Input{if $errorType|is_array && $errorType[$option->optionName]|isset} formError{/if}">
+ <dt{if $optionData[cssClassName]} class="{$optionData[cssClassName]}"{/if}><label for="{$option->optionName}">{lang}{@$langPrefix}{$option->optionName}{/lang}</label></dt>
+ <dd>{@$optionData[html]}
+ <small>{lang __optional=true}{@$langPrefix}{$option->optionName}.description{/lang}</small>
+
+ {if $errorType|is_array && $errorType[$option->optionName]|isset}
+ <small class="innerError">
+ {if $errorType[$option->optionName] == 'empty'}
+ {lang}wcf.global.form.error.empty{/lang}
+ {else}
+ {lang}{@$langPrefix}error.{$errorType[$option->optionName]}{/lang}
+ {/if}
+ </small>
+ {/if}
+ </dd>
+ </dl>
+{/foreach}
--- /dev/null
+{if $__wcf->user->userID}
+ <!-- user menu -->
+ <li id="userMenu" class="dropdown">
+ <a class="dropdownToggle framed" data-toggle="userMenu" href="{link controller='User' object=$__wcf->user}{/link}">{@$__wcf->getUserProfileHandler()->getAvatar()->getImageTag(24)} <span>{lang}wcf.user.userNote{/lang}</span></a>
+ <ul class="dropdownMenu">
+ <li><a href="{link controller='User' object=$__wcf->user}{/link}" class="box32">
+ <div class="framed">{@$__wcf->getUserProfileHandler()->getAvatar()->getImageTag(32)}</div>
+
+ <div class="containerHeadline">
+ <h3>{$__wcf->user->username}</h3>
+ <small>{lang}wcf.user.myProfile{/lang}</small>
+ </div>
+ </a></li>
+ {if $__wcf->getUserProfileHandler()->canEditOwnProfile()}<li><a href="{link controller='User' object=$__wcf->user}editOnInit=true#about{/link}">{lang}wcf.user.editProfile{/lang}</a></li>{/if}
+ <li><a href="{link controller='Settings'}{/link}">{lang}wcf.user.menu.settings{/lang}</a></li>
+
+ {event name='userMenuItems'}
+
+ {if $__wcf->session->getPermission('admin.general.canUseAcp')}
+ <li class="dropdownDivider"></li>
+ <li><a href="{link isACP=true}{/link}">{lang}wcf.global.acp.short{/lang}</a></li>
+ {/if}
+ <li class="dropdownDivider"></li>
+ <li><a href="{link controller='Logout'}t={@SECURITY_TOKEN}{/link}" onclick="WCF.System.Confirmation.show('{lang}wcf.user.logout.sure{/lang}', $.proxy(function (action) { if (action == 'confirm') window.location.href = $(this).attr('href'); }, this)); return false;">{lang}wcf.user.logout{/lang}</a></li>
+ </ul>
+ </li>
+
+ <li><a href="{link controller='Settings'}{/link}" class="noJsOnly" style="display: none"><span class="icon icon16 icon-cogs"></span> <span>{lang}wcf.user.menu.settings{/lang}</span></a></li>
+
+ <!-- user notifications -->
+ {if !$__hideUserMenu|isset}
+ <li id="userNotifications" data-count="{#$__wcf->getUserNotificationHandler()->getNotificationCount()}">
+ <a href="{link controller='NotificationList'}{/link}"><span class="icon icon16 icon-bell-alt"></span> <span>{lang}wcf.user.notification.notifications{/lang}</span>{if $__wcf->getUserNotificationHandler()->getNotificationCount()} <span class="badge badgeInverse">{#$__wcf->getUserNotificationHandler()->getNotificationCount()}</span>{/if}</a>
+ <script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ WCF.Language.addObject({
+ 'wcf.user.notification.count': '{lang}wcf.user.notification.count{/lang}',
+ 'wcf.user.notification.markAllAsConfirmed': '{lang}wcf.user.notification.markAllAsConfirmed{/lang}',
+ 'wcf.user.notification.markAllAsConfirmed.confirmMessage': '{lang}wcf.user.notification.markAllAsConfirmed.confirmMessage{/lang}',
+ 'wcf.user.notification.noMoreNotifications': '{lang}wcf.user.notification.noMoreNotifications{/lang}',
+ 'wcf.user.notification.showAll': '{lang}wcf.user.notification.showAll{/lang}'
+ });
+
+ new WCF.Notification.UserPanel('{link controller='NotificationList'}{/link}');
+ });
+ //]]>
+ </script>
+ </li>
+ {/if}
+{else}
+ {if !$__disableLoginLink|isset}
+ <!-- login box -->
+ <li>
+ <a class="loginLink" href="{link controller='Login'}{/link}">{lang}wcf.user.loginOrRegister{/lang}</a>
+ <div id="loginForm" style="display: none;">
+ {capture assign='__3rdPartyButtons'}
+ {if GITHUB_PUBLIC_KEY !== '' && GITHUB_PRIVATE_KEY !== ''}
+ <li id="githubAuth" class="3rdPartyAuth">
+ <a href="{link controller='GithubAuth'}{/link}" class="button"><span class="icon icon16 icon-github"></span> <span>{lang}wcf.user.3rdparty.github.login{/lang}</span></a>
+ </li>{*
+ *}{/if}{*
+
+ *}{if TWITTER_PUBLIC_KEY !== '' && TWITTER_PRIVATE_KEY !== ''}{*
+ *}<li id="twitterAuth" class="3rdPartyAuth">
+ <a href="{link controller='TwitterAuth'}{/link}" class="button"><span class="icon icon16 icon-twitter"></span> <span>{lang}wcf.user.3rdparty.twitter.login{/lang}</span></a>
+ </li>{*
+ *}{/if}{*
+
+ *}{if FACEBOOK_PUBLIC_KEY !== '' && FACEBOOK_PRIVATE_KEY !== ''}{*
+ *}<li id="facebookAuth" class="3rdPartyAuth">
+ <a href="{link controller='FacebookAuth'}{/link}" class="button"><span class="icon icon16 icon-facebook"></span> <span>{lang}wcf.user.3rdparty.facebook.login{/lang}</span></a>
+ </li>{*
+ *}{/if}{*
+
+ *}{if GOOGLE_PUBLIC_KEY !== '' && GOOGLE_PRIVATE_KEY !== ''}{*
+ *}<li id="googleAuth" class="3rdPartyAuth">
+ <a href="{link controller='GoogleAuth'}{/link}" class="button"><span class="icon icon16 icon-google-plus"></span> <span>{lang}wcf.user.3rdparty.google.login{/lang}</span></a>
+ </li>
+ {/if}
+ {/capture}
+
+ <form method="post" action="{link controller='Login'}{/link}">
+ <fieldset>
+ {if $__3rdPartyButtons|trim}<legend>{lang}wcf.user.login{/lang}</legend>{/if}
+
+ <dl>
+ <dt><label for="username">{lang}wcf.user.usernameOrEmail{/lang}</label></dt>
+ <dd>
+ <input type="text" id="username" name="username" value="" required="required" class="long" />
+ </dd>
+ </dl>
+
+ {if !REGISTER_DISABLED}
+ <dl>
+ <dt>{lang}wcf.user.login.action{/lang}</dt>
+ <dd>
+ <label><input type="radio" name="action" value="register" /> {lang}wcf.user.login.action.register{/lang}</label>
+ <label><input type="radio" name="action" value="login" checked="checked" /> {lang}wcf.user.login.action.login{/lang}</label>
+ </dd>
+ </dl>
+ {/if}
+
+ <dl>
+ <dt><label for="password">{lang}wcf.user.password{/lang}</label></dt>
+ <dd>
+ <input type="password" id="password" name="password" value="" class="long" />
+ </dd>
+ </dl>
+
+ {if $__wcf->getUserAuthenticationFactory()->getUserAuthentication()->supportsPersistentLogins()}
+ <dl>
+ <dd><label><input type="checkbox" id="useCookies" name="useCookies" value="1" checked="checked" /> {lang}wcf.user.useCookies{/lang}</label></dd>
+ </dl>
+ {/if}
+
+ {event name='loginFields'}
+
+ <div class="formSubmit">
+ <input type="submit" id="loginSubmitButton" name="submitButton" value="{lang}wcf.user.button.login{/lang}" accesskey="s" />
+ <input type="hidden" name="url" value="{$__wcf->session->requestURI}" />
+ </div>
+ </fieldset>
+
+ {if $__3rdPartyButtons|trim}
+ <fieldset>
+ <legend>{lang}wcf.user.login.3rdParty{/lang}</legend>
+ <ul class="buttonGroup thirdPartyLogin">
+ {@$__3rdPartyButtons}
+ </ul>
+ </fieldset>
+ {/if}
+ </form>
+ </div>
+
+ <script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ WCF.Language.addObject({
+ 'wcf.user.button.login': '{lang}wcf.user.button.login{/lang}',
+ 'wcf.user.button.register': '{lang}wcf.user.button.register{/lang}',
+ 'wcf.user.login': '{lang}wcf.user.login{/lang}'
+ });
+ new WCF.User.Login(true);
+ });
+ //]]>
+ </script>
+ </li>
+ {/if}
+ {if $__wcf->getLanguage()->getLanguages()|count > 1}
+ <li id="pageLanguageContainer">
+ <script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ var $languages = {
+ {implode from=$__wcf->getLanguage()->getLanguages() item=language}
+ '{@$language->languageID}': {
+ iconPath: '{@$language->getIconPath()}',
+ languageName: '{$language}'
+ }
+ {/implode}
+ };
+
+ new WCF.Language.Chooser('pageLanguageContainer', 'languageID', {@$__wcf->getLanguage()->languageID}, $languages, function(item) {
+ var $location = window.location.toString().replace(/#.*/, '').replace(/(\?|&)l=[0-9]+/g, '');
+ var $delimiter = ($location.indexOf('?') == -1) ? '?' : '&';
+
+ window.location = $location + $delimiter + 'l=' + item.data('languageID') + window.location.hash;
+ });
+ });
+ //]]>
+ </script>
+ </li>
+ {/if}
+{/if}
+
+{if !$__hideUserMenu|isset}
+ {if $__wcf->user->userID && $__wcf->session->getPermission('mod.general.canUseModeration')}
+ <li id="outstandingModeration" data-count="{#$__wcf->getModerationQueueManager()->getOutstandingModerationCount()}">
+ <a href="{link controller='ModerationList'}{/link}">
+ <span class="icon icon16 icon-warning-sign"></span>
+ <span>{lang}wcf.moderation.moderation{/lang}</span>
+ {if $__wcf->getModerationQueueManager()->getOutstandingModerationCount()}<span class="badge badgeInverse">{#$__wcf->getModerationQueueManager()->getOutstandingModerationCount()}</span>{/if}
+ </a>
+ <script type="text/javascript" src="{@$__wcf->getPath()}js/WCF.Moderation{if !ENABLE_DEBUG_MODE}.min{/if}.js?v={@$__wcfVersion}"></script>
+ <script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ WCF.Language.addObject({
+ 'wcf.moderation.noMoreItems': '{lang}wcf.moderation.noMoreItems{/lang}',
+ 'wcf.moderation.showAll': '{lang}wcf.moderation.showAll{/lang}'
+ });
+
+ new WCF.Moderation.UserPanel('{link controller='ModerationList'}{/link}');
+ });
+ //]]>
+ </script>
+ </li>
+ {/if}
+
+ {event name='menuItems'}
+{/if}
+
+{if $__wcf->user->userID}
+ <li><a href="{link controller='Logout'}t={@SECURITY_TOKEN}{/link}" class="noJsOnly" style="display: none"><span class="icon icon16 icon-signout"></span> <span>{lang}wcf.user.logout{/lang}</span></a></li>
+{/if}
--- /dev/null
+<div class="containerPadding">
+ {hascontent}
+ {content}
+ {foreach from=$options item=category}
+ {foreach from=$category[categories] item=optionCategory}
+ <fieldset>
+ <legend>{lang}wcf.user.option.category.{@$optionCategory[object]->categoryName}{/lang}</legend>
+
+ <dl>
+ {foreach from=$optionCategory[options] item=userOption}
+ <dt>{lang}wcf.user.option.{@$userOption[object]->optionName}{/lang}</dt>
+ <dd>{@$userOption[object]->optionValue}</dd>
+ {/foreach}
+ </dl>
+ </fieldset>
+ {/foreach}
+ {/foreach}
+ {/content}
+ {hascontentelse}
+ {lang}wcf.user.profile.content.about.noPublicData{/lang}
+ {/hascontent}
+</div>
\ No newline at end of file
--- /dev/null
+<div class="containerPadding">
+ {foreach from=$optionTree item=categoryLevel1}
+ {foreach from=$categoryLevel1[categories] item=categoryLevel2}
+ <fieldset>
+ <legend>{lang}wcf.user.option.category.{@$categoryLevel2[object]->categoryName}{/lang}</legend>
+
+ {if $categoryLevel2[object]->categoryName == 'profile.personal' && MODULE_USER_RANK && $__wcf->session->getPermission('user.profile.canEditUserTitle')}
+ <dl>
+ <dt><label for="__userTitle">{lang}wcf.user.userTitle{/lang}</label></dt>
+ <dd>
+ <input type="text" id="__userTitle" name="values[__userTitle]" value="{$__userTitle}" class="long" maxlength="{@USER_TITLE_MAX_LENGTH}" />
+ {if $errorType[__userTitle]|isset}
+ <small class="innerError">
+ {lang}wcf.user.userTitle.error.{@$errorType[__userTitle]}{/lang}
+ </small>
+ {/if}
+ <small>{lang}wcf.user.userTitle.description{/lang}</small>
+ </dd>
+ </dl>
+ {/if}
+
+ {include file='userProfileOptionFieldList' options=$categoryLevel2[options] langPrefix='wcf.user.option.'}
+ </fieldset>
+ {/foreach}
+ {/foreach}
+
+ <div class="formSubmit">
+ <button class="buttonPrimary" accesskey="s" data-type="save">{lang}wcf.global.button.save{/lang}</button>
+ <button data-type="restore">{lang}wcf.global.button.cancel{/lang}</button>
+ </div>
+</div>
\ No newline at end of file
--- /dev/null
+{include file='__commentJavaScript' commentContainerID='userProfileCommentList'}
+
+{if $commentCanAdd}
+ <ul id="userProfileCommentList" class="commentList containerList" data-can-add="true" data-object-id="{@$userID}" data-object-type-id="{@$commentObjectTypeID}" data-comments="{@$commentList->countObjects()}" data-last-comment-time="{@$lastCommentTime}">
+ {include file='commentList'}
+ </ul>
+{else}
+ {hascontent}
+ <ul id="userProfileCommentList" class="commentList containerList" data-can-add="false" data-object-id="{@$userID}" data-object-type-id="{@$commentObjectTypeID}" data-comments="{@$commentList->countObjects()}" data-last-comment-time="{@$lastCommentTime}">
+ {content}
+ {include file='commentList'}
+ {/content}
+ </ul>
+ {hascontentelse}
+ <div class="containerPadding">
+ {lang}wcf.user.profile.content.wall.noEntries{/lang}
+ </div>
+ {/hascontent}
+{/if}
\ No newline at end of file
--- /dev/null
+{foreach from=$options item=optionData}
+ {assign var=option value=$optionData[object]}
+ {if $errorType|is_array && $errorType[$option->optionName]|isset}
+ {assign var=error value=$errorType[$option->optionName]}
+ {else}
+ {assign var=error value=''}
+ {/if}
+ <dl class="{$option->optionName}Input{if $error} formError{/if}">
+ <dt{if $optionData[cssClassName]} class="{$optionData[cssClassName]}"{/if}><label for="{$option->optionName}">{lang}{@$langPrefix}{$option->optionName}{/lang}</label></dt>
+ <dd>{@$optionData[html]}
+ {if $error}
+ <small class="innerError">
+ {if $error == 'empty'}
+ {lang}wcf.global.form.error.empty{/lang}
+ {else}
+ {lang}{@$langPrefix}error.{$error}{/lang}
+ {/if}
+ </small>
+ {/if}
+ <small>{lang __optional=true}{@$langPrefix}{$option->optionName}.description{/lang}</small>
+ </dd>
+ </dl>
+{/foreach}
--- /dev/null
+<div class="box128 userProfilePreview">
+ <a href="{link controller='User' object=$user}{/link}" title="{$user->username}">{@$user->getAvatar()->getImageTag(128)}</a>
+
+ {if $__wcf->getUser()->userID && $__wcf->getUser()->userID != $user->userID}
+ <script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ WCF.Language.addObject({
+ 'wcf.user.button.follow': '{lang}wcf.user.button.follow{/lang}',
+ 'wcf.user.button.ignore': '{lang}wcf.user.button.ignore{/lang}',
+ 'wcf.user.button.unfollow': '{lang}wcf.user.button.unfollow{/lang}',
+ 'wcf.user.button.unignore': '{lang}wcf.user.button.unignore{/lang}'
+ });
+
+ new WCF.User.Action.Follow($('.userInformation'));
+
+ {if !$user->getPermission('user.profile.cannotBeIgnored')}
+ new WCF.User.Action.Ignore($('.userInformation'));
+ {/if}
+ });
+ //]]>
+ </script>
+ {/if}
+
+ <div class="userInformation">
+ {include file='userInformation'}
+
+ {if $user->canViewOnlineStatus() && $user->getLastActivityTime()}
+ <dl class="plain inlineDataList userStats">
+ <dt>{lang}wcf.user.usersOnline.lastActivity{/lang}</dt>
+ <dd>{@$user->getLastActivityTime()|time}{if $user->getCurrentLocation()}, {@$user->getCurrentLocation()}{/if}</dd>
+ </dl>
+ {/if}
+
+ {hascontent}
+ <dl class="plain inlineDataList userFields">
+ {content}
+ {if $user->occupation}
+ <dt>{lang}wcf.user.option.occupation{/lang}</dt>
+ <dd>{$user->occupation}</dd>
+ {/if}
+ {if $user->hobbies}
+ <dt>{lang}wcf.user.option.hobbies{/lang}</dt>
+ <dd>{$user->hobbies}</dd>
+ {/if}
+ {event name='userFields'}
+ {/content}
+ </dl>
+ {/hascontent}
+ </div>
+</div>
\ No newline at end of file
--- /dev/null
+{include file='documentHeader'}
+
+<head>
+ <title>{lang}wcf.user.search{/lang} - {PAGE_TITLE|language}</title>
+
+ {include file='headInclude'}
+
+ <script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ new WCF.Search.User('#username', null, false, [ ], false);
+ });
+ //]]>
+ </script>
+</head>
+
+<body id="tpl{$templateName|ucfirst}">
+
+{capture assign='sidebar'}
+ {@$__boxSidebar}
+{/capture}
+
+{include file='header' sidebarOrientation='right'}
+
+<header class="boxHeadline">
+ <h1>{lang}wcf.user.search{/lang}</h1>
+</header>
+
+{include file='userNotice'}
+
+{if $errorField == 'search'}
+ <p class="error">{lang}wcf.user.search.error.noMatches{/lang}</p>
+{/if}
+
+<div class="contentNavigation">
+ {hascontent}
+ <nav>
+ <ul>
+ {content}
+ {event name='contentNavigationButtons'}
+ {/content}
+ </ul>
+ </nav>
+ {/hascontent}
+</div>
+
+<form method="post" action="{link controller='UserSearch'}{/link}">
+ <div class="container containerPadding marginTop">
+ <fieldset>
+ <legend>{lang}wcf.acp.user.search.conditions.general{/lang}</legend>
+
+ <dl>
+ <dt><label for="searchUsername">{lang}wcf.user.username{/lang}</label></dt>
+ <dd>
+ <input type="text" id="searchUsername" name="username" value="{$username}" class="medium" />
+ </dd>
+ </dl>
+
+ {event name='generalFields'}
+ </fieldset>
+
+ {foreach from=$optionTree[0][categories] item=category}
+ <fieldset>
+ <legend>{lang}wcf.user.option.category.{@$category[object]->categoryName}{/lang}</legend>
+ {hascontent}<p>{content}{lang __optional=true}wcf.user.option.category.{@$category[object]->categoryName}.description{/lang}{/content}</p>{/hascontent}
+
+ {include file='userOptionFieldList' options=$category[options] langPrefix='wcf.user.option.'}
+ </fieldset>
+ {/foreach}
+ </div>
+
+ {event name='fieldsets'}
+
+ <div class="formSubmit">
+ <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s" />
+ </div>
+</form>
+
+{include file='footer'}
+
+</body>
+</html>
--- /dev/null
+<fieldset>
+ <legend class="invisible">{lang}wcf.user.avatar{/lang}</legend>
+
+ <div class="userAvatar">
+ {if $user->userID == $__wcf->user->userID}
+ <a href="{link controller='AvatarEdit'}{/link}" class="framed jsTooltip" title="{lang}wcf.user.avatar.edit{/lang}">{@$user->getAvatar()->getImageTag()}</a>
+ {else}
+ <span class="framed">{@$user->getAvatar()->getImageTag()}</span>
+ {/if}
+ </div>
+</fieldset>
+
+<fieldset>
+ <legend class="invisible">{lang}wcf.user.stats{/lang}</legend>
+
+ <dl class="plain statsDataList">
+ {event name='statistics'}
+
+ {if MODULE_LIKE}
+ <dt>{lang}wcf.like.likesReceived{/lang}</dt>
+ <dd>{#$user->likesReceived}</dd>
+ {/if}
+
+ <dt>{if $user->activityPoints}<a class="activityPointsDisplay jsTooltip" title="{lang}wcf.user.activityPoint.showDetails{/lang}" data-user-id="{@$user->userID}">{lang}wcf.user.activityPoint{/lang}</a>{else}{lang}wcf.user.activityPoint{/lang}{/if}</dt>
+ <dd>{#$user->activityPoints}</dd>
+
+ <dt>{lang}wcf.user.profileHits{/lang}</dt>
+ <dd{if $user->getProfileAge() > 1} title="{lang}wcf.user.profileHits.hitsPerDay{/lang}"{/if}>{#$user->profileHits}</dd>
+ </dl>
+</fieldset>
+
+{if $followingCount}
+ <fieldset>
+ <legend>{lang}wcf.user.profile.following{/lang} <span class="badge">{#$followingCount}</span></legend>
+
+ <div>
+ <ul class="framedIconList">
+ {foreach from=$following item=followingUser}
+ <li><a href="{link controller='User' object=$followingUser}{/link}" title="{$followingUser->username}" class="framed jsTooltip">{@$followingUser->getAvatar()->getImageTag(48)}</a></li>
+ {/foreach}
+ </ul>
+
+ {if $followingCount > 10}
+ <a id="followingAll" class="button small more jsOnly">{lang}wcf.user.profile.userList.showAll{/lang}</a>
+ {/if}
+ </div>
+ </fieldset>
+{/if}
+
+{if $followerCount}
+ <fieldset>
+ <legend>{lang}wcf.user.profile.followers{/lang} <span class="badge">{#$followerCount}</span></legend>
+
+ <div>
+ <ul class="framedIconList">
+ {foreach from=$followers item=follower}
+ <li><a href="{link controller='User' object=$follower}{/link}" title="{$follower->username}" class="framed jsTooltip">{@$follower->getAvatar()->getImageTag(48)}</a></li>
+ {/foreach}
+ </ul>
+
+ {if $followerCount > 10}
+ <a id="followerAll" class="button small more jsOnly">{lang}wcf.user.profile.userList.showAll{/lang}</a>
+ {/if}
+ </div>
+ </fieldset>
+{/if}
+
+{if $visitorCount}
+ <fieldset>
+ <legend>{lang}wcf.user.profile.visitors{/lang} <span class="badge">{#$visitorCount}</span></legend>
+
+ <div>
+ <ul class="framedIconList">
+ {foreach from=$visitors item=visitor}
+ <li><a href="{link controller='User' object=$visitor}{/link}" title="{$visitor->username} ({@$visitor->time|plainTime})" class="framed jsTooltip">{@$visitor->getAvatar()->getImageTag(48)}</a></li>
+ {/foreach}
+ </ul>
+
+ {if $visitorCount > 10}
+ <a id="visitorAll" class="button small more jsOnly">{lang}wcf.user.profile.userList.showAll{/lang}</a>
+ {/if}
+ </div>
+ </fieldset>
+{/if}
+
+{event name='boxes'}
--- /dev/null
+{include file='documentHeader'}
+
+<head>
+ <title>{lang}wcf.user.usersOnline{/lang} - {PAGE_TITLE|language}</title>
+
+ {include file='headInclude'}
+
+ <link rel="canonical" href="{link controller='UsersOnlineList'}{/link}" />
+
+ <script type="text/javascript">
+ //<![CDATA[
+ $(function() {
+ WCF.Language.addObject({
+ 'wcf.user.button.follow': '{lang}wcf.user.button.follow{/lang}',
+ 'wcf.user.button.ignore': '{lang}wcf.user.button.ignore{/lang}',
+ 'wcf.user.button.unfollow': '{lang}wcf.user.button.unfollow{/lang}',
+ 'wcf.user.button.unignore': '{lang}wcf.user.button.unignore{/lang}'
+ });
+
+ new WCF.User.Action.Follow($('.userList > li'));
+ new WCF.User.Action.Ignore($('.userList > li'));
+ });
+ //]]>
+ </script>
+
+ {if USERS_ONLINE_PAGE_REFRESH > 0}
+ <meta http-equiv="refresh" content="{@USERS_ONLINE_PAGE_REFRESH}; url={link controller='UsersOnlineList'}sortField={@$sortField}&sortOrder={@$sortOrder}{/link}" />
+ {/if}
+</head>
+
+<body id="tpl{$templateName|ucfirst}">
+
+{capture assign='sidebar'}
+ <div>
+ <form method="get" action="{link controller='UsersOnlineList'}{/link}">
+ <fieldset>
+ <legend><label for="sortField">{lang}wcf.user.members.sort{/lang}</label></legend>
+
+ <dl>
+ <dd>
+ <select id="sortField" name="sortField">
+ <option value="username"{if $sortField == 'username'} selected="selected"{/if}>{lang}wcf.user.username{/lang}</option>
+ <option value="lastActivityTime"{if $sortField == 'lastActivityTime'} selected="selected"{/if}>{lang}wcf.user.usersOnline.lastActivity{/lang}</option>
+ <option value="requestURI"{if $sortField == 'requestURI'} selected="selected"{/if}>{lang}wcf.user.usersOnline.location{/lang}</option>
+
+ {if $__wcf->session->getPermission('admin.user.canViewIpAddress')}
+ <option value="ipAddress"{if $sortField == 'ipAddress'} selected="selected"{/if}>{lang}wcf.user.usersOnline.ipAddress{/lang}</option>
+ <option value="userAgent"{if $sortField == 'userAgent'} selected="selected"{/if}>{lang}wcf.user.usersOnline.userAgent{/lang}</option>
+ {/if}
+ </select>
+ <select name="sortOrder">
+ <option value="ASC"{if $sortOrder == 'ASC'} selected="selected"{/if}>{lang}wcf.global.sortOrder.ascending{/lang}</option>
+ <option value="DESC"{if $sortOrder == 'DESC'} selected="selected"{/if}>{lang}wcf.global.sortOrder.descending{/lang}</option>
+ </select>
+ </dd>
+ </dl>
+ </fieldset>
+
+ <div class="formSubmit">
+ <input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s" />
+ </div>
+ </form>
+ </div>
+
+ {@$__boxSidebar}
+{/capture}
+
+{include file='header' sidebarOrientation='right'}
+
+{include file='userNotice'}
+
+{assign var=usersOnlineList value=''}
+{assign var=usersOnline value=0}
+{assign var=robotsOnlineList value=''}
+{assign var=robotsOnline value=0}
+{assign var=guestsOnlineList value=''}
+{assign var=guestsOnline value=0}
+{foreach from=$objects item=user}
+ {capture assign=locationData}
+ <p>
+ {if $user->getLocation()}{@$user->getLocation()}{else}{lang}wcf.user.usersOnline.location.unknown{/lang}{/if} <small>- {@$user->lastActivityTime|time}</small>
+ </p>
+ {/capture}
+
+ {capture assign=sessionData}
+ {if $__wcf->session->getPermission('admin.user.canViewIpAddress')}
+ <dl class="plain inlineDataList">
+ <dt>{lang}wcf.user.usersOnline.ipAddress{/lang}</dt>
+ <dd title="{$user->getFormattedIPAddress()}">{$user->getFormattedIPAddress()|truncate:30}</dd>
+ <dt>{lang}wcf.user.usersOnline.userAgent{/lang}</dt>
+ <dd title="{$user->userAgent}">{$user->getBrowser()|truncate:30}</dd>
+ </dl>
+ {/if}
+ {/capture}
+
+ {if $user->userID}
+ {* member *}
+ {capture append=usersOnlineList}
+ <li>
+ <div class="box48">
+ <a href="{link controller='User' object=$user}{/link}" title="{$user->username}" class="framed">{@$user->getAvatar()->getImageTag(48)}</a>
+
+ <div class="details userInformation">
+ <div class="containerHeadline">
+ <h3><a href="{link controller='User' object=$user}{/link}">{@$user->getFormattedUsername()}</a>{if MODULE_USER_RANK && $user->getUserTitle()} <span class="badge userTitleBadge{if $user->getRank() && $user->getRank()->cssClassName} {@$user->getRank()->cssClassName}{/if}">{$user->getUserTitle()}</span>{/if}</h3>
+ {@$locationData}
+ </div>
+
+ {@$sessionData}
+
+ {include file='userInformationButtons'}
+ </div>
+ </div>
+ </li>
+ {/capture}
+
+ {assign var=usersOnline value=$usersOnline+1}
+ {elseif $user->spiderID}
+ {* search robot *}
+ {capture append=robotsOnlineList}
+ <li>
+ <div class="box48">
+ <p class="framed"><img src="{$__wcf->getPath()}images/avatars/avatar-default.svg" alt="" class="icon48" /></p>
+
+ <div class="details userInformation">
+ <div class="containerHeadline">
+ <h3>{if $user->getSpider()->spiderURL}<a href="{$user->getSpider()->spiderURL}" class="externalURL"{if EXTERNAL_LINK_TARGET_BLANK} target="_blank"{/if}>{$user->getSpider()->spiderName}</a>{else}{$user->getSpider()->spiderName}{/if}</h3>
+ {@$locationData}
+ </div>
+
+ {@$sessionData}
+ </div>
+ </div>
+ </li>
+ {/capture}
+
+ {assign var=robotsOnline value=$robotsOnline+1}
+ {else}
+ {* unregistered *}
+ {capture append=guestsOnlineList}
+ <li>
+ <div class="box48">
+ <p class="framed"><img src="{$__wcf->getPath()}images/avatars/avatar-default.svg" alt="" class="icon48" /></p>
+
+ <div class="details userInformation">
+ <div class="containerHeadline">
+ <h3>{lang}wcf.user.guest{/lang}</h3>
+ {@$locationData}
+ </div>
+
+ {@$sessionData}
+ </div>
+ </div>
+ </li>
+ {/capture}
+
+ {assign var=guestsOnline value=$guestsOnline+1}
+ {/if}
+{/foreach}
+
+<div class="contentNavigation">
+ {hascontent}
+ <nav>
+ <ul>
+ {content}
+ {event name='contentNavigationButtonsTop'}
+ {/content}
+ </ul>
+ </nav>
+ {/hascontent}
+</div>
+
+{if $usersOnline}
+ <header class="boxHeadline">
+ <h1>{lang}wcf.user.usersOnline{/lang} <span class="badge">{#$usersOnline}</span></h1>
+ </header>
+
+ <div class="container marginTop">
+ <ol class="containerList doubleColumned userList">
+ {@$usersOnlineList}
+ </ol>
+ </div>
+{/if}
+
+{if $guestsOnline && USERS_ONLINE_SHOW_GUESTS}
+ <header class="boxHeadline">
+ <h1>{lang}wcf.user.usersOnline.guests{/lang} <span class="badge">{#$guestsOnline}</span></h1>
+ </header>
+
+ <div class="container marginTop">
+ <ol class="containerList doubleColumned">
+ {@$guestsOnlineList}
+ </ol>
+ </div>
+{/if}
+
+{if $robotsOnline && USERS_ONLINE_SHOW_ROBOTS}
+ <header class="boxHeadline">
+ <h1>{lang}wcf.user.usersOnline.robots{/lang} <span class="badge">{#$robotsOnline}</span></h1>
+ </header>
+
+ <div class="container marginTop">
+ <ol class="containerList doubleColumned">
+ {@$robotsOnlineList}
+ </ol>
+ </div>
+{/if}
+
+<div class="contentNavigation">
+ {hascontent}
+ <nav>
+ <ul>
+ {content}
+ {event name='contentNavigationButtonsBottom'}
+ {/content}
+ </ul>
+ </nav>
+ {/hascontent}
+</div>
+
+{include file='footer'}
+
+</body>
+</html>
--- /dev/null
+<script type="text/javascript">
+//<![CDATA[
+ var CKEDITOR_BASEPATH = '{@$__wcf->getPath()}js/3rdParty/ckeditor/';
+ var __CKEDITOR_BUTTONS = [ {implode from=$__wcf->getBBCodeHandler()->getButtonBBCodes() item=__bbcode}{ icon: '{$__bbcode->wysiwygIcon}', label: '{$__bbcode->buttonLabel|language}', name: '{$__bbcode->bbcodeTag}' }{/implode} ];
+//]]>
+</script>
+<script type="text/javascript" src="{@$__wcf->getPath()}js/3rdParty/ckeditor/ckeditor.js"></script>
+<script type="text/javascript" src="{@$__wcf->getPath()}js/3rdParty/ckeditor/adapters/jquery.js"></script>
+{event name='javascriptIncludes'}
+
+<script type="text/javascript">
+//<![CDATA[
+$(function() {
+ if ($.browser.mobile) {
+ return;
+ }
+
+ var __CKEDITOR_TOOLBAR = [
+ ['Source', '-', 'Undo', 'Redo'],
+ ['Bold', 'Italic', 'Underline', '-', 'Strike', 'Subscript','Superscript'],
+ ['NumberedList', 'BulletedList', '-', 'JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock'],
+ '/',
+ ['Font', 'FontSize', 'TextColor'],
+ ['Link', 'Unlink', 'Image', 'Table', 'Smiley'],
+ ['Maximize']
+ ];
+ if (__CKEDITOR_BUTTONS.length) {
+ var $buttons = [ ];
+
+ for (var $i = 0, $length = __CKEDITOR_BUTTONS.length; $i < $length; $i++) {
+ $buttons.push('__wcf_' + __CKEDITOR_BUTTONS[$i].name);
+ }
+
+ __CKEDITOR_TOOLBAR.push($buttons);
+ }
+
+ var $config = {
+ smiley_path: '{@$__wcf->getPath()|encodeJS}',
+ extraPlugins: 'wbbcode,wbutton',
+ removePlugins: 'contextmenu,tabletools,liststyle,elementspath,menubutton,forms,scayt',
+ language: '{@$__wcf->language->getFixedLanguageCode()}',
+ fontSize_sizes: '8/8pt;10/10pt;12/12pt;14/14pt;18/18pt;24/24pt;36/36pt;',
+ disableObjectResizing: true,
+ disableNativeSpellChecker: false,
+ toolbarCanCollapse: false,
+ enterMode: CKEDITOR.ENTER_BR,
+ minHeight: 200,
+ toolbar: __CKEDITOR_TOOLBAR,
+ smiley_images: [
+ {implode from=$defaultSmilies item=smiley}'{@$smiley->smileyPath|encodeJS}'{/implode}
+ ],
+ smiley_descriptions: [
+ {implode from=$defaultSmilies item=smiley}'{@$smiley->smileyCode|encodeJS}'{/implode}
+ ]
+ };
+
+ {event name='javascriptInit'}
+
+ var $editor = CKEDITOR.instances['{if $wysiwygSelector|isset}{$wysiwygSelector|encodeJS}{else}text{/if}'];
+ if ($editor) $editor.destroy(true);
+
+ $('{if $wysiwygSelector|isset}#{$wysiwygSelector|encodeJS}{else}#text{/if}').ckeditor($config);
+});
+//]]>
+</script>