{include file='headInclude'}
<link rel="canonical" href="{link controller='User' object=$user}{/link}" />
-
+
{event name='javascriptInclude'}
<script data-relocate="true">
//<![CDATA[
});
new WCF.Moderation.Report.Content('com.woltlab.wcf.user', '.jsReportUser');
{/if}
-
+
{event name='javascriptInit'}
});
//]]>
</ul>
{include file='userInformationButtons'}
-
+
{include file='userInformationStatistics'}
</div>
</div>
}
}
}
-
+
.navigationHeader {
border-top-width: 0;
border-radius: @wcfContainerBorderRadius @wcfContainerBorderRadius 0 0;
}
-
+
.navigationFooter {
border-radius: 0 0 @wcfContainerBorderRadius @wcfContainerBorderRadius;
}
.sidebar > div > fieldset:not(:last-child), .sidebar > div > div:not(:last-child) {
border-color: darken(@wcfSidebarBackgroundColor, 8%);
}
-
+
.sidebar {
fieldset {
> nav {
}
}
}
-
+
#main {
> div {
> div {
.box48 .attachmentTinyThumbnail {
border-radius: @wcfContainerBorderRadius;
}
-
+
.containerList {
> li {
&:first-child {
}
}
}
-
+
.message.messageSidebarOrientationLeft .messageContent {
border-radius: 0 @wcfContainerBorderRadius - 1 @wcfContainerBorderRadius - 1 0;
}
-
+
.message.messageSidebarOrientationRight .messageContent {
border-radius: @wcfContainerBorderRadius - 1 0 0 @wcfContainerBorderRadius - 1;
}
.message.messageReduced .messageContent {
border-radius: @wcfContainerBorderRadius - 1;
}
-
+
.messageOptions {
nav {
ul.smallButtons > li {
}
}
}
-
+
.message.messageSidebarOrientationLeft,
.message.messageReduced {
.messageOptions {
}
}
}
-
+
.tabularBox {
border-radius: @wcfContainerBorderRadius;
}
}
}
}
-
+
.tabularBox .table {
tbody tr:last-child td {
&:first-child {
}
}
}
-
+
.container > .table {
> tbody > tr {
&:first-child > td {
}
}
}
-
+
.attachmentThumbnail > div {
border-radius: 0 0 @wcfContainerBorderRadius - 2 @wcfContainerBorderRadius - 2;
}
-
+
.wbbBoardList:not(.wbbBoardListReduced) {
> li.wbbDepth1 > div {
border-top-left-radius: @wcfContainerBorderRadius - 2;
border-top-right-radius: 0;
}
}
-
+
.wbbBoardListReduced .tabularBox {
border-radius: 0;
}
-
+
.tabMenuContainer > .menu {
border-radius: @wcfContainerBorderRadius - 1 @wcfContainerBorderRadius - 1 0 0;
}
-
+
.pollContainer {
> .formSubmit {
border-radius: 0 0 5px 5px;
}
}
-
+
.codeBox > div {
border-radius: @wcfContainerBorderRadius 0 0 @wcfContainerBorderRadius;
}
}
-
+
@media screen and (min-width: 1240px) {
.containerList.doubleColumned {
> li {
}
}
-
/* tab menus */
@media all and (min-width: 801px) {
.tabMenu {
<fieldset>
<legend><label for="overlayLanguageItemValue">{lang}wcf.acp.language.item.value{/lang}</label></legend>
-
+
<dl class="wide">
<dd>
<textarea rows="5" cols="60" name="languageItemValue" id="overlayLanguageItemValue"{if $item->languageItemOriginIsSystem} readonly="readonly"{/if}>{$item->languageItemValue}</textarea>
<td class="columnDigits columnUsers">{#$language->users}</td>
<td class="columnDigits columnVariables"><a href="{link controller='LanguageItemList' id=$language->languageID}{/link}">{#$language->variables}</a></td>
<td class="columnDigits columnCustomVariables">{if $language->customVariables > 0}<a href="{link controller='LanguageItemList' id=$language->languageID}hasCustomValue=1{/link}">{#$language->customVariables}</a>{else}{#$language->customVariables}{/if}</td>
-
+
{event name='columns'}
</tr>
{/foreach}
{if MODULE_USER_SIGNATURE}
<li><a href="{@$__wcf->getAnchor('signatureManagement')}">{lang}wcf.user.signature{/lang}</a></li>
{/if}
-
+
{if $action == 'edit'}
<li><a href="{@$__wcf->getAnchor('avatarForm')}">{lang}wcf.user.avatar{/lang}</a></li>
{/if}
</script>
</div>
{/if}
-
+
{event name='tabMenuContent'}
</div>
<div id="sendMailDiv">
<fieldset>
<legend>{lang}wcf.acp.user.sendMail.mail{/lang}</legend>
-
+
<dl{if $errorField == 'subject'} class="formError"{/if}>
<dt><label for="subject">{lang}wcf.acp.user.sendMail.subject{/lang}</label></dt>
<dd>
{/if}
</dd>
</dl>
-
+
<dl{if $errorField == 'from'} class="formError"{/if}>
<dt><label for="from">{lang}wcf.acp.user.sendMail.from{/lang}</label></dt>
<dd>
<small>{lang}wcf.acp.user.sendMail.from.description{/lang}</small>
</dd>
</dl>
-
+
<dl{if $errorField == 'text'} class="formError"{/if}>
<dt><label for="text">{lang}wcf.acp.user.sendMail.text{/lang}</label></dt>
<dd>
{/if}
</dd>
</dl>
-
+
<dl>
<dt></dt>
<dd>
</dl>
</fieldset>
</div>
-
+
<div id="exportMailAddressDiv">
<fieldset>
<legend>{lang}wcf.acp.user.exportEmailAddress.format{/lang}</legend>
-
+
<dl>
<dt><label>{lang}wcf.acp.user.exportEmailAddress.fileType{/lang}</label></dt>
<dd>
<label><input type="radio" name="fileType" value="xml" {if $fileType == 'xml'}checked="checked" {/if}/> {lang}wcf.acp.user.exportEmailAddress.fileType.xml{/lang}</label>
</dd>
</dl>
-
+
<dl id="separatorDiv">
<dt><label for="separator">{lang}wcf.acp.user.exportEmailAddress.separator{/lang}</label></dt>
<dd>
<input type="text" id="separator" name="separator" value="{$separator}" class="medium" />
</dd>
</dl>
-
+
<dl id="textSeparatorDiv">
<dt><label for="textSeparator">{lang}wcf.acp.user.exportEmailAddress.textSeparator{/lang}</label></dt>
<dd>
<div id="assignToGroupDiv">
<fieldset>
<legend>{lang}wcf.acp.user.groups{/lang}</legend>
-
+
<dl>
<dt></dt>
<dd{if $errorField == 'assignToGroupIDs'} class="formError"{/if}>
<li><a href="{link controller='UserQuickSearch'}mode=disabled{/link}">{lang}wcf.acp.user.quickSearch.disabled{/lang}</a></li>
<li><a href="{link controller='UserQuickSearch'}mode=disabledAvatars{/link}">{lang}wcf.acp.user.quickSearch.disabledAvatars{/lang}</a></li>
<li><a href="{link controller='UserQuickSearch'}mode=disabledSignatures{/link}">{lang}wcf.acp.user.quickSearch.disabledSignatures{/lang}</a></li>
-
+
{event name='quickSearchItems'}
</ul>
</li>
'l': 'DD',
'z': 'o',
'S': '', // English ordinal suffix for the day of the month, 2 characters, will be discarded
-
+
// month
'F': 'MM',
'm': 'mm',
'M': 'M',
'n': 'm',
-
+
// year
'o': 'yy',
'Y': 'yy',
'y': 'y',
-
+
// timestamp
'U': '@'
};
* @see \wcf\acp\page\AbstractCategoryListPage::$activeMenuItem
*/
public $objectTypeName = 'com.woltlab.wcf.bbcode.smiley';
-
+
/**
* @see \wcf\acp\page\AbstractCategoryListPage::$pageTitle
*/
*/
public function assignVariables() {
parent::assignVariables();
-
+
WCF::getTPL()->assign(array(
'endDate' => $this->endDate,
'startDate' => $this->startDate,
* @var \wcf\data\comment\response\CommentResponse
*/
public $createdResponse = null;
-
+
/**
* errors occuring durch the validation of addComment or addResponse
* @var array
foreach ($likes as $like) {
$commentIDs[] = $like->objectID;
}
-
+
// fetch comments
$commentList = new CommentList();
$commentList->getConditionBuilder()->add("comment.commentID IN (?)", array($commentIDs));
$likeData[$comments[$like->objectID]->objectTypeID][] = $like;
}
}
-
+
foreach ($likeData as $objectTypeID => $likes) {
$objectType = CommentHandler::getInstance()->getObjectType($objectTypeID);
if (CommentHandler::getInstance()->getCommentManager($objectType->objectType) instanceof IViewableLikeProvider) {
* @see \wcf\data\DatabaseObjectList::$decoratorClassName
*/
public $decoratorClassName = 'wcf\data\comment\ViewableComment';
-
+
/**
* Creates a new ViewableCommentList object.
*/
public function __construct() {
parent::__construct();
-
+
// get avatars
if (!empty($this->sqlSelects)) $this->sqlSelects .= ',';
$this->sqlSelects .= "user_avatar.*, user_table.*";
foreach ($likes as $like) {
$responseIDs[] = $like->objectID;
}
-
+
// get objects type ids
$responses = array();
$conditionBuilder = new PreparedStatementConditionBuilder();
$likeData[$responses[$like->objectID]][] = $like;
}
}
-
+
foreach ($likeData as $objectTypeID => $likes) {
$objectType = CommentHandler::getInstance()->getObjectType($objectTypeID);
if (CommentHandler::getInstance()->getCommentManager($objectType->objectType) instanceof IViewableLikeProvider) {
public function validateClearAll() {
WCF::getSession()->checkPermissions(array('admin.system.canManageCronjob'));
}
-
+
/**
* Deletes the entire cronjob log.
*/
if (!$lastLikeTime) {
return array();
}
-
+
// parse template
WCF::getTPL()->assign(array(
'likeList' => $likeList
));
-
+
return array(
'lastLikeTime' => $lastLikeTime,
'template' => WCF::getTPL()->fetch('userProfileLikeItem')
*/
public function getFormattedUsername() {
$username = StringUtil::encodeHTML($this->username);
-
+
if ($this->userOnlineGroupID) {
$group = UserGroup::getGroupByID($this->userOnlineGroupID);
if ($group !== null && $group->userOnlineMarking && $group->userOnlineMarking != '%s') {
public function showContent(Condition $condition) {
$date = DateUtil::getDateTimeByTimestamp(TIME_NOW);
$date->setTimezone(WCF::getUser()->getTimeZone());
-
+
return in_array($date->format('w'), $condition->daysOfWeek);
}
}
* @var string
*/
protected $startTime = '00:00';
-
+
/**
* timezone used to evaluate the start/end time
* @var string
if ($this->endTime) {
$data['endTime'] = $this->endTime;
}
-
+
if (!empty($data) && $this->timezone) {
$data['timezone'] = $this->timezone;
}
$fieldElement .= '<option value="'.$timezone.'"'.($this->timezone === $timezone ? ' selected="selected"' : '').'>'.WCF::getLanguage()->get('wcf.date.timezone.'.str_replace('/', '.', strtolower($timezone))).'</option>';
}
$fieldElement .= '</select>';
-
+
return $fieldElement;
}
*/
public function getData() {
$data = array();
-
+
if (!empty($this->groupIDs)) {
$data['groupIDs'] = $this->groupIDs;
}
$this->fetched();
}
-
+
/**
* @see \wcf\system\dashboard\box\AbstractContentDashboardBox::render()
*/
throw new DatabaseException("Connecting to MySQL server '".$this->host."' failed:\n".$e->getMessage(), $this);
}
}
-
+
/**
* @see \wcf\system\database\Database::isSupported()
*/
// set connection character set
$this->setCharset();
}
-
+
/**
* Sets the charset of the database connection.
*/
$statement = self::fixQuery($statement);
return parent::prepareStatement($statement, $limit, $offset);
}
-
+
/**
* @see \wcf\system\database\Database::getInsertID()
*/
public function clip($originX, $originY, $width, $height) {
$this->imagick->cropImage($width, $height, $originX, $originY);
}
-
+
/**
* @see \wcf\system\image\adapter\IImageAdapter::resize()
*/
if (empty($row)) {
$this->presetEventIDs[] = $result->eventID;
}
-
+
return $result;
}
return $array;
}
}
-
+
/**
* Returns true when array1 has the same values as array2.
*
public static function compare(array $array1, array $array2, Callback $callback = null) {
return static::compareHelper('value', $array1, $array2, $callback);
}
-
+
/**
* Returns true when array1 has the same keys as array2.
*
public static function compareKey(array $array1, array $array2, Callback $callback = null) {
return static::compareHelper('key', $array1, $array2, $callback);
}
-
+
/**
* Compares array1 with array2 and returns true when they are identical.
*
public static function compareAssoc(array $array1, array $array2, Callback $callback = null) {
return static::compareHelper('assoc', $array1, $array2, $callback);
}
-
+
/**
* Does the actual comparison of the above compare methods.
*
position: relative;
text-align: center;
width: 100px;
-
+
> .colors {
> .new,
> .old {
z-index: 450 !important;
.boxShadow(2px, 2px, rgba(0, 0, 0, .2), 10px);
-
+
&::after {
border: 7px solid transparent;
border-bottom-color: @wcfDropdownBorderColor;
text-align: center;
top: 200px;
z-index: 401;
-
+
.boxShadow(0, 1px, rgba(0, 0, 0, .5), 7px);
.linearGradient(rgba(0, 0, 0, .5), rgba(0, 0, 0, 0), rgba(0, 0, 0, .7));
-
+
> .icon {
color: #fff;
}
top: 0;
right: 0;
z-index: 200;
-
+
.icon {
color: @wcfUserPanelColor;
.mainMenu > ul > li {
margin-top: -7px;
vertical-align: bottom;
-
+
> a {
padding: 9px 21px;
}
background-color: @wcfNavigationHeaderBackgroundColor;
border-bottom: 1px solid @wcfContainerBorderColor;
border-top: 1px solid @wcfContainerBorderColor;
-
+
> ul.navigationMenuItems {
white-space: nowrap;
}
&.sidebarOrientationRight {
background-color: @wcfSidebarBackgroundColor;
}
-
+
> div {
display: table;
table-layout: fixed;
@media all and (min-width: 801px) {
.tabMenu > ul {
padding: 0 5px 3px 5px;
-
+
> li {
> a {
bottom: -3px;
color: @wcfDimmedColor;
opacity: .8;
padding: @wcfGapMedium @wcfGapLarge;
-
+
.transition(opacity, .1s);
&:hover {
.userProfilePreview {
position: relative;
-
+
> .userInformation {
padding-bottom: 16px;// + @wcfGapTiny;