<div class="container marginTop">
<ul class="containerList userNotificationItemList">
{/if}
- <li class="jsNotificationItem notificationItem{if $notification[authors] > 1} groupedNotificationItem{/if}{if !$notification[event]->isConfirmed()} notificationUnconfirmed{/if}" data-link="{if $notification[event]->isConfirmed()}{$notification[event]->getLink()}{else}{link controller='NotificationConfirm' id=$notification[notificationID]}{/link}{/if}" data-link-replace-all="{if $notification[event]->isConfirmed()}false{else}true{/if}" data-object-id="{@$notification[notificationID]}" data-is-read="{if $notification[event]->isConfirmed()}true{else}false{/if}" data-is-grouped="{if $notification[authors] > 1}true{else}false{/if}">
+ <li class="jsNotificationItem notificationItem{if $notification[authors] > 1} groupedNotificationItem{/if}{if !$notification[event]->isConfirmed()} notificationUnconfirmed{/if}" data-link="{if $notification[event]->isConfirmed()}{$notification[event]->getLink()}{else}{link controller='NotificationConfirm' id=$notification[notificationID]}{/link}{/if}" data-link-replace-all="{if $notification[event]->isConfirmed()}false{else}true{/if}" data-object-id="{@$notification[notificationID]}" data-is-read="{if $notification[event]->isConfirmed()}true{else}false{/if}" data-is-grouped="{if $notification[authors] > 1}true{else}false{/if}">
<div class="box32">
{if $notification[authors] < 2}
<div class="framed">
lang: '{@$__wcf->getLanguage()->getFixedLanguageCode()}',
maxHeight: 500,
minHeight: 200,
- plugins: [ 'wutil', 'wmonkeypatch', 'table', 'wbutton', 'wbbcode', 'wfontcolor', 'wfontfamily', 'wfontsize', 'wupload' ],
+ plugins: [ 'wutil', 'wmonkeypatch', 'table', 'wbutton', 'wbbcode', 'wfontcolor', 'wfontfamily', 'wfontsize', 'wupload' ],
removeEmpty: false,
replaceDivs: false,
tabifier: false,
<div class="formSubmit">
<input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s" />
{@SECURITY_TOKEN_INPUT_TAG}
- </div>
+ </div>
</form>
{include file='footer'}
\ No newline at end of file
<div class="formSubmit">
<input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s" />
{@SECURITY_TOKEN_INPUT_TAG}
- </div>
+ </div>
</form>
{include file='footer'}
<div class="formSubmit">
<input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s" />
{@SECURITY_TOKEN_INPUT_TAG}
- </div>
+ </div>
</form>
{include file='footer'}
<div class="formSubmit">
<input type="submit" accesskey="s" value="{lang}wcf.global.button.submit{/lang}" />
{@SECURITY_TOKEN_INPUT_TAG}
- </div>
+ </div>
</form>
{include file='footer'}
<div class="formSubmit">
<input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s" />
{@SECURITY_TOKEN_INPUT_TAG}
- </div>
+ </div>
</form>
{include file='footer'}
</div>
{if $objects|count}
- <div class="container containerPadding sortableListContainer marginTop" id="noticeList">
+ <div class="container containerPadding sortableListContainer marginTop" id="noticeList">
<ol class="sortableList" data-object-id="0" start="{@($pageNo - 1) * $itemsPerPage + 1}">
{foreach from=$objects item='notice'}
<li class="sortableNode sortableNoNesting jsNotice" data-object-id="{@$notice->noticeID}">
}
this._isOpen = true;
-
+
WCF.System.DisableScrolling.disable();
WCF.System.DisableZoom.disable();
}
if (!this._isOpen) {
this._isOpen = true;
-
+
WCF.System.DisableScrolling.disable();
WCF.System.DisableZoom.disable();
}
init: function(mapContainerID, mapOptions, actionClassName, locationSearchInputSelector, additionalParameters) {
this._super(mapContainerID, mapOptions, actionClassName, locationSearchInputSelector, additionalParameters);
- var $locationSuggestionDiv = $('<div class="gmnoprint googleMapsCustomControlContainer"><div class="gm-style-mtc"><div class="googleMapsCustomControl">' + WCF.Language.get('wcf.map.showLocationSuggestions') + '</div></div></div>');
+ var $locationSuggestionDiv = $('<div class="gmnoprint googleMapsCustomControlContainer"><div class="gm-style-mtc"><div class="googleMapsCustomControl">' + WCF.Language.get('wcf.map.showLocationSuggestions') + '</div></div></div>');
this._locationSuggestionsButton = $locationSuggestionDiv.find('.googleMapsCustomControl').click($.proxy(this._toggleLocationSuggestions, this));
this._map.controls[google.maps.ControlPosition.TOP_RIGHT].push($locationSuggestionDiv.get(0));
// bind event listener
this._initElements();
- WCF.DOMNodeInsertedHandler.addCallback('WCF.Action.Toggle' + this._className.hashCode(), $.proxy(this._initElements, this));
+ WCF.DOMNodeInsertedHandler.addCallback('WCF.Action.Toggle' + this._className.hashCode(), $.proxy(this._initElements, this));
},
/**
// Firefox ignores padding-bottom for elements within an overflowing container
if ($.browser.mozilla && !$.browser.mobile) {
if ($overflow === 'auto') {
- this._content.children('div').css('margin-bottom', this._content.css('padding-bottom'));
+ this._content.children('div').css('margin-bottom', this._content.css('padding-bottom'));
}
else {
this._content.children('div').css('margin-bottom', false);
try {
CronjobUtil::validate($this->startMinute, $this->startHour, $this->startDom, $this->startMonth, $this->startDow);
- }
+ }
catch (SystemException $e) {
// extract field name
$fieldName = '';
$row['packageNameLength'] = mb_strlen(WCF::getLanguage()->get($row['packageName']));
$this->packages[] = new Package(null, $row);
if ($row['packageNameLength'] > $this->packageNameLength) {
- $this->packageNameLength = $row['packageNameLength'];
- }
+ $this->packageNameLength = $row['packageNameLength'];
+ }
}
}
}
/**
* subscription title
- * @var string
+ * @var string
*/
public $title = '';
/**
* subscription description
- * @var string
+ * @var string
*/
public $description = '';
/**
* subscription cost
- * @var double
+ * @var double
*/
public $cost = 0.0;
/**
* subscription currency
- * @var string
+ * @var string
*/
public $currency = 'USD';
/**
* subscription length
- * @var integer
+ * @var integer
*/
public $subscriptionLength = 0;
/**
* subscription length unit
- * @var string
+ * @var string
*/
public $subscriptionLengthUnit = '';
/**
* list of group ids
- * @var array<intewer>
+ * @var array<intewer>
*/
public $groupIDs = array();
/**
* list of excluded subscriptions
- * @var array<integer>
+ * @var array<integer>
*/
public $excludedSubscriptionIDs = array();
/**
* available user groups
- * @var array
+ * @var array
*/
public $availableUserGroups = array();
/**
* list of available currencies
- * @var array<string>
+ * @var array<string>
*/
public $availableCurrencies = array();
/**
* list of available subscriptions
- * @var array
+ * @var array
*/
public $availableSubscriptions = array();
/**
* Saves i18n values.
- *
+ *
* @param \wcf\data\paid\subscription\PaidSubscription $subscription
* @param string $columnName
*/
public function saveI18nValue(PaidSubscription $subscription, $columnName) {
if (!I18nHandler::getInstance()->isPlainValue($columnName)) {
I18nHandler::getInstance()->save($columnName, 'wcf.paidSubscription.subscription'.$subscription->subscriptionID.($columnName == 'description' ? '.description' : ''), 'wcf.paidSubscription', 1);
-
+
// update database
$editor = new PaidSubscriptionEditor($subscription);
$editor->update(array(
*/
public function readData() {
parent::readData();
-
+
if (empty($_POST)) {
I18nHandler::getInstance()->setOptions('description', 1, $this->subscription->description, 'wcf.paidSubscription.subscription\d+.description');
I18nHandler::getInstance()->setOptions('title', 1, $this->subscription->title, 'wcf.paidSubscription.subscription\d+');
*/
public function assignVariables() {
parent::assignVariables();
-
+
$useRequestData = (empty($_POST)) ? false : true;
I18nHandler::getInstance()->assignVariables($useRequestData);
-
+
WCF::getTPL()->assign(array(
'action' => 'edit',
'subscriptionID' => $this->subscriptionID,
/**
* username
- * @var string
+ * @var string
*/
public $username = '';
/**
* user object
- * @var \wcf\data\user\User
+ * @var \wcf\data\user\User
*/
public $user = null;
/**
* subscription end date
- * @var string
+ * @var string
*/
public $endDate = '';
*/
public function readData() {
parent::readData();
-
+
if (empty($_POST)) {
if ($this->subscription->subscriptionLength) {
$d = DateUtil::getDateTimeByTimestamp(TIME_NOW);
if ($this->disableSignatureExpires) {
$disableSignatureExpires = strtotime($this->disableSignatureExpires);
}
-
+
$data['data']['disableSignature'] = $this->disableSignature;
$data['data']['disableSignatureReason'] = $this->disableSignatureReason;
$data['data']['disableSignatureExpires'] = $disableSignatureExpires;
*/
class UserContentRevertChangesForm extends AbstractForm {
/**
- * @see \wcf\page\AbstractPage::$neededModules
+ * @see \wcf\page\AbstractPage::$neededModules
*/
public $neededModules = array('MODULE_EDIT_HISTORY');
-
+
/**
* @see \wcf\page\AbstractPage::$neededPermissions
*/
else {
$this->banExpires = '';
}
-
+
if (isset($_POST['avatarType'])) $this->avatarType = $_POST['avatarType'];
if (WCF::getSession()->getPermission('admin.user.canDisableAvatar')) {
/**
* transaction id
- * @var string
+ * @var string
*/
public $transactionID = '';
/**
* username
- * @var string
+ * @var string
*/
public $username = '';
/**
* subscription id
- * @var integer
+ * @var integer
*/
public $subscriptionID = 0;
*/
protected function initObjectList() {
parent::initObjectList();
-
+
if ($this->transactionID) {
$this->objectList->getConditionBuilder()->add('paid_subscription_transaction_log.transactionID LIKE ?', array('%' . $this->transactionID . '%'));
}
*/
public function assignVariables() {
parent::assignVariables();
-
+
WCF::getTPL()->assign(array(
'transactionID' => $this->transactionID,
'username' => $this->username,
*/
public function readParameters() {
parent::readParameters();
-
+
if (isset($_REQUEST['id'])) $this->logID = intval($_REQUEST['id']);
$this->log = new PaidSubscriptionTransactionLog($this->logID);
if (!$this->log->logID) {
$this->productData[$wcfMajorRelease][$packageUpdateID] = array(
'author' => $product['author'],
'authorURL' => $product['authorURL'],
- 'package' => $product['package'],
+ 'package' => $product['package'],
'packageName' => $packageName,
'pluginStoreURL' => $product['pluginStoreURL'],
'version' => array(
/**
* Handles Paypal callbacks.
- *
+ *
* @author Marcel Werk
* @copyright 2001-2014 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
*/
class PaypalCallbackAction extends AbstractAction {
/**
- * @see \wcf\action\IAction::execute()
+ * @see \wcf\action\IAction::execute()
*/
public function execute() {
parent::execute();
catch (SystemException $e) {
throw new SystemException('connection to paypal.com failed: ' . $e->getMessage());
}
-
+
if (strstr($content, "VERIFIED") === false) {
throw new SystemException('request not validated');
}
if ($transactionType == 'web_accept' || $transactionType == 'subscr_payment') {
if ($paymentStatus == 'Completed') {
$status = 'completed';
- }
+ }
}
if ($paymentStatus == 'Refunded' || $paymentStatus == 'Reversed') {
$status = 'reversed';
/**
* fallback return value used in Category::getPermission()
- * @var boolean
+ * @var boolean
*/
protected $defaultPermission = false;
// check permissions
if (!WCF::getUser()->userID || !WCF::getSession()->getPermission('user.like.canLike')) {
- throw new PermissionDeniedException();
+ throw new PermissionDeniedException();
}
// check if liking own content but forbidden by configuration
if (empty($this->parameters['visitTime'])) {
$this->parameters['visitTime'] = TIME_NOW;
}
-
+
if (empty($this->objects)) {
$this->readObjects();
}
-
+
foreach ($this->objects as $queue) {
VisitTracker::getInstance()->trackObjectVisit('com.woltlab.wcf.moderation.queue', $queue->queueID, $this->parameters['visitTime']);
}
-
+
// reset storage
UserStorageHandler::getInstance()->reset(array(WCF::getUser()->userID), 'unreadModerationCount');
/**
* Returns true if this queue item is new for the active user.
- *
+ *
* @return boolean
*/
public function isNew() {
if ($this->time > max(VisitTracker::getInstance()->getVisitTime('com.woltlab.wcf.moderation.queue'), VisitTracker::getInstance()->getObjectVisitTime('com.woltlab.wcf.moderation.queue', $this->queueID))) return true;
-
+
return false;
}
}
/**
* Allows modifications of hidden option.
- *
+ *
* @param string $hiddenOption
*/
public function modifyHiddenOption($hiddenOption) {
/**
* Searches for purchased items in the WoltLab Plugin-Store.
*
- * @return array<string>
+ * @return array<string>
*/
public function searchForPurchasedItems() {
if (!RemoteFile::supportsSSL()) {
/**
* Returns list of purchase buttons.
*
- * @return array<string>
+ * @return array<string>
*/
public function getPurchaseButtons() {
$objectTypeID = ObjectTypeCache::getInstance()->getObjectTypeIDByName('com.woltlab.wcf.payment.type', 'com.woltlab.wcf.payment.type.paidSubscription');
/**
* Returns a DateInterval object based on subscription length.
*
- * @return \DateInterval
+ * @return \DateInterval
*/
public function getDateInterval() {
return new \DateInterval('P' . $this->subscriptionLength . $this->subscriptionLengthUnit);
/**
* Sets the show order of the subscription.
- *
+ *
* @param integer $showOrder
*/
public function setShowOrder($showOrder = 0) {
$newShowOrder = 1;
-
+
$sql = "SELECT MAX(showOrder)
FROM wcf".WCF_N."_paid_subscription";
$statement = WCF::getDB()->prepareStatement($sql);
$statement->execute();
$maxShowOrder = $statement->fetchColumn();
if (!$maxShowOrder) $maxShowOrder = 0;
-
+
if (!$showOrder || $showOrder > $maxShowOrder) {
$newShowOrder = $maxShowOrder + 1;
}
$newShowOrder = $showOrder;
}
-
+
$this->update(array(
'showOrder' => $newShowOrder
));
/**
* user object
- * @var \wcf\data\user\User
+ * @var \wcf\data\user\User
*/
protected $user = null;
/**
* paid subscription object
- * @var \wcf\data\paid\subscription\PaidSubscription
+ * @var \wcf\data\paid\subscription\PaidSubscription
*/
protected $subscription = null;
/**
* Returns the paid subscription of this transaction.
- *
+ *
* @return \wcf\data\paid\subscription\PaidSubscription
*/
public function getSubscription() {
if ($this->subscription === null) {
$this->subscription = new PaidSubscription($this->subscriptionID);
}
-
+
return $this->subscription;
}
/**
* Gets a transaction log entry by transaction id.
- *
+ *
* @param integer $paymentMethodObjectTypeID
* @param string $transactionID
* @return \wcf\data\paid\subscription\transaction\log\PaidSubscriptionTransactionLog
/**
* paid subscription object
- * @var \wcf\data\paid\subscription\PaidSubscription
+ * @var \wcf\data\paid\subscription\PaidSubscription
*/
protected $subscription = null;
/**
* Gets the paid subscription object.
*
- * @return \wcf\data\paid\subscription\PaidSubscription
+ * @return \wcf\data\paid\subscription\PaidSubscription
*/
public function getSubscription() {
if ($this->subscription === null) {
/**
* Sets the paid subscription object.
- *
- * @param \wcf\data\paid\subscription\PaidSubscription $subscription
+ *
+ * @param \wcf\data\paid\subscription\PaidSubscription $subscription
*/
public function setSubscription(PaidSubscription $subscription) {
$this->subscription = $subscription;
}
/**
- * @see \wcf\data\AbstractDatabaseObjectAction::delete()
+ * @see \wcf\data\AbstractDatabaseObjectAction::delete()
*/
public function delete() {
$this->revoke();
if (empty($this->objects)) {
$this->readObjects();
}
-
+
foreach ($this->objects as $subscriptionUser) {
if ($subscriptionUser->isActive) {
throw new UserInputException('objectIDs');
/**
* Virtual Sessions extend the original session system with a transparent layer.
* It's only purpose is to enforce session validation based on IP address and/or user agent.
- *
+ *
* The legacy session system does not allow the same user being logged-in more than once
* and the same is true for WCF 2.1 unless we break most parts of the API.
* In order to solve this, we do allow multiple clients to share the exact same session
/**
* Returns true, if the active user has access to this sitemap.
*
- * @return boolean
+ * @return boolean
*/
public function isAccessible() {
// check the options of this item
/**
* Handles logo upload.
- *
+ *
* @return array<string>
*/
public function uploadLogo() {
if (empty($this->objects)) {
$this->readObjects();
}
-
+
$disableAvatarExpires = $this->parameters['disableAvatarExpires'];
if ($disableAvatarExpires) {
$disableAvatarExpires = strtotime($disableAvatarExpires);
/**
* Returns the ip address and attempts to convert into IPv4.
- *
+ *
* @return string
*/
public function getIpAddress() {
/**
* Returns the number of authentication failures for given user account.
- *
+ *
* @param integer $userID
* @return boolean
*/
*/
public function getImageTag($size = null) {
if ($size === null) $size = $this->size;
-
+
$retinaSize = null;
switch ($size) {
case 16:
/**
* Returns true if this user option can be deleted.
- *
+ *
* @return boolean
*/
public function canDelete() {
parent::readFormParameters();
if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'register') {
- // if the usernamefield is an email, save it as email for the registration
+ // if the username field is an email, save it as email for the registration
if (UserUtil::isValidEmail($this->username)) {
WCF::getSession()->register('__email', $this->username);
- } else {
+ }
+ else {
WCF::getSession()->register('__username', $this->username);
}
WCF::getSession()->update();
*/
public function readParameters() {
parent::readParameters();
-
+
$processor = ModerationQueueManager::getInstance()->getProcessor(null, null, $this->queue->objectTypeID);
if (!($processor instanceof IModerationQueueActivationHandler)) {
throw new IllegalLinkException();
*/
public function readParameters() {
parent::readParameters();
-
+
$processor = ModerationQueueManager::getInstance()->getProcessor(null, null, $this->queue->objectTypeID);
if (!($processor instanceof IModerationQueueReportHandler)) {
throw new IllegalLinkException();
*/
public function readParameters() {
parent::readParameters();
-
+
if (!empty($_GET['u'])) {
$userID = intval($_GET['u']);
$this->user = new User($userID);
*/
class EditHistoryPage extends AbstractPage {
/**
- * @see \wcf\page\AbstractPage::$neededModules
+ * @see \wcf\page\AbstractPage::$neededModules
*/
public $neededModules = array('MODULE_EDIT_HISTORY');
/**
* DatabaseObjectList object
- * @var \wcf\data\DatabaseObjectList
+ * @var \wcf\data\DatabaseObjectList
*/
public $objectList = null;
-
+
/**
* left / old version id
* @var integer
/**
* list of available paid subscriptions
- * @var array
+ * @var array
*/
public $subscriptions = array();
/**
* list of user subscriptions
- * @var \wcf\data\paid\subscription\user\PaidSubscriptionUserList
+ * @var \wcf\data\paid\subscription\user\PaidSubscriptionUserList
*/
public $userSubscriptionList = array();
/**
* Shows the paid subscription return message.
- *
+ *
* @author Marcel Werk
* @copyright 2001-2014 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
return $this->regex;
}
}
-
abstract class AbstractAttachmentObjectType implements IAttachmentObjectType {
/**
* cached objects
- * @var array<\wcf\data\DatabaseObject>
+ * @var array<\wcf\data\DatabaseObject>
*/
protected $cachedObjects = array();
/**
* Loads the permissions for given attachments.
- *
+ *
* @param array<\wcf\data\attachment\Attachment> $attachments
*/
public function setPermissions(array $attachments);
/**
* Removes code bbcode occurrences in given message.
- *
+ *
* @param string $message
* @return string
*/
/**
* Returns a text-only version of given message.
- *
+ *
* @param string $message
* @return string
*/
)?\])
(.*?)
(?:\[/\\1\])", Regex::DOT_ALL | Regex::IGNORE_WHITESPACE | Regex::CASE_INSENSITIVE);
-
+
$callback = new Callback(function ($matches) {
return StringStack::pushToStringStack($matches[0], 'urlBBCodes');
});
/**
* cached URLs
- * @var array<string>
+ * @var array<string>
*/
protected $cachedURLs = array();
/**
* cached e-mails
- * @var array<string>
+ * @var array<string>
*/
protected $cachedEmails = array();
/**
* Returns the hash for an matched URL in the message.
- *
+ *
* @param array $matches
* @return string
*/
protected function cacheURLsCallback($matches) {
$hash = '@@'.StringUtil::getHash(uniqid(microtime()).$matches[0]).'@@';
$this->cachedURLs[$hash] = $matches[0];
-
+
return $hash;
}
/**
* Returns the hash for an matched e-mail in the message.
- *
+ *
* @param array $matches
* @return string
*/
protected function cacheEmailsCallback($matches) {
$hash = '@@'.StringUtil::getHash(uniqid(microtime()).$matches[0]).'@@';
$this->cachedEmails[$hash] = $matches[0];
-
+
return $hash;
}
/**
* Reinserts cached URLs and e-mails.
- *
+ *
* @param string $text
* @return string
*/
$text = str_replace($hash, '<a href="mailto:'.$email.'">'.$email.'</a>', $text);
}
-
+
return $text;
}
public function updateCounter($objectID, $value);
/**
- * Returns true, if this comment type supports likes.
+ * Returns true if this comment type supports likes.
*
* @return boolean
*/
public function supportsLike();
/**
- * Returns true, if this comment type supports reports.
- *
+ * Returns true if this comment type supports reports.
+ *
* @return boolean
*/
public function supportsReport();
if (!$this->isAccessible($objectID, true)) {
return false;
}
-
+
return true;
}
}
protected function getTimezoneFieldElement() {
- $fieldElement = '<select name="timezone" id="timezone"><option value="0"'.($this->timezone ? ' selected="selected"' : '').'>'.WCF::getLanguage()->get('wcf.date.timezone.user').'</option>';
+ $fieldElement = '<select name="timezone" id="timezone"><option value="0"'.($this->timezone ? ' selected="selected"' : '').'>'.WCF::getLanguage()->get('wcf.date.timezone.user').'</option>';
foreach (DateUtil::getAvailableTimezones() as $timezone) {
$fieldElement .= '<option value="'.$timezone.'"'.($this->timezone === $timezone ? ' selected="selected"' : '').'>'.WCF::getLanguage()->get('wcf.date.timezone.'.str_replace('/', '.', strtolower($timezone))).'</option>';
}
class PaidSubscriptionsDashboardBox extends AbstractContentDashboardBox {
/**
* list of available paid subscriptions
- * @var array
+ * @var array
*/
public $subscriptions = array();
class PaidSubscriptionsSidebarDashboardBox extends AbstractSidebarDashboardBox {
/**
* list of available paid subscriptions
- * @var array
+ * @var array
*/
public $subscriptions = array();
$row = $statement->fetchArray();
if ($row !== false) return $row['maxID'];
return 0;
- }
+ }
}
$sql = "SELECT responseID
FROM wcf".WCF_N."_comment_response
- WHERE commentID = ?
- ORDER BY responseID ASC";
+ WHERE commentID = ?
+ ORDER BY responseID ASC";
$statement = WCF::getDB()->prepareStatement($sql, 3);
$statement->execute(array($response->commentID));
$responseIDs = array();
* the data was flushed.
*
* Note: The AtomicWriter only supports a small number of whitelisted (write) operations.
- *
+ *
* @author Tim Duesterhus
* @copyright 2001-2014 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
/**
* Provides default implementations for message embedded object handlers.
- *
+ *
* @author Marcel Werk
* @copyright 2001-2014 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
/**
* Parses given message for specific bbcode parameters.
- *
+ *
* @param string $message
* @param string $bbcode bbcode name
* @return array
/**
* IMessageEmbeddedObjectHandler implementation for attachments.
- *
+ *
* @author Marcel Werk
* @copyright 2001-2014 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
*/
class AttachmentMessageEmbeddedObjectHandler extends AbstractMessageEmbeddedObjectHandler {
/**
- * @see \wcf\system\message\embedded\object\IMessageEmbeddedObjectHandler::parseMessage()
+ * @see \wcf\system\message\embedded\object\IMessageEmbeddedObjectHandler::parseMessage()
*/
public function parseMessage($message) {
$parsedAttachmentIDs = array_unique(ArrayUtil::toIntegerArray(array_merge(self::getFirstParameters($message, 'attach'), self::getTextParameters($message, 'attach'))));
}
/**
- * @see \wcf\system\message\embedded\object\IMessageEmbeddedObjectHandler::loadObjects()
+ * @see \wcf\system\message\embedded\object\IMessageEmbeddedObjectHandler::loadObjects()
*/
public function loadObjects(array $objectIDs) {
$attachmentList = new AttachmentList();
/**
* Default interface of embedded object handler.
- *
+ *
* @author Marcel Werk
* @copyright 2001-2014 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
/**
* Default interface of embedded object handler.
- *
+ *
* @author Marcel Werk
* @copyright 2001-2014 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
/**
* IMessageEmbeddedObjectHandler implementation for quotes.
- *
+ *
* @author Marcel Werk
* @copyright 2001-2014 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
*/
class QuoteMessageEmbeddedObjectHandler extends AbstractMessageEmbeddedObjectHandler {
/**
- * @see \wcf\system\message\embedded\object\IMessageEmbeddedObjectHandler::parseMessage()
+ * @see \wcf\system\message\embedded\object\IMessageEmbeddedObjectHandler::parseMessage()
*/
public function parseMessage($message) {
$usernames = self::getFirstParameters($message, 'quote');
}
/**
- * @see \wcf\system\message\embedded\object\IMessageEmbeddedObjectHandler::loadObjects()
+ * @see \wcf\system\message\embedded\object\IMessageEmbeddedObjectHandler::loadObjects()
*/
public function loadObjects(array $objectIDs) {
return UserProfile::getUserProfiles($objectIDs);
/**
* required permission for assigned users
- * @var string
+ * @var string
*/
protected $requiredPermission = 'mod.general.canUseModeration';
/**
* Returns the count of unread moderation queue items.
- *
+ *
* @param boolean $skipCache
* @return integer
*/
public function getUnreadModerationCount($skipCache = false) {
// get count
$count = UserStorageHandler::getInstance()->getField('unreadModerationCount');
-
+
// cache does not exist or is outdated
if ($count === null || $skipCache) {
// force update of non-tracked queues for this user
// update storage data
UserStorageHandler::getInstance()->update(WCF::getUser()->userID, 'unreadModerationCount', $count);
}
-
+
return $count;
}
$queueList->sqlJoins = "LEFT JOIN wcf".WCF_N."_moderation_queue_to_user moderation_queue_to_user ON (moderation_queue_to_user.queueID = moderation_queue.queueID AND moderation_queue_to_user.userID = ".WCF::getUser()->userID.")";
$queueList->getConditionBuilder()->add("moderation_queue_to_user.queueID IS NULL");
$queueList->readObjects();
-
+
if (count($queueList)) {
$queues = array();
foreach ($queueList as $queue) {
if (!isset($queues[$queue->objectTypeID])) {
$queues[$queue->objectTypeID] = array();
}
-
+
$queues[$queue->objectTypeID][$queue->queueID] = $queue;
}
-
+
foreach ($this->objectTypeNames as $definitionName => $objectTypeIDs) {
foreach ($objectTypeIDs as $objectTypeID) {
if (isset($queues[$objectTypeID])) {
/**
* Returns true if option's label is hidden in search form.
- *
+ *
* @return boolean
*/
public function hideLabelInSearch();
if (!is_array($newValue)) {
$newValue = array();
}
-
+
$selectOptions = PaymentMethodHandler::getInstance()->getPaymentMethodSelection();
foreach ($newValue as $optionName) {
if (!isset($selectOptions[$optionName])) {
uksort($instances, array('wcf\data\package\Package', 'compareVersion'));
// get package with highest version number (get last package)
- $existingPackages[$packageName] = array_pop($instances);
+ $existingPackages[$packageName] = array_pop($instances);
}
}
if ($validateInstallInstructions) {
$installInstructions = $archive->getInstallInstructions();
if (empty($installInstructions)) {
- throw new SystemException("Package '" . $archive->getLocalizedPackageInfo('packageName') . "' (" . $archive->getPackageInfo('name') . ") does not contain valid installation instructions.");
+ throw new SystemException("Package '" . $archive->getLocalizedPackageInfo('packageName') . "' (" . $archive->getPackageInfo('name') . ") does not contain valid installation instructions.");
}
}
/**
* Validates install or update instructions against the corresponding PIP, unknown PIPs will be silently ignored.
- *
+ *
* @param string $type
* @param array<array> $instructions
*/
/**
* Validates an instruction against the corresponding package installation plugin.
- *
+ *
* Please be aware that unknown PIPs will silently ignored and cause no error.
- *
+ *
* @param \wcf\data\package\PackageArchive $archive
* @param string $pip
* @param string $instruction
/**
* Abstract implementation of a payment method.
- *
+ *
* @author Marcel Werk
* @copyright 2001-2014 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
*/
abstract class AbstractPaymentMethod implements IPaymentMethod {
/**
- * @see \wcf\system\payment\method\IPaymentMethod::supportsRecurringPayments()
+ * @see \wcf\system\payment\method\IPaymentMethod::supportsRecurringPayments()
*/
public function supportsRecurringPayments() {
return false;
/**
* Default interface for payment methods.
- *
+ *
* @author Marcel Werk
* @copyright 2001-2014 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* Returns the HTML code of the purchase button.
*
* @param float $cost
- * @param string $currency ISO 4217 code
+ * @param string $currency ISO 4217 code
* @param string $name product/item name
* @param string $token custom token
* @param string $returnURL
* @param string $cancelReturnURL
- * @param boolean $isRecurring
+ * @param boolean $isRecurring
* @param integer $subscriptionLength
* @param string $subscriptionLengthUnit
*
/**
* Handles enabled/available payment methods.
- *
+ *
* @author Marcel Werk
* @copyright 2001-2014 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
class PaymentMethodHandler extends SingletonFactory {
/**
* payment methods
- * @var array
+ * @var array
*/
protected $paymentMethods = array();
/**
* payment method object types
- * @var array
+ * @var array
*/
protected $objectTypes = array();
/**
- * @see \wcf\system\SingletonFactory::init()
+ * @see \wcf\system\SingletonFactory::init()
*/
protected function init() {
$availablePaymentMethods = explode(',', AVAILABLE_PAYMENT_METHODS);
/**
* Returns the available payment methods for selection.
- *
+ *
* @return array<string>
*/
public function getPaymentMethodSelection() {
foreach ($this->objectTypes as $objectType) {
$selection[$objectType->objectType] = WCF::getLanguage()->get('wcf.payment.'.$objectType->objectType);
}
-
+
return $selection;
}
}
/**
* IPaymentMethod implementation for Paypal.
- *
+ *
* @author Marcel Werk
* @copyright 2001-2014 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
*/
class PaypalPaymentMethod extends AbstractPaymentMethod {
/**
- * @see \wcf\system\payment\method\IPaymentMethod::supportsRecurringPayments()
+ * @see \wcf\system\payment\method\IPaymentMethod::supportsRecurringPayments()
*/
public function supportsRecurringPayments() {
return true;
}
/**
- * @see \wcf\system\payment\method\IPaymentMethod::getSupportedCurrencies()
+ * @see \wcf\system\payment\method\IPaymentMethod::getSupportedCurrencies()
*/
public function getSupportedCurrencies() {
return array(
}
/**
- * @see \wcf\system\payment\method\IPaymentMethod::getPurchaseButton()
+ * @see \wcf\system\payment\method\IPaymentMethod::getPurchaseButton()
*/
public function getPurchaseButton($cost, $currency, $name, $token, $returnURL, $cancelReturnURL, $isRecurring = false, $subscriptionLength = 0, $subscriptionLengthUnit = '') {
if ($isRecurring) {
/**
* IPaymentMethod implementation for SofortUeberweisung.
- *
+ *
* @author Marcel Werk
* @copyright 2001-2014 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
*/
class SofortUeberweisungPaymentMethod extends AbstractPaymentMethod {
/**
- * @see \wcf\system\payment\method\IPaymentMethod::getSupportedCurrencies()
+ * @see \wcf\system\payment\method\IPaymentMethod::getSupportedCurrencies()
*/
public function getSupportedCurrencies() {
return array(
}
/**
- * @see \wcf\system\payment\method\IPaymentMethod::getPurchaseButton()
+ * @see \wcf\system\payment\method\IPaymentMethod::getPurchaseButton()
*/
public function getPurchaseButton($cost, $currency, $name, $token, $returnURL, $cancelReturnURL, $isRecurring = false, $subscriptionLength = 0, $subscriptionLengthUnit = '') {
// @todo
/**
* Abstract implementation of a payment type.
- *
+ *
* @author Marcel Werk
* @copyright 2001-2014 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
/**
* Default interface for payment types.
- *
+ *
* @author Marcel Werk
* @copyright 2001-2014 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @param string $token
* @param float $amount
* @param string $currency
- * @param string $transactionID
+ * @param string $transactionID
* @param string $status
* @param array $transactionDetails
*/
/**
* IPaymentType implementation for paid subscriptions.
- *
+ *
* @author Marcel Werk
* @copyright 2001-2014 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
*/
class PaidSubscriptionPaymentType extends AbstractPaymentType {
/**
- * @see wcf\system\payment\type\IPaymentType::processTransaction()
+ * @see wcf\system\payment\type\IPaymentType::processTransaction()
*/
public function processTransaction($paymentMethodObjectTypeID, $token, $amount, $currency, $transactionID, $status, $transactionDetails) {
$userSubscription = $user = $subscription = null;
/**
* Manipulates the search term (< and > used as quotation marks):
- *
+ *
* - <test foo> becomes <+test* +foo*>
* - <test -foo bar> becomes <+test* -foo* +bar*>
* - <test "foo bar"> becomes <+test* +"foo bar">
- *
+ *
* @see http://dev.mysql.com/doc/refman/5.5/en/fulltext-boolean.html
- *
+ *
* @param string $query
*/
protected function parseSearchQuery($query) {
/**
* Searches for the given string and returns the data of the found messages.
- *
+ *
* @param string $q
* @param array $objectTypes
* @param boolean $subjectOnly
$this->searchEngine = call_user_func(array($className, 'getInstance'));
}
-
+
return $this->searchEngine;
}
/**
* Returns the the object type with the given name.
- *
+ *
* @param string $objectType
* @return \wcf\data\object\type\ObjectType
*/
}
}
- &.wcfImageViewerButtonPrevious {
+ &.wcfImageViewerButtonPrevious {
left: 5px;
}
<item name="wcf.acp.option.user_authentication_failure_expiration.description"><![CDATA[Legt fest nach welchem Zeitraum protokollierte Anmeldeversuche gelöscht werden. [Zeitraum in Tagen]]]></item>
<item name="wcf.acp.option.gravatar_default_type"><![CDATA[Standard Gravatar-Typ]]></item>
<item name="wcf.acp.option.gravatar_default_type.description"><![CDATA[Der <a class="externalURL" href="{@$__wcf->getPath()}acp/dereferrer.php?url=https://de.gravatar.com/site/implement/images/#default-image">Standard-Gravatar-Typ</a>, wenn einer E-Mail kein Gravatar zugeordnet werden kann.]]></item>
- <item name="wcf.acp.option.gravatar_default_type.404"><![CDATA[Kein Standard-Gravatar]]></item>
+ <item name="wcf.acp.option.gravatar_default_type.404"><![CDATA[Kein Standard-Gravatar]]></item>
<item name="wcf.acp.option.gravatar_default_type.identicon"><![CDATA[Identicon]]></item>
<item name="wcf.acp.option.gravatar_default_type.wavatar"><![CDATA[Wavatar]]></item>
<item name="wcf.acp.option.gravatar_default_type.monsterid"><![CDATA[Monster-ID]]></item>
<item name="wcf.acp.option.user_authentication_failure_expiration.description"><![CDATA[Logs of failed login attempts will be automatically pruned after the configured amount of days, raising the limit will provide a longer history in expense for increased database storage usage.]]></item>
<item name="wcf.acp.option.gravatar_default_type"><![CDATA[Default Gravatar Type]]></item>
<item name="wcf.acp.option.gravatar_default_type.description"><![CDATA[The <a class="externalURL" href="{@$__wcf->getPath()}acp/dereferrer.php?url=https://de.gravatar.com/site/implement/images/#default-image">default Gravatar type</a> used if no matching Gravatar was found.]]></item>
- <item name="wcf.acp.option.gravatar_default_type.404"><![CDATA[No default Gravatar]]></item>
+ <item name="wcf.acp.option.gravatar_default_type.404"><![CDATA[No default Gravatar]]></item>
<item name="wcf.acp.option.gravatar_default_type.identicon"><![CDATA[Identicon]]></item>
<item name="wcf.acp.option.gravatar_default_type.wavatar"><![CDATA[Wavatar]]></item>
<item name="wcf.acp.option.gravatar_default_type.monsterid"><![CDATA[Monster id]]></item>