From: Marcel Werk Date: Thu, 21 Jul 2011 18:53:00 +0000 (+0200) Subject: Added 'I' prefix to interface names X-Git-Tag: 2.0.0_Beta_1~1982 X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=b522d4f1ad64b31e603e698ebbcfd5efa0ebc162;p=GitHub%2FWoltLab%2FWCF.git Added 'I' prefix to interface names Added a default implementation for processible database objects --- diff --git a/com.woltlab.wcf.notification/files/lib/data/user/notification/event/UserNotificationEvent.class.php b/com.woltlab.wcf.notification/files/lib/data/user/notification/event/UserNotificationEvent.class.php index a7db3c2ca0..f44ade6e7f 100644 --- a/com.woltlab.wcf.notification/files/lib/data/user/notification/event/UserNotificationEvent.class.php +++ b/com.woltlab.wcf.notification/files/lib/data/user/notification/event/UserNotificationEvent.class.php @@ -1,6 +1,6 @@ prepareStatement($sql); $statement->execute(array($this->userID, 1)); while ($row = $statement->fetchArray()) { - $this->object->data['notificationTypes'][$row['eventID']] = new UserNotificationType(null, $row); + $databaseObject = new UserNotificationType(null, $row); + $this->object->data['notificationTypes'][$row['eventID']][] = $databaseObject->getProcessor(); } } } @@ -50,7 +51,7 @@ class UserNotificationRecipient extends DatabaseObjectDecorator { * Returns the enabled notification types for the given event. * * @param integer $eventID - * @return array + * @return array */ public function getNotificationTypes($eventID) { if (isset($this->notificationTypes[$eventID])) { diff --git a/com.woltlab.wcf.notification/files/lib/data/user/notification/recipient/UserNotificationRecipientList.class.php b/com.woltlab.wcf.notification/files/lib/data/user/notification/recipient/UserNotificationRecipientList.class.php new file mode 100644 index 0000000000..6253315f98 --- /dev/null +++ b/com.woltlab.wcf.notification/files/lib/data/user/notification/recipient/UserNotificationRecipientList.class.php @@ -0,0 +1,64 @@ + + * @package com.woltlab.wcf.notification + * @subpackage data.user.notification.user + * @category Community Framework + */ +class UserNotificationRecipientList extends UserList { + /** + * @see wcf\data\DatabaseObjectList\DatabaseObjectList::readObjects() + */ + public function readObjects() { + if ($this->objectIDs === null) { + $this->readObjectIDs(); + } + + if (!count($this->objectIDs)) { + return; + } + + // get notification types + $notificationTypes = array(); + $conditionBuilder = new PreparedStatementConditionBuilder(); + $conditionBuilder->add('event_to_user.userID IN (?)', array($this->objectIDs)); + $conditionBuilder->add('event_to_user.enabled = ?', array(1)); + + $sql = "SELECT event_to_user.eventID, event_to_user.userID, notification_type.* + FROM wcf".WCF_N."_user_notification_event_to_user event_to_user + LEFT JOIN wcf".WCF_N."_user_notification_type notification_type + ON (notification_type.notificationTypeID = event_to_user.notificationTypeID) + ".$conditionBuilder->__toString(); + $statement = WCF::getDB()->prepareStatement($sql); + $statement->execute($conditionBuilder->getParameters()); + while ($row = $statement->fetchArray()) { + $databaseObject = new UserNotificationType(null, $row); + $notificationTypes[$row['userID']][$row['eventID']][] = $databaseObject->getProcessor(); + } + + // get users + $sql = "SELECT ".(!empty($this->sqlSelects) ? $this->sqlSelects.',' : '')." + ".$this->getDatabaseTableAlias().".* + FROM ".$this->getDatabaseTableName()." ".$this->getDatabaseTableAlias()." + ".$this->sqlJoins." + WHERE ".$this->getDatabaseTableAlias().".".$this->getDatabaseTableIndexName()." IN (?".str_repeat(',?', count($this->objectIDs) - 1).") + ".(!empty($this->sqlOrderBy) ? "ORDER BY ".$this->sqlOrderBy : ''); + $statement = WCF::getDB()->prepareStatement($sql); + $statement->execute($this->objectIDs); + while ($row = $statement->fetchArray()) { + $row['notificationTypes'] = (isset($notificationTypes[$row['userID']]) ? $notificationTypes[$row['userID']] : array()); + $this->objects[] = new UserNotificationRecipient(new User(null, $row)); + } + } +} diff --git a/com.woltlab.wcf.notification/files/lib/data/user/notification/type/UserNotificationType.class.php b/com.woltlab.wcf.notification/files/lib/data/user/notification/type/UserNotificationType.class.php index 6a26aaf63c..b78ceca019 100644 --- a/com.woltlab.wcf.notification/files/lib/data/user/notification/type/UserNotificationType.class.php +++ b/com.woltlab.wcf.notification/files/lib/data/user/notification/type/UserNotificationType.class.php @@ -1,6 +1,6 @@ execute(array($packageID)); while ($row = $statement->fetchArray()) { if (!isset($data[$row['objectType']])) { + $databaseObject = new UserNotificationObjectType(null, $row); $data[$row['objectType']] = array( - 'object' => new UserNotificationObjectType(null, $row), + 'object' => $databaseObject->getProcessor(), 'events' => array() ); } @@ -57,7 +58,8 @@ class CacheBuilderUserNotificationObjectType implements CacheBuilder { $statement->execute(array($packageID)); while ($row = $statement->fetchArray()) { if (isset($data[$row['objectType']]) && !isset($data[$row['objectType']]['events'][$row['eventName']])) { - $data[$row['objectType']]['events'][$row['eventName']] = new UserNotificationEvent(null, $row); + $databaseObject = new UserNotificationEvent(null, $row); + $data[$row['objectType']]['events'][$row['eventName']] = $databaseObject->getProcessor(); } } diff --git a/com.woltlab.wcf.notification/files/lib/system/package/plugin/UserNotificationEventPackageInstallationPlugin.class.php b/com.woltlab.wcf.notification/files/lib/system/package/plugin/UserNotificationEventPackageInstallationPlugin.class.php index 942cba1cca..5527e759dd 100644 --- a/com.woltlab.wcf.notification/files/lib/system/package/plugin/UserNotificationEventPackageInstallationPlugin.class.php +++ b/com.woltlab.wcf.notification/files/lib/system/package/plugin/UserNotificationEventPackageInstallationPlugin.class.php @@ -76,7 +76,7 @@ class UserNotificationEventPackageInstallationPlugin extends AbstractXMLPackageI $statement = WCF::getDB()->prepareStatement($sql, 1); $statement->execute(array($this->installation->getPackageID(), $data['elements']['defaultnotificationtype'])); $row = $statement->fetchArray(); - if (empty($row['objectTypeID'])) throw new SystemException("unknown notification type '".$data['elements']['defaultnotificationtype']."' given"); + if (empty($row['notificationTypeID'])) throw new SystemException("unknown notification type '".$data['elements']['defaultnotificationtype']."' given"); $defaultNotificationTypeID = $row['notificationTypeID']; } diff --git a/com.woltlab.wcf.notification/files/lib/system/user/notification/UserNotificationHandler.class.php b/com.woltlab.wcf.notification/files/lib/system/user/notification/UserNotificationHandler.class.php index 3714807de2..12f990cdf2 100644 --- a/com.woltlab.wcf.notification/files/lib/system/user/notification/UserNotificationHandler.class.php +++ b/com.woltlab.wcf.notification/files/lib/system/user/notification/UserNotificationHandler.class.php @@ -1,12 +1,11 @@ $recipientIDs * @param array $additionalData */ - public function fireEvent($eventName, $objectType, UserNotificationObject $notificationObject, array $recipientIDs, array $additionalData = array()) { + public function fireEvent($eventName, $objectType, IUserNotificationObject $notificationObject, array $recipientIDs, array $additionalData = array()) { // check given object type and event name if (!isset($this->availableObjectTypes[$objectType]['events'][$eventName])) { throw new SystemException("Unknown event '.$objectType.'-.$eventName.' given"); } // get objects - $objectTypeData = $this->availableObjectTypes[$objectType]['object']; - $eventData = $this->availableObjectTypes[$objectType]['events'][$eventName]; + $objectType = $this->availableObjectTypes[$objectType]['object']; + $event = $this->availableObjectTypes[$objectType]['events'][$eventName]; // save notification - $action = new UserNotificationAction(array(), 'create', array( + $action = new UserNotificationAction(array(), 'create', array('data' => array( 'packageID' => PACKAGE_ID, - 'eventID' => $eventData->eventID, + 'eventID' => $event->eventID, 'objectID' => $notificationObject->getObjectID(), 'time' => TIME_NOW, - 'shortOutput' => $eventData->getObject()->getShortOutput($eventName), - 'mediumOutput' => $eventData->getObject()->getMediumOutput($eventName), - 'longOutput' => $eventData->getObject()->getOutput($eventName), + 'shortOutput' => $event->getShortOutput($eventName), + 'mediumOutput' => $event->getMediumOutput($eventName), + 'longOutput' => $event->getOutput($eventName), 'additionalData' => serialize($additionalData), 'recipientIDs' => $recipientIDs - )); - $notification = $action->executeAction(); + ))); + $result = $action->executeAction(); + $notification = $result['returnValues']; // get recipients $recipientList = new UserNotificationRecipientList(); - $recipientList->getConditionBuilder()->add('user_table.userID = ?', array($recipientIDs)); + $recipientList->getConditionBuilder()->add('user.userID = ?', array($recipientIDs)); $recipientList->readObjects(); // sends notifications foreach ($recipientList->getObjects() as $recipient) { - foreach ($recipient->getNotificationTypes($eventData->eventID) as $notificationType) { - if ($eventData->getObject()->supportsNotificationType($notificationType)) { - $notificationType->getObject()->send($notification, $recipient, $eventData); + foreach ($recipient->getNotificationTypes($event->eventID) as $notificationType) { + if ($event->supportsNotificationType($notificationType)) { + $notificationType->send($notification, $recipient, $event); } } } diff --git a/com.woltlab.wcf.notification/files/lib/system/user/notification/event/AbstractUserNotificationEvent.class.php b/com.woltlab.wcf.notification/files/lib/system/user/notification/event/AbstractUserNotificationEvent.class.php new file mode 100644 index 0000000000..e1a9430cd4 --- /dev/null +++ b/com.woltlab.wcf.notification/files/lib/system/user/notification/event/AbstractUserNotificationEvent.class.php @@ -0,0 +1,20 @@ + + * @package com.woltlab.wcf.notification + * @subpackage system.user.notification.event + * @category Community Framework + */ +abstract class AbstractUserNotificationEvent extends DatabaseObjectDecorator implements IUserNotificationEvent { + /** + * @see wcf\data\DatabaseObjectDecorator::$baseClass + */ + protected static $baseClass = 'wcf\data\user\notification\event\UserNotificationEvent'; +} diff --git a/com.woltlab.wcf.notification/files/lib/system/user/notification/event/IUserNotificationEvent.class.php b/com.woltlab.wcf.notification/files/lib/system/user/notification/event/IUserNotificationEvent.class.php new file mode 100644 index 0000000000..1ece06dc29 --- /dev/null +++ b/com.woltlab.wcf.notification/files/lib/system/user/notification/event/IUserNotificationEvent.class.php @@ -0,0 +1,67 @@ + + * @package com.woltlab.wcf.notification + * @subpackage system.user.notification.event + * @category Community Framework + */ +interface IUserNotificationEvent extends IDatabaseObjectProcessor { + /** + * Returns the message for this notification event. + * + * @param wcf\system\user\notification\type\IUserNotificationType $notificationType + * @return string + */ + public function getMessage(IUserNotificationType $notificationType); + + /** + * Returns the short output for this notification event. + * + * @return string + */ + public function getShortOutput(); + + /** + * Returns the medium output for this notification event. + * + * @return string + */ + public function getMediumOutput(); + + /** + * Returns the full output for this notification event. + * + * @return string + */ + public function getOutput(); + + /** + * Returns the human-readable title of this event. + * + * @return string + */ + public function getTitle(); + + /** + * Returns the human-readable description of this event. + * + * @return string + */ + public function getDescription(); + + /** + * Returns true if this event supports the given notification type. + * + * @param wcf\system\user\notification\type\IUserNotificationType $notificationType + * @return boolean + */ + public function supportsNotificationType(IUserNotificationType $notificationType); +} diff --git a/com.woltlab.wcf.notification/files/lib/system/user/notification/event/UserNotificationEvent.class.php b/com.woltlab.wcf.notification/files/lib/system/user/notification/event/UserNotificationEvent.class.php deleted file mode 100644 index 09f40305d4..0000000000 --- a/com.woltlab.wcf.notification/files/lib/system/user/notification/event/UserNotificationEvent.class.php +++ /dev/null @@ -1,66 +0,0 @@ - - * @package com.woltlab.wcf.notification - * @subpackage system.user.notification.event - * @category Community Framework - */ -interface UserNotificationEvent { - /** - * Returns the message for this notification event. - * - * @param wcf\data\user\notification\type\UserNotificationType $notificationType - * @return string - */ - public function getMessage(UserNotificationType $notificationType); - - /** - * Returns the short output for this notification event. - * - * @return string - */ - public function getShortOutput(); - - /** - * Returns the medium output for this notification event. - * - * @return string - */ - public function getMediumOutput(); - - /** - * Returns the full output for this notification event. - * - * @return string - */ - public function getOutput(); - - /** - * Returns the human-readable title of this event. - * - * @return string - */ - public function getTitle(); - - /** - * Returns the human-readable description of this event. - * - * @return string - */ - public function getDescription(); - - /** - * Returns true if this event supports the given notification type. - * - * @param wcf\data\user\notification\type\UserNotificationType $notificationType - * @return boolean - */ - public function supportsNotificationType(UserNotificationType $notificationType); -} diff --git a/com.woltlab.wcf.notification/files/lib/system/user/notification/object/IUserNotificationObject.class.php b/com.woltlab.wcf.notification/files/lib/system/user/notification/object/IUserNotificationObject.class.php new file mode 100644 index 0000000000..c7be07a88c --- /dev/null +++ b/com.woltlab.wcf.notification/files/lib/system/user/notification/object/IUserNotificationObject.class.php @@ -0,0 +1,36 @@ + + * @package com.woltlab.wcf.notification + * @subpackage system.user.notification.object + * @category Community Framework + */ +interface IUserNotificationObject extends IDatabaseObjectProcessor { + /** + * Returns the ID of this object. + * + * @return integer + */ + public function getObjectID(); + + /** + * Returns the title of this object. + * + * @return string + */ + public function getTitle(); + + /** + * Returns the url of this object. + * + * @return string + */ + public function getURL(); +} diff --git a/com.woltlab.wcf.notification/files/lib/system/user/notification/object/UserNotificationObject.class.php b/com.woltlab.wcf.notification/files/lib/system/user/notification/object/UserNotificationObject.class.php deleted file mode 100644 index 555020fb37..0000000000 --- a/com.woltlab.wcf.notification/files/lib/system/user/notification/object/UserNotificationObject.class.php +++ /dev/null @@ -1,35 +0,0 @@ - - * @package com.woltlab.wcf.notification - * @subpackage system.user.notification.object - * @category Community Framework - */ -interface UserNotificationObject { - /** - * Returns the ID of this object. - * - * @return integer - */ - public function getObjectID(); - - /** - * Returns the title of this object. - * - * @return string - */ - public function getTitle(); - - /** - * Returns the url of this object. - * - * @return string - */ - public function getURL(); -} diff --git a/com.woltlab.wcf.notification/files/lib/system/user/notification/object/type/AbstractUserNotificationObjectType.class.php b/com.woltlab.wcf.notification/files/lib/system/user/notification/object/type/AbstractUserNotificationObjectType.class.php new file mode 100644 index 0000000000..ccbc07c07e --- /dev/null +++ b/com.woltlab.wcf.notification/files/lib/system/user/notification/object/type/AbstractUserNotificationObjectType.class.php @@ -0,0 +1,20 @@ + + * @package com.woltlab.wcf.notification + * @subpackage system.user.notification.event + * @category Community Framework + */ +abstract class AbstractUserNotificationObjectType extends DatabaseObjectDecorator implements IUserNotificationObjectType { + /** + * @see wcf\data\DatabaseObjectDecorator::$baseClass + */ + protected static $baseClass = 'wcf\data\user\notification\object\type\UserNotificationObjectType'; +} diff --git a/com.woltlab.wcf.notification/files/lib/system/user/notification/object/type/IUserNotificationObjectType.class.php b/com.woltlab.wcf.notification/files/lib/system/user/notification/object/type/IUserNotificationObjectType.class.php new file mode 100644 index 0000000000..e12a477d57 --- /dev/null +++ b/com.woltlab.wcf.notification/files/lib/system/user/notification/object/type/IUserNotificationObjectType.class.php @@ -0,0 +1,32 @@ + + * @package com.woltlab.wcf.notification + * @subpackage system.user.notification.object.type + * @category Community Framework + */ +interface IUserNotificationObjectType extends IDatabaseObjectProcessor { + /** + * Gets a notification object by its ID. + * + * @param integer $objectID + * @return wcf\system\user\notification\object\IUserNotificationObject + */ + public function getObjectByID($objectID); + + /** + * Gets notification objects by their IDs. + * + * @param array $objectIDs + * @return array + */ + public function getObjectsByIDs($objectIDs); + +} diff --git a/com.woltlab.wcf.notification/files/lib/system/user/notification/object/type/UserNotificationObjectType.class.php b/com.woltlab.wcf.notification/files/lib/system/user/notification/object/type/UserNotificationObjectType.class.php deleted file mode 100644 index c595a30389..0000000000 --- a/com.woltlab.wcf.notification/files/lib/system/user/notification/object/type/UserNotificationObjectType.class.php +++ /dev/null @@ -1,31 +0,0 @@ - - * @package com.woltlab.wcf.notification - * @subpackage system.user.notification.object.type - * @category Community Framework - */ -interface UserNotificationObjectType { - /** - * Gets a notification object by its ID. - * - * @param integer $objectID - * @return wcf\system\user\notification\object\UserNotificationObject - */ - public function getObjectByID($objectID); - - /** - * Gets notification objects by their IDs. - * - * @param array $objectIDs - * @return array - */ - public function getObjectsByIDs($objectIDs); - -} diff --git a/com.woltlab.wcf.notification/files/lib/system/user/notification/type/AbstractUserNotificationType.class.php b/com.woltlab.wcf.notification/files/lib/system/user/notification/type/AbstractUserNotificationType.class.php new file mode 100644 index 0000000000..f07c7d7c5f --- /dev/null +++ b/com.woltlab.wcf.notification/files/lib/system/user/notification/type/AbstractUserNotificationType.class.php @@ -0,0 +1,20 @@ + + * @package com.woltlab.wcf.notification + * @subpackage system.user.notification.type + * @category Community Framework + */ +abstract class AbstractUserNotificationType extends DatabaseObjectDecorator implements IUserNotificationType { + /** + * @see wcf\data\DatabaseObjectDecorator::$baseClass + */ + protected static $baseClass = 'wcf\data\user\notification\type\UserNotificationType'; +} diff --git a/com.woltlab.wcf.notification/files/lib/system/user/notification/type/IUserNotificationType.class.php b/com.woltlab.wcf.notification/files/lib/system/user/notification/type/IUserNotificationType.class.php new file mode 100644 index 0000000000..d57bb2f793 --- /dev/null +++ b/com.woltlab.wcf.notification/files/lib/system/user/notification/type/IUserNotificationType.class.php @@ -0,0 +1,36 @@ + + * @package com.woltlab.wcf.notification + * @subpackage system.user.notification.type + * @category Community Framework + */ +interface IUserNotificationType extends IDatabaseObjectProcessor { + /** + * Sends the notification using this notification transport type. + * + * @param wcf\data\user\notification\UserNotification $notification + * @param wcf\data\user\notification\recipient\UserNotificationRecipient $user + * @param wcf\system\user\notification\event\IUserNotificationEvent $event + */ + public function send(UserNotification $notification, UserNotificationRecipient $user, IUserNotificationEvent $event); + + /** + * Tries to revoke the notification. This might not be applicable for all notification types. + * + * @param wcf\data\user\notification\UserNotification $notification + * @param wcf\data\user\notification\recipient\UserNotificationRecipient $user + * @param wcf\system\user\notification\event\IUserNotificationEvent $event + */ + public function revoke(UserNotification $notification, UserNotificationRecipient $user, IUserNotificationEvent $event); +} diff --git a/com.woltlab.wcf.notification/files/lib/system/user/notification/type/MailUserNotificationType.class.php b/com.woltlab.wcf.notification/files/lib/system/user/notification/type/MailUserNotificationType.class.php index 9f7b00d5b4..b95eda3937 100644 --- a/com.woltlab.wcf.notification/files/lib/system/user/notification/type/MailUserNotificationType.class.php +++ b/com.woltlab.wcf.notification/files/lib/system/user/notification/type/MailUserNotificationType.class.php @@ -1,10 +1,12 @@ getMessage($this, array( 'user' => $user, @@ -32,10 +34,10 @@ class MailUserNotificationType implements UserNotificationType { if (!$token) { // generate token if not present $token = StringUtil::substring($token = StringUtil::getHash(serialize(array($user->userID, StringUtil::getRandomID()))), 0, 20); - $editor = new UserEditor($user); + $editor = new UserEditor($user->getDecoratedObject()); $editor->updateUserOptions(array('notificationMailToken' => $token)); } - $message .= "\n".$event->getLanguage()->getDynamicVariable('wcf.user.notification.type.mail.footer', array( + $message .= "\n".$user->getLanguage()->getDynamicVariable('wcf.user.notification.type.mail.footer', array( 'user' => $user, 'pageURL' => FileUtil::addTrailingSlash(PAGE_URL), 'token' => $token, @@ -46,14 +48,14 @@ class MailUserNotificationType implements UserNotificationType { $shortMessage = StringUtil::stripHTML($notification->shortOutput); // build mail - $mail = new Mail(array($user->username => $user->email), $event->getLanguageVariable('wcf.user.notification.type.mail.subject', array('title' => $shortMessage)), $message); + $mail = new Mail(array($user->username => $user->email), $user->getLanguage()->getDynamicVariable('wcf.user.notification.type.mail.subject', array('title' => $shortMessage)), $message); $mail->send(); } /** - * @see wcf\system\user\notification\type\UserNotificationType::revoke() + * @see wcf\system\user\notification\type\IUserNotificationType::revoke() */ - public function revoke(UserNotification $notification, User $user, UserNotificationEvent $event) { + public function revoke(UserNotification $notification, UserNotificationRecipient $user, IUserNotificationEvent $event) { // unsupported return; } diff --git a/com.woltlab.wcf.notification/files/lib/system/user/notification/type/UserNotificationType.class.php b/com.woltlab.wcf.notification/files/lib/system/user/notification/type/UserNotificationType.class.php deleted file mode 100644 index 6ed8fb6087..0000000000 --- a/com.woltlab.wcf.notification/files/lib/system/user/notification/type/UserNotificationType.class.php +++ /dev/null @@ -1,35 +0,0 @@ - - * @package com.woltlab.wcf.notification - * @subpackage system.user.notification.type - * @category Community Framework - */ -interface UserNotificationType { - /** - * Sends the notification using this notification transport type. - * - * @param wcf\data\user\notification\UserNotification $notification - * @param wcf\data\user\User $user - * @param wcf\data\user\notification\event\UserNotificationEvent $event - */ - public function send(UserNotification $notification, User $user, UserNotificationEvent $event); - - /** - * Tries to revoke the notification. This might not be applicable for all notification types. - * - * @param wcf\data\user\notification\UserNotification $notification - * @param wcf\data\user\User $user - * @param wcf\data\user\notification\event\UserNotificationEvent $event - */ - public function revoke(UserNotification $notification, User $user, UserNotificationEvent $event); -} diff --git a/wcfsetup/install.php b/wcfsetup/install.php index 7cfdffd242..73c5cc7f67 100644 --- a/wcfsetup/install.php +++ b/wcfsetup/install.php @@ -33,7 +33,7 @@ $neededFilesPattern = array( * @package com.woltlab.wcf.system.exception * @author Marcel Werk */ -interface PrintableException { +interface IPrintableException { public function show(); } @@ -46,7 +46,7 @@ interface PrintableException { * @package com.woltlab.wcf.system.exception * @author Marcel Werk */ -class SystemException extends \Exception implements PrintableException { +class SystemException extends \Exception implements IPrintableException { protected $description; protected $information = ''; protected $functions = ''; @@ -179,7 +179,7 @@ function escapeString($string) { * @param Exception $e */ function handleException(\Exception $e) { - if ($e instanceof PrintableException || $e instanceof \wcf\system\exception\PrintableException) { + if ($e instanceof IPrintableException || $e instanceof \wcf\system\exception\IPrintableException) { $e->show(); exit; } diff --git a/wcfsetup/install/files/lib/acp/action/InstallPackageAction.class.php b/wcfsetup/install/files/lib/acp/action/InstallPackageAction.class.php index 0bd0a1cf76..ad0cf4196c 100755 --- a/wcfsetup/install/files/lib/acp/action/InstallPackageAction.class.php +++ b/wcfsetup/install/files/lib/acp/action/InstallPackageAction.class.php @@ -50,7 +50,7 @@ class InstallPackageAction extends AbstractDialogAction { public $templateName = 'packageInstallationStep'; /** - * @see wcf\action\Action::readParameters() + * @see wcf\action\IAction::readParameters() */ public function readParameters() { parent::readParameters(); diff --git a/wcfsetup/install/files/lib/acp/action/LogoutAction.class.php b/wcfsetup/install/files/lib/acp/action/LogoutAction.class.php index 366968835a..b72222a0da 100755 --- a/wcfsetup/install/files/lib/acp/action/LogoutAction.class.php +++ b/wcfsetup/install/files/lib/acp/action/LogoutAction.class.php @@ -17,7 +17,7 @@ use wcf\util\HeaderUtil; */ class LogoutAction extends AbstractSecureAction { /** - * @see wcf\action\Action::execute() + * @see wcf\action\IAction::execute() */ public function execute() { parent::execute(); diff --git a/wcfsetup/install/files/lib/acp/action/OptionExportAction.class.php b/wcfsetup/install/files/lib/acp/action/OptionExportAction.class.php index 57cd1bb987..d30e104283 100755 --- a/wcfsetup/install/files/lib/acp/action/OptionExportAction.class.php +++ b/wcfsetup/install/files/lib/acp/action/OptionExportAction.class.php @@ -21,7 +21,7 @@ class OptionExportAction extends AbstractAction { public $neededPermissions = array('admin.system.canEditOption'); /** - * @see wcf\action\Action::execute(); + * @see wcf\action\IAction::execute(); */ public function execute() { parent::execute(); diff --git a/wcfsetup/install/files/lib/acp/action/UninstallPackageAction.class.php b/wcfsetup/install/files/lib/acp/action/UninstallPackageAction.class.php index 751973b183..2ecd601153 100755 --- a/wcfsetup/install/files/lib/acp/action/UninstallPackageAction.class.php +++ b/wcfsetup/install/files/lib/acp/action/UninstallPackageAction.class.php @@ -32,7 +32,7 @@ class UninstallPackageAction extends InstallPackageAction { public $templateName = 'packageUninstallationStep'; /** - * @see wcf\action\Action::readParameters() + * @see wcf\action\IAction::readParameters() */ public function readParameters() { AbstractDialogAction::readParameters(); diff --git a/wcfsetup/install/files/lib/acp/form/ACPForm.class.php b/wcfsetup/install/files/lib/acp/form/ACPForm.class.php index 74af129701..cf98b005f5 100755 --- a/wcfsetup/install/files/lib/acp/form/ACPForm.class.php +++ b/wcfsetup/install/files/lib/acp/form/ACPForm.class.php @@ -22,7 +22,7 @@ class ACPForm extends AbstractForm { public $activeMenuItem = ''; /** - * @see wcf\page\Page::show() + * @see wcf\page\IPage::show() */ public function show() { // enable menu item diff --git a/wcfsetup/install/files/lib/acp/form/AbstractOptionListForm.class.php b/wcfsetup/install/files/lib/acp/form/AbstractOptionListForm.class.php index 96b88e17c9..24ee8d1ca8 100755 --- a/wcfsetup/install/files/lib/acp/form/AbstractOptionListForm.class.php +++ b/wcfsetup/install/files/lib/acp/form/AbstractOptionListForm.class.php @@ -95,7 +95,7 @@ abstract class AbstractOptionListForm extends AbstractForm { public $typeObjects = array(); /** - * @see wcf\form\Form::readFormParameters() + * @see wcf\form\IForm::readFormParameters() */ public function readFormParameters() { parent::readFormParameters(); @@ -107,7 +107,7 @@ abstract class AbstractOptionListForm extends AbstractForm { * Returns an object of the requested option type. * * @param string $type - * @return OptionType + * @return wcf\system\option\IOptionType */ protected function getTypeObject($type) { if (!isset($this->typeObjects[$type])) { @@ -117,8 +117,8 @@ abstract class AbstractOptionListForm extends AbstractForm { if (!class_exists($className)) { throw new SystemException("unable to find class '".$className."'", 11001); } - if (!ClassUtil::isInstanceOf($className, 'wcf\system\option\OptionType')) { - throw new SystemException("'".$className."' should implement OptionType"); + if (!ClassUtil::isInstanceOf($className, 'wcf\system\option\IOptionType')) { + throw new SystemException("'".$className."' should implement wcf\system\option\IOptionType"); } // create instance $this->typeObjects[$type] = new $className(); @@ -128,7 +128,7 @@ abstract class AbstractOptionListForm extends AbstractForm { } /** - * @see wcf\form\Form::validate() + * @see wcf\form\IForm::validate() */ public function validate() { parent::validate(); @@ -250,7 +250,7 @@ abstract class AbstractOptionListForm extends AbstractForm { } /** - * @see OptionType::getFormElement() + * @see wcf\system\option\IOptionType::getFormElement() */ protected function getFormElement($type, Option $option) { return $this->getTypeObject($type)->getFormElement($option, (isset($this->optionValues[$option->optionName]) ? $this->optionValues[$option->optionName] : null)); diff --git a/wcfsetup/install/files/lib/acp/form/CronjobAddForm.class.php b/wcfsetup/install/files/lib/acp/form/CronjobAddForm.class.php index 565e275307..f336d3feae 100755 --- a/wcfsetup/install/files/lib/acp/form/CronjobAddForm.class.php +++ b/wcfsetup/install/files/lib/acp/form/CronjobAddForm.class.php @@ -83,7 +83,7 @@ class CronjobAddForm extends ACPForm { public $startDow = '*'; /** - * @see wcf\form\Form::readFormParameters() + * @see wcf\form\IForm::readFormParameters() */ public function readFormParameters() { parent::readFormParameters(); @@ -98,7 +98,7 @@ class CronjobAddForm extends ACPForm { } /** - * @see wcf\form\Form::validate() + * @see wcf\form\IForm::validate() */ public function validate() { parent::validate(); @@ -127,7 +127,7 @@ class CronjobAddForm extends ACPForm { } /** - * @see wcf\form\Form::save() + * @see wcf\form\IForm::save() */ public function save() { parent::save(); @@ -159,7 +159,7 @@ class CronjobAddForm extends ACPForm { } /** - * @see wcf\page\Page::assignVariables() + * @see wcf\page\IPage::assignVariables() */ public function assignVariables() { parent::assignVariables(); diff --git a/wcfsetup/install/files/lib/acp/form/CronjobEditForm.class.php b/wcfsetup/install/files/lib/acp/form/CronjobEditForm.class.php index aaea0396d6..bcca5511ee 100755 --- a/wcfsetup/install/files/lib/acp/form/CronjobEditForm.class.php +++ b/wcfsetup/install/files/lib/acp/form/CronjobEditForm.class.php @@ -41,7 +41,7 @@ class CronjobEditForm extends CronjobAddForm { public $cronjob = null; /** - * @see wcf\page\Page::readParameters() + * @see wcf\page\IPage::readParameters() */ public function readParameters() { parent::readParameters(); @@ -56,7 +56,7 @@ class CronjobEditForm extends CronjobAddForm { } /** - * @see wcf\form\Form::save() + * @see wcf\form\IForm::save() */ public function save() { ACPForm::save(); @@ -84,7 +84,7 @@ class CronjobEditForm extends CronjobAddForm { } /** - * @see wcf\page\Page::readData() + * @see wcf\page\IPage::readData() */ public function readData() { parent::readData(); @@ -101,7 +101,7 @@ class CronjobEditForm extends CronjobAddForm { } /** - * @see wcf\page\Page::assignVariables() + * @see wcf\page\IPage::assignVariables() */ public function assignVariables() { parent::assignVariables(); diff --git a/wcfsetup/install/files/lib/acp/form/LoginForm.class.php b/wcfsetup/install/files/lib/acp/form/LoginForm.class.php index 19649149b9..ab6b983e56 100755 --- a/wcfsetup/install/files/lib/acp/form/LoginForm.class.php +++ b/wcfsetup/install/files/lib/acp/form/LoginForm.class.php @@ -61,7 +61,7 @@ class LoginForm extends AbstractForm { } /** - * @see wcf\page\Page::readParameters() + * @see wcf\page\IPage::readParameters() */ public function readParameters() { parent::readParameters(); @@ -70,7 +70,7 @@ class LoginForm extends AbstractForm { } /** - * @see wcf\form\Form::readFormParameters() + * @see wcf\form\IForm::readFormParameters() */ public function readFormParameters() { parent::readFormParameters(); @@ -87,7 +87,7 @@ class LoginForm extends AbstractForm { } /** - * @see wcf\form\Form::validate() + * @see wcf\form\IForm::validate() */ public function validate() { parent::validate(); @@ -105,7 +105,7 @@ class LoginForm extends AbstractForm { } /** - * @see wcf\form\Form::save() + * @see wcf\form\IForm::save() */ public function save() { parent::save(); @@ -127,7 +127,7 @@ class LoginForm extends AbstractForm { } /** - * @see wcf\page\Page::readData() + * @see wcf\page\IPage::readData() */ public function readData() { parent::readData(); @@ -142,7 +142,7 @@ class LoginForm extends AbstractForm { } /** - * @see wcf\page\Page::assignVariables() + * @see wcf\page\IPage::assignVariables() */ public function assignVariables() { parent::assignVariables(); diff --git a/wcfsetup/install/files/lib/acp/form/MasterPasswordForm.class.php b/wcfsetup/install/files/lib/acp/form/MasterPasswordForm.class.php index 56822ea8aa..cdcf790db7 100755 --- a/wcfsetup/install/files/lib/acp/form/MasterPasswordForm.class.php +++ b/wcfsetup/install/files/lib/acp/form/MasterPasswordForm.class.php @@ -36,7 +36,7 @@ class MasterPasswordForm extends ACPForm { public $url = ''; /** - * @see wcf\page\Page::readParameters() + * @see wcf\page\IPage::readParameters() */ public function readParameters() { parent::readParameters(); @@ -47,7 +47,7 @@ class MasterPasswordForm extends ACPForm { } /** - * @see wcf\form\Form::readFormParameters() + * @see wcf\form\IForm::readFormParameters() */ public function readFormParameters() { parent::readFormParameters(); @@ -57,7 +57,7 @@ class MasterPasswordForm extends ACPForm { } /** - * @see wcf\form\Form::validate() + * @see wcf\form\IForm::validate() */ public function validate() { parent::validate(); @@ -73,7 +73,7 @@ class MasterPasswordForm extends ACPForm { } /** - * @see wcf\form\Form::save() + * @see wcf\form\IForm::save() */ public function save() { parent::save(); @@ -92,7 +92,7 @@ class MasterPasswordForm extends ACPForm { } /** - * @see wcf\page\Page::readData() + * @see wcf\page\IPage::readData() */ public function readData() { parent::readData(); @@ -103,7 +103,7 @@ class MasterPasswordForm extends ACPForm { } /** - * @see wcf\page\Page::assignVariables() + * @see wcf\page\IPage::assignVariables() */ public function assignVariables() { parent::assignVariables(); diff --git a/wcfsetup/install/files/lib/acp/form/MasterPasswordInitForm.class.php b/wcfsetup/install/files/lib/acp/form/MasterPasswordInitForm.class.php index 5a6caa318f..db330d113d 100755 --- a/wcfsetup/install/files/lib/acp/form/MasterPasswordInitForm.class.php +++ b/wcfsetup/install/files/lib/acp/form/MasterPasswordInitForm.class.php @@ -31,7 +31,7 @@ class MasterPasswordInitForm extends MasterPasswordForm { public $confirmMasterPassword = ''; /** - * @see wcf\page\Page::readParameters() + * @see wcf\page\IPage::readParameters() */ public function readParameters() { parent::readParameters(); @@ -42,7 +42,7 @@ class MasterPasswordInitForm extends MasterPasswordForm { } /** - * @see wcf\form\Form::readFormParameters() + * @see wcf\form\IForm::readFormParameters() */ public function readFormParameters() { parent::readFormParameters(); @@ -51,7 +51,7 @@ class MasterPasswordInitForm extends MasterPasswordForm { } /** - * @see wcf\form\Form::validate() + * @see wcf\form\IForm::validate() */ public function validate() { ACPForm::validate(); @@ -108,7 +108,7 @@ class MasterPasswordInitForm extends MasterPasswordForm { } /** - * @see wcf\form\Form::save() + * @see wcf\form\IForm::save() */ public function save() { // generate salt @@ -129,7 +129,7 @@ define('MASTER_PASSWORD_SALT', '".$salt."'); } /** - * @see wcf\page\Page::assignVariables() + * @see wcf\page\IPage::assignVariables() */ public function assignVariables() { parent::assignVariables(); diff --git a/wcfsetup/install/files/lib/acp/form/OptionForm.class.php b/wcfsetup/install/files/lib/acp/form/OptionForm.class.php index c186042db9..d2ba120aa3 100755 --- a/wcfsetup/install/files/lib/acp/form/OptionForm.class.php +++ b/wcfsetup/install/files/lib/acp/form/OptionForm.class.php @@ -49,7 +49,7 @@ class OptionForm extends AbstractOptionListForm { public $optionTree = array(); /** - * @see wcf\page\Page::readParameters() + * @see wcf\page\IPage::readParameters() */ public function readParameters() { parent::readParameters(); @@ -63,7 +63,7 @@ class OptionForm extends AbstractOptionListForm { } /** - * @see wcf\form\Form::readFormParameters() + * @see wcf\form\IForm::readFormParameters() */ public function readFormParameters() { parent::readFormParameters(); @@ -72,7 +72,7 @@ class OptionForm extends AbstractOptionListForm { } /** - * @see wcf\form\Form::save() + * @see wcf\form\IForm::save() */ public function save() { parent::save(); @@ -91,7 +91,7 @@ class OptionForm extends AbstractOptionListForm { } /** - * @see wcf\page\Page::readData() + * @see wcf\page\IPage::readData() */ public function readData() { parent::readData(); @@ -109,7 +109,7 @@ class OptionForm extends AbstractOptionListForm { } /** - * @see wcf\page\Page::assignVariables() + * @see wcf\page\IPage::assignVariables() */ public function assignVariables() { parent::assignVariables(); @@ -122,7 +122,7 @@ class OptionForm extends AbstractOptionListForm { } /** - * @see wcf\form\Form::show() + * @see wcf\form\IForm::show() */ public function show() { // set active menu item diff --git a/wcfsetup/install/files/lib/acp/form/OptionImportForm.class.php b/wcfsetup/install/files/lib/acp/form/OptionImportForm.class.php index 351f5d84e6..2101b64719 100755 --- a/wcfsetup/install/files/lib/acp/form/OptionImportForm.class.php +++ b/wcfsetup/install/files/lib/acp/form/OptionImportForm.class.php @@ -45,7 +45,7 @@ class OptionImportForm extends ACPForm { public $options = array(); /** - * @see wcf\form\Form::readFormParameters() + * @see wcf\form\IForm::readFormParameters() */ public function readFormParameters() { parent::readFormParameters(); @@ -54,7 +54,7 @@ class OptionImportForm extends ACPForm { } /** - * @see wcf\form\Form::validate() + * @see wcf\form\IForm::validate() */ public function validate() { parent::validate(); @@ -96,7 +96,7 @@ class OptionImportForm extends ACPForm { } /** - * @see wcf\form\Form::save() + * @see wcf\form\IForm::save() */ public function save() { parent::save(); @@ -111,7 +111,7 @@ class OptionImportForm extends ACPForm { } /** - * @see wcf\page\Page::show() + * @see wcf\page\IPage::show() */ public function show() { // check master password diff --git a/wcfsetup/install/files/lib/acp/form/PackageStartInstallForm.class.php b/wcfsetup/install/files/lib/acp/form/PackageStartInstallForm.class.php index 34ec717818..c84684e8bc 100755 --- a/wcfsetup/install/files/lib/acp/form/PackageStartInstallForm.class.php +++ b/wcfsetup/install/files/lib/acp/form/PackageStartInstallForm.class.php @@ -36,7 +36,7 @@ class PackageStartInstallForm extends ACPForm { public $queue = null; /** - * @see wcf\form\Form::readParameters() + * @see wcf\form\IForm::readParameters() */ public function readParameters() { parent::readParameters(); @@ -55,7 +55,7 @@ class PackageStartInstallForm extends ACPForm { } /** - * @see wcf\form\Form::readFormParameters() + * @see wcf\form\IForm::readFormParameters() */ public function readFormParameters() { parent::readFormParameters(); @@ -65,7 +65,7 @@ class PackageStartInstallForm extends ACPForm { } /** - * @see wcf\form\Form::validate() + * @see wcf\form\IForm::validate() */ public function validate() { parent::validate(); @@ -168,7 +168,7 @@ class PackageStartInstallForm extends ACPForm { } /** - * @see wcf\form\Form::save() + * @see wcf\form\IForm::save() */ public function save() { parent::save(); @@ -200,7 +200,7 @@ class PackageStartInstallForm extends ACPForm { } /** - * @see wcf\page\Page::assignVariables() + * @see wcf\page\IPage::assignVariables() */ public function assignVariables() { parent::assignVariables(); @@ -212,7 +212,7 @@ class PackageStartInstallForm extends ACPForm { } /** - * @see wcf\page\Page::show() + * @see wcf\page\IPage::show() */ public function show() { if ($this->action == 'install') WCF::getSession()->checkPermission(array('admin.system.package.canInstallPackage')); diff --git a/wcfsetup/install/files/lib/acp/form/PackageUpdateAuthForm.class.php b/wcfsetup/install/files/lib/acp/form/PackageUpdateAuthForm.class.php index 228a32f01a..8034837773 100755 --- a/wcfsetup/install/files/lib/acp/form/PackageUpdateAuthForm.class.php +++ b/wcfsetup/install/files/lib/acp/form/PackageUpdateAuthForm.class.php @@ -66,7 +66,7 @@ class PackageUpdateAuthForm extends ACPForm { } /** - * @see wcf\page\Page::readParameters() + * @see wcf\page\IPage::readParameters() */ public function readParameters() { parent::readParameters(); @@ -135,7 +135,7 @@ class PackageUpdateAuthForm extends ACPForm { } /** - * @see wcf\page\Page::readData() + * @see wcf\page\IPage::readData() */ public function readData() { parent::readData(); @@ -164,7 +164,7 @@ class PackageUpdateAuthForm extends ACPForm { } /** - * @see wcf\page\Page::assignVariables() + * @see wcf\page\IPage::assignVariables() */ public function assignVariables() { parent::assignVariables(); diff --git a/wcfsetup/install/files/lib/acp/form/PackageUpdateForm.class.php b/wcfsetup/install/files/lib/acp/form/PackageUpdateForm.class.php index 68a278fa7f..fa121143c2 100755 --- a/wcfsetup/install/files/lib/acp/form/PackageUpdateForm.class.php +++ b/wcfsetup/install/files/lib/acp/form/PackageUpdateForm.class.php @@ -28,7 +28,7 @@ class PackageUpdateForm extends ACPForm { public $packageUpdate = null; /** - * @see wcf\page\Page::readParameters() + * @see wcf\page\IPage::readParameters() */ public function readParameters() { parent::readParameters(); @@ -37,7 +37,7 @@ class PackageUpdateForm extends ACPForm { } /** - * @see wcf\form\Form::validate() + * @see wcf\form\IForm::validate() */ public function validate() { parent::validate(); @@ -62,7 +62,7 @@ class PackageUpdateForm extends ACPForm { } /** - * @see wcf\form\Form::save() + * @see wcf\form\IForm::save() */ public function save() { if (isset($_POST['send'])) { @@ -79,7 +79,7 @@ class PackageUpdateForm extends ACPForm { } /** - * @see wcf\page\Page::readData() + * @see wcf\page\IPage::readData() */ public function readData() { parent::readData(); @@ -91,7 +91,7 @@ class PackageUpdateForm extends ACPForm { } /** - * @see wcf\page\Page::assignVariables() + * @see wcf\page\IPage::assignVariables() */ public function assignVariables() { parent::assignVariables(); @@ -104,7 +104,7 @@ class PackageUpdateForm extends ACPForm { } /** - * @see wcf\page\Page::assignVariables() + * @see wcf\page\IPage::assignVariables() */ public function show() { // check master password diff --git a/wcfsetup/install/files/lib/acp/form/PackageUpdateSearchForm.class.php b/wcfsetup/install/files/lib/acp/form/PackageUpdateSearchForm.class.php index 87dfc87670..43b61ceed2 100644 --- a/wcfsetup/install/files/lib/acp/form/PackageUpdateSearchForm.class.php +++ b/wcfsetup/install/files/lib/acp/form/PackageUpdateSearchForm.class.php @@ -39,7 +39,7 @@ class PackageUpdateSearchForm extends ACPForm { public $packageUpdateIDs = ''; /** - * @see wcf\form\Form::readFormParameters() + * @see wcf\form\IForm::readFormParameters() */ public function readFormParameters() { parent::readFormParameters(); @@ -56,7 +56,7 @@ class PackageUpdateSearchForm extends ACPForm { } /** - * @see wcf\form\Form::validate() + * @see wcf\form\IForm::validate() */ public function validate() { parent::validate(); @@ -166,7 +166,7 @@ class PackageUpdateSearchForm extends ACPForm { } /** - * @see wcf\form\Form::save() + * @see wcf\form\IForm::save() */ public function save() { parent::save(); @@ -187,7 +187,7 @@ class PackageUpdateSearchForm extends ACPForm { } /** - * @see wcf\page\Page::readData() + * @see wcf\page\IPage::readData() */ public function readData() { parent::readData(); @@ -196,7 +196,7 @@ class PackageUpdateSearchForm extends ACPForm { } /** - * @see wcf\page\Page::assignVariables() + * @see wcf\page\IPage::assignVariables() */ public function assignVariables() { parent::assignVariables(); @@ -215,7 +215,7 @@ class PackageUpdateSearchForm extends ACPForm { } /** - * @see wcf\page\Page::assignVariables() + * @see wcf\page\IPage::assignVariables() */ public function show() { // check master password diff --git a/wcfsetup/install/files/lib/acp/form/UpdateServerAddForm.class.php b/wcfsetup/install/files/lib/acp/form/UpdateServerAddForm.class.php index 7e99061f32..c219e8e687 100755 --- a/wcfsetup/install/files/lib/acp/form/UpdateServerAddForm.class.php +++ b/wcfsetup/install/files/lib/acp/form/UpdateServerAddForm.class.php @@ -52,7 +52,7 @@ class UpdateServerAddForm extends ACPForm { public $loginPassword = ''; /** - * @see wcf\form\Form::readFormParameters() + * @see wcf\form\IForm::readFormParameters() */ public function readFormParameters() { parent::readFormParameters(); @@ -63,7 +63,7 @@ class UpdateServerAddForm extends ACPForm { } /** - * @see wcf\form\Form::validate() + * @see wcf\form\IForm::validate() */ public function validate() { parent::validate(); @@ -78,7 +78,7 @@ class UpdateServerAddForm extends ACPForm { } /** - * @see wcf\form\Form::save() + * @see wcf\form\IForm::save() */ public function save() { parent::save(); @@ -100,7 +100,7 @@ class UpdateServerAddForm extends ACPForm { } /** - * @see wcf\page\Page::assignVariables() + * @see wcf\page\IPage::assignVariables() */ public function assignVariables() { parent::assignVariables(); @@ -114,7 +114,7 @@ class UpdateServerAddForm extends ACPForm { } /** - * @see wcf\page\Page::assignVariables() + * @see wcf\page\IPage::assignVariables() */ public function show() { // check master password diff --git a/wcfsetup/install/files/lib/acp/form/UpdateServerEditForm.class.php b/wcfsetup/install/files/lib/acp/form/UpdateServerEditForm.class.php index e3f970827f..4160116925 100755 --- a/wcfsetup/install/files/lib/acp/form/UpdateServerEditForm.class.php +++ b/wcfsetup/install/files/lib/acp/form/UpdateServerEditForm.class.php @@ -35,7 +35,7 @@ class UpdateServerEditForm extends UpdateServerAddForm { public $updateServer = null; /** - * @see wcf\page\Page::readParameters() + * @see wcf\page\IPage::readParameters() */ public function readParameters() { parent::readParameters(); @@ -48,7 +48,7 @@ class UpdateServerEditForm extends UpdateServerAddForm { } /** - * @see wcf\form\Form::save() + * @see wcf\form\IForm::save() */ public function save() { AbstractForm::save(); @@ -67,7 +67,7 @@ class UpdateServerEditForm extends UpdateServerAddForm { } /** - * @see wcf\page\Page::readData() + * @see wcf\page\IPage::readData() */ public function readData() { parent::readData(); @@ -80,7 +80,7 @@ class UpdateServerEditForm extends UpdateServerAddForm { } /** - * @see wcf\page\Page::assignVariables() + * @see wcf\page\IPage::assignVariables() */ public function assignVariables() { parent::assignVariables(); diff --git a/wcfsetup/install/files/lib/acp/form/UserAddForm.class.php b/wcfsetup/install/files/lib/acp/form/UserAddForm.class.php index a291bd514d..28ddabce7f 100755 --- a/wcfsetup/install/files/lib/acp/form/UserAddForm.class.php +++ b/wcfsetup/install/files/lib/acp/form/UserAddForm.class.php @@ -95,7 +95,7 @@ class UserAddForm extends UserOptionListForm { public $additionalFields = array(); /** - * @see wcf\form\Form::readFormParameters() + * @see wcf\form\IForm::readFormParameters() */ public function readFormParameters() { parent::readFormParameters(); @@ -111,7 +111,7 @@ class UserAddForm extends UserOptionListForm { } /** - * @see wcf\form\Form::validate() + * @see wcf\form\IForm::validate() */ public function validate() { // validate static user options @@ -178,7 +178,7 @@ class UserAddForm extends UserOptionListForm { } /** - * @see wcf\form\Form::save() + * @see wcf\form\IForm::save() */ public function save() { AbstractForm::save(); @@ -281,7 +281,7 @@ class UserAddForm extends UserOptionListForm { } /** - * @see wcf\page\Page::readData() + * @see wcf\page\IPage::readData() */ public function readData() { parent::readData(); @@ -290,7 +290,7 @@ class UserAddForm extends UserOptionListForm { } /** - * @see wcf\page\Page::assignVariables() + * @see wcf\page\IPage::assignVariables() */ public function assignVariables() { parent::assignVariables(); @@ -313,7 +313,7 @@ class UserAddForm extends UserOptionListForm { } /** - * @see wcf\page\Page::show() + * @see wcf\page\IPage::show() */ public function show() { // set active menu item diff --git a/wcfsetup/install/files/lib/acp/form/UserAssignToGroupForm.class.php b/wcfsetup/install/files/lib/acp/form/UserAssignToGroupForm.class.php index b540eb2bfa..87a26c0f9d 100755 --- a/wcfsetup/install/files/lib/acp/form/UserAssignToGroupForm.class.php +++ b/wcfsetup/install/files/lib/acp/form/UserAssignToGroupForm.class.php @@ -31,7 +31,7 @@ class UserAssignToGroupForm extends ACPForm { public $groups = array(); /** - * @see wcf\form\Form::readFormParameters() + * @see wcf\form\IForm::readFormParameters() */ public function readFormParameters() { parent::readFormParameters(); @@ -41,7 +41,7 @@ class UserAssignToGroupForm extends ACPForm { } /** - * @see wcf\form\Form::validate() + * @see wcf\form\IForm::validate() */ public function validate() { parent::validate(); @@ -59,7 +59,7 @@ class UserAssignToGroupForm extends ACPForm { } /** - * @see wcf\form\Form::save() + * @see wcf\form\IForm::save() */ public function save() { parent::save(); @@ -97,7 +97,7 @@ class UserAssignToGroupForm extends ACPForm { } /** - * @see wcf\page\Page::readData() + * @see wcf\page\IPage::readData() */ public function readData() { parent::readData(); @@ -116,7 +116,7 @@ class UserAssignToGroupForm extends ACPForm { } /** - * @see wcf\page\Page::assignVariables() + * @see wcf\page\IPage::assignVariables() */ public function assignVariables() { parent::assignVariables(); diff --git a/wcfsetup/install/files/lib/acp/form/UserEditForm.class.php b/wcfsetup/install/files/lib/acp/form/UserEditForm.class.php index 01ee662152..d8bbd09803 100755 --- a/wcfsetup/install/files/lib/acp/form/UserEditForm.class.php +++ b/wcfsetup/install/files/lib/acp/form/UserEditForm.class.php @@ -44,7 +44,7 @@ class UserEditForm extends UserAddForm { public $user = null; /** - * @see wcf\page\Page::readParameters() + * @see wcf\page\IPage::readParameters() */ public function readParameters() { parent::readParameters(); @@ -64,7 +64,7 @@ class UserEditForm extends UserAddForm { } /** - * @see wcf\page\Page::readFormParameters() + * @see wcf\page\IPage::readFormParameters() */ public function readFormParameters() { parent::readFormParameters(); @@ -74,7 +74,7 @@ class UserEditForm extends UserAddForm { } /** - * @see wcf\page\Page::readData() + * @see wcf\page\IPage::readData() */ public function readData() { if (!count($_POST)) { @@ -113,7 +113,7 @@ class UserEditForm extends UserAddForm { } /** - * @see wcf\page\Page::assignVariables() + * @see wcf\page\IPage::assignVariables() */ public function assignVariables() { parent::assignVariables(); @@ -128,7 +128,7 @@ class UserEditForm extends UserAddForm { } /** - * @see wcf\form\Form::save() + * @see wcf\form\IForm::save() */ public function save() { AbstractForm::save(); diff --git a/wcfsetup/install/files/lib/acp/form/UserEmailAddressExportForm.class.php b/wcfsetup/install/files/lib/acp/form/UserEmailAddressExportForm.class.php index 73de0c6bd0..5e9c4cf411 100755 --- a/wcfsetup/install/files/lib/acp/form/UserEmailAddressExportForm.class.php +++ b/wcfsetup/install/files/lib/acp/form/UserEmailAddressExportForm.class.php @@ -29,7 +29,7 @@ class UserEmailAddressExportForm extends ACPForm { public $users = array(); /** - * @see wcf\form\Form::readFormParameters() + * @see wcf\form\IForm::readFormParameters() */ public function readFormParameters() { parent::readFormParameters(); @@ -41,7 +41,7 @@ class UserEmailAddressExportForm extends ACPForm { } /** - * @see wcf\form\Form::validate() + * @see wcf\form\IForm::validate() */ public function validate() { parent::validate(); @@ -50,7 +50,7 @@ class UserEmailAddressExportForm extends ACPForm { } /** - * @see wcf\form\Form::save() + * @see wcf\form\IForm::save() */ public function save() { parent::save(); @@ -100,7 +100,7 @@ class UserEmailAddressExportForm extends ACPForm { } /** - * @see wcf\page\Page::readData() + * @see wcf\page\IPage::readData() */ public function readData() { parent::readData(); @@ -116,7 +116,7 @@ class UserEmailAddressExportForm extends ACPForm { } /** - * @see wcf\page\Page::assignVariables() + * @see wcf\page\IPage::assignVariables() */ public function assignVariables() { parent::assignVariables(); diff --git a/wcfsetup/install/files/lib/acp/form/UserGroupAddForm.class.php b/wcfsetup/install/files/lib/acp/form/UserGroupAddForm.class.php index a46cf53a72..b58fb5506a 100755 --- a/wcfsetup/install/files/lib/acp/form/UserGroupAddForm.class.php +++ b/wcfsetup/install/files/lib/acp/form/UserGroupAddForm.class.php @@ -73,7 +73,7 @@ class UserGroupAddForm extends AbstractOptionListForm { public $additionalFields = array(); /** - * @see wcf\form\Form::readFormParameters() + * @see wcf\form\IForm::readFormParameters() */ public function readFormParameters() { parent::readFormParameters(); @@ -84,7 +84,7 @@ class UserGroupAddForm extends AbstractOptionListForm { } /** - * @see wcf\form\Form::validate() + * @see wcf\form\IForm::validate() */ public function validate() { // validate dynamic options @@ -106,7 +106,7 @@ class UserGroupAddForm extends AbstractOptionListForm { } /** - * @see wcf\form\Form::save() + * @see wcf\form\IForm::save() */ public function save() { parent::save(); @@ -139,7 +139,7 @@ class UserGroupAddForm extends AbstractOptionListForm { } /** - * @see wcf\page\Page::readData() + * @see wcf\page\IPage::readData() */ public function readData() { AbstractOptionListForm::readData(); @@ -175,7 +175,7 @@ class UserGroupAddForm extends AbstractOptionListForm { } /** - * @see wcf\page\Page::assignVariables() + * @see wcf\page\IPage::assignVariables() */ public function assignVariables() { parent::assignVariables(); @@ -190,7 +190,7 @@ class UserGroupAddForm extends AbstractOptionListForm { } /** - * @see Form::show() + * @see wcf\form\IForm::show() */ public function show() { // set active menu item @@ -217,8 +217,8 @@ class UserGroupAddForm extends AbstractOptionListForm { if (!class_exists($className)) { throw new SystemException("unable to find class '".$className."'", 11001); } - if (!ClassUtil::isInstanceOf($className, 'wcf\system\option\group\GroupOptionType')) { - throw new SystemException("'".$className."' should implement GroupOptionType", 11001); + if (!ClassUtil::isInstanceOf($className, 'wcf\system\option\group\IGroupOptionType')) { + throw new SystemException("'".$className."' should implement wcf\system\option\group\IGroupOptionType", 11001); } $this->typeObjects[$type] = new $className(); } diff --git a/wcfsetup/install/files/lib/acp/form/UserGroupEditForm.class.php b/wcfsetup/install/files/lib/acp/form/UserGroupEditForm.class.php index 777702da49..5dca68448e 100755 --- a/wcfsetup/install/files/lib/acp/form/UserGroupEditForm.class.php +++ b/wcfsetup/install/files/lib/acp/form/UserGroupEditForm.class.php @@ -43,7 +43,7 @@ class UserGroupEditForm extends UserGroupAddForm { public $group = null; /** - * @see wcf\page\Page::readParameters() + * @see wcf\page\IPage::readParameters() */ public function readParameters() { parent::readParameters(); @@ -62,7 +62,7 @@ class UserGroupEditForm extends UserGroupAddForm { } /** - * @see wcf\page\Page::readData() + * @see wcf\page\IPage::readData() */ public function readData() { if (!count($_POST)) { @@ -91,7 +91,7 @@ class UserGroupEditForm extends UserGroupAddForm { } /** - * @see wcf\page\Page::assignVariables() + * @see wcf\page\IPage::assignVariables() */ public function assignVariables() { parent::assignVariables(); @@ -108,7 +108,7 @@ class UserGroupEditForm extends UserGroupAddForm { } /** - * @see wcf\form\Form::save() + * @see wcf\form\IForm::save() */ public function save() { AbstractForm::save(); diff --git a/wcfsetup/install/files/lib/acp/form/UserMailForm.class.php b/wcfsetup/install/files/lib/acp/form/UserMailForm.class.php index a991e567af..e2a9390111 100755 --- a/wcfsetup/install/files/lib/acp/form/UserMailForm.class.php +++ b/wcfsetup/install/files/lib/acp/form/UserMailForm.class.php @@ -34,7 +34,7 @@ class UserMailForm extends ACPForm { public $enableHTML = 0; /** - * @see wcf\page\Page::readParameters() + * @see wcf\page\IPage::readParameters() */ public function readParameters() { parent::readParameters(); @@ -43,7 +43,7 @@ class UserMailForm extends ACPForm { } /** - * @see wcf\form\Form::readFormParameters() + * @see wcf\form\IForm::readFormParameters() */ public function readFormParameters() { parent::readFormParameters(); @@ -57,7 +57,7 @@ class UserMailForm extends ACPForm { } /** - * @see wcf\form\Form::validate() + * @see wcf\form\IForm::validate() */ public function validate() { parent::validate(); @@ -85,7 +85,7 @@ class UserMailForm extends ACPForm { } /** - * @see wcf\form\Form::save() + * @see wcf\form\IForm::save() */ public function save() { parent::save(); @@ -116,7 +116,7 @@ class UserMailForm extends ACPForm { } /** - * @see wcf\page\Page::assignVariables() + * @see wcf\page\IPage::assignVariables() */ public function readData() { parent::readData(); @@ -146,7 +146,7 @@ class UserMailForm extends ACPForm { } /** - * @see wcf\page\Page::assignVariables() + * @see wcf\page\IPage::assignVariables() */ public function assignVariables() { parent::assignVariables(); diff --git a/wcfsetup/install/files/lib/acp/form/UserSearchForm.class.php b/wcfsetup/install/files/lib/acp/form/UserSearchForm.class.php index b6651427fc..9acf85ccb0 100755 --- a/wcfsetup/install/files/lib/acp/form/UserSearchForm.class.php +++ b/wcfsetup/install/files/lib/acp/form/UserSearchForm.class.php @@ -124,7 +124,7 @@ class UserSearchForm extends UserOptionListForm { public $maxResults = 0; /** - * @see wcf\form\Form::readFormParameters() + * @see wcf\form\IForm::readFormParameters() */ public function readFormParameters() { parent::readFormParameters(); @@ -143,7 +143,7 @@ class UserSearchForm extends UserOptionListForm { } /** - * @see wcf\page\Page::readData() + * @see wcf\page\IPage::readData() */ public function readData() { parent::readData(); @@ -152,7 +152,7 @@ class UserSearchForm extends UserOptionListForm { } /** - * @see wcf\page\Page::assignVariables() + * @see wcf\page\IPage::assignVariables() */ public function assignVariables() { parent::assignVariables(); @@ -175,7 +175,7 @@ class UserSearchForm extends UserOptionListForm { } /** - * @see wcf\form\Form::show() + * @see wcf\form\IForm::show() */ public function show() { // set active menu item @@ -189,7 +189,7 @@ class UserSearchForm extends UserOptionListForm { } /** - * @see wcf\form\Form::save() + * @see wcf\form\IForm::save() */ public function save() { parent::save(); @@ -218,7 +218,7 @@ class UserSearchForm extends UserOptionListForm { } /** - * @see wcf\form\Form::validate() + * @see wcf\form\IForm::validate() */ public function validate() { AbstractForm::validate(); diff --git a/wcfsetup/install/files/lib/acp/form/UsersMassProcessingForm.class.php b/wcfsetup/install/files/lib/acp/form/UsersMassProcessingForm.class.php index c9755a008d..9268d8ec7e 100755 --- a/wcfsetup/install/files/lib/acp/form/UsersMassProcessingForm.class.php +++ b/wcfsetup/install/files/lib/acp/form/UsersMassProcessingForm.class.php @@ -64,7 +64,7 @@ class UsersMassProcessingForm extends UserOptionListForm { public $conditions = null; /** - * @see wcf\form\Form::readFormParameters() + * @see wcf\form\IForm::readFormParameters() */ public function readFormParameters() { parent::readFormParameters(); @@ -88,7 +88,7 @@ class UsersMassProcessingForm extends UserOptionListForm { } /** - * @see wcf\form\Form::validate() + * @see wcf\form\IForm::validate() */ public function validate() { AbstractForm::validate(); @@ -122,7 +122,7 @@ class UsersMassProcessingForm extends UserOptionListForm { } /** - * @see wcf\form\Form::save() + * @see wcf\form\IForm::save() */ public function save() { parent::save(); @@ -316,7 +316,7 @@ class UsersMassProcessingForm extends UserOptionListForm { } /** - * @see wcf\page\Page::readData() + * @see wcf\page\IPage::readData() */ public function readData() { parent::readData(); @@ -339,7 +339,7 @@ class UsersMassProcessingForm extends UserOptionListForm { } /** - * @see wcf\page\Page::assignVariables() + * @see wcf\page\IPage::assignVariables() */ public function assignVariables() { parent::assignVariables(); @@ -369,7 +369,7 @@ class UsersMassProcessingForm extends UserOptionListForm { } /** - * @see wcf\form\Form::show() + * @see wcf\form\IForm::show() */ public function show() { // set active menu item diff --git a/wcfsetup/install/files/lib/acp/page/ACPSessionLogListPage.class.php b/wcfsetup/install/files/lib/acp/page/ACPSessionLogListPage.class.php index 39d1c2822a..f18871efe2 100755 --- a/wcfsetup/install/files/lib/acp/page/ACPSessionLogListPage.class.php +++ b/wcfsetup/install/files/lib/acp/page/ACPSessionLogListPage.class.php @@ -68,7 +68,7 @@ class ACPSessionLogListPage extends SortablePage { } /** - * @see wcf\page\Page::assignVariables() + * @see wcf\page\IPage::assignVariables() */ public function assignVariables() { parent::assignVariables(); @@ -79,7 +79,7 @@ class ACPSessionLogListPage extends SortablePage { } /** - * @see wcf\page\Page::show() + * @see wcf\page\IPage::show() */ public function show() { // enable menu item diff --git a/wcfsetup/install/files/lib/acp/page/ACPSessionLogPage.class.php b/wcfsetup/install/files/lib/acp/page/ACPSessionLogPage.class.php index 980e7214b1..113e504a45 100755 --- a/wcfsetup/install/files/lib/acp/page/ACPSessionLogPage.class.php +++ b/wcfsetup/install/files/lib/acp/page/ACPSessionLogPage.class.php @@ -52,7 +52,7 @@ class ACPSessionLogPage extends SortablePage { public $objectListClassName = 'wcf\data\acp\session\access\log\ACPSessionAccessLogList'; /** - * @see wcf\page\Page::readParameters() + * @see wcf\page\IPage::readParameters() */ public function readParameters() { parent::readParameters(); @@ -102,7 +102,7 @@ class ACPSessionLogPage extends SortablePage { } /** - * @see wcf\page\Page::assignVariables() + * @see wcf\page\IPage::assignVariables() */ public function assignVariables() { parent::assignVariables(); @@ -115,7 +115,7 @@ class ACPSessionLogPage extends SortablePage { } /** - * @see wcf\page\Page::show() + * @see wcf\page\IPage::show() */ public function show() { // enable menu item diff --git a/wcfsetup/install/files/lib/acp/page/CacheListPage.class.php b/wcfsetup/install/files/lib/acp/page/CacheListPage.class.php index 333b3ad508..704fc6d235 100755 --- a/wcfsetup/install/files/lib/acp/page/CacheListPage.class.php +++ b/wcfsetup/install/files/lib/acp/page/CacheListPage.class.php @@ -40,7 +40,7 @@ class CacheListPage extends AbstractPage { public $cacheData = array(); /** - * @see wcf\page\Page::readParameters() + * @see wcf\page\IPage::readParameters() */ public function readParameters() { parent::readParameters(); @@ -49,7 +49,7 @@ class CacheListPage extends AbstractPage { } /** - * @see wcf\page\Page::readData() + * @see wcf\page\IPage::readData() */ public function readData() { parent::readData(); @@ -161,7 +161,7 @@ class CacheListPage extends AbstractPage { } /** - * @see wcf\page\Page::assignVariables() + * @see wcf\page\IPage::assignVariables() */ public function assignVariables() { parent::assignVariables(); @@ -174,7 +174,7 @@ class CacheListPage extends AbstractPage { } /** - * @see wcf\page\Page::show() + * @see wcf\page\IPage::show() */ public function show() { // enable menu item diff --git a/wcfsetup/install/files/lib/acp/page/CronjobListPage.class.php b/wcfsetup/install/files/lib/acp/page/CronjobListPage.class.php index cf008394b3..198b03937f 100755 --- a/wcfsetup/install/files/lib/acp/page/CronjobListPage.class.php +++ b/wcfsetup/install/files/lib/acp/page/CronjobListPage.class.php @@ -47,7 +47,7 @@ class CronjobListPage extends SortablePage { } /** - * @see wcf\page\Page::assignVariables() + * @see wcf\page\IPage::assignVariables() */ public function assignVariables() { parent::assignVariables(); @@ -77,7 +77,7 @@ class CronjobListPage extends SortablePage { } /** - * @see wcf\page\Page::show() + * @see wcf\page\IPage::show() */ public function show() { // set active menu item. diff --git a/wcfsetup/install/files/lib/acp/page/CronjobLogListPage.class.php b/wcfsetup/install/files/lib/acp/page/CronjobLogListPage.class.php index 8cf8e0325b..a95cc05904 100755 --- a/wcfsetup/install/files/lib/acp/page/CronjobLogListPage.class.php +++ b/wcfsetup/install/files/lib/acp/page/CronjobLogListPage.class.php @@ -67,7 +67,7 @@ class CronjobLogListPage extends SortablePage { } /** - * @see wcf\page\Page::assignVariables() + * @see wcf\page\IPage::assignVariables() */ public function assignVariables() { parent::assignVariables(); @@ -94,7 +94,7 @@ class CronjobLogListPage extends SortablePage { } /** - * @see wcf\page\Page::show() + * @see wcf\page\IPage::show() */ public function show() { // set active menu item. diff --git a/wcfsetup/install/files/lib/acp/page/IndexPage.class.php b/wcfsetup/install/files/lib/acp/page/IndexPage.class.php index 8c1e74d6da..bd3f22f4ab 100755 --- a/wcfsetup/install/files/lib/acp/page/IndexPage.class.php +++ b/wcfsetup/install/files/lib/acp/page/IndexPage.class.php @@ -21,7 +21,7 @@ class IndexPage extends AbstractPage { public $templateName = 'index'; /** - * @see wcf\page\Page::show() + * @see wcf\page\IPage::show() */ public function show() { $wcfPackageID = WCFACP::getWcfPackageID(); diff --git a/wcfsetup/install/files/lib/acp/page/PackageAutoUpdateListPage.class.php b/wcfsetup/install/files/lib/acp/page/PackageAutoUpdateListPage.class.php index d8f1161c7e..cddd0b2349 100755 --- a/wcfsetup/install/files/lib/acp/page/PackageAutoUpdateListPage.class.php +++ b/wcfsetup/install/files/lib/acp/page/PackageAutoUpdateListPage.class.php @@ -23,7 +23,7 @@ class PackageAutoUpdateListPage extends AbstractPage { public $availableUpdates = array(); /** - * @see wcf\page\Page::assignVariables() + * @see wcf\page\IPage::assignVariables() */ public function readParameters() { parent::readParameters(); @@ -38,7 +38,7 @@ class PackageAutoUpdateListPage extends AbstractPage { } /** - * @see wcf\page\Page::assignVariables() + * @see wcf\page\IPage::assignVariables() */ public function assignVariables() { parent::assignVariables(); @@ -49,7 +49,7 @@ class PackageAutoUpdateListPage extends AbstractPage { } /** - * @see wcf\page\Page::show() + * @see wcf\page\IPage::show() */ public function show() { // set active menu item diff --git a/wcfsetup/install/files/lib/acp/page/PackageListPage.class.php b/wcfsetup/install/files/lib/acp/page/PackageListPage.class.php index 6bb1275ba4..0f01d3adc2 100755 --- a/wcfsetup/install/files/lib/acp/page/PackageListPage.class.php +++ b/wcfsetup/install/files/lib/acp/page/PackageListPage.class.php @@ -47,7 +47,7 @@ class PackageListPage extends SortablePage { } /** - * @see wcf\page\Page::assignVariables() + * @see wcf\page\IPage::assignVariables() */ public function assignVariables() { parent::assignVariables(); @@ -56,7 +56,7 @@ class PackageListPage extends SortablePage { } /** - * @see wcf\page\Page::show() + * @see wcf\page\IPage::show() */ public function show() { // enable menu item diff --git a/wcfsetup/install/files/lib/acp/page/PackagePage.class.php b/wcfsetup/install/files/lib/acp/page/PackagePage.class.php index b87f67969a..ce184d46ed 100755 --- a/wcfsetup/install/files/lib/acp/page/PackagePage.class.php +++ b/wcfsetup/install/files/lib/acp/page/PackagePage.class.php @@ -27,7 +27,7 @@ class PackagePage extends AbstractPage { public $queueID = 0; /** - * @see wcf\page\Page::readParameters() + * @see wcf\page\IPage::readParameters() */ public function readParameters() { parent::readParameters(); @@ -38,7 +38,7 @@ class PackagePage extends AbstractPage { } /** - * @see wcf\page\Page::show() + * @see wcf\page\IPage::show() */ public function show() { parent::show(); diff --git a/wcfsetup/install/files/lib/acp/page/PackageUpdateSearchResultPage.class.php b/wcfsetup/install/files/lib/acp/page/PackageUpdateSearchResultPage.class.php index e0e559264b..6eb7786808 100755 --- a/wcfsetup/install/files/lib/acp/page/PackageUpdateSearchResultPage.class.php +++ b/wcfsetup/install/files/lib/acp/page/PackageUpdateSearchResultPage.class.php @@ -33,7 +33,7 @@ class PackageUpdateSearchResultPage extends SortablePage { public $packages = array(); /** - * @see wcf\page\Page::readParameters() + * @see wcf\page\IPage::readParameters() */ public function readParameters() { parent::readParameters(); @@ -59,7 +59,7 @@ class PackageUpdateSearchResultPage extends SortablePage { } /** - * @see wcf\page\Page::readData() + * @see wcf\page\IPage::readData() */ public function readData() { parent::readData(); @@ -168,7 +168,7 @@ class PackageUpdateSearchResultPage extends SortablePage { } /** - * @see wcf\page\Page::assignVariables() + * @see wcf\page\IPage::assignVariables() */ public function assignVariables() { parent::assignVariables(); @@ -181,7 +181,7 @@ class PackageUpdateSearchResultPage extends SortablePage { } /** - * @see Page::show() + * @see wcf\page\IPage::show() */ public function show() { // set active menu item diff --git a/wcfsetup/install/files/lib/acp/page/PackageViewPage.class.php b/wcfsetup/install/files/lib/acp/page/PackageViewPage.class.php index c371c77efc..58b580ac49 100755 --- a/wcfsetup/install/files/lib/acp/page/PackageViewPage.class.php +++ b/wcfsetup/install/files/lib/acp/page/PackageViewPage.class.php @@ -25,7 +25,7 @@ class PackageViewPage extends AbstractPage { public $dependencies = array(); /** - * @see wcf\page\Page::readParameters() + * @see wcf\page\IPage::readParameters() */ public function readParameters() { parent::readParameters(); @@ -34,7 +34,7 @@ class PackageViewPage extends AbstractPage { } /** - * @see wcf\page\Page::readData() + * @see wcf\page\IPage::readData() */ public function readData() { parent::readData(); @@ -52,7 +52,7 @@ class PackageViewPage extends AbstractPage { } /** - * @see wcf\page\Page::assignVariables() + * @see wcf\page\IPage::assignVariables() */ public function assignVariables() { parent::assignVariables(); @@ -66,7 +66,7 @@ class PackageViewPage extends AbstractPage { } /** - * @see wcf\page\Page::show() + * @see wcf\page\IPage::show() */ public function show() { // enable menu item diff --git a/wcfsetup/install/files/lib/acp/page/UpdateServerListPage.class.php b/wcfsetup/install/files/lib/acp/page/UpdateServerListPage.class.php index 3532f9e56d..70015d7493 100755 --- a/wcfsetup/install/files/lib/acp/page/UpdateServerListPage.class.php +++ b/wcfsetup/install/files/lib/acp/page/UpdateServerListPage.class.php @@ -27,7 +27,7 @@ class UpdateServerListPage extends SortablePage { public $objectListClassName = 'wcf\data\package\update\server\PackageUpdateServerList'; /** - * @see wcf\page\Page::readParameters() + * @see wcf\page\IPage::readParameters() */ public function readParameters() { parent::readParameters(); @@ -45,7 +45,7 @@ class UpdateServerListPage extends SortablePage { } /** - * @see wcf\page\Page::assignVariables() + * @see wcf\page\IPage::assignVariables() */ public function assignVariables() { parent::assignVariables(); @@ -57,7 +57,7 @@ class UpdateServerListPage extends SortablePage { } /** - * @see wcf\page\Page::show() + * @see wcf\page\IPage::show() */ public function show() { // enable menu item diff --git a/wcfsetup/install/files/lib/acp/page/UserGroupListPage.class.php b/wcfsetup/install/files/lib/acp/page/UserGroupListPage.class.php index 2bec75eaed..85c4f2d131 100755 --- a/wcfsetup/install/files/lib/acp/page/UserGroupListPage.class.php +++ b/wcfsetup/install/files/lib/acp/page/UserGroupListPage.class.php @@ -27,7 +27,7 @@ class UserGroupListPage extends SortablePage { public $objectListClassName = 'wcf\data\user\group\UserGroupList'; /** - * @see wcf\page\Page::readParameters() + * @see wcf\page\IPage::readParameters() */ public function readParameters() { parent::readParameters(); @@ -72,7 +72,7 @@ class UserGroupListPage extends SortablePage { } /** - * @see wcf\page\Page::assignVariables() + * @see wcf\page\IPage::assignVariables() */ public function assignVariables() { parent::assignVariables(); @@ -84,7 +84,7 @@ class UserGroupListPage extends SortablePage { } /** - * @see wcf\page\Page::show() + * @see wcf\page\IPage::show() */ public function show() { // enable menu item diff --git a/wcfsetup/install/files/lib/acp/page/UserListPage.class.php b/wcfsetup/install/files/lib/acp/page/UserListPage.class.php index b24a85ce9d..76a8d1723e 100755 --- a/wcfsetup/install/files/lib/acp/page/UserListPage.class.php +++ b/wcfsetup/install/files/lib/acp/page/UserListPage.class.php @@ -44,7 +44,7 @@ class UserListPage extends SortablePage { public $sqlConditions = ''; /** - * @see wcf\page\Page::readParameters() + * @see wcf\page\IPage::readParameters() */ public function readParameters() { parent::readParameters(); @@ -83,7 +83,7 @@ class UserListPage extends SortablePage { } /** - * @see wcf\page\Page::readData() + * @see wcf\page\IPage::readData() */ public function readData() { parent::readData(); @@ -103,7 +103,7 @@ class UserListPage extends SortablePage { } /** - * @see wcf\page\Page::assignVariables() + * @see wcf\page\IPage::assignVariables() */ public function assignVariables() { parent::assignVariables(); @@ -119,7 +119,7 @@ class UserListPage extends SortablePage { } /** - * @see wcf\page\Page::show() + * @see wcf\page\IPage::show() */ public function show() { // set active menu item diff --git a/wcfsetup/install/files/lib/action/AJAXProxyAction.class.php b/wcfsetup/install/files/lib/action/AJAXProxyAction.class.php index 4ae8441dec..28ba542387 100644 --- a/wcfsetup/install/files/lib/action/AJAXProxyAction.class.php +++ b/wcfsetup/install/files/lib/action/AJAXProxyAction.class.php @@ -44,7 +44,7 @@ class AJAXProxyAction extends AbstractSecureAction { /** * object action - * @var DatabaseObjectAction + * @var wcf\data\IDatabaseObjectAction */ protected $objectAction = null; @@ -101,8 +101,8 @@ class AJAXProxyAction extends AbstractSecureAction { if (!class_exists($this->className)) { throw new AJAXException("unknown class '".$this->className."'"); } - if (!ClassUtil::isInstanceOf($this->className, 'wcf\data\DatabaseObjectAction')) { - throw new AJAXException("'".$this->className."' should implement DatabaseObjectAction"); + if (!ClassUtil::isInstanceOf($this->className, 'wcf\data\IDatabaseObjectAction')) { + throw new AJAXException("'".$this->className."' should implement wcf\system\IDatabaseObjectAction"); } // create object action instance diff --git a/wcfsetup/install/files/lib/action/AbstractAction.class.php b/wcfsetup/install/files/lib/action/AbstractAction.class.php index 3323d3efc4..2981a2addc 100644 --- a/wcfsetup/install/files/lib/action/AbstractAction.class.php +++ b/wcfsetup/install/files/lib/action/AbstractAction.class.php @@ -15,7 +15,7 @@ use wcf\system\WCF; * @subpackage action * @category Community Framework */ -abstract class AbstractAction implements Action { +abstract class AbstractAction implements IAction { /** * Needed modules to execute this action. * @@ -41,7 +41,7 @@ abstract class AbstractAction implements Action { } /** - * @see Action::readParameters() + * @see wcf\action\IAction::readParameters() */ public function readParameters() { // call readParameters event @@ -49,7 +49,7 @@ abstract class AbstractAction implements Action { } /** - * @see Action::execute() + * @see wcf\action\IAction::execute() */ public function execute() { // check modules diff --git a/wcfsetup/install/files/lib/action/AbstractSecureAction.class.php b/wcfsetup/install/files/lib/action/AbstractSecureAction.class.php index 4bff803ad4..c47bed4efd 100644 --- a/wcfsetup/install/files/lib/action/AbstractSecureAction.class.php +++ b/wcfsetup/install/files/lib/action/AbstractSecureAction.class.php @@ -16,7 +16,7 @@ use wcf\system\WCF; */ abstract class AbstractSecureAction extends AbstractAction { /** - * @see Action::readParameters() + * @see wcf\action\IAction::readParameters() */ public function readParameters() { parent::readParameters(); diff --git a/wcfsetup/install/files/lib/action/Action.class.php b/wcfsetup/install/files/lib/action/Action.class.php deleted file mode 100644 index 4a185304df..0000000000 --- a/wcfsetup/install/files/lib/action/Action.class.php +++ /dev/null @@ -1,25 +0,0 @@ - - * @package com.woltlab.wcf - * @subpackage action - * @category Community Framework - */ -interface Action { - /** - * Reads the given parameters. - */ - public function readParameters(); - - /** - * Executes this action. - */ - public function execute(); -} diff --git a/wcfsetup/install/files/lib/action/IAction.class.php b/wcfsetup/install/files/lib/action/IAction.class.php new file mode 100644 index 0000000000..534c728f54 --- /dev/null +++ b/wcfsetup/install/files/lib/action/IAction.class.php @@ -0,0 +1,25 @@ + + * @package com.woltlab.wcf + * @subpackage action + * @category Community Framework + */ +interface IAction { + /** + * Reads the given parameters. + */ + public function readParameters(); + + /** + * Executes this action. + */ + public function execute(); +} diff --git a/wcfsetup/install/files/lib/data/AbstractDatabaseObjectAction.class.php b/wcfsetup/install/files/lib/data/AbstractDatabaseObjectAction.class.php index 37929a29e7..81aa7b4528 100644 --- a/wcfsetup/install/files/lib/data/AbstractDatabaseObjectAction.class.php +++ b/wcfsetup/install/files/lib/data/AbstractDatabaseObjectAction.class.php @@ -17,7 +17,7 @@ use wcf\util\StringUtil; * @subpackage data * @category Community Framework */ -abstract class AbstractDatabaseObjectAction implements DatabaseObjectAction { +abstract class AbstractDatabaseObjectAction implements IDatabaseObjectAction { /** * pending action * @@ -98,7 +98,7 @@ abstract class AbstractDatabaseObjectAction implements DatabaseObjectAction { } /** - * @see DatabaseObjectAction::validateAction() + * @see wcf\data\IDatabaseObjectAction::validateAction() */ public function validateAction() { // validate action name @@ -116,7 +116,7 @@ abstract class AbstractDatabaseObjectAction implements DatabaseObjectAction { } /** - * @see DatabaseObjectAction::executeAction() + * @see wcf\data\IDatabaseObjectAction::executeAction() */ public function executeAction() { // execute action @@ -125,7 +125,7 @@ abstract class AbstractDatabaseObjectAction implements DatabaseObjectAction { } // reset cache - if (ClassUtil::isInstanceOf($this->className, 'wcf\data\EditableCachedObject')) { + if (ClassUtil::isInstanceOf($this->className, 'wcf\data\IEditableCachedObject')) { call_user_func(array($this->className, 'resetCache')); } @@ -136,28 +136,28 @@ abstract class AbstractDatabaseObjectAction implements DatabaseObjectAction { } /** - * @see DatabaseObjectAction::getActionName() + * @see wcf\data\IDatabaseObjectAction::getActionName() */ public function getActionName() { return $this->action; } /** - * @see DatabaseObjectAction::getObjectIDs() + * @see wcf\data\IDatabaseObjectAction::getObjectIDs() */ public function getObjectIDs() { return $this->objectIDs; } /** - * @see DatabaseObjectAction::getParameters() + * @see wcf\data\IDatabaseObjectAction::getParameters() */ public function getParameters() { return $this->parameters; } /** - * @see DatabaseObjectAction::getReturnValues() + * @see wcf\data\IDatabaseObjectAction::getReturnValues() */ public function getReturnValues() { return array( diff --git a/wcfsetup/install/files/lib/data/DatabaseObject.class.php b/wcfsetup/install/files/lib/data/DatabaseObject.class.php index cb0de0da37..6b58059430 100644 --- a/wcfsetup/install/files/lib/data/DatabaseObject.class.php +++ b/wcfsetup/install/files/lib/data/DatabaseObject.class.php @@ -12,7 +12,7 @@ use wcf\system\WCF; * @subpackage data * @category Community Framework */ -abstract class DatabaseObject implements StorableObject { +abstract class DatabaseObject implements IStorableObject { /** * database table for this object * @var string @@ -91,7 +91,7 @@ abstract class DatabaseObject implements StorableObject { } /** - * @see StorableObject::__get() + * @see wcf\data\IStorableObject::__get() */ public function __get($name) { if (isset($this->data[$name])) { @@ -103,35 +103,35 @@ abstract class DatabaseObject implements StorableObject { } /** - * @see StorableObject::__isset() + * @see wcf\data\IStorableObject::__isset() */ public function __isset($name) { return isset($this->data[$name]); } /** - * @see StorableObject::getDatabaseTableName() + * @see wcf\data\IStorableObject::getDatabaseTableName() */ public static function getDatabaseTableName() { return 'wcf'.WCF_N.'_'.static::$databaseTableName; } /** - * @see StorableObject::getDatabaseTableAlias() + * @see wcf\data\IStorableObject::getDatabaseTableAlias() */ public static function getDatabaseTableAlias() { return static::$databaseTableName; } /** - * @see StorableObject::getDatabaseTableIndexIsIdentity() + * @see wcf\data\IStorableObject::getDatabaseTableIndexIsIdentity() */ public static function getDatabaseTableIndexIsIdentity() { return static::$databaseTableIndexIsIdentity; } /** - * @see StorableObject::getDatabaseTableIndexName() + * @see wcf\data\IStorableObject::getDatabaseTableIndexName() */ public static function getDatabaseTableIndexName() { return static::$databaseTableIndexName; diff --git a/wcfsetup/install/files/lib/data/DatabaseObjectAction.class.php b/wcfsetup/install/files/lib/data/DatabaseObjectAction.class.php deleted file mode 100644 index 8adee360e2..0000000000 --- a/wcfsetup/install/files/lib/data/DatabaseObjectAction.class.php +++ /dev/null @@ -1,52 +0,0 @@ - - * @package com.woltlab.wcf - * @subpackage data - * @category Community Framework - */ -interface DatabaseObjectAction { - /** - * Executes the previously chosen action. - */ - public function executeAction(); - - /** - * Validates action-related parameters. - */ - public function validateAction(); - - /** - * Returns active action name. - * - * @return string - */ - public function getActionName(); - - /** - * Returns DatabaseObject-related object ids. - * - * @return array - */ - public function getObjectIDs(); - - /** - * Returns action-related parameters. - * - * @return array - */ - public function getParameters(); - - /** - * Returns results returned by active action. - * - * @return mixed - */ - public function getReturnValues(); -} diff --git a/wcfsetup/install/files/lib/data/DatabaseObjectDecorator.class.php b/wcfsetup/install/files/lib/data/DatabaseObjectDecorator.class.php index 1d46e2b86c..09da8621b3 100644 --- a/wcfsetup/install/files/lib/data/DatabaseObjectDecorator.class.php +++ b/wcfsetup/install/files/lib/data/DatabaseObjectDecorator.class.php @@ -73,21 +73,21 @@ abstract class DatabaseObjectDecorator extends DatabaseObject { } /** - * @see StorableObject::getDatabaseTableName() + * @see wcf\data\IStorableObject::getDatabaseTableName() */ public static function getDatabaseTableName() { return call_user_func(array(static::$baseClass, 'getDatabaseTableName')); } /** - * @see StorableObject::getDatabaseTableIndexIsIdentity() + * @see wcf\data\IStorableObject::getDatabaseTableIndexIsIdentity() */ public static function getDatabaseTableIndexIsIdentity() { return call_user_func(array(static::$baseClass, 'getDatabaseTableIndexIsIdentity')); } /** - * @see StorableObject::getDatabaseTableIndexName() + * @see wcf\data\IStorableObject::getDatabaseTableIndexName() */ public static function getDatabaseTableIndexName() { return call_user_func(array(static::$baseClass, 'getDatabaseTableIndexName')); diff --git a/wcfsetup/install/files/lib/data/DatabaseObjectEditor.class.php b/wcfsetup/install/files/lib/data/DatabaseObjectEditor.class.php index c44697d241..51de770660 100644 --- a/wcfsetup/install/files/lib/data/DatabaseObjectEditor.class.php +++ b/wcfsetup/install/files/lib/data/DatabaseObjectEditor.class.php @@ -12,9 +12,9 @@ use wcf\system\WCF; * @subpackage data * @category Community Framework */ -abstract class DatabaseObjectEditor extends DatabaseObjectDecorator implements EditableObject { +abstract class DatabaseObjectEditor extends DatabaseObjectDecorator implements IEditableObject { /** - * @see EditableObject::create() + * @see wcf\data\IEditableObject::create() */ public static function create(array $parameters = array()) { $keys = $values = ''; @@ -48,7 +48,7 @@ abstract class DatabaseObjectEditor extends DatabaseObjectDecorator implements E } /** - * @see EditableObject::update() + * @see wcf\data\IEditableObject::update() */ public function update(array $parameters = array()) { if (!count($parameters)) return; @@ -70,14 +70,14 @@ abstract class DatabaseObjectEditor extends DatabaseObjectDecorator implements E } /** - * @see EditableObject::delete() + * @see wcf\data\IEditableObject::delete() */ public function delete() { static::deleteAll(array($this->__get(static::getDatabaseTableIndexName()))); } /** - * @see EditableObject::deleteAll() + * @see wcf\data\IEditableObject::deleteAll() */ public static function deleteAll(array $objectIDs = array()) { $sql = "DELETE FROM ".static::getDatabaseTableName()." diff --git a/wcfsetup/install/files/lib/data/EditableCachedObject.class.php b/wcfsetup/install/files/lib/data/EditableCachedObject.class.php deleted file mode 100644 index 534c35198d..0000000000 --- a/wcfsetup/install/files/lib/data/EditableCachedObject.class.php +++ /dev/null @@ -1,19 +0,0 @@ - - * @package com.woltlab.wcf - * @subpackage data - * @category Community Framework - */ -interface EditableCachedObject extends EditableObject { - /** - * Resets the cache of this object type. - */ - public static function resetCache(); -} diff --git a/wcfsetup/install/files/lib/data/EditableObject.class.php b/wcfsetup/install/files/lib/data/EditableObject.class.php deleted file mode 100644 index 289ece980b..0000000000 --- a/wcfsetup/install/files/lib/data/EditableObject.class.php +++ /dev/null @@ -1,42 +0,0 @@ - - * @package com.woltlab.wcf - * @subpackage data - * @category Community Framework - */ -interface EditableObject extends StorableObject { - /** - * Creates a new object. - * - * @param array $parameters - * @return StorableObject - */ - public static function create(array $parameters = array()); - - /** - * Updates this object. - * - * @param array $parameters - */ - public function update(array $parameters = array()); - - /** - * Deletes this object. - */ - public function delete(); - - /** - * Deletes all given objects. - * - * @param array $objectIDs - * @return integer - */ - public static function deleteAll(array $objectIDs = array()); -} diff --git a/wcfsetup/install/files/lib/data/IDatabaseObjectAction.class.php b/wcfsetup/install/files/lib/data/IDatabaseObjectAction.class.php new file mode 100644 index 0000000000..22f31cf0b4 --- /dev/null +++ b/wcfsetup/install/files/lib/data/IDatabaseObjectAction.class.php @@ -0,0 +1,52 @@ + + * @package com.woltlab.wcf + * @subpackage data + * @category Community Framework + */ +interface IDatabaseObjectAction { + /** + * Executes the previously chosen action. + */ + public function executeAction(); + + /** + * Validates action-related parameters. + */ + public function validateAction(); + + /** + * Returns active action name. + * + * @return string + */ + public function getActionName(); + + /** + * Returns DatabaseObject-related object ids. + * + * @return array + */ + public function getObjectIDs(); + + /** + * Returns action-related parameters. + * + * @return array + */ + public function getParameters(); + + /** + * Returns results returned by active action. + * + * @return mixed + */ + public function getReturnValues(); +} diff --git a/wcfsetup/install/files/lib/data/IDatabaseObjectProcessor.class.php b/wcfsetup/install/files/lib/data/IDatabaseObjectProcessor.class.php new file mode 100644 index 0000000000..a08d833e95 --- /dev/null +++ b/wcfsetup/install/files/lib/data/IDatabaseObjectProcessor.class.php @@ -0,0 +1,9 @@ + + * @package com.woltlab.wcf + * @subpackage data + * @category Community Framework + */ +interface IEditableCachedObject extends IEditableObject { + /** + * Resets the cache of this object type. + */ + public static function resetCache(); +} diff --git a/wcfsetup/install/files/lib/data/IEditableObject.class.php b/wcfsetup/install/files/lib/data/IEditableObject.class.php new file mode 100644 index 0000000000..bb61b47ac5 --- /dev/null +++ b/wcfsetup/install/files/lib/data/IEditableObject.class.php @@ -0,0 +1,42 @@ + + * @package com.woltlab.wcf + * @subpackage data + * @category Community Framework + */ +interface IEditableObject extends IStorableObject { + /** + * Creates a new object. + * + * @param array $parameters + * @return wcf\data\IStorableObject + */ + public static function create(array $parameters = array()); + + /** + * Updates this object. + * + * @param array $parameters + */ + public function update(array $parameters = array()); + + /** + * Deletes this object. + */ + public function delete(); + + /** + * Deletes all given objects. + * + * @param array $objectIDs + * @return integer + */ + public static function deleteAll(array $objectIDs = array()); +} diff --git a/wcfsetup/install/files/lib/data/IStorableObject.class.php b/wcfsetup/install/files/lib/data/IStorableObject.class.php new file mode 100644 index 0000000000..a052b2a350 --- /dev/null +++ b/wcfsetup/install/files/lib/data/IStorableObject.class.php @@ -0,0 +1,58 @@ + + * @package com.woltlab.wcf + * @subpackage data + * @category Community Framework + */ +interface IStorableObject { + /** + * Returns the value of a variable in object data. + * + * @param string $name variable name + * @return mixed value + */ + public function __get($name); + + /** + * Determines if a variable is set and is not NULL. + * + * @param string $name variable name + * @return boolean + */ + public function __isset($name); + + /** + * Returns the name of the database table. + * + * @return string + */ + public static function getDatabaseTableName(); + + /** + * Returns the alias of the database table. + * + * @return string + */ + public static function getDatabaseTableAlias(); + + /** + * Returns true if database table index is an identity column. + * + * @return boolean + */ + public static function getDatabaseTableIndexIsIdentity(); + + /** + * Returns the name of the database table index. + * + * @return string + */ + public static function getDatabaseTableIndexName(); +} diff --git a/wcfsetup/install/files/lib/data/ProcessibleDatabaseObject.class.php b/wcfsetup/install/files/lib/data/ProcessibleDatabaseObject.class.php new file mode 100644 index 0000000000..7f3307c558 --- /dev/null +++ b/wcfsetup/install/files/lib/data/ProcessibleDatabaseObject.class.php @@ -0,0 +1,53 @@ + + * @package com.woltlab.wcf + * @subpackage data + * @category Community Framework + */ +class ProcessibleDatabaseObject extends DatabaseObject { + /** + * name of the interface the processor of this database object should implement + * @var string + */ + protected static $processorInterface = ''; + + /** + * processor this database object + * @var wcf\data\IDatabaseObjectProcessor + */ + protected $processor = null; + + /** + * Returns the processor this database object. + * + * @return wcf\data\IDatabaseObjectProcessor + */ + public function getProcessor() { + if ($this->processor === null) { + if ($this->className) { + if (!class_exists($this->className)) { + throw new SystemException("Unable to find class '".$this->className."'"); + } + if (!ClassUtil::isInstanceOf($this->className, 'wcf\data\IDatabaseObjectProcessor')) { + throw new SystemException("'".$this->className."' should implement wcf\data\IDatabaseObjectProcessor"); + } + if (!ClassUtil::isInstanceOf($this->className, static::$processorInterface)) { + throw new SystemException("'".$this->className."' should implement ".$this->processorInterface); + } + + $this->processor = new $this->className($this); + } + } + + return $this->processor; + } +} diff --git a/wcfsetup/install/files/lib/data/StorableObject.class.php b/wcfsetup/install/files/lib/data/StorableObject.class.php deleted file mode 100644 index 007c3dffee..0000000000 --- a/wcfsetup/install/files/lib/data/StorableObject.class.php +++ /dev/null @@ -1,58 +0,0 @@ - - * @package com.woltlab.wcf - * @subpackage data - * @category Community Framework - */ -interface StorableObject { - /** - * Returns the value of a variable in object data. - * - * @param string $name variable name - * @return mixed value - */ - public function __get($name); - - /** - * Determines if a variable is set and is not NULL. - * - * @param string $name variable name - * @return boolean - */ - public function __isset($name); - - /** - * Returns the name of the database table. - * - * @return string - */ - public static function getDatabaseTableName(); - - /** - * Returns the alias of the database table. - * - * @return string - */ - public static function getDatabaseTableAlias(); - - /** - * Returns true if database table index is an identity column. - * - * @return boolean - */ - public static function getDatabaseTableIndexIsIdentity(); - - /** - * Returns the name of the database table index. - * - * @return string - */ - public static function getDatabaseTableIndexName(); -} diff --git a/wcfsetup/install/files/lib/data/acp/menu/item/ACPMenuItem.class.php b/wcfsetup/install/files/lib/data/acp/menu/item/ACPMenuItem.class.php index dff849b496..ae2f6a5f02 100644 --- a/wcfsetup/install/files/lib/data/acp/menu/item/ACPMenuItem.class.php +++ b/wcfsetup/install/files/lib/data/acp/menu/item/ACPMenuItem.class.php @@ -1,7 +1,7 @@ getLink($this->menuItemLink); diff --git a/wcfsetup/install/files/lib/data/cronjob/CronjobAction.class.php b/wcfsetup/install/files/lib/data/cronjob/CronjobAction.class.php index 2cb7aa603f..6fc3db71cc 100644 --- a/wcfsetup/install/files/lib/data/cronjob/CronjobAction.class.php +++ b/wcfsetup/install/files/lib/data/cronjob/CronjobAction.class.php @@ -43,7 +43,7 @@ class CronjobAction extends AbstractDatabaseObjectAction { foreach ($this->objects as $cronjob) { if (!$cronjob->isDeletable()) { throw new ValidateActionException('Insufficient permissions'); - } + } } } diff --git a/wcfsetup/install/files/lib/data/cronjob/CronjobEditor.class.php b/wcfsetup/install/files/lib/data/cronjob/CronjobEditor.class.php index 5ba735f3ca..b976c213c4 100644 --- a/wcfsetup/install/files/lib/data/cronjob/CronjobEditor.class.php +++ b/wcfsetup/install/files/lib/data/cronjob/CronjobEditor.class.php @@ -1,7 +1,7 @@ clear(WCF_DIR.'cache', 'cache.cronjobs-*'); diff --git a/wcfsetup/install/files/lib/data/option/OptionEditor.class.php b/wcfsetup/install/files/lib/data/option/OptionEditor.class.php index 2b66a5b3ba..717fec5403 100644 --- a/wcfsetup/install/files/lib/data/option/OptionEditor.class.php +++ b/wcfsetup/install/files/lib/data/option/OptionEditor.class.php @@ -1,7 +1,7 @@ + * @package com.woltlab.wcf + * @subpackage data.page.location + * @category Community Framework + */ +interface ILocation extends IDatabaseObjectProcessor { + /** + * Caches the information of a page location. + * + * @param array $location + * @param string $requestURI + * @param string $requestMethod + * @param array $match + */ + public function cache($location, $requestURI, $requestMethod, $match); + + /** + * Returns the information of a page location. + * + * @param array $location + * @param string $requestURI + * @param string $requestMethod + * @param array $match + * @return string + */ + public function get($location, $requestURI, $requestMethod, $match); +} diff --git a/wcfsetup/install/files/lib/data/page/location/Location.class.php b/wcfsetup/install/files/lib/data/page/location/Location.class.php deleted file mode 100644 index ac48f95be4..0000000000 --- a/wcfsetup/install/files/lib/data/page/location/Location.class.php +++ /dev/null @@ -1,33 +0,0 @@ - - * @package com.woltlab.wcf - * @subpackage data.page.location - * @category Community Framework - */ -interface Location { - /** - * Caches the information of a page location. - * - * @param array $location - * @param string $requestURI - * @param string $requestMethod - * @param array $match - */ - public function cache($location, $requestURI, $requestMethod, $match); - - /** - * Returns the information of a page location. - * - * @param array $location - * @param string $requestURI - * @param string $requestMethod - * @param array $match - * @return string - */ - public function get($location, $requestURI, $requestMethod, $match); -} diff --git a/wcfsetup/install/files/lib/data/page/location/PageLocation.class.php b/wcfsetup/install/files/lib/data/page/location/PageLocation.class.php index 6f70a4b6c7..698d92010f 100644 --- a/wcfsetup/install/files/lib/data/page/location/PageLocation.class.php +++ b/wcfsetup/install/files/lib/data/page/location/PageLocation.class.php @@ -1,6 +1,6 @@ provider === null) { - if ($this->className) { - if (!class_exists($this->className)) { - throw new SystemException("Unable to find class '".$this->className."'"); - } - if (!ClassUtil::isInstanceOf($this->className, 'wcf\system\menu\page\PageMenuItemProvider')) { - throw new SystemException($this->className." should implement wcf\system\menu\page\PageMenuItemProvider"); - } - - $this->provider = new $this->className(); - } - else { - $this->provider = new DefaultPageMenuItemProvider(); - } + public function getProcessor() { + if (parent::getProcessor() === null) { + $this->processor = new DefaultPageMenuItemProvider($this); } - return $this->provider; + return $this->processor; } /** - * @see TreeMenuItem::getLink() + * @see wcf\system\menu\ITreeMenuItem::getLink() */ public function getLink() { return LinkHandler::getInstance()->getLink($this->menuItemLink); diff --git a/wcfsetup/install/files/lib/data/page/menu/item/PageMenuItemEditor.class.php b/wcfsetup/install/files/lib/data/page/menu/item/PageMenuItemEditor.class.php index c4226981b3..298bdb7cf0 100644 --- a/wcfsetup/install/files/lib/data/page/menu/item/PageMenuItemEditor.class.php +++ b/wcfsetup/install/files/lib/data/page/menu/item/PageMenuItemEditor.class.php @@ -1,7 +1,7 @@ clear(WCF_DIR.'cache', 'cache.pageMenu-*.php'); diff --git a/wcfsetup/install/files/lib/data/style/StyleEditor.class.php b/wcfsetup/install/files/lib/data/style/StyleEditor.class.php index 4c0381aa75..6190631881 100644 --- a/wcfsetup/install/files/lib/data/style/StyleEditor.class.php +++ b/wcfsetup/install/files/lib/data/style/StyleEditor.class.php @@ -3,7 +3,7 @@ namespace wcf\data\style; use wcf\data\template\group\TemplateGroupEditor; use wcf\data\template\TemplateEditor; use wcf\data\DatabaseObjectEditor; -use wcf\data\EditableCachedObject; +use wcf\data\IEditableCachedObject; use wcf\system\exception\SystemException; use wcf\system\image\Thumbnail; use wcf\system\io\File; @@ -26,7 +26,7 @@ use wcf\util\XML; * @subpackage data.style * @category Community Framework */ -class StyleEditor extends DatabaseObjectEditor implements EditableCachedObject { +class StyleEditor extends DatabaseObjectEditor implements IEditableCachedObject { const INFO_FILE = 'style.xml'; const STYLE_PREVIEW_IMAGE_MAX_WIDTH = 185; const STYLE_PREVIEW_IMAGE_MAX_HEIGHT = 140; @@ -37,7 +37,7 @@ class StyleEditor extends DatabaseObjectEditor implements EditableCachedObject { protected static $baseClass = 'wcf\data\style\Style'; /** - * @see EditableObject::update() + * @see wcf\data\IEditableObject::update() */ public function update(array $parameters = array()) { $variables = null; @@ -61,7 +61,7 @@ class StyleEditor extends DatabaseObjectEditor implements EditableCachedObject { } /** - * @see EditableObject::delete() + * @see wcf\data\IEditableObject::delete() */ public function delete() { parent::delete(); @@ -817,7 +817,7 @@ class StyleEditor extends DatabaseObjectEditor implements EditableCachedObject { } /** - * @see EditableObject::create() + * @see wcf\data\IEditableObject::create() */ public static function create(array $parameters = array()) { $variables = null; @@ -848,7 +848,7 @@ class StyleEditor extends DatabaseObjectEditor implements EditableCachedObject { } /** - * @see EditableCachedObject::resetCache() + * @see IEditableCachedObject::resetCache() */ public static function resetCache() { WCF::getCache()->clear(WCF_DIR.'cache', 'cache.icon-*-'.$this->styleID.'.php'); diff --git a/wcfsetup/install/files/lib/data/template/TemplateEditor.class.php b/wcfsetup/install/files/lib/data/template/TemplateEditor.class.php index 294a51ee8a..ceb0ab6f2b 100644 --- a/wcfsetup/install/files/lib/data/template/TemplateEditor.class.php +++ b/wcfsetup/install/files/lib/data/template/TemplateEditor.class.php @@ -21,7 +21,7 @@ class TemplateEditor extends DatabaseObjectEditor { protected static $baseClass = 'wcf\data\template\Template'; /** - * @see EditableObject::create() + * @see wcf\data\IEditableObject::create() */ public static function create(array $parameters = array()) { // obtain default values diff --git a/wcfsetup/install/files/lib/data/user/UserEditor.class.php b/wcfsetup/install/files/lib/data/user/UserEditor.class.php index 9d196be51a..2a5a9e567d 100644 --- a/wcfsetup/install/files/lib/data/user/UserEditor.class.php +++ b/wcfsetup/install/files/lib/data/user/UserEditor.class.php @@ -22,7 +22,7 @@ class UserEditor extends DatabaseObjectEditor { protected static $baseClass = 'wcf\data\user\User'; /** - * @see EditableObject::create() + * @see wcf\data\IEditableObject::create() */ public static function create(array $parameters = array()) { // create salt and password hash diff --git a/wcfsetup/install/files/lib/data/user/group/UserGroupEditor.class.php b/wcfsetup/install/files/lib/data/user/group/UserGroupEditor.class.php index 6fb2a2fe93..92eb8944aa 100644 --- a/wcfsetup/install/files/lib/data/user/group/UserGroupEditor.class.php +++ b/wcfsetup/install/files/lib/data/user/group/UserGroupEditor.class.php @@ -1,7 +1,7 @@ + * @package com.woltlab.wcf + * @subpackage data.user.option + * @category Community Framework + */ +interface IUserOptionOutput { + /** + * Returns a short version of the html code for the output of the given user option. + * + * @param User $user + * @param array $optionData + * @param string $value + * @return string + */ + public function getShortOutput(User $user, $optionData, $value); + + /** + * Returns a medium version of the html code for the output of the given user option. + * + * @param User $user + * @param array $optionData + * @param string $value + * @return string + */ + public function getMediumOutput(User $user, $optionData, $value); + + /** + * Returns the html code for the output of the given user option. + * + * @param User $user + * @param array $optionData + * @param string $value + * @return string + */ + public function getOutput(User $user, $optionData, $value); +} diff --git a/wcfsetup/install/files/lib/data/user/option/UserOptionEditor.class.php b/wcfsetup/install/files/lib/data/user/option/UserOptionEditor.class.php index 240da504e8..caf9e04377 100644 --- a/wcfsetup/install/files/lib/data/user/option/UserOptionEditor.class.php +++ b/wcfsetup/install/files/lib/data/user/option/UserOptionEditor.class.php @@ -20,7 +20,7 @@ class UserOptionEditor extends DatabaseObjectEditor { protected static $baseClass = 'wcf\data\user\option\UserOption'; /** - * @see EditableObject::create() + * @see wcf\data\IEditableObject::create() */ public static function create(array $parameters = array()) { $userOption = parent::create($parameters); @@ -40,7 +40,7 @@ class UserOptionEditor extends DatabaseObjectEditor { } /** - * @see EditableObject::update() + * @see wcf\data\IEditableObject::update() */ public function update(array $parameters = array()) { parent::update($parameters); @@ -55,7 +55,7 @@ class UserOptionEditor extends DatabaseObjectEditor { } /** - * @see EditableObject::delete() + * @see wcf\data\IEditableObject::delete() */ public function delete() { $sql = "DELETE FROM wcf".WCF_N."_user_option diff --git a/wcfsetup/install/files/lib/data/user/option/UserOptionOutput.class.php b/wcfsetup/install/files/lib/data/user/option/UserOptionOutput.class.php deleted file mode 100644 index 08d64eee11..0000000000 --- a/wcfsetup/install/files/lib/data/user/option/UserOptionOutput.class.php +++ /dev/null @@ -1,45 +0,0 @@ - - * @package com.woltlab.wcf - * @subpackage data.user.option - * @category Community Framework - */ -interface UserOptionOutput { - /** - * Returns a short version of the html code for the output of the given user option. - * - * @param User $user - * @param array $optionData - * @param string $value - * @return string - */ - public function getShortOutput(User $user, $optionData, $value); - - /** - * Returns a medium version of the html code for the output of the given user option. - * - * @param User $user - * @param array $optionData - * @param string $value - * @return string - */ - public function getMediumOutput(User $user, $optionData, $value); - - /** - * Returns the html code for the output of the given user option. - * - * @param User $user - * @param array $optionData - * @param string $value - * @return string - */ - public function getOutput(User $user, $optionData, $value); -} diff --git a/wcfsetup/install/files/lib/data/user/option/category/UserOptionCategoryEditor.class.php b/wcfsetup/install/files/lib/data/user/option/category/UserOptionCategoryEditor.class.php index 4b2a6573fe..540eb7b25a 100644 --- a/wcfsetup/install/files/lib/data/user/option/category/UserOptionCategoryEditor.class.php +++ b/wcfsetup/install/files/lib/data/user/option/category/UserOptionCategoryEditor.class.php @@ -19,7 +19,7 @@ class UserOptionCategoryEditor extends DatabaseObjectEditor { protected static $baseClass = 'wcf\data\user\option\category\UserOptionCategory'; /** - * @see EditableObject::create() + * @see wcf\data\IEditableObject::create() */ public static function create(array $parameters = array()) { // obtain default values diff --git a/wcfsetup/install/files/lib/form/AbstractForm.class.php b/wcfsetup/install/files/lib/form/AbstractForm.class.php index 17db3ebce9..b2329565ec 100644 --- a/wcfsetup/install/files/lib/form/AbstractForm.class.php +++ b/wcfsetup/install/files/lib/form/AbstractForm.class.php @@ -16,7 +16,7 @@ use wcf\system\exception\UserInputException; * @subpackage form * @category Community Framework */ -abstract class AbstractForm extends AbstractPage implements Form { +abstract class AbstractForm extends AbstractPage implements IForm { /** * Name of error field. * @@ -32,7 +32,7 @@ abstract class AbstractForm extends AbstractPage implements Form { public $errorType = ''; /** - * @see Form::submit() + * @see wcf\form\IForm::submit() */ public function submit() { // call submit event @@ -52,7 +52,7 @@ abstract class AbstractForm extends AbstractPage implements Form { } /** - * @see Form::readFormParameters() + * @see wcf\form\IForm::readFormParameters() */ public function readFormParameters() { // call readFormParameters event @@ -60,7 +60,7 @@ abstract class AbstractForm extends AbstractPage implements Form { } /** - * @see Form::validate() + * @see wcf\form\IForm::validate() */ public function validate() { // call validate event @@ -68,7 +68,7 @@ abstract class AbstractForm extends AbstractPage implements Form { } /** - * @see Form::save() + * @see wcf\form\IForm::save() */ public function save() { // call save event @@ -84,7 +84,7 @@ abstract class AbstractForm extends AbstractPage implements Form { } /** - * @see Page::readData() + * @see wcf\page\IPage::readData() */ public function readData() { if (count($_POST) || count($_FILES)) { @@ -95,7 +95,7 @@ abstract class AbstractForm extends AbstractPage implements Form { } /** - * @see Page::assignVariables() + * @see wcf\page\IPage::assignVariables() */ public function assignVariables() { parent::assignVariables(); diff --git a/wcfsetup/install/files/lib/form/AbstractSecureForm.class.php b/wcfsetup/install/files/lib/form/AbstractSecureForm.class.php index d503cf05a1..3a7424c7bf 100644 --- a/wcfsetup/install/files/lib/form/AbstractSecureForm.class.php +++ b/wcfsetup/install/files/lib/form/AbstractSecureForm.class.php @@ -14,7 +14,7 @@ namespace wcf\form; */ abstract class AbstractSecureForm extends AbstractForm { /** - * @see Form::readFormParameters() + * @see wcf\form\IForm::readFormParameters() */ public function readFormParameters() { parent::readFormParameters(); diff --git a/wcfsetup/install/files/lib/form/Form.class.php b/wcfsetup/install/files/lib/form/Form.class.php deleted file mode 100644 index bf68e59001..0000000000 --- a/wcfsetup/install/files/lib/form/Form.class.php +++ /dev/null @@ -1,35 +0,0 @@ - - * @package com.woltlab.wcf - * @subpackage form - * @category Community Framework - */ -interface Form extends Page { - /** - * Is called when the form was submitted. - */ - public function submit(); - - /** - * Validates form inputs. - */ - public function validate(); - - /** - * Saves the data of the form. - */ - public function save(); - - /** - * Reads the given form parameters. - */ - public function readFormParameters(); -} diff --git a/wcfsetup/install/files/lib/form/IForm.class.php b/wcfsetup/install/files/lib/form/IForm.class.php new file mode 100644 index 0000000000..65132b74b5 --- /dev/null +++ b/wcfsetup/install/files/lib/form/IForm.class.php @@ -0,0 +1,35 @@ + + * @package com.woltlab.wcf + * @subpackage form + * @category Community Framework + */ +interface IForm extends Page { + /** + * Is called when the form was submitted. + */ + public function submit(); + + /** + * Validates form inputs. + */ + public function validate(); + + /** + * Saves the data of the form. + */ + public function save(); + + /** + * Reads the given form parameters. + */ + public function readFormParameters(); +} diff --git a/wcfsetup/install/files/lib/page/AbstractPage.class.php b/wcfsetup/install/files/lib/page/AbstractPage.class.php index 6c38936893..4f5e383827 100644 --- a/wcfsetup/install/files/lib/page/AbstractPage.class.php +++ b/wcfsetup/install/files/lib/page/AbstractPage.class.php @@ -14,7 +14,7 @@ use wcf\system\event\EventHandler; * @subpackage page * @category Community Framework */ -abstract class AbstractPage implements Page { +abstract class AbstractPage implements IPage { /** * Name of the template for the called page. * @@ -54,7 +54,7 @@ abstract class AbstractPage implements Page { } /** - * @see Page::readParameters() + * @see wcf\page\IPage::readParameters() */ public function readParameters() { // call readParameters event @@ -65,7 +65,7 @@ abstract class AbstractPage implements Page { } /** - * @see Page::readData() + * @see wcf\page\IPage::readData() */ public function readData() { // call readData event @@ -73,7 +73,7 @@ abstract class AbstractPage implements Page { } /** - * @see Page::assignVariables() + * @see wcf\page\IPage::assignVariables() */ public function assignVariables() { // call assignVariables event @@ -87,7 +87,7 @@ abstract class AbstractPage implements Page { } /** - * @see Page::checkModules() + * @see wcf\page\IPage::checkModules() */ public function checkModules() { // call checkModules event @@ -104,7 +104,7 @@ abstract class AbstractPage implements Page { } /** - * @see Page::checkPermissions() + * @see wcf\page\IPage::checkPermissions() */ public function checkPermissions() { // call checkPermissions event @@ -117,7 +117,7 @@ abstract class AbstractPage implements Page { } /** - * @see Page::show() + * @see wcf\page\IPage::show() */ public function show() { // check modules diff --git a/wcfsetup/install/files/lib/page/AbstractSecurePage.class.php b/wcfsetup/install/files/lib/page/AbstractSecurePage.class.php index 4ed26fec3b..37e6922e54 100644 --- a/wcfsetup/install/files/lib/page/AbstractSecurePage.class.php +++ b/wcfsetup/install/files/lib/page/AbstractSecurePage.class.php @@ -14,7 +14,7 @@ namespace wcf\page; */ abstract class AbstractSecurePage extends AbstractPage { /** - * @see Page::readParameters() + * @see wcf\page\IPage::readParameters() */ public function readParameters() { parent::readParameters(); diff --git a/wcfsetup/install/files/lib/page/IPage.class.php b/wcfsetup/install/files/lib/page/IPage.class.php new file mode 100644 index 0000000000..8350670920 --- /dev/null +++ b/wcfsetup/install/files/lib/page/IPage.class.php @@ -0,0 +1,44 @@ + + * @package com.woltlab.wcf + * @subpackage page + * @category Community Framework + */ +interface IPage { + /** + * Reads the given parameters. + */ + public function readParameters(); + + /** + * Checks the modules of this page. + */ + public function checkModules(); + + /** + * Checks the permissions of this page. + */ + public function checkPermissions(); + + /** + * Reads/Gets the data to be displayed on this page. + */ + public function readData(); + + /** + * Assigns variables to the template engine. + */ + public function assignVariables(); + + /** + * Shows the requested page. + */ + public function show(); +} diff --git a/wcfsetup/install/files/lib/page/MultipleLinkPage.class.php b/wcfsetup/install/files/lib/page/MultipleLinkPage.class.php index 9f5a488fa5..03116730f2 100644 --- a/wcfsetup/install/files/lib/page/MultipleLinkPage.class.php +++ b/wcfsetup/install/files/lib/page/MultipleLinkPage.class.php @@ -96,7 +96,7 @@ abstract class MultipleLinkPage extends AbstractPage { public $sqlOrderBy = ''; /** - * @see Page::readParameters() + * @see wcf\page\IPage::readParameters() */ public function readParameters() { parent::readParameters(); @@ -106,7 +106,7 @@ abstract class MultipleLinkPage extends AbstractPage { } /** - * @see Page::readData() + * @see wcf\page\IPage::readData() */ public function readData() { parent::readData(); @@ -189,7 +189,7 @@ abstract class MultipleLinkPage extends AbstractPage { } /** - * @see Page::assignVariables() + * @see wcf\page\IPage::assignVariables() */ public function assignVariables() { parent::assignVariables(); diff --git a/wcfsetup/install/files/lib/page/Page.class.php b/wcfsetup/install/files/lib/page/Page.class.php deleted file mode 100644 index 2c16872619..0000000000 --- a/wcfsetup/install/files/lib/page/Page.class.php +++ /dev/null @@ -1,44 +0,0 @@ - - * @package com.woltlab.wcf - * @subpackage page - * @category Community Framework - */ -interface Page { - /** - * Reads the given parameters. - */ - public function readParameters(); - - /** - * Checks the modules of this page. - */ - public function checkModules(); - - /** - * Checks the permissions of this page. - */ - public function checkPermissions(); - - /** - * Reads/Gets the data to be displayed on this page. - */ - public function readData(); - - /** - * Assigns variables to the template engine. - */ - public function assignVariables(); - - /** - * Shows the requested page. - */ - public function show(); -} diff --git a/wcfsetup/install/files/lib/page/SortablePage.class.php b/wcfsetup/install/files/lib/page/SortablePage.class.php index 73317a1c5e..9baed8f81b 100644 --- a/wcfsetup/install/files/lib/page/SortablePage.class.php +++ b/wcfsetup/install/files/lib/page/SortablePage.class.php @@ -44,7 +44,7 @@ abstract class SortablePage extends MultipleLinkPage { public $defaultSortOrder = 'ASC'; /** - * @see Page::readParameters() + * @see wcf\page\IPage::readParameters() */ public function readParameters() { parent::readParameters(); @@ -55,7 +55,7 @@ abstract class SortablePage extends MultipleLinkPage { } /** - * @see Page::readData() + * @see wcf\page\IPage::readData() */ public function readData() { $this->validateSortOrder(); @@ -87,7 +87,7 @@ abstract class SortablePage extends MultipleLinkPage { } /** - * @see Page::assignVariables() + * @see wcf\page\IPage::assignVariables() */ public function assignVariables() { parent::assignVariables(); diff --git a/wcfsetup/install/files/lib/page/util/InlineCalendar.class.php b/wcfsetup/install/files/lib/page/util/InlineCalendar.class.php index b35ed3a7ba..563c8aa57b 100644 --- a/wcfsetup/install/files/lib/page/util/InlineCalendar.class.php +++ b/wcfsetup/install/files/lib/page/util/InlineCalendar.class.php @@ -13,7 +13,7 @@ namespace wcf\page\util; */ class InlineCalendar { /** - * @see Page::assignVariables() + * @see wcf\page\IPage::assignVariables() */ public static function assignVariables() { // create calendar data diff --git a/wcfsetup/install/files/lib/system/WCF.class.php b/wcfsetup/install/files/lib/system/WCF.class.php index 8eb198cb5b..d6cf930b33 100644 --- a/wcfsetup/install/files/lib/system/WCF.class.php +++ b/wcfsetup/install/files/lib/system/WCF.class.php @@ -241,7 +241,7 @@ class WCF { * @param \Exception $e */ public static final function handleException(\Exception $e) { - if ($e instanceof exception\PrintableException) { + if ($e instanceof exception\IPrintableException) { $e->show(); exit; } @@ -298,7 +298,7 @@ class WCF { */ protected function loadDefaultCacheResources() { CacheHandler::getInstance()->addResource('languages', WCF_DIR.'cache/cache.languages.php', 'wcf\system\cache\builder\CacheBuilderLanguage'); - CacheHandler::getInstance()->addResource('spiders', WCF_DIR.'cache/cache.spiders.php', 'wcf\system\builder\cache\CacheBuilderSpider'); + CacheHandler::getInstance()->addResource('spiders', WCF_DIR.'cache/cache.spiders.php', 'wcf\system\cache\builder\CacheBuilderSpider'); if (defined('PACKAGE_ID')) { CacheHandler::getInstance()->addResource('coreObjects-'.PACKAGE_ID, WCF_DIR.'cache/cache.coreObjects-'.PACKAGE_ID.'.php', 'wcf\system\cache\builder\CacheBuilderCoreObject'); } @@ -423,7 +423,7 @@ class WCF { self::$autoloadDirectories[$abbreviation] = $packageDir . 'lib/'; $className = $abbreviation.'\system\\'.strtoupper($abbreviation).'Core'; - if (class_exists($className) && util\ClassUtil::isInstanceOf($className, 'wcf\system\application\Application')) { + if (class_exists($className) && util\ClassUtil::isInstanceOf($className, 'wcf\system\application\IApplication')) { // include config file $configPath = $packageDir . PackageInstallationDispatcher::CONFIG_FILE; if (file_exists($configPath)) { diff --git a/wcfsetup/install/files/lib/system/application/AbstractApplication.class.php b/wcfsetup/install/files/lib/system/application/AbstractApplication.class.php index 4e0fea6dd8..c08bc3d319 100644 --- a/wcfsetup/install/files/lib/system/application/AbstractApplication.class.php +++ b/wcfsetup/install/files/lib/system/application/AbstractApplication.class.php @@ -13,9 +13,9 @@ use wcf\system\WCF; * @subpackage system * @category Community Framework */ -abstract class AbstractApplication implements Application { +abstract class AbstractApplication implements IApplication { /** - * @see Application::__callStatic() + * @see wcf\system\application\IApplication::__callStatic() */ public static function __callStatic($method, array $arguments) { return call_user_func_array(array('wcf\system\WCF', $method), $arguments); diff --git a/wcfsetup/install/files/lib/system/application/Application.class.php b/wcfsetup/install/files/lib/system/application/Application.class.php deleted file mode 100644 index 99f7d0e77f..0000000000 --- a/wcfsetup/install/files/lib/system/application/Application.class.php +++ /dev/null @@ -1,23 +0,0 @@ - - * @package com.woltlab.wcf - * @subpackage system - * @category Community Framework - */ -interface Application { - /** - * Forwards unknown method calls to WCF. - * - * @param string $method - * @param array $arguments - * @return mixed - */ - public static function __callStatic($method, array $arguments); -} diff --git a/wcfsetup/install/files/lib/system/application/ApplicationHandler.class.php b/wcfsetup/install/files/lib/system/application/ApplicationHandler.class.php index 9e569c001a..bee0313cf9 100644 --- a/wcfsetup/install/files/lib/system/application/ApplicationHandler.class.php +++ b/wcfsetup/install/files/lib/system/application/ApplicationHandler.class.php @@ -37,7 +37,7 @@ class ApplicationHandler extends SingletonFactory { * Returns the primary application for current group. Will return current * application equal to PACKAGE_ID if not within any group. * - * @return Application + * @return wcf\data\application\Application */ public function getPrimaryApplication() { return $this->cache['application'][$this->cache['primary']]; @@ -47,7 +47,7 @@ class ApplicationHandler extends SingletonFactory { * Returns an application based upon it's abbreviation. Will return the * primary application if $abbreviation equals to 'wcf' * - * @return Application + * @return wcf\data\application\Application */ public function getApplication($abbreviation) { if ($abbreviation == 'wcf') { @@ -69,7 +69,7 @@ class ApplicationHandler extends SingletonFactory { * Returns active application group or 'null' if current application * is not within a group. * - * @return ApplicationGroup + * @return wcf\data\application\group\ApplicationGroup */ public function getActiveGroup() { return $this->cache['group']; @@ -79,7 +79,7 @@ class ApplicationHandler extends SingletonFactory { * Returns pseudo-application representing WCF used for special cases, * e.g. cross-domain files requestable through the webserver. * - * @return Application + * @return wcf\data\application\Application */ public function getWCF() { return $this->cache['wcf']; @@ -88,7 +88,7 @@ class ApplicationHandler extends SingletonFactory { /** * Returns the currently active application. * - * @return wcf\data\application\Application + * @return wcf\data\application\Application */ public function getActiveApplication() { return $this->cache['application'][PACKAGE_ID]; @@ -97,7 +97,7 @@ class ApplicationHandler extends SingletonFactory { /** * Returns a list of dependent applications. * - * @return array + * @return array */ public function getDependentApplications() { $applications = array(); diff --git a/wcfsetup/install/files/lib/system/application/IApplication.class.php b/wcfsetup/install/files/lib/system/application/IApplication.class.php new file mode 100644 index 0000000000..5ad2f3a207 --- /dev/null +++ b/wcfsetup/install/files/lib/system/application/IApplication.class.php @@ -0,0 +1,23 @@ + + * @package com.woltlab.wcf + * @subpackage system + * @category Community Framework + */ +interface IApplication { + /** + * Forwards unknown method calls to WCF. + * + * @param string $method + * @param array $arguments + * @return mixed + */ + public static function __callStatic($method, array $arguments); +} diff --git a/wcfsetup/install/files/lib/system/cache/CacheBuilder.class.php b/wcfsetup/install/files/lib/system/cache/CacheBuilder.class.php deleted file mode 100644 index 7b6d61c00a..0000000000 --- a/wcfsetup/install/files/lib/system/cache/CacheBuilder.class.php +++ /dev/null @@ -1,22 +0,0 @@ - - * @package com.woltlab.wcf - * @subpackage system.cache - * @category Community Framework - */ -interface CacheBuilder { - /** - * Returns the data that ought to be cached. - * - * @param array $cacheResource - * @return array $data - */ - public function getData($cacheResource); -} diff --git a/wcfsetup/install/files/lib/system/cache/CacheHandler.class.php b/wcfsetup/install/files/lib/system/cache/CacheHandler.class.php index b030a3a209..3b18ee8d72 100644 --- a/wcfsetup/install/files/lib/system/cache/CacheHandler.class.php +++ b/wcfsetup/install/files/lib/system/cache/CacheHandler.class.php @@ -25,7 +25,7 @@ class CacheHandler extends SingletonFactory { /** * cache source object * - * @var CacheSource + * @var wcf\system\cache\source\ICacheSource */ protected $cacheSource = null; diff --git a/wcfsetup/install/files/lib/system/cache/ICacheBuilder.class.php b/wcfsetup/install/files/lib/system/cache/ICacheBuilder.class.php new file mode 100644 index 0000000000..da52051788 --- /dev/null +++ b/wcfsetup/install/files/lib/system/cache/ICacheBuilder.class.php @@ -0,0 +1,22 @@ + + * @package com.woltlab.wcf + * @subpackage system.cache + * @category Community Framework + */ +interface ICacheBuilder { + /** + * Returns the data that ought to be cached. + * + * @param array $cacheResource + * @return array $data + */ + public function getData($cacheResource); +} diff --git a/wcfsetup/install/files/lib/system/cache/builder/CacheBuilderACPMenu.class.php b/wcfsetup/install/files/lib/system/cache/builder/CacheBuilderACPMenu.class.php index 78dd70eb4d..911704ede4 100644 --- a/wcfsetup/install/files/lib/system/cache/builder/CacheBuilderACPMenu.class.php +++ b/wcfsetup/install/files/lib/system/cache/builder/CacheBuilderACPMenu.class.php @@ -1,7 +1,7 @@ 0, 'styles' => array(), 'packages' => array()); diff --git a/wcfsetup/install/files/lib/system/cache/builder/CacheBuilderTemplate.class.php b/wcfsetup/install/files/lib/system/cache/builder/CacheBuilderTemplate.class.php index d6a51aa261..5ab61ad478 100644 --- a/wcfsetup/install/files/lib/system/cache/builder/CacheBuilderTemplate.class.php +++ b/wcfsetup/install/files/lib/system/cache/builder/CacheBuilderTemplate.class.php @@ -1,6 +1,6 @@ array(), 'groups' => array()); diff --git a/wcfsetup/install/files/lib/system/cache/builder/CacheBuilderUserGroupPermission.class.php b/wcfsetup/install/files/lib/system/cache/builder/CacheBuilderUserGroupPermission.class.php index 9ef09bd96d..5c2ea3b5ff 100644 --- a/wcfsetup/install/files/lib/system/cache/builder/CacheBuilderUserGroupPermission.class.php +++ b/wcfsetup/install/files/lib/system/cache/builder/CacheBuilderUserGroupPermission.class.php @@ -1,6 +1,6 @@ typeObjects[$type])) { @@ -110,8 +110,8 @@ class CacheBuilderUserGroupPermission implements CacheBuilder { if (!class_exists($className)) { throw new SystemException("unable to find class '".$className."'", 11001); } - if (!ClassUtil::isInstanceOf($className, 'wcf\system\option\group\GroupOptionType')) { - throw new SystemException("'".$className."' should implement GroupOptionType"); + if (!ClassUtil::isInstanceOf($className, 'wcf\system\option\group\IGroupOptionType')) { + throw new SystemException("'".$className."' should implement wcf\system\option\group\IGroupOptionType"); } // create instance diff --git a/wcfsetup/install/files/lib/system/cache/source/ApcCacheSource.class.php b/wcfsetup/install/files/lib/system/cache/source/ApcCacheSource.class.php index 1b02ec4f89..bbd79c5f90 100644 --- a/wcfsetup/install/files/lib/system/cache/source/ApcCacheSource.class.php +++ b/wcfsetup/install/files/lib/system/cache/source/ApcCacheSource.class.php @@ -13,7 +13,7 @@ use wcf\util\FileUtil; * @subpackage system.cache.source * @category Community Framework */ -class ApcCacheSource implements CacheSource { +class ApcCacheSource implements ICacheSource { /** * Creates a new ApcCacheSource object. */ @@ -24,7 +24,7 @@ class ApcCacheSource implements CacheSource { } /** - * @see wcf\system\cache\source\CacheSource::get() + * @see wcf\system\cache\source\ICacheSource::get() */ public function get(array $cacheResource) { if (($data = apc_fetch($cacheResource['file'])) === false) { @@ -35,14 +35,14 @@ class ApcCacheSource implements CacheSource { } /** - * @see wcf\system\cache\source\CacheSource::set() + * @see wcf\system\cache\source\ICacheSource::set() */ public function set(array $cacheResource, $value) { apc_store($cacheResource['file'], $value, $cacheResource['maxLifetime']); } /** - * @see wcf\system\cache\source\CacheSource::delete() + * @see wcf\system\cache\source\ICacheSource::delete() */ public function delete(array $cacheResource, $ignoreLifetime = false) { if ($ignoreLifetime || ($cacheResource['minLifetime'] == 0 || $this->checkMinLifetime($cacheResource))) { @@ -69,7 +69,7 @@ class ApcCacheSource implements CacheSource { } /** - * @see wcf\system\cache\source\CacheSource::clear() + * @see wcf\system\cache\source\ICacheSource::clear() */ public function clear($directory, $filepattern, $forceDelete = false) { $pattern = preg_quote(FileUtil::addTrailingSlash($directory), '%').str_replace('*', '.*', str_replace('.', '\.', $filepattern)); @@ -84,17 +84,16 @@ class ApcCacheSource implements CacheSource { } /** - * @see wcf\system\cache\source\CacheSource::close() + * @see wcf\system\cache\source\ICacheSource::close() */ public function close() { // does nothing } /** - * @see wcf\system\cache\source\CacheSource::flush() + * @see wcf\system\cache\source\ICacheSource::flush() */ public function flush() { apc_clear_cache('user'); } } -?> diff --git a/wcfsetup/install/files/lib/system/cache/source/CacheSource.class.php b/wcfsetup/install/files/lib/system/cache/source/CacheSource.class.php deleted file mode 100644 index ed1b0e0813..0000000000 --- a/wcfsetup/install/files/lib/system/cache/source/CacheSource.class.php +++ /dev/null @@ -1,57 +0,0 @@ - - * @package com.woltlab.wcf - * @subpackage system.cache.source - * @category Community Framework - */ -interface CacheSource { - /** - * Returns a cached variable. - * - * @param array $cacheResource - * @return mixed - */ - public function get(array $cacheResource); - - /** - * Stores a variable in the cache. - * - * @param array $cacheResource - * @param mixed $value - */ - public function set(array $cacheResource, $value); - - /** - * Deletes a variable in the cache. - * - * @param array $cacheResource - * @param boolean $ignoreLifetime - */ - public function delete(array $cacheResource, $ignoreLifetime = false); - - /** - * Marks cached files as obsolete. - * - * @param string $directory - * @param string $filepattern - * @param boolean $forceDelete - */ - public function clear($directory, $filepattern, $forceDelete = false); - - /** - * Closes this cache source. - */ - public function close(); - - /** - * Clears the cache completely. - */ - public function flush(); -} diff --git a/wcfsetup/install/files/lib/system/cache/source/DiskCacheSource.class.php b/wcfsetup/install/files/lib/system/cache/source/DiskCacheSource.class.php index dd89d280f6..6b9d9f4b5c 100644 --- a/wcfsetup/install/files/lib/system/cache/source/DiskCacheSource.class.php +++ b/wcfsetup/install/files/lib/system/cache/source/DiskCacheSource.class.php @@ -15,7 +15,7 @@ use wcf\util\FileUtil; * @subpackage system.cache.source * @category Community Framework */ -class DiskCacheSource implements CacheSource { +class DiskCacheSource implements ICacheSource { /** * Loaded cache * @@ -31,7 +31,7 @@ class DiskCacheSource implements CacheSource { protected $loaded = array(); /** - * @see wcf\system\cache\source\CacheSource::get() + * @see wcf\system\cache\source\ICacheSource::get() */ public function get(array $cacheResource) { if (!isset($this->cache[$cacheResource['cache']])) { @@ -52,7 +52,7 @@ class DiskCacheSource implements CacheSource { } /** - * @see wcf\system\cache\source\CacheSource::set() + * @see wcf\system\cache\source\ICacheSource::set() */ public function set(array $cacheResource, $value) { // write cache @@ -67,7 +67,7 @@ class DiskCacheSource implements CacheSource { } /** - * @see wcf\system\cache\source\CacheSource::delete() + * @see wcf\system\cache\source\ICacheSource::delete() */ public function delete(array$cacheResource, $ignoreLifetime = false) { if (file_exists($cacheResource['file'])) { @@ -83,7 +83,7 @@ class DiskCacheSource implements CacheSource { } /** - * @see wcf\system\cache\source\CacheSource::clear() + * @see wcf\system\cache\source\ICacheSource::clear() */ public function clear($directory, $filepattern, $forceDelete = false) { $filepattern = str_replace('*', '.*', str_replace('.', '\.', $filepattern)); @@ -181,14 +181,14 @@ class DiskCacheSource implements CacheSource { } /** - * @see wcf\system\cache\source\CacheSource::close() + * @see wcf\system\cache\source\ICacheSource::close() */ public function close() { // does nothing } /** - * @see wcf\system\cache\source\CacheSource::flush() + * @see wcf\system\cache\source\ICacheSource::flush() */ public function flush() { $sql = "SELECT package.packageDir diff --git a/wcfsetup/install/files/lib/system/cache/source/ICacheSource.class.php b/wcfsetup/install/files/lib/system/cache/source/ICacheSource.class.php new file mode 100644 index 0000000000..fcb33fd0a3 --- /dev/null +++ b/wcfsetup/install/files/lib/system/cache/source/ICacheSource.class.php @@ -0,0 +1,57 @@ + + * @package com.woltlab.wcf + * @subpackage system.cache.source + * @category Community Framework + */ +interface ICacheSource { + /** + * Returns a cached variable. + * + * @param array $cacheResource + * @return mixed + */ + public function get(array $cacheResource); + + /** + * Stores a variable in the cache. + * + * @param array $cacheResource + * @param mixed $value + */ + public function set(array $cacheResource, $value); + + /** + * Deletes a variable in the cache. + * + * @param array $cacheResource + * @param boolean $ignoreLifetime + */ + public function delete(array $cacheResource, $ignoreLifetime = false); + + /** + * Marks cached files as obsolete. + * + * @param string $directory + * @param string $filepattern + * @param boolean $forceDelete + */ + public function clear($directory, $filepattern, $forceDelete = false); + + /** + * Closes this cache source. + */ + public function close(); + + /** + * Clears the cache completely. + */ + public function flush(); +} diff --git a/wcfsetup/install/files/lib/system/cache/source/MemcacheCacheSource.class.php b/wcfsetup/install/files/lib/system/cache/source/MemcacheCacheSource.class.php index d2fbcafda1..2ec726b634 100644 --- a/wcfsetup/install/files/lib/system/cache/source/MemcacheCacheSource.class.php +++ b/wcfsetup/install/files/lib/system/cache/source/MemcacheCacheSource.class.php @@ -13,7 +13,7 @@ use wcf\util\FileUtil; * @subpackage system.cache.source * @category Community Framework */ -class MemcacheCacheSource implements CacheSource { +class MemcacheCacheSource implements ICacheSource { /** * MemcacheAdapter object * @@ -126,7 +126,7 @@ class MemcacheCacheSource implements CacheSource { // CacheSource implementations /** - * @see wcf\system\cache\source\CacheSource::get() + * @see wcf\system\cache\source\ICacheSource::get() */ public function get(array $cacheResource) { $value = $this->getAdapter()->getMemcache()->get($cacheResource['file']); @@ -135,7 +135,7 @@ class MemcacheCacheSource implements CacheSource { } /** - * @see wcf\system\cache\source\CacheSource::set() + * @see wcf\system\cache\source\ICacheSource::set() */ public function set(array $cacheResource, $value) { $this->getAdapter()->getMemcache()->set($cacheResource['file'], $value, MEMCACHE_COMPRESSED, $cacheResource['maxLifetime']); @@ -143,7 +143,7 @@ class MemcacheCacheSource implements CacheSource { } /** - * @see wcf\system\cache\source\CacheSource::delete() + * @see wcf\system\cache\source\ICacheSource::delete() */ public function delete(array $cacheResource, $ignoreLifetime = false) { $this->getAdapter()->getMemcache()->delete($cacheResource['file']); @@ -151,7 +151,7 @@ class MemcacheCacheSource implements CacheSource { } /** - * @see wcf\system\cache\source\CacheSource::clear() + * @see wcf\system\cache\source\ICacheSource::clear() */ public function clear($directory, $filepattern, $forceDelete = false) { $this->loadLog(); @@ -165,7 +165,7 @@ class MemcacheCacheSource implements CacheSource { } /** - * @see wcf\system\cache\source\CacheSource::flush() + * @see wcf\system\cache\source\ICacheSource::flush() */ public function flush() { // clear cache @@ -180,7 +180,7 @@ class MemcacheCacheSource implements CacheSource { } /** - * @see wcf\system\cache\source\CacheSource::close() + * @see wcf\system\cache\source\ICacheSource::close() */ public function close() { // update log diff --git a/wcfsetup/install/files/lib/system/cleanup/CleanupAdapter.class.php b/wcfsetup/install/files/lib/system/cleanup/CleanupAdapter.class.php deleted file mode 100644 index c77729ba41..0000000000 --- a/wcfsetup/install/files/lib/system/cleanup/CleanupAdapter.class.php +++ /dev/null @@ -1,21 +0,0 @@ - - * @package com.woltlab.wcf - * @subpackage system.cleanup - * @category Community Framework - */ -interface CleanupAdapter { - /** - * Executes this adapter. - * - * @param array $objectIDs - */ - public function execute(array $objectIDs); -} diff --git a/wcfsetup/install/files/lib/system/cleanup/CleanupHandler.class.php b/wcfsetup/install/files/lib/system/cleanup/CleanupHandler.class.php deleted file mode 100644 index 277981ae9a..0000000000 --- a/wcfsetup/install/files/lib/system/cleanup/CleanupHandler.class.php +++ /dev/null @@ -1,172 +0,0 @@ - - * @package com.woltlab.wcf - * @subpackage system.cleanup - * @category Community Framework - */ -class CleanupHandler { - /** - * unique instance of CleanupHandler - * - * @var CleanupHandler - */ - protected static $instance = null; - - /** - * cleanup adapter cache - * - * @var array - */ - protected $cache = null; - - /** - * Initializes cleanup handler. - */ - protected function __construct() { - $this->loadCache(); - } - - /** - * Prevents creating an additional instance. - */ - protected function __clone() {} - - /** - * Loads cleanup adapter cache. - */ - protected function loadCache() { - CacheHandler::getInstance()->addResource( - 'cleanupAdapter-'.PACKAGE_ID, - WCF_DIR.'cache/cache.cleanupAdapter.php', - 'wcf\system\cache\builder\CacheBuilderCleanupAdapter' - ); - - $this->cache = CacheHandler::getInstance()->get('cleanupAdapter'); - } - - /** - * Prepares adapter execution - */ - public function execute() { - // remove all logged items older than 24 hours - $sql = "DELETE FROM wcf".WCF_N."_cleanup_log - WHERE deleteTime < ?"; - $statement = WCF::getDB()->prepareStatement($sql); - $statement->execute(array( - (TIME_NOW - 86400) - )); - - // loop through all available adapters - foreach ($this->cache['adapters'] as $objectType => $adapters) { - // determine if there are any items for current object type - $conditions = new PreparedStatementConditionBuilder(); - $conditions->add("objectType = ?", array($objectType)); - $conditions->add("packageID IN (?)", array($this->cache['objectTypes'][$objectType])); - - $sql = "SELECT objectID - FROM wcf".WCF_N."_cleanup_log - ".$conditions; - $statement = WCF::getDB()->prepareStatement($sql); - $statement->execute($conditions->getParameters()); - - $objectIDs = array(); - while ($row = $statement->fetchArray()) { - $objectIDs[] = $row['objectID']; - } - - if (count($objectIDs)) { - $this->executeAdapters($adapters, $objectIDs); - } - } - } - - /** - * Executes specific cleanup adapters. - * - * @param array $adapters - * @param array $objectIDs - */ - protected function executeAdapters(array $adapters, array $objectIDs) { - $sql = "UPDATE wcf".WCF_N."_cleanup_listener - SET lastUpdateTime = ? - WHERE listenerID = ?"; - $statement = WCF::getDB()->prepareStatement($sql); - - foreach ($adapters as $adapterData) { - // validate class - if (!class_exists($adapterData['className'])) { - throw new SystemException("unable to find class '".$adapterData['className']."'", 11001); - } - - // validate interface - if (!(ClassUtil::isInstanceOf($adapterData['className'], 'wcf\system\cleanup\CleanupAdapter'))) { - throw new SystemException("class '".$adapterData['className']."' does not implement the interface 'CleanupAdapter'", 11010); - } - - $adapter = new $adapterData['className'](); - $adapter->execute($objectIDs); - - // update last time of execution - $statement->execute(array(TIME_NOW, $adapterData['listenerID'])); - } - } - - /** - * Returns an unique instance of CleanupHandler. - * - * @return CleanupHandler - */ - public static function getInstance() { - if (self::$instance === null) { - // call loadInstance event - EventHandler::getInstance()->fireAction(__CLASS__, 'loadInstance'); - - if (self::$instance === null) { - self::$instance = new CleanupHandler(); - } - } - - return self::$instance; - } - - /** - * Registers deleted objects. - * - * @param string $objectType - * @param array $objectIDs - * @param integer $packageID - */ - public static function registerObjects($objectType, array $objectIDs, $packageID) { - $objectIDs = ArrayUtil::toIntegerArray($objectIDs); - $packageID = intval($packageID); - - // insert items - $sql = "INSERT INTO wcf".WCF_N."_cleanup_log - (packageID, objectType, objectID, deleteTime) - VALUES (?, ?, ?, ?)"; - $statement = WCF::getDB()->prepareStatement($sql); - - foreach ($objectIDs as $objectID) { - $statement->execute(array( - $packageID, - $objectType, - $objectID, - TIME_NOW - )); - } - } -} diff --git a/wcfsetup/install/files/lib/system/cleanup/ICleanupAdapter.class.php b/wcfsetup/install/files/lib/system/cleanup/ICleanupAdapter.class.php new file mode 100644 index 0000000000..9eb5cd88ef --- /dev/null +++ b/wcfsetup/install/files/lib/system/cleanup/ICleanupAdapter.class.php @@ -0,0 +1,21 @@ + + * @package com.woltlab.wcf + * @subpackage system.cleanup + * @category Community Framework + */ +interface ICleanupAdapter { + /** + * Executes this adapter. + * + * @param array $objectIDs + */ + public function execute(array $objectIDs); +} diff --git a/wcfsetup/install/files/lib/system/cleanup/ICleanupHandler.class.php b/wcfsetup/install/files/lib/system/cleanup/ICleanupHandler.class.php new file mode 100644 index 0000000000..6a1af42c69 --- /dev/null +++ b/wcfsetup/install/files/lib/system/cleanup/ICleanupHandler.class.php @@ -0,0 +1,172 @@ + + * @package com.woltlab.wcf + * @subpackage system.cleanup + * @category Community Framework + */ +class ICleanupHandler { + /** + * unique instance of CleanupHandler + * + * @var CleanupHandler + */ + protected static $instance = null; + + /** + * cleanup adapter cache + * + * @var array + */ + protected $cache = null; + + /** + * Initializes cleanup handler. + */ + protected function __construct() { + $this->loadCache(); + } + + /** + * Prevents creating an additional instance. + */ + protected function __clone() {} + + /** + * Loads cleanup adapter cache. + */ + protected function loadCache() { + CacheHandler::getInstance()->addResource( + 'cleanupAdapter-'.PACKAGE_ID, + WCF_DIR.'cache/cache.cleanupAdapter.php', + 'wcf\system\cache\builder\CacheBuilderCleanupAdapter' + ); + + $this->cache = CacheHandler::getInstance()->get('cleanupAdapter'); + } + + /** + * Prepares adapter execution + */ + public function execute() { + // remove all logged items older than 24 hours + $sql = "DELETE FROM wcf".WCF_N."_cleanup_log + WHERE deleteTime < ?"; + $statement = WCF::getDB()->prepareStatement($sql); + $statement->execute(array( + (TIME_NOW - 86400) + )); + + // loop through all available adapters + foreach ($this->cache['adapters'] as $objectType => $adapters) { + // determine if there are any items for current object type + $conditions = new PreparedStatementConditionBuilder(); + $conditions->add("objectType = ?", array($objectType)); + $conditions->add("packageID IN (?)", array($this->cache['objectTypes'][$objectType])); + + $sql = "SELECT objectID + FROM wcf".WCF_N."_cleanup_log + ".$conditions; + $statement = WCF::getDB()->prepareStatement($sql); + $statement->execute($conditions->getParameters()); + + $objectIDs = array(); + while ($row = $statement->fetchArray()) { + $objectIDs[] = $row['objectID']; + } + + if (count($objectIDs)) { + $this->executeAdapters($adapters, $objectIDs); + } + } + } + + /** + * Executes specific cleanup adapters. + * + * @param array $adapters + * @param array $objectIDs + */ + protected function executeAdapters(array $adapters, array $objectIDs) { + $sql = "UPDATE wcf".WCF_N."_cleanup_listener + SET lastUpdateTime = ? + WHERE listenerID = ?"; + $statement = WCF::getDB()->prepareStatement($sql); + + foreach ($adapters as $adapterData) { + // validate class + if (!class_exists($adapterData['className'])) { + throw new SystemException("unable to find class '".$adapterData['className']."'", 11001); + } + + // validate interface + if (!(ClassUtil::isInstanceOf($adapterData['className'], 'wcf\system\cleanup\ICleanupAdapter'))) { + throw new SystemException("class '".$adapterData['className']."' does not implement the interface 'wcf\system\cleanup\ICleanupAdapter'", 11010); + } + + $adapter = new $adapterData['className'](); + $adapter->execute($objectIDs); + + // update last time of execution + $statement->execute(array(TIME_NOW, $adapterData['listenerID'])); + } + } + + /** + * Returns an unique instance of CleanupHandler. + * + * @return CleanupHandler + */ + public static function getInstance() { + if (self::$instance === null) { + // call loadInstance event + EventHandler::getInstance()->fireAction(__CLASS__, 'loadInstance'); + + if (self::$instance === null) { + self::$instance = new CleanupHandler(); + } + } + + return self::$instance; + } + + /** + * Registers deleted objects. + * + * @param string $objectType + * @param array $objectIDs + * @param integer $packageID + */ + public static function registerObjects($objectType, array $objectIDs, $packageID) { + $objectIDs = ArrayUtil::toIntegerArray($objectIDs); + $packageID = intval($packageID); + + // insert items + $sql = "INSERT INTO wcf".WCF_N."_cleanup_log + (packageID, objectType, objectID, deleteTime) + VALUES (?, ?, ?, ?)"; + $statement = WCF::getDB()->prepareStatement($sql); + + foreach ($objectIDs as $objectID) { + $statement->execute(array( + $packageID, + $objectType, + $objectID, + TIME_NOW + )); + } + } +} diff --git a/wcfsetup/install/files/lib/system/cronjob/CleanUpCronjobLogCronjob.class.php b/wcfsetup/install/files/lib/system/cronjob/CleanUpCronjobLogCronjob.class.php index f948a9a63a..528d267cc5 100644 --- a/wcfsetup/install/files/lib/system/cronjob/CleanUpCronjobLogCronjob.class.php +++ b/wcfsetup/install/files/lib/system/cronjob/CleanUpCronjobLogCronjob.class.php @@ -12,9 +12,9 @@ use wcf\system\WCF; * @subpackage system.cronjob * @category Community Framework */ -class CleanUpCronjobLogCronjob implements Cronjob { +class CleanUpCronjobLogCronjob implements ICronjob { /** - * @see Cronjob::execute() + * @see wcf\system\ICronjob::execute() */ public function execute(array $data) { $sql = "DELETE FROM wcf".WCF_N."_cronjobs_log diff --git a/wcfsetup/install/files/lib/system/cronjob/CleanUpSessionLogCronjob.class.php b/wcfsetup/install/files/lib/system/cronjob/CleanUpSessionLogCronjob.class.php index 10d04bdbe7..18b2b021ba 100644 --- a/wcfsetup/install/files/lib/system/cronjob/CleanUpSessionLogCronjob.class.php +++ b/wcfsetup/install/files/lib/system/cronjob/CleanUpSessionLogCronjob.class.php @@ -12,9 +12,9 @@ use wcf\system\WCF; * @subpackage system.cronjob * @category Community Framework */ -class CleanUpSessionLogCronjob implements Cronjob { +class CleanUpSessionLogCronjob implements ICronjob { /** - * @see Cronjob::execute() + * @see wcf\system\ICronjob::execute() */ public function execute(array $data) { // delete access log diff --git a/wcfsetup/install/files/lib/system/cronjob/CleanupListenerCronjob.class.php b/wcfsetup/install/files/lib/system/cronjob/CleanupListenerCronjob.class.php index a37386f323..ef75c155b2 100644 --- a/wcfsetup/install/files/lib/system/cronjob/CleanupListenerCronjob.class.php +++ b/wcfsetup/install/files/lib/system/cronjob/CleanupListenerCronjob.class.php @@ -12,9 +12,9 @@ use wcf\system\cleanup\CleanupHandler; * @subpackage system.cronjob * @category Community Framework */ -class CleanupListenerCronjob implements Cronjob { +class CleanupListenerCronjob implements ICronjob { /** - * @see Cronjob::execute() + * @see wcf\system\ICronjob::execute() */ public function execute(array $data) { CleanupHandler::getInstance()->execute(); diff --git a/wcfsetup/install/files/lib/system/cronjob/Cronjob.class.php b/wcfsetup/install/files/lib/system/cronjob/Cronjob.class.php deleted file mode 100644 index a30db17e77..0000000000 --- a/wcfsetup/install/files/lib/system/cronjob/Cronjob.class.php +++ /dev/null @@ -1,25 +0,0 @@ - - * @package com.woltlab.wcf.data.cronjobs - * @subpackage system.cronjob - * @category Community Framework - */ -interface Cronjob { - /** - * To be called when executing the cronjob; the $data array e.g. might be used for passing - * meaningful values to the cronjob in order to reasonably avail multipleExecs. - * - * @param array $data This array should basically contain the dataset - * associated to the executed cronjob, particularly - * the date of the planned execution (the nextExec - * field). - */ - public function execute(array $data); -} diff --git a/wcfsetup/install/files/lib/system/cronjob/CronjobScheduler.class.php b/wcfsetup/install/files/lib/system/cronjob/CronjobScheduler.class.php index 526902f4e7..3714104aa5 100644 --- a/wcfsetup/install/files/lib/system/cronjob/CronjobScheduler.class.php +++ b/wcfsetup/install/files/lib/system/cronjob/CronjobScheduler.class.php @@ -142,8 +142,8 @@ abstract class CronjobScheduler { } // verify class signature - if (!(ClassUtil::isInstanceOf($className, 'wcf\system\cronjob\Cronjob'))) { - throw new SystemException("class '".$className."' does not implement the interface 'Cronjob'", 11010); + if (!(ClassUtil::isInstanceOf($className, 'wcf\system\cronjob\ICronjob'))) { + throw new SystemException("class '".$className."' does not implement the interface 'wcf\system\cronjob\ICronjob'", 11010); } // execute cronjob diff --git a/wcfsetup/install/files/lib/system/cronjob/GetUpdateInfoCronjob.class.php b/wcfsetup/install/files/lib/system/cronjob/GetUpdateInfoCronjob.class.php index 517ed8fb7c..76a943f0b7 100644 --- a/wcfsetup/install/files/lib/system/cronjob/GetUpdateInfoCronjob.class.php +++ b/wcfsetup/install/files/lib/system/cronjob/GetUpdateInfoCronjob.class.php @@ -12,9 +12,9 @@ use wcf\acp\package\update\PackageUpdate; * @subpackage system.cronjob * @category Community Framework */ -class GetUpdateInfoCronjob implements Cronjob { +class GetUpdateInfoCronjob implements ICronjob { /** - * @see Cronjob::execute() + * @see wcf\system\ICronjob::execute() * @TODO Change path and move method to lib/system/package */ public function execute(array $data) { diff --git a/wcfsetup/install/files/lib/system/cronjob/ICronjob.class.php b/wcfsetup/install/files/lib/system/cronjob/ICronjob.class.php new file mode 100644 index 0000000000..8970c7b7d8 --- /dev/null +++ b/wcfsetup/install/files/lib/system/cronjob/ICronjob.class.php @@ -0,0 +1,25 @@ + + * @package com.woltlab.wcf.data.cronjobs + * @subpackage system.cronjob + * @category Community Framework + */ +interface ICronjob { + /** + * To be called when executing the cronjob; the $data array e.g. might be used for passing + * meaningful values to the cronjob in order to reasonably avail multipleExecs. + * + * @param array $data This array should basically contain the dataset + * associated to the executed cronjob, particularly + * the date of the planned execution (the nextExec + * field). + */ + public function execute(array $data); +} diff --git a/wcfsetup/install/files/lib/system/cronjob/RefreshSearchRobotsCronjob.class.php b/wcfsetup/install/files/lib/system/cronjob/RefreshSearchRobotsCronjob.class.php index bc13d9bb78..05c36cf350 100644 --- a/wcfsetup/install/files/lib/system/cronjob/RefreshSearchRobotsCronjob.class.php +++ b/wcfsetup/install/files/lib/system/cronjob/RefreshSearchRobotsCronjob.class.php @@ -18,9 +18,9 @@ use wcf\util\XML; * @subpackage system.cronjob * @category Community Framework */ -class RefreshSearchRobotsCronjob implements Cronjob { +class RefreshSearchRobotsCronjob implements ICronjob { /** - * @see Cronjob::execute() + * @see wcf\system\ICronjob::execute() */ public function execute(array $data) { $filename = FileUtil::downloadFileFromHttp('http://www.woltlab.com/spiderlist/spiderlist.xml', 'spiders'); diff --git a/wcfsetup/install/files/lib/system/event/EventHandler.class.php b/wcfsetup/install/files/lib/system/event/EventHandler.class.php index 0aa88bc825..3c63ab3fd4 100644 --- a/wcfsetup/install/files/lib/system/event/EventHandler.class.php +++ b/wcfsetup/install/files/lib/system/event/EventHandler.class.php @@ -3,6 +3,7 @@ namespace wcf\system\event; use wcf\system\cache\CacheHandler; use wcf\system\exception\SystemException; use wcf\system\SingletonFactory; +use wcf\util\ClassUtil; /** * EventHandler executes all registered actions for a specific event. @@ -101,6 +102,9 @@ class EventHandler extends SingletonFactory { if (!class_exists($action['listenerClassName'])) { throw new SystemException("Unable to find class '".$action['listenerClassName']."'", 11001); } + if (!ClassUtil::isInstanceOf($action['listenerClassName'], 'wcf\system\event\IEventListener')) { + throw new SystemException("'".$action['listenerClassName']."' should implement interface wcf\system\event\IEventListener"); + } $object = new $action['listenerClassName']; $this->listenerObjects[] = $object; @@ -163,6 +167,9 @@ class EventHandler extends SingletonFactory { if (!class_exists($action['listenerClassName'])) { throw new SystemException("Unable to find class '".$action['listenerClassName']."'", 11001); } + if (!ClassUtil::isInstanceOf($action['listenerClassName'], 'wcf\system\event\IEventListener')) { + throw new SystemException("'".$action['listenerClassName']."' should implement interface wcf\system\event\IEventListener"); + } $object = new $action['listenerClassName']; $this->listenerObjects[$path] = $object; diff --git a/wcfsetup/install/files/lib/system/event/EventListener.class.php b/wcfsetup/install/files/lib/system/event/EventListener.class.php deleted file mode 100644 index 753e9c6002..0000000000 --- a/wcfsetup/install/files/lib/system/event/EventListener.class.php +++ /dev/null @@ -1,23 +0,0 @@ - - * @package com.woltlab.wcf - * @subpackage system.event - * @category Community Framework - */ -interface EventListener { - /** - * Executes this action. - * - * @param object $eventObj - * @param string $className - * @param string $eventName - */ - public function execute($eventObj, $className, $eventName); -} diff --git a/wcfsetup/install/files/lib/system/event/IEventListener.class.php b/wcfsetup/install/files/lib/system/event/IEventListener.class.php new file mode 100644 index 0000000000..bfb054e00e --- /dev/null +++ b/wcfsetup/install/files/lib/system/event/IEventListener.class.php @@ -0,0 +1,24 @@ + + * @package com.woltlab.wcf + * @subpackage system.event + * @category Community Framework + */ +interface IEventListener { + /** + * Executes this action. + * + * @param object $eventObj + * @param string $className + * @param string $eventName + */ + public function execute($eventObj, $className, $eventName); +} diff --git a/wcfsetup/install/files/lib/system/event/listener/SessionAccessLogListener.class.php b/wcfsetup/install/files/lib/system/event/listener/SessionAccessLogListener.class.php index 56b8a98365..87d740d98c 100644 --- a/wcfsetup/install/files/lib/system/event/listener/SessionAccessLogListener.class.php +++ b/wcfsetup/install/files/lib/system/event/listener/SessionAccessLogListener.class.php @@ -3,7 +3,7 @@ namespace wcf\system\event\listener; use wcf\data\acp\session\access\log\ACPSessionAccessLogEditor; use wcf\data\acp\session\log\ACPSessionLog; use wcf\data\acp\session\log\ACPSessionLogEditor; -use wcf\system\event\EventListener; +use wcf\system\event\IEventListener; use wcf\system\WCF; /** @@ -16,9 +16,9 @@ use wcf\system\WCF; * @subpackage system.event.listener * @category Community Framework */ -class SessionAccessLogListener implements EventListener { +class SessionAccessLogListener implements IEventListener { /** - * @see EventListener::execute() + * @see wcf\system\event\IEventListener::execute() */ public function execute($eventObj, $className, $eventName) { if (WCF::getUser()->userID && WCF::getSession()->getPermission('admin.general.canUseAcp') && !defined(get_class($eventObj).'::DO_NOT_LOG')) { diff --git a/wcfsetup/install/files/lib/system/exception/IPrintableException.class.php b/wcfsetup/install/files/lib/system/exception/IPrintableException.class.php new file mode 100644 index 0000000000..579a9ed2fe --- /dev/null +++ b/wcfsetup/install/files/lib/system/exception/IPrintableException.class.php @@ -0,0 +1,20 @@ + + * @package com.woltlab.wcf + * @subpackage system.exception + * @category Community Framework + */ +interface IPrintableException { + /** + * Prints this exception. + * This method is called by WCF::handleException(). + */ + public function show(); +} diff --git a/wcfsetup/install/files/lib/system/exception/PrintableException.class.php b/wcfsetup/install/files/lib/system/exception/PrintableException.class.php deleted file mode 100644 index 1b534fbbfe..0000000000 --- a/wcfsetup/install/files/lib/system/exception/PrintableException.class.php +++ /dev/null @@ -1,20 +0,0 @@ - - * @package com.woltlab.wcf - * @subpackage system.exception - * @category Community Framework - */ -interface PrintableException { - /** - * Prints this exception. - * This method is called by WCF::handleException(). - */ - public function show(); -} diff --git a/wcfsetup/install/files/lib/system/exception/SystemException.class.php b/wcfsetup/install/files/lib/system/exception/SystemException.class.php index dd26788307..2be027dd53 100644 --- a/wcfsetup/install/files/lib/system/exception/SystemException.class.php +++ b/wcfsetup/install/files/lib/system/exception/SystemException.class.php @@ -12,7 +12,7 @@ use wcf\util\StringUtil; * @subpackage system.exception * @category Community Framework */ -class SystemException extends \Exception implements PrintableException { +class SystemException extends \Exception implements IPrintableException { /** * error description * @var string @@ -63,7 +63,7 @@ class SystemException extends \Exception implements PrintableException { } /** - * @see PrintableException::show() + * @see wcf\system\exception\IPrintableException::show() */ public function show() { // send status code diff --git a/wcfsetup/install/files/lib/system/exception/UserException.class.php b/wcfsetup/install/files/lib/system/exception/UserException.class.php index e101908f7a..72854508d0 100644 --- a/wcfsetup/install/files/lib/system/exception/UserException.class.php +++ b/wcfsetup/install/files/lib/system/exception/UserException.class.php @@ -11,9 +11,9 @@ namespace wcf\system\exception; * @subpackage system.exception * @category Community Framework */ -abstract class UserException extends \Exception implements PrintableException { +abstract class UserException extends \Exception implements IPrintableException { /** - * @see PrintableException::show() + * @see wcf\system\exception\IPrintableException::show() */ public function show() { echo '
' . $this->getTraceAsString() . '
'; diff --git a/wcfsetup/install/files/lib/system/form/FormDocument.class.php b/wcfsetup/install/files/lib/system/form/FormDocument.class.php index ff919cf0e5..f8d4209b9f 100644 --- a/wcfsetup/install/files/lib/system/form/FormDocument.class.php +++ b/wcfsetup/install/files/lib/system/form/FormDocument.class.php @@ -16,7 +16,7 @@ class FormDocument { /** * list of FormElementContainer objects * - * @var FormElementContainer + * @var array */ protected $containers = array(); @@ -48,25 +48,25 @@ class FormDocument { /** * Appends a FormElementContainer object. * - * @param FormElementContainer $container + * @param wcf\system\form\IFormElementContainer $container */ - public function appendContainer(FormElementContainer $container) { + public function appendContainer(IFormElementContainer $container) { $this->containers[] = $container; } /** * Prepends a FormElementContainer object. * - * @param FormElementContainer $container + * @param wcf\system\form\IFormElementContainer $container */ - public function prependContainer(FormElementContainer $container) { + public function prependContainer(IFormElementContainer $container) { array_unshift($this->containers, $container); } /** * Returns assigned FormElementContainer objects. * - * @return array + * @return array */ public function getContainers() { return $this->containers; diff --git a/wcfsetup/install/files/lib/system/form/FormElement.class.php b/wcfsetup/install/files/lib/system/form/FormElement.class.php deleted file mode 100644 index 71c072f515..0000000000 --- a/wcfsetup/install/files/lib/system/form/FormElement.class.php +++ /dev/null @@ -1,65 +0,0 @@ - - * @package com.woltlab.wcf - * @subpackage system.form - * @category Community Framework - */ -interface FormElement { - /** - * Creates a new object of type FormElement. - * - * @param FormElementContainer $parent - */ - public function __construct(FormElementContainer $parent); - - /** - * Returns help message. - * - * @return string - */ - public function getDescription(); - - /** - * Sets help message. - * - * @param string $description - */ - public function setDescription($description); - - /** - * Returns label. - * - * @return string - */ - public function getLabel(); - - /** - * Sets label. - * - * @param string $label - */ - public function setLabel($label); - - /** - * Returns element's parent container element. - * - * @return FormElementContainer - */ - public function getParent(); - - /** - * Returns HTML-representation of current form element. - * - * @param string $formName - * @return string - */ - public function getHTML($formName); -} diff --git a/wcfsetup/install/files/lib/system/form/FormElementContainer.class.php b/wcfsetup/install/files/lib/system/form/FormElementContainer.class.php deleted file mode 100644 index 182fefea9e..0000000000 --- a/wcfsetup/install/files/lib/system/form/FormElementContainer.class.php +++ /dev/null @@ -1,87 +0,0 @@ - - * @package com.woltlab.wcf - * @subpackage system.form - * @category Community Framework - */ -interface FormElementContainer { - /** - * Returns help message. - * - * @return string - */ - public function getDescription(); - - /** - * Sets help message. - * - * @param string $description - */ - public function setDescription($description); - - /** - * Returns label. - * - * @return string - */ - public function getLabel(); - - /** - * Sets label. - * - * @param string $label - */ - public function setLabel($label); - - /** - * Returns the value of child element with given name. - * - * @param string $key - * @return mixed - */ - public function getValue($key); - - /** - * Returns a list of child elements. - * - * @return array - */ - public function getChildren(); - - /** - * Appends a new child to stack. - * - * @param FormElement $element - */ - public function appendChild(FormElement $element); - - /** - * Preprens a new child to stack. - * - * @param FormElement $element - */ - public function prependChild(FormElement $element); - - /** - * Handles a POST or GET request. - * - * @param array $variables - */ - public function handleRequest(array $variables); - - /** - * Returns HTML-representation of current form element container. - * - * @param string $formName - * @return string - */ - public function getHTML($formName); -} diff --git a/wcfsetup/install/files/lib/system/form/IFormElement.class.php b/wcfsetup/install/files/lib/system/form/IFormElement.class.php new file mode 100644 index 0000000000..73a94038f2 --- /dev/null +++ b/wcfsetup/install/files/lib/system/form/IFormElement.class.php @@ -0,0 +1,64 @@ + + * @package com.woltlab.wcf + * @subpackage system.form + * @category Community Framework + */ +interface IFormElement { + /** + * Creates a new object of type FormElement. + * + * @param wcf\system\form\IFormElementContainer $parent + */ + public function __construct(IFormElementContainer $parent); + + /** + * Returns help message. + * + * @return string + */ + public function getDescription(); + + /** + * Sets help message. + * + * @param string $description + */ + public function setDescription($description); + + /** + * Returns label. + * + * @return string + */ + public function getLabel(); + + /** + * Sets label. + * + * @param string $label + */ + public function setLabel($label); + + /** + * Returns element's parent container element. + * + * @return wcf\system\form\IFormElementContainer + */ + public function getParent(); + + /** + * Returns HTML-representation of current form element. + * + * @param string $formName + * @return string + */ + public function getHTML($formName); +} diff --git a/wcfsetup/install/files/lib/system/form/IFormElementContainer.class.php b/wcfsetup/install/files/lib/system/form/IFormElementContainer.class.php new file mode 100644 index 0000000000..514ddb6373 --- /dev/null +++ b/wcfsetup/install/files/lib/system/form/IFormElementContainer.class.php @@ -0,0 +1,86 @@ + + * @package com.woltlab.wcf + * @subpackage system.form + * @category Community Framework + */ +interface IFormElementContainer { + /** + * Returns help message. + * + * @return string + */ + public function getDescription(); + + /** + * Sets help message. + * + * @param string $description + */ + public function setDescription($description); + + /** + * Returns label. + * + * @return string + */ + public function getLabel(); + + /** + * Sets label. + * + * @param string $label + */ + public function setLabel($label); + + /** + * Returns the value of child element with given name. + * + * @param string $key + * @return mixed + */ + public function getValue($key); + + /** + * Returns a list of child elements. + * + * @return array + */ + public function getChildren(); + + /** + * Appends a new child to stack. + * + * @param wcf\system\form\IFormElement $element + */ + public function appendChild(IFormElement $element); + + /** + * Preprens a new child to stack. + * + * @param wcf\system\form\IFormElement $element + */ + public function prependChild(IFormElement $element); + + /** + * Handles a POST or GET request. + * + * @param array $variables + */ + public function handleRequest(array $variables); + + /** + * Returns HTML-representation of current form element container. + * + * @param string $formName + * @return string + */ + public function getHTML($formName); +} diff --git a/wcfsetup/install/files/lib/system/form/container/AbstractFormElementContainer.class.php b/wcfsetup/install/files/lib/system/form/container/AbstractFormElementContainer.class.php index 8a21f72071..f327ae9148 100644 --- a/wcfsetup/install/files/lib/system/form/container/AbstractFormElementContainer.class.php +++ b/wcfsetup/install/files/lib/system/form/container/AbstractFormElementContainer.class.php @@ -1,7 +1,7 @@ + * @var array */ protected $children = array(); @@ -38,56 +38,56 @@ abstract class AbstractFormElementContainer implements FormElementContainer { protected $label = ''; /** - * @see FormElementContainer::setDescription() + * @see wcf\system\form\IFormElementContainer::setDescription() */ public function setDescription($description) { $this->description = StringUtil::trim($description); } /** - * @see FormElementContainer::getDescription() + * @see wcf\system\form\IFormElementContainer::getDescription() */ public function getDescription() { return $this->description; } /** - * @see FormElementContainer::setLabel() + * @see wcf\system\form\IFormElementContainer::setLabel() */ public function setLabel($label) { $this->label = StringUtil::trim($label); } /** - * @see FormElementContainer::getLabel() + * @see wcf\system\form\IFormElementContainer::getLabel() */ public function getLabel() { return $this->label; } /** - * @see FormElementContainer::appendChild() + * @see wcf\system\form\IFormElementContainer::appendChild() */ - public function appendChild(FormElement $element) { + public function appendChild(IFormElement $element) { $this->children[] = $element; } /** - * @see FormElementContainer::prependChild() + * @see wcf\system\form\IFormElementContainer::prependChild() */ - public function prependChild(FormElement $element) { + public function prependChild(IFormElement $element) { array_unshift($this->children, $element); } /** - * @see FormElementContainer::getChildren() + * @see wcf\system\form\IFormElementContainer::getChildren() */ public function getChildren() { return $this->children; } /** - * @see FormElementContainer::getValue() + * @see wcf\system\form\IFormElementContainer::getValue() */ public function getValue($key) { foreach ($this->children as $element) { @@ -102,7 +102,7 @@ abstract class AbstractFormElementContainer implements FormElementContainer { } /** - * @see FormElementContainer::handleRequest() + * @see wcf\system\form\IFormElementContainer::handleRequest() */ public function handleRequest(array $variables) { foreach ($this->children as $element) { diff --git a/wcfsetup/install/files/lib/system/form/container/GroupFormElementContainer.class.php b/wcfsetup/install/files/lib/system/form/container/GroupFormElementContainer.class.php index b8981b6d07..022750114e 100644 --- a/wcfsetup/install/files/lib/system/form/container/GroupFormElementContainer.class.php +++ b/wcfsetup/install/files/lib/system/form/container/GroupFormElementContainer.class.php @@ -13,7 +13,7 @@ namespace wcf\system\form\container; */ class GroupFormElementContainer extends AbstractFormElementContainer { /** - * @see FormElementContainer::getHTML() + * @see wcf\system\form\IFormElementContainer::getHTML() */ public function getHTML($formName) { $content = ''; diff --git a/wcfsetup/install/files/lib/system/form/container/MultipleSelectionFormElementContainer.class.php b/wcfsetup/install/files/lib/system/form/container/MultipleSelectionFormElementContainer.class.php index cf78dae6d2..4e7ef024fd 100644 --- a/wcfsetup/install/files/lib/system/form/container/MultipleSelectionFormElementContainer.class.php +++ b/wcfsetup/install/files/lib/system/form/container/MultipleSelectionFormElementContainer.class.php @@ -38,7 +38,7 @@ class MultipleSelectionFormElementContainer extends SelectionFormElementContaine } /** - * @see FormElementContainer::getHTML() + * @see wcf\system\form\IFormElementContainer::getHTML() */ public function getHTML($formName) { $content = ''; diff --git a/wcfsetup/install/files/lib/system/form/container/SingleSelectionFormElementContainer.class.php b/wcfsetup/install/files/lib/system/form/container/SingleSelectionFormElementContainer.class.php index 55821e4511..1972987875 100644 --- a/wcfsetup/install/files/lib/system/form/container/SingleSelectionFormElementContainer.class.php +++ b/wcfsetup/install/files/lib/system/form/container/SingleSelectionFormElementContainer.class.php @@ -38,7 +38,7 @@ class SingleSelectionFormElementContainer extends SelectionFormElementContainer } /** - * @see FormElementContainer::getHTML() + * @see wcf\system\form\IFormElementContainer::getHTML() */ public function getHTML($formName) { $content = ''; diff --git a/wcfsetup/install/files/lib/system/form/element/AbstractFormElement.class.php b/wcfsetup/install/files/lib/system/form/element/AbstractFormElement.class.php index 54b463c6da..14fad413fd 100644 --- a/wcfsetup/install/files/lib/system/form/element/AbstractFormElement.class.php +++ b/wcfsetup/install/files/lib/system/form/element/AbstractFormElement.class.php @@ -1,7 +1,7 @@ parent = $parent; } /** - * @see FormElement::setDescription() + * @see wcf\system\form\IFormElement::setDescription() */ public function setDescription($description) { $this->description = StringUtil::trim($description); } /** - * @see FormElement::getDescription() + * @see wcf\system\form\IFormElement::getDescription() */ public function getDescription() { return $this->description; } /** - * @see FormElement::setLabel() + * @see wcf\system\form\IFormElement::setLabel() */ public function setLabel($label) { $this->label = StringUtil::trim($label); } /** - * @see FormElement::getLabel() + * @see wcf\system\form\IFormElement::getLabel() */ public function getLabel() { return $this->label; } /** - * @see FormElement::getParent() + * @see wcf\system\form\IFormElement::getParent() */ public function getParent() { return $this->parent; diff --git a/wcfsetup/install/files/lib/system/form/element/LabelFormElement.class.php b/wcfsetup/install/files/lib/system/form/element/LabelFormElement.class.php index 5900491a28..d920e05fe1 100644 --- a/wcfsetup/install/files/lib/system/form/element/LabelFormElement.class.php +++ b/wcfsetup/install/files/lib/system/form/element/LabelFormElement.class.php @@ -39,7 +39,7 @@ class LabelFormElement extends AbstractFormElement { } /** - * @see FormElement::getHTML() + * @see wcf\system\form\IFormElement::getHTML() */ public function getHTML($formName) { return << + * @package com.woltlab.wcf + * @subpackage system.menu + * @category Community Framework + */ +interface ITreeMenuItem { + /** + * Returns the link of this item. + * + * @return string + */ + public function getLink(); +} diff --git a/wcfsetup/install/files/lib/system/menu/TreeMenu.class.php b/wcfsetup/install/files/lib/system/menu/TreeMenu.class.php index 0996dec5c4..39e12f67ff 100644 --- a/wcfsetup/install/files/lib/system/menu/TreeMenu.class.php +++ b/wcfsetup/install/files/lib/system/menu/TreeMenu.class.php @@ -70,10 +70,10 @@ abstract class TreeMenu extends SingletonFactory { /** * Checks the options and permissions of given menu item. * - * @param mixed $item + * @param wcf\system\menu\ITreeMenuItem $item * @return boolean */ - protected function checkMenuItem(TreeMenuItem $item) { + protected function checkMenuItem(ITreeMenuItem $item) { // check the options of this item $hasEnabledOption = true; if (!empty($item->options)) { diff --git a/wcfsetup/install/files/lib/system/menu/TreeMenuItem.class.php b/wcfsetup/install/files/lib/system/menu/TreeMenuItem.class.php deleted file mode 100644 index 1c8a86a27b..0000000000 --- a/wcfsetup/install/files/lib/system/menu/TreeMenuItem.class.php +++ /dev/null @@ -1,21 +0,0 @@ - - * @package com.woltlab.wcf - * @subpackage system.menu - * @category Community Framework - */ -interface TreeMenuItem { - /** - * Returns the link of this item. - * - * @return string - */ - public function getLink(); -} diff --git a/wcfsetup/install/files/lib/system/menu/page/DefaultPageMenuItemProvider.class.php b/wcfsetup/install/files/lib/system/menu/page/DefaultPageMenuItemProvider.class.php index e6ebb2b4ad..31c2f81025 100644 --- a/wcfsetup/install/files/lib/system/menu/page/DefaultPageMenuItemProvider.class.php +++ b/wcfsetup/install/files/lib/system/menu/page/DefaultPageMenuItemProvider.class.php @@ -1,5 +1,6 @@ + * @package com.woltlab.wcf + * @subpackage system.menu.page + * @category Community Framework + */ +interface IPageMenuItemProvider extends IDatabaseObjectProcessor { + /** + * Returns true if the associated menu item should be visible for the active user. + * + * @return boolean + */ + public function isVisible(); + + /** + * Returns the number of notifications for the associated menu item. + * + * @return boolean + */ + public function getNotifications(); +} diff --git a/wcfsetup/install/files/lib/system/menu/page/PageMenu.class.php b/wcfsetup/install/files/lib/system/menu/page/PageMenu.class.php index 0eb9a51df4..9de0348328 100644 --- a/wcfsetup/install/files/lib/system/menu/page/PageMenu.class.php +++ b/wcfsetup/install/files/lib/system/menu/page/PageMenu.class.php @@ -2,7 +2,7 @@ namespace wcf\system\menu\page; use wcf\data\page\menu\item\PageMenuItem; use wcf\system\menu\TreeMenu; -use wcf\system\menu\TreeMenuItem; +use wcf\system\menu\ITreeMenuItem; use wcf\system\cache\CacheHandler; /** @@ -17,7 +17,7 @@ use wcf\system\cache\CacheHandler; */ class PageMenu extends TreeMenu { /** - * @see TreeMenu::loadCache() + * @see wcf\system\menu\TreeMenu::loadCache() */ protected function loadCache() { parent::loadCache(); @@ -28,11 +28,11 @@ class PageMenu extends TreeMenu { } /** - * @see TreeMenu::checkMenuItem() + * @see wcf\system\menu\TreeMenu::checkMenuItem() */ - protected function checkMenuItem(TreeMenuItem $item) { + protected function checkMenuItem(ITreeMenuItem $item) { if (!parent::checkMenuItem($item)) return false; - return $item->getProvider()->isVisible(); + return $item->getProcessor()->isVisible(); } } diff --git a/wcfsetup/install/files/lib/system/menu/page/PageMenuItemProvider.class.php b/wcfsetup/install/files/lib/system/menu/page/PageMenuItemProvider.class.php deleted file mode 100644 index 33404ca514..0000000000 --- a/wcfsetup/install/files/lib/system/menu/page/PageMenuItemProvider.class.php +++ /dev/null @@ -1,28 +0,0 @@ - - * @package com.woltlab.wcf - * @subpackage system.menu.page - * @category Community Framework - */ -interface PageMenuItemProvider { - /** - * Returns true if the associated menu item should be visible for the active user. - * - * @return boolean - */ - public function isVisible(); - - /** - * Returns the number of notifications for the associated menu item. - * - * @return boolean - */ - public function getNotifications(); -} diff --git a/wcfsetup/install/files/lib/system/option/IOptionType.class.php b/wcfsetup/install/files/lib/system/option/IOptionType.class.php new file mode 100644 index 0000000000..fbf3b26487 --- /dev/null +++ b/wcfsetup/install/files/lib/system/option/IOptionType.class.php @@ -0,0 +1,42 @@ + + * @package com.woltlab.wcf + * @subpackage system.option + * @category Community Framework + */ +interface IOptionType { + /** + * Returns the html code for the form element of this option. + * + * @param Option $option + * @param mixed $value + * @return string html + */ + public function getFormElement(Option $option, $value); + + /** + * Validates the form input for this option. + * Throws an exception, if validation fails. + * + * @param Option $option + * @param string $newValue + */ + public function validate(Option $option, $newValue); + + /** + * Returns the value of this option for saving in the database. + * + * @param Option $option + * @param string $newValue + * @return string + */ + public function getData(Option $option, $newValue); +} diff --git a/wcfsetup/install/files/lib/system/option/ISearchableUserOption.class.php b/wcfsetup/install/files/lib/system/option/ISearchableUserOption.class.php new file mode 100644 index 0000000000..85434c8ec3 --- /dev/null +++ b/wcfsetup/install/files/lib/system/option/ISearchableUserOption.class.php @@ -0,0 +1,35 @@ + + * @package com.woltlab.wcf + * @subpackage system.option + * @category Community Framework + */ +interface ISearchableUserOption { + /** + * Returns the html code for the search form element of this option. + * + * @param wcf\data\option\Option $option + * @param string $value + * @return string html + */ + public function getSearchFormElement(Option $option, $value); + + /** + * Returns a condition for search sql query. + * + * @param wcf\system\database\condition\PreparedStatementConditionBuilder $conditions + * @param wcf\data\option\Option $option + * @param string $value + * @param boolean + */ + public function getCondition(PreparedStatementConditionBuilder &$conditions, Option $option, $value); +} diff --git a/wcfsetup/install/files/lib/system/option/OptionType.class.php b/wcfsetup/install/files/lib/system/option/OptionType.class.php deleted file mode 100644 index 7d962e1b08..0000000000 --- a/wcfsetup/install/files/lib/system/option/OptionType.class.php +++ /dev/null @@ -1,42 +0,0 @@ - - * @package com.woltlab.wcf - * @subpackage system.option - * @category Community Framework - */ -interface OptionType { - /** - * Returns the html code for the form element of this option. - * - * @param Option $option - * @param mixed $value - * @return string html - */ - public function getFormElement(Option $option, $value); - - /** - * Validates the form input for this option. - * Throws an exception, if validation fails. - * - * @param Option $option - * @param string $newValue - */ - public function validate(Option $option, $newValue); - - /** - * Returns the value of this option for saving in the database. - * - * @param Option $option - * @param string $newValue - * @return string - */ - public function getData(Option $option, $newValue); -} diff --git a/wcfsetup/install/files/lib/system/option/OptionTypeBoolean.class.php b/wcfsetup/install/files/lib/system/option/OptionTypeBoolean.class.php index 460d5670a1..5fad0b08ff 100644 --- a/wcfsetup/install/files/lib/system/option/OptionTypeBoolean.class.php +++ b/wcfsetup/install/files/lib/system/option/OptionTypeBoolean.class.php @@ -15,9 +15,9 @@ use wcf\util\StringUtil; * @subpackage system.option * @category Community Framework */ -class OptionTypeBoolean implements OptionType, SearchableUserOption { +class OptionTypeBoolean implements IOptionType, ISearchableUserOption { /** - * @see OptionType::getFormElement() + * @see wcf\system\option\IOptionType::getFormElement() */ public function getFormElement(Option $option, $value) { $options = Option::parseEnableOptions($option->enableOptions); @@ -32,12 +32,12 @@ class OptionTypeBoolean implements OptionType, SearchableUserOption { } /** - * @see OptionType::validate() + * @see wcf\system\option\IOptionType::validate() */ public function validate(Option $option, $newValue) {} /** - * @see OptionType::getData() + * @see wcf\system\option\IOptionType::getData() */ public function getData(Option $option, $newValue) { if ($newValue !== null) return 1; @@ -45,14 +45,14 @@ class OptionTypeBoolean implements OptionType, SearchableUserOption { } /** - * @see SearchableUserOption::getSearchFormElement() + * @see wcf\system\option\ISearchableUserOption::getSearchFormElement() */ public function getSearchFormElement(Option $option, $value) { return $this->getFormElement($option, $value); } /** - * @see SearchableUserOption::getCondition() + * @see wcf\system\option\ISearchableUserOption::getCondition() */ public function getCondition(PreparedStatementConditionBuilder &$conditions, Option $option, $value) { $value = intval($value); diff --git a/wcfsetup/install/files/lib/system/option/OptionTypeCustomselect.class.php b/wcfsetup/install/files/lib/system/option/OptionTypeCustomselect.class.php index 91088335ad..4f95ee15d5 100644 --- a/wcfsetup/install/files/lib/system/option/OptionTypeCustomselect.class.php +++ b/wcfsetup/install/files/lib/system/option/OptionTypeCustomselect.class.php @@ -16,7 +16,7 @@ use wcf\system\WCF; */ class OptionTypeCustomselect extends OptionTypeSelect { /** - * @see OptionType::getFormElement() + * @see wcf\system\option\IOptionType::getFormElement() */ public function getFormElement(Option $option, $value) { WCF::getTPL()->assign(array( @@ -30,12 +30,12 @@ class OptionTypeCustomselect extends OptionTypeSelect { } /** - * @see OptionType::validate() + * @see wcf\system\option\IOptionType::validate() */ public function validate(Option $option, $newValue) {} /** - * @see OptionType::getData() + * @see wcf\system\option\IOptionType::getData() */ public function getData(Option $option, $newValue) { if (empty($newValue) && isset($_POST['values'][$option->optionName.'_custom'])) { diff --git a/wcfsetup/install/files/lib/system/option/OptionTypeDate.class.php b/wcfsetup/install/files/lib/system/option/OptionTypeDate.class.php index a9ff580945..5891a81672 100644 --- a/wcfsetup/install/files/lib/system/option/OptionTypeDate.class.php +++ b/wcfsetup/install/files/lib/system/option/OptionTypeDate.class.php @@ -18,11 +18,11 @@ use wcf\util\DateUtil; * @subpackage system.option * @category Community Framework */ -class OptionTypeDate implements OptionType, SearchableUserOption { +class OptionTypeDate implements IOptionType, ISearchableUserOption { protected $yearRequired = true; /** - * @see OptionType::getFormElement() + * @see wcf\system\option\IOptionType::getFormElement() */ public function getFormElement(array &$optionData) { if (!isset($optionData['optionValue'])) { @@ -84,7 +84,7 @@ class OptionTypeDate implements OptionType, SearchableUserOption { } /** - * @see OptionType::validate() + * @see wcf\system\option\IOptionType::validate() */ public function validate(array $optionData, $newValue) { $this->getValue($newValue); @@ -104,7 +104,7 @@ class OptionTypeDate implements OptionType, SearchableUserOption { } /** - * @see OptionType::getData() + * @see wcf\system\option\IOptionType::getData() */ public function getData(array $optionData, $newValue) { $this->getValue($newValue); @@ -125,14 +125,14 @@ class OptionTypeDate implements OptionType, SearchableUserOption { } /** - * @see SearchableUserOption::getSearchFormElement() + * @see wcf\system\option\ISearchableUserOption::getSearchFormElement() */ public function getSearchFormElement(array &$optionData) { return $this->getFormElement($optionData); } /** - * @see SearchableUserOption::getCondition() + * @see wcf\system\option\ISearchableUserOption::getCondition() */ public function getCondition(PreparedStatementConditionBuilder &$conditions, Option $option, $value) { $value = $this->getData($optionData, $value); diff --git a/wcfsetup/install/files/lib/system/option/OptionTypeFloat.class.php b/wcfsetup/install/files/lib/system/option/OptionTypeFloat.class.php index 9e9ff9fe79..a7a7896a5b 100644 --- a/wcfsetup/install/files/lib/system/option/OptionTypeFloat.class.php +++ b/wcfsetup/install/files/lib/system/option/OptionTypeFloat.class.php @@ -16,7 +16,7 @@ use wcf\system\WCF; */ class OptionTypeFloat extends OptionTypeText { /** - * @see OptionType::getFormElement() + * @see wcf\system\option\IOptionType::getFormElement() */ public function getFormElement(Option $option, $value) { $value = str_replace('.', WCF::getLanguage()->get('wcf.global.decimalPoint'), $value); @@ -25,7 +25,7 @@ class OptionTypeFloat extends OptionTypeText { } /** - * @see OptionType::getData() + * @see wcf\system\option\IOptionType::getData() */ public function getData(Option $option, $newValue) { $newValue = str_replace(' ', '', $newValue); diff --git a/wcfsetup/install/files/lib/system/option/OptionTypeInteger.class.php b/wcfsetup/install/files/lib/system/option/OptionTypeInteger.class.php index 663127938f..60cb488dbe 100644 --- a/wcfsetup/install/files/lib/system/option/OptionTypeInteger.class.php +++ b/wcfsetup/install/files/lib/system/option/OptionTypeInteger.class.php @@ -15,7 +15,7 @@ use wcf\system\option\OptionTypeText; */ class OptionTypeInteger extends OptionTypeText { /** - * @see OptionType::getData() + * @see wcf\system\option\IOptionType::getData() */ public function getData(Option $option, $newValue) { return intval($newValue); diff --git a/wcfsetup/install/files/lib/system/option/OptionTypeMultiselect.class.php b/wcfsetup/install/files/lib/system/option/OptionTypeMultiselect.class.php index 3a14cbf674..b361a27389 100644 --- a/wcfsetup/install/files/lib/system/option/OptionTypeMultiselect.class.php +++ b/wcfsetup/install/files/lib/system/option/OptionTypeMultiselect.class.php @@ -21,7 +21,7 @@ use wcf\util\OptionUtil; */ class OptionTypeMultiselect extends OptionTypeSelect { /** - * @see OptionType::getFormElement() + * @see wcf\system\option\IOptionType::getFormElement() */ public function getFormElement(array &$optionData) { if (!isset($optionData['optionValue'])) { @@ -43,7 +43,7 @@ class OptionTypeMultiselect extends OptionTypeSelect { } /** - * @see OptionType::validate() + * @see wcf\system\option\IOptionType::validate() */ public function validate(array $optionData, $newValue) { if (!is_array($newValue)) $newValue = array(); @@ -54,7 +54,7 @@ class OptionTypeMultiselect extends OptionTypeSelect { } /** - * @see OptionType::getData() + * @see wcf\system\option\IOptionType::getData() */ public function getData(array $optionData, $newValue) { if (!is_array($newValue)) $newValue = array(); @@ -62,14 +62,14 @@ class OptionTypeMultiselect extends OptionTypeSelect { } /** - * @see SearchableUserOption::getSearchFormElement() + * @see wcf\system\option\ISearchableUserOption::getSearchFormElement() */ public function getSearchFormElement(array &$optionData) { return $this->getFormElement($optionData); } /** - * @see SearchableUserOption::getCondition() + * @see wcf\system\option\ISearchableUserOption::getCondition() */ public function getCondition(PreparedStatementConditionBuilder &$conditions, Option $options, $value) { if (!is_array($value) || !count($value)) return false; diff --git a/wcfsetup/install/files/lib/system/option/OptionTypePassword.class.php b/wcfsetup/install/files/lib/system/option/OptionTypePassword.class.php index 259f68ca38..23eb369396 100644 --- a/wcfsetup/install/files/lib/system/option/OptionTypePassword.class.php +++ b/wcfsetup/install/files/lib/system/option/OptionTypePassword.class.php @@ -21,7 +21,7 @@ class OptionTypePassword extends OptionTypeText { protected $inputType = 'password'; /** - * @see SearchableUserOption::getCondition() + * @see wcf\system\option\ISearchableUserOption::getCondition() */ public function getCondition(PreparedStatementConditionBuilder &$conditions, Option $option, $value) { return false; diff --git a/wcfsetup/install/files/lib/system/option/OptionTypeRadiobuttons.class.php b/wcfsetup/install/files/lib/system/option/OptionTypeRadiobuttons.class.php index 6f2d0dfdb4..7271cfeae2 100644 --- a/wcfsetup/install/files/lib/system/option/OptionTypeRadiobuttons.class.php +++ b/wcfsetup/install/files/lib/system/option/OptionTypeRadiobuttons.class.php @@ -18,11 +18,11 @@ use wcf\util\StringUtil; * @subpackage system.option * @category Community Framework */ -class OptionTypeRadiobuttons implements OptionType, SearchableUserOption { +class OptionTypeRadiobuttons implements IOptionType, ISearchableUserOption { public $templateName = 'optionTypeRadiobuttons'; /** - * @see OptionType::getFormElement() + * @see wcf\system\option\IOptionType::getFormElement() */ public function getFormElement(Option $option, $value) { // get options @@ -52,7 +52,7 @@ class OptionTypeRadiobuttons implements OptionType, SearchableUserOption { } /** - * @see OptionType::validate() + * @see wcf\system\option\IOptionType::validate() */ public function validate(Option $option, $newValue) { if (!empty($newValue)) { @@ -64,21 +64,21 @@ class OptionTypeRadiobuttons implements OptionType, SearchableUserOption { } /** - * @see OptionType::getData() + * @see wcf\system\option\IOptionType::getData() */ public function getData(Option $option, $newValue) { return $newValue; } /** - * @see SearchableUserOption::getSearchFormElement() + * @see wcf\system\option\ISearchableUserOption::getSearchFormElement() */ public function getSearchFormElement(Option $option, $value) { return $this->getFormElement($optionData, $value); } /** - * @see SearchableUserOption::getCondition() + * @see wcf\system\option\ISearchableUserOption::getCondition() */ public function getCondition(PreparedStatementConditionBuilder &$conditions, Option $option, $value) { $value = StringUtil::trim($value); diff --git a/wcfsetup/install/files/lib/system/option/OptionTypeSelect.class.php b/wcfsetup/install/files/lib/system/option/OptionTypeSelect.class.php index 0881b6b261..854bc8047c 100644 --- a/wcfsetup/install/files/lib/system/option/OptionTypeSelect.class.php +++ b/wcfsetup/install/files/lib/system/option/OptionTypeSelect.class.php @@ -16,7 +16,7 @@ use wcf\system\WCF; */ class OptionTypeSelect extends OptionTypeRadiobuttons { /** - * @see OptionType::getFormElement() + * @see wcf\system\option\IOptionType::getFormElement() */ public function getFormElement(Option $option, $value) { // get options @@ -33,7 +33,7 @@ class OptionTypeSelect extends OptionTypeRadiobuttons { } /** - * @see SearchableUserOption::getSearchFormElement() + * @see wcf\system\option\ISearchableUserOption::getSearchFormElement() */ public function getSearchFormElement(Option $option, $value) { return $this->getFormElement($optionData, $value); diff --git a/wcfsetup/install/files/lib/system/option/OptionTypeText.class.php b/wcfsetup/install/files/lib/system/option/OptionTypeText.class.php index e45aea84a2..9d3c985358 100644 --- a/wcfsetup/install/files/lib/system/option/OptionTypeText.class.php +++ b/wcfsetup/install/files/lib/system/option/OptionTypeText.class.php @@ -17,7 +17,7 @@ use wcf\util\StringUtil; * @subpackage system.option * @category Community Framework */ -class OptionTypeText implements OptionType, SearchableUserOption { +class OptionTypeText implements IOptionType, ISearchableUserOption { /** * input type * @var string @@ -25,7 +25,7 @@ class OptionTypeText implements OptionType, SearchableUserOption { protected $inputType = 'text'; /** - * @see OptionType::getFormElement() + * @see wcf\system\option\IOptionType::getFormElement() */ public function getFormElement(Option $option, $value) { WCF::getTPL()->assign(array( @@ -37,26 +37,26 @@ class OptionTypeText implements OptionType, SearchableUserOption { } /** - * @see OptionType::validate() + * @see wcf\system\option\IOptionType::validate() */ public function validate(Option $option, $newValue) {} /** - * @see OptionType::getData() + * @see wcf\system\option\IOptionType::getData() */ public function getData(Option $option, $newValue) { return $newValue; } /** - * @see SearchableUserOption::getSearchFormElement() + * @see wcf\system\option\ISearchableUserOption::getSearchFormElement() */ public function getSearchFormElement(Option $option, $value) { return $this->getFormElement($optionData, $value); } /** - * @see SearchableUserOption::getCondition() + * @see wcf\system\option\ISearchableUserOption::getCondition() */ public function getCondition(PreparedStatementConditionBuilder &$conditions, Option $option, $value) { $value = StringUtil::trim($value); diff --git a/wcfsetup/install/files/lib/system/option/OptionTypeTextarea.class.php b/wcfsetup/install/files/lib/system/option/OptionTypeTextarea.class.php index 6d5eee81ad..90afe6d216 100644 --- a/wcfsetup/install/files/lib/system/option/OptionTypeTextarea.class.php +++ b/wcfsetup/install/files/lib/system/option/OptionTypeTextarea.class.php @@ -16,7 +16,7 @@ use wcf\system\WCF; */ class OptionTypeTextarea extends OptionTypeText { /** - * @see OptionType::getFormElement() + * @see wcf\system\option\IOptionType::getFormElement() */ public function getFormElement(Option $option, $value) { WCF::getTPL()->assign(array( diff --git a/wcfsetup/install/files/lib/system/option/OptionTypeTimezone.class.php b/wcfsetup/install/files/lib/system/option/OptionTypeTimezone.class.php index d166abd0c8..3ef58beabd 100644 --- a/wcfsetup/install/files/lib/system/option/OptionTypeTimezone.class.php +++ b/wcfsetup/install/files/lib/system/option/OptionTypeTimezone.class.php @@ -16,9 +16,9 @@ use wcf\util\DateUtil; * @subpackage system.option * @category Community Framework */ -class OptionTypeTimezone implements OptionType { +class OptionTypeTimezone implements IOptionType { /** - * @see OptionType::getFormElement() + * @see wcf\system\option\IOptionType::getFormElement() */ public function getFormElement(Option $option, $value) { $timezoneOptions = array(); @@ -35,7 +35,7 @@ class OptionTypeTimezone implements OptionType { } /** - * @see OptionType::validate() + * @see wcf\system\option\IOptionType::validate() */ public function validate(Option $option, $newValue) { if (!in_array($newValue, DateUtil::getAvailableTimezones())) { @@ -44,7 +44,7 @@ class OptionTypeTimezone implements OptionType { } /** - * @see OptionType::getData() + * @see wcf\system\option\IOptionType::getData() */ public function getData(Option $option, $newValue) { return $newValue; diff --git a/wcfsetup/install/files/lib/system/option/SearchableUserOption.class.php b/wcfsetup/install/files/lib/system/option/SearchableUserOption.class.php deleted file mode 100644 index 00509b7498..0000000000 --- a/wcfsetup/install/files/lib/system/option/SearchableUserOption.class.php +++ /dev/null @@ -1,35 +0,0 @@ - - * @package com.woltlab.wcf - * @subpackage system.option - * @category Community Framework - */ -interface SearchableUserOption { - /** - * Returns the html code for the search form element of this option. - * - * @param wcf\data\option\Option $option - * @param string $value - * @return string html - */ - public function getSearchFormElement(Option $option, $value); - - /** - * Returns a condition for search sql query. - * - * @param wcf\system\database\condition\PreparedStatementConditionBuilder $conditions - * @param wcf\data\option\Option $option - * @param string $value - * @param boolean - */ - public function getCondition(PreparedStatementConditionBuilder &$conditions, Option $option, $value); -} diff --git a/wcfsetup/install/files/lib/system/option/group/GroupOptionType.class.php b/wcfsetup/install/files/lib/system/option/group/GroupOptionType.class.php deleted file mode 100644 index 0b1a1bb7db..0000000000 --- a/wcfsetup/install/files/lib/system/option/group/GroupOptionType.class.php +++ /dev/null @@ -1,23 +0,0 @@ - - * @package com.woltlab.wcf - * @subpackage system.option.group - * @category Community Framework - */ -interface GroupOptionType extends OptionType { - /** - * Merges the different values of an option to a single value. - * - * @param array $values - * @return mixed $value - */ - public function merge(array $values); -} diff --git a/wcfsetup/install/files/lib/system/option/group/GroupOptionTypeBoolean.class.php b/wcfsetup/install/files/lib/system/option/group/GroupOptionTypeBoolean.class.php index 00401ed29c..c6d691ac7e 100644 --- a/wcfsetup/install/files/lib/system/option/group/GroupOptionTypeBoolean.class.php +++ b/wcfsetup/install/files/lib/system/option/group/GroupOptionTypeBoolean.class.php @@ -13,9 +13,9 @@ use wcf\system\option\OptionTypeBoolean; * @subpackage system.option.group * @category Community Framework */ -class GroupOptionTypeBoolean extends OptionTypeBoolean implements GroupOptionType { +class GroupOptionTypeBoolean extends OptionTypeBoolean implements IGroupOptionType { /** - * @see GroupOptionType::merge() + * @see wcf\system\option\group\IGroupOptionType::merge() */ public function merge(array $values) { foreach ($values as $value) { diff --git a/wcfsetup/install/files/lib/system/option/group/GroupOptionTypeGroups.class.php b/wcfsetup/install/files/lib/system/option/group/GroupOptionTypeGroups.class.php index f5d53ca68f..8ed86335cd 100644 --- a/wcfsetup/install/files/lib/system/option/group/GroupOptionTypeGroups.class.php +++ b/wcfsetup/install/files/lib/system/option/group/GroupOptionTypeGroups.class.php @@ -15,9 +15,9 @@ use wcf\util\StringUtil; * @subpackage system.option.group * @category Community Framework */ -class GroupOptionTypeGroups implements GroupOptionType { +class GroupOptionTypeGroups implements IGroupOptionType { /** - * @see OptionType::getFormElement() + * @see wcf\system\option\IOptionType::getFormElement() */ public function getFormElement(Option $option, $value) { // get selected group @@ -36,7 +36,7 @@ class GroupOptionTypeGroups implements GroupOptionType { } /** - * @see OptionType::validate() + * @see wcf\system\option\IOptionType::validate() */ public function validate(Option $option, $newValue) { // get all groups @@ -55,7 +55,7 @@ class GroupOptionTypeGroups implements GroupOptionType { } /** - * @see OptionType::getData() + * @see wcf\system\option\IOptionType::getData() */ public function getData(Option $option, $newValue) { if (!is_array($newValue)) $newValue = array(); @@ -65,7 +65,7 @@ class GroupOptionTypeGroups implements GroupOptionType { } /** - * @see GroupOptionType::merge() + * @see wcf\system\option\group\IGroupOptionType::merge() */ public function merge(array $values) { $result = array(); diff --git a/wcfsetup/install/files/lib/system/option/group/GroupOptionTypeInfiniteInteger.class.php b/wcfsetup/install/files/lib/system/option/group/GroupOptionTypeInfiniteInteger.class.php index 2d73e83a98..b4a4faa494 100644 --- a/wcfsetup/install/files/lib/system/option/group/GroupOptionTypeInfiniteInteger.class.php +++ b/wcfsetup/install/files/lib/system/option/group/GroupOptionTypeInfiniteInteger.class.php @@ -14,7 +14,7 @@ namespace wcf\system\option\group; */ class GroupOptionTypeInfiniteInteger extends GroupOptionTypeInteger { /** - * @see GroupOptionType::merge() + * @see wcf\system\option\group\IGroupOptionType::merge() */ public function merge(array $values) { if (in_array(-1, $values)) return -1; diff --git a/wcfsetup/install/files/lib/system/option/group/GroupOptionTypeInfiniteInverseInteger.class.php b/wcfsetup/install/files/lib/system/option/group/GroupOptionTypeInfiniteInverseInteger.class.php index e091b0c68c..f792f43215 100644 --- a/wcfsetup/install/files/lib/system/option/group/GroupOptionTypeInfiniteInverseInteger.class.php +++ b/wcfsetup/install/files/lib/system/option/group/GroupOptionTypeInfiniteInverseInteger.class.php @@ -14,7 +14,7 @@ namespace wcf\system\option\group; */ class GroupOptionTypeInfiniteInverseInteger extends GroupOptionTypeInverseinteger { /** - * @see GroupOptionType::merge() + * @see wcf\system\option\group\IGroupOptionType::merge() */ public function merge(array $values) { foreach ($values as $key => $value) { diff --git a/wcfsetup/install/files/lib/system/option/group/GroupOptionTypeInteger.class.php b/wcfsetup/install/files/lib/system/option/group/GroupOptionTypeInteger.class.php index cd986666b4..aa816cf967 100644 --- a/wcfsetup/install/files/lib/system/option/group/GroupOptionTypeInteger.class.php +++ b/wcfsetup/install/files/lib/system/option/group/GroupOptionTypeInteger.class.php @@ -13,9 +13,9 @@ use wcf\system\option\OptionTypeInteger; * @subpackage system.option.group * @category Community Framework */ -class GroupOptionTypeInteger extends OptionTypeInteger implements GroupOptionType { +class GroupOptionTypeInteger extends OptionTypeInteger implements IGroupOptionType { /** - * @see GroupOptionType::merge() + * @see wcf\system\option\group\IGroupOptionType::merge() */ public function merge(array $values) { return max($values); diff --git a/wcfsetup/install/files/lib/system/option/group/GroupOptionTypeInverseInteger.class.php b/wcfsetup/install/files/lib/system/option/group/GroupOptionTypeInverseInteger.class.php index fbb63a1efa..d95d1cd5e3 100644 --- a/wcfsetup/install/files/lib/system/option/group/GroupOptionTypeInverseInteger.class.php +++ b/wcfsetup/install/files/lib/system/option/group/GroupOptionTypeInverseInteger.class.php @@ -13,9 +13,9 @@ use wcf\system\option\OptionTypeInteger; * @subpackage system.option.group * @category Community Framework */ -class GroupOptionTypeInverseInteger extends OptionTypeInteger implements GroupOptionType { +class GroupOptionTypeInverseInteger extends OptionTypeInteger implements IGroupOptionType { /** - * @see GroupOptionType::merge() + * @see wcf\system\option\group\IGroupOptionType::merge() */ public function merge(array $values) { return min($values); diff --git a/wcfsetup/install/files/lib/system/option/group/GroupOptionTypeText.class.php b/wcfsetup/install/files/lib/system/option/group/GroupOptionTypeText.class.php index 3340adfba8..826b9746ad 100644 --- a/wcfsetup/install/files/lib/system/option/group/GroupOptionTypeText.class.php +++ b/wcfsetup/install/files/lib/system/option/group/GroupOptionTypeText.class.php @@ -13,9 +13,9 @@ use wcf\system\option\OptionTypeText; * @subpackage system.option.group * @category Community Framework */ -class GroupOptionTypeText extends OptionTypeText implements GroupOptionType { +class GroupOptionTypeText extends OptionTypeText implements IGroupOptionType { /** - * @see GroupOptionType::merge() + * @see wcf\system\option\group\IGroupOptionType::merge() */ public function merge(array $values) { $result = ''; diff --git a/wcfsetup/install/files/lib/system/option/group/GroupOptionTypeTextarea.class.php b/wcfsetup/install/files/lib/system/option/group/GroupOptionTypeTextarea.class.php index a540e47af4..b8933826c2 100644 --- a/wcfsetup/install/files/lib/system/option/group/GroupOptionTypeTextarea.class.php +++ b/wcfsetup/install/files/lib/system/option/group/GroupOptionTypeTextarea.class.php @@ -13,9 +13,9 @@ use wcf\system\option\OptionTypeTextarea; * @subpackage system.option.group * @category Community Framework */ -class GroupOptionTypeTextarea extends OptionTypeTextarea implements GroupOptionType { +class GroupOptionTypeTextarea extends OptionTypeTextarea implements IGroupOptionType { /** - * @see GroupOptionType::merge() + * @see wcf\system\option\group\IGroupOptionType::merge() */ public function merge(array $values) { $result = ''; diff --git a/wcfsetup/install/files/lib/system/option/group/IGroupOptionType.class.php b/wcfsetup/install/files/lib/system/option/group/IGroupOptionType.class.php new file mode 100644 index 0000000000..9067c0276b --- /dev/null +++ b/wcfsetup/install/files/lib/system/option/group/IGroupOptionType.class.php @@ -0,0 +1,23 @@ + + * @package com.woltlab.wcf + * @subpackage system.option.group + * @category Community Framework + */ +interface IGroupOptionType extends OptionType { + /** + * Merges the different values of an option to a single value. + * + * @param array $values + * @return mixed $value + */ + public function merge(array $values); +} diff --git a/wcfsetup/install/files/lib/system/package/ACPTemplatesFileHandler.class.php b/wcfsetup/install/files/lib/system/package/ACPTemplatesFileHandler.class.php index 594619b024..0a44c7c32c 100644 --- a/wcfsetup/install/files/lib/system/package/ACPTemplatesFileHandler.class.php +++ b/wcfsetup/install/files/lib/system/package/ACPTemplatesFileHandler.class.php @@ -19,7 +19,7 @@ class ACPTemplatesFileHandler extends PackageInstallationFileHandler { protected $tableName = '_acp_template'; /** - * @see FileHandler::checkFiles() + * @see wcf\system\setup\IFileHandler::checkFiles() */ public function checkFiles(array $files) { if ($this->packageInstallation->getPackage()->package != 'com.woltlab.wcf') { @@ -65,7 +65,7 @@ class ACPTemplatesFileHandler extends PackageInstallationFileHandler { } /** - * @see FileHandler::logFiles() + * @see wcf\system\setup\IFileHandler::logFiles() */ public function logFiles(array $files) { $packageID = $this->packageInstallation->getPackageID(); diff --git a/wcfsetup/install/files/lib/system/package/FilesFileHandler.class.php b/wcfsetup/install/files/lib/system/package/FilesFileHandler.class.php index cef52e9c67..20e602049f 100644 --- a/wcfsetup/install/files/lib/system/package/FilesFileHandler.class.php +++ b/wcfsetup/install/files/lib/system/package/FilesFileHandler.class.php @@ -15,7 +15,7 @@ use wcf\system\WCF; */ class FilesFileHandler extends PackageInstallationFileHandler { /** - * @see FileHandler::checkFiles() + * @see wcf\system\setup\IFileHandler::checkFiles() */ public function checkFiles(array $files) { if ($this->packageInstallation->getPackage()->package != 'com.woltlab.wcf') { @@ -51,7 +51,7 @@ class FilesFileHandler extends PackageInstallationFileHandler { } /** - * @see FileHandler::logFiles() + * @see wcf\system\setup\IFileHandler::logFiles() */ public function logFiles(array $files) { if (empty($files)) { diff --git a/wcfsetup/install/files/lib/system/package/PackageInstallationDispatcher.class.php b/wcfsetup/install/files/lib/system/package/PackageInstallationDispatcher.class.php index 3bb8054852..d7e7cc0983 100644 --- a/wcfsetup/install/files/lib/system/package/PackageInstallationDispatcher.class.php +++ b/wcfsetup/install/files/lib/system/package/PackageInstallationDispatcher.class.php @@ -316,8 +316,8 @@ class PackageInstallationDispatcher { $plugin = new $className($this, $nodeData); - if (!($plugin instanceof \wcf\system\package\plugin\PackageInstallationPlugin)) { - throw new SystemException("class '".$className."' does not implement the interface 'PackageInstallationPlugin'", 11010); + if (!($plugin instanceof \wcf\system\package\plugin\IPackageInstallationPlugin)) { + throw new SystemException("class '".$className."' does not implement the interface 'wcf\system\package\plugin\IPackageInstallationPlugin'", 11010); } // execute PIP diff --git a/wcfsetup/install/files/lib/system/package/PackageInstallationFileHandler.class.php b/wcfsetup/install/files/lib/system/package/PackageInstallationFileHandler.class.php index eae04498e2..4f3a899bf8 100644 --- a/wcfsetup/install/files/lib/system/package/PackageInstallationFileHandler.class.php +++ b/wcfsetup/install/files/lib/system/package/PackageInstallationFileHandler.class.php @@ -1,6 +1,6 @@ + * @package com.woltlab.wcf + * @subpackage system.package.plugin + * @category Community Framework + */ +interface IPackageInstallationPlugin { + /** + * Executes the installation of this plugin. + */ + public function install(); + + /** + * Executes the update of this plugin. + */ + public function update(); + + /** + * Returns true, if the uninstallation of the given package should execute this plugin. + * + * @return boolean + */ + public function hasUninstall(); + + /** + * Executes the uninstallation of this plugin. + */ + public function uninstall(); +} diff --git a/wcfsetup/install/files/lib/system/package/plugin/LanguagesPackageInstallationPlugin.class.php b/wcfsetup/install/files/lib/system/package/plugin/LanguagesPackageInstallationPlugin.class.php index d66a3d323a..bf72c33aab 100644 --- a/wcfsetup/install/files/lib/system/package/plugin/LanguagesPackageInstallationPlugin.class.php +++ b/wcfsetup/install/files/lib/system/package/plugin/LanguagesPackageInstallationPlugin.class.php @@ -24,7 +24,7 @@ class LanguagesPackageInstallationPlugin extends AbstractXMLPackageInstallationP public $tableName = 'language_item'; /** - * @see wcf\system\package\plugin\PackageInstallationPlugin::install() + * @see wcf\system\package\plugin\IPackageInstallationPlugin::install() */ public function install() { AbstractPackageInstallationPlugin::install(); diff --git a/wcfsetup/install/files/lib/system/package/plugin/PackageInstallationPlugin.class.php b/wcfsetup/install/files/lib/system/package/plugin/PackageInstallationPlugin.class.php deleted file mode 100644 index 12d0ab34dd..0000000000 --- a/wcfsetup/install/files/lib/system/package/plugin/PackageInstallationPlugin.class.php +++ /dev/null @@ -1,36 +0,0 @@ - - * @package com.woltlab.wcf - * @subpackage system.package.plugin - * @category Community Framework - */ -interface PackageInstallationPlugin { - /** - * Executes the installation of this plugin. - */ - public function install(); - - /** - * Executes the update of this plugin. - */ - public function update(); - - /** - * Returns true, if the uninstallation of the given package should execute this plugin. - * - * @return boolean - */ - public function hasUninstall(); - - /** - * Executes the uninstallation of this plugin. - */ - public function uninstall(); -} diff --git a/wcfsetup/install/files/lib/system/package/plugin/PageMenuPackageInstallationPlugin.class.php b/wcfsetup/install/files/lib/system/package/plugin/PageMenuPackageInstallationPlugin.class.php index 707307bd41..95a8753afc 100644 --- a/wcfsetup/install/files/lib/system/package/plugin/PageMenuPackageInstallationPlugin.class.php +++ b/wcfsetup/install/files/lib/system/package/plugin/PageMenuPackageInstallationPlugin.class.php @@ -39,14 +39,6 @@ class PageMenuPackageInstallationPlugin extends AbstractMenuPackageInstallationP $result['menuPosition'] = (!empty($data['elements']['position']) && $data['elements']['position'] == 'footer') ? 'footer' : 'header'; // class name if (!empty($data['elements']['classname'])) { - /*if (!class_exists($data['elements']['classname'])) { - throw new SystemException("Unable to find class '".$data['elements']['classname']."'"); - } - - if (!ClassUtil::isInstanceOf($data['elements']['classname'], 'wcf\system\menu\page\PageMenuItemProvider')) { - throw new SystemException($data['elements']['classname']." should implement wcf\system\menu\page\PageMenuItemProvider"); - }*/ - $result['className'] = $data['elements']['classname']; } diff --git a/wcfsetup/install/files/lib/system/package/plugin/SQLPackageInstallationPlugin.class.php b/wcfsetup/install/files/lib/system/package/plugin/SQLPackageInstallationPlugin.class.php index a7649bf76f..95f34223a4 100644 --- a/wcfsetup/install/files/lib/system/package/plugin/SQLPackageInstallationPlugin.class.php +++ b/wcfsetup/install/files/lib/system/package/plugin/SQLPackageInstallationPlugin.class.php @@ -22,7 +22,7 @@ class SQLPackageInstallationPlugin extends AbstractPackageInstallationPlugin { public $tableName = 'package_installation_sql_log'; /** - * @see wcf\system\package\plugin\PackageInstallationPlugin::install() + * @see wcf\system\package\plugin\IPackageInstallationPlugin::install() */ public function install() { parent::install(); diff --git a/wcfsetup/install/files/lib/system/package/plugin/ScriptPackageInstallationPlugin.class.php b/wcfsetup/install/files/lib/system/package/plugin/ScriptPackageInstallationPlugin.class.php index d60b0c99ce..b691ca84ae 100644 --- a/wcfsetup/install/files/lib/system/package/plugin/ScriptPackageInstallationPlugin.class.php +++ b/wcfsetup/install/files/lib/system/package/plugin/ScriptPackageInstallationPlugin.class.php @@ -15,7 +15,7 @@ use wcf\util\FileUtil; */ class ScriptPackageInstallationPlugin extends AbstractPackageInstallationPlugin { /** - * @see wcf\system\package\plugin\PackageInstallationPlugin::install() + * @see wcf\system\package\plugin\IPackageInstallationPlugin::install() */ public function install() { parent::install(); diff --git a/wcfsetup/install/files/lib/system/package/plugin/StyleAttributesPackageInstallationPlugin.class.php b/wcfsetup/install/files/lib/system/package/plugin/StyleAttributesPackageInstallationPlugin.class.php index 25474cf7a0..5962636464 100644 --- a/wcfsetup/install/files/lib/system/package/plugin/StyleAttributesPackageInstallationPlugin.class.php +++ b/wcfsetup/install/files/lib/system/package/plugin/StyleAttributesPackageInstallationPlugin.class.php @@ -119,7 +119,7 @@ class StyleAttributesPackageInstallationPlugin extends AbstractXMLPackageInstall } /** - * @see wcf\system\package\plugin\PackageInstallationPlugin::uninstall() + * @see wcf\system\package\plugin\IPackageInstallationPlugin::uninstall() */ public function uninstall() { parent::uninstall(); diff --git a/wcfsetup/install/files/lib/system/package/plugin/StylePackageInstallationPlugin.class.php b/wcfsetup/install/files/lib/system/package/plugin/StylePackageInstallationPlugin.class.php index 1b2fb11f27..2161881643 100644 --- a/wcfsetup/install/files/lib/system/package/plugin/StylePackageInstallationPlugin.class.php +++ b/wcfsetup/install/files/lib/system/package/plugin/StylePackageInstallationPlugin.class.php @@ -31,7 +31,7 @@ class StylePackageInstallationPlugin extends AbstractPackageInstallationPlugin { public $tagName = 'style'; /** - * @see wcf\system\package\plugin\PackageInstallationPlugin::install() + * @see wcf\system\package\plugin\IPackageInstallationPlugin::install() */ public function install() { parent::install(); @@ -52,7 +52,7 @@ class StylePackageInstallationPlugin extends AbstractPackageInstallationPlugin { } /** - * @see wcf\system\package\plugin\PackageInstallationPlugin::uninstall() + * @see wcf\system\package\plugin\IPackageInstallationPlugin::uninstall() */ public function uninstall() { // call uninstall event diff --git a/wcfsetup/install/files/lib/system/package/plugin/TemplateListenerPackageInstallationPlugin.class.php b/wcfsetup/install/files/lib/system/package/plugin/TemplateListenerPackageInstallationPlugin.class.php index d48bd0d097..65e41f1521 100644 --- a/wcfsetup/install/files/lib/system/package/plugin/TemplateListenerPackageInstallationPlugin.class.php +++ b/wcfsetup/install/files/lib/system/package/plugin/TemplateListenerPackageInstallationPlugin.class.php @@ -90,7 +90,7 @@ class TemplateListenerPackageInstallationPlugin extends AbstractXMLPackageInstal } /** - * @see wcf\system\package\plugin\PackageInstallationPlugin::uninstall() + * @see wcf\system\package\plugin\IPackageInstallationPlugin::uninstall() */ public function uninstall() { parent::uninstall(); diff --git a/wcfsetup/install/files/lib/system/package/plugin/TemplatesPackageInstallationPlugin.class.php b/wcfsetup/install/files/lib/system/package/plugin/TemplatesPackageInstallationPlugin.class.php index d4593dee9c..b7c499f3b7 100644 --- a/wcfsetup/install/files/lib/system/package/plugin/TemplatesPackageInstallationPlugin.class.php +++ b/wcfsetup/install/files/lib/system/package/plugin/TemplatesPackageInstallationPlugin.class.php @@ -23,7 +23,7 @@ class TemplatesPackageInstallationPlugin extends AbstractPackageInstallationPlug public $tableName = 'template'; /** - * @see wcf\system\package\plugin\PackageInstallationPlugin::install() + * @see wcf\system\package\plugin\IPackageInstallationPlugin::install() */ public function install() { parent::install(); diff --git a/wcfsetup/install/files/lib/system/setup/FileHandler.class.php b/wcfsetup/install/files/lib/system/setup/FileHandler.class.php deleted file mode 100644 index 8947b28fde..0000000000 --- a/wcfsetup/install/files/lib/system/setup/FileHandler.class.php +++ /dev/null @@ -1,28 +0,0 @@ - - * @package com.woltlab.wcf - * @subpackage system.setup - * @category Community Framework - */ -interface FileHandler { - /** - * Checks the overwriting rights of the given files. - * - * @param array $files - */ - public function checkFiles(array $files); - - /** - * Logs the given list of files. - * - * @param array $files - */ - public function logFiles(array $files); -} diff --git a/wcfsetup/install/files/lib/system/setup/IFileHandler.class.php b/wcfsetup/install/files/lib/system/setup/IFileHandler.class.php new file mode 100644 index 0000000000..ae1177148f --- /dev/null +++ b/wcfsetup/install/files/lib/system/setup/IFileHandler.class.php @@ -0,0 +1,28 @@ + + * @package com.woltlab.wcf + * @subpackage system.setup + * @category Community Framework + */ +interface IFileHandler { + /** + * Checks the overwriting rights of the given files. + * + * @param array $files + */ + public function checkFiles(array $files); + + /** + * Logs the given list of files. + * + * @param array $files + */ + public function logFiles(array $files); +} diff --git a/wcfsetup/install/files/lib/system/setup/Installer.class.php b/wcfsetup/install/files/lib/system/setup/Installer.class.php index 3213fd97ff..777002686a 100644 --- a/wcfsetup/install/files/lib/system/setup/Installer.class.php +++ b/wcfsetup/install/files/lib/system/setup/Installer.class.php @@ -158,7 +158,7 @@ class Installer { * @param array $files list of files */ protected function checkFiles(&$files) { - if ($this->fileHandler != null && $this->fileHandler instanceof FileHandler) { + if ($this->fileHandler != null && $this->fileHandler instanceof IFileHandler) { $this->fileHandler->checkFiles($files); } } @@ -169,7 +169,7 @@ class Installer { * @param array $files list of files */ protected function logFiles(&$files) { - if ($this->fileHandler != null && $this->fileHandler instanceof FileHandler) { + if ($this->fileHandler != null && $this->fileHandler instanceof IFileHandler) { $this->fileHandler->logFiles($files); } } diff --git a/wcfsetup/install/files/lib/system/template/ITemplatePluginBlock.class.php b/wcfsetup/install/files/lib/system/template/ITemplatePluginBlock.class.php new file mode 100644 index 0000000000..6c89a61963 --- /dev/null +++ b/wcfsetup/install/files/lib/system/template/ITemplatePluginBlock.class.php @@ -0,0 +1,40 @@ + + * @package com.woltlab.wcf + * @subpackage system.template + * @category Community Framework + */ +interface ITemplatePluginBlock { + /** + * Executes this template block. + * + * @param array $tagArgs + * @param string $blockContent + * @param TemplateEngine $tplObj + * @return string output + */ + public function execute($tagArgs, $blockContent, TemplateEngine $tplObj); + + /** + * Initialises this template block. + * + * @param array $tagArgs + * @param TemplateEngine $tplObj + */ + public function init($tagArgs, TemplateEngine $tplObj); + + /** + * This function is called before every execution of this block function. + * + * @param TemplateEngine $tplObj + * @return boolean + */ + public function next(TemplateEngine $tplObj); +} diff --git a/wcfsetup/install/files/lib/system/template/ITemplatePluginCompiler.class.php b/wcfsetup/install/files/lib/system/template/ITemplatePluginCompiler.class.php new file mode 100644 index 0000000000..0566fe4139 --- /dev/null +++ b/wcfsetup/install/files/lib/system/template/ITemplatePluginCompiler.class.php @@ -0,0 +1,31 @@ + + * @package com.woltlab.wcf + * @subpackage system.template + * @category Community Framework + */ +interface ITemplatePluginCompiler { + /** + * Executes the start tag of this compiler function. + * + * @param array $tagArgs + * @param TemplateScriptingCompiler $compiler + * @return string php code + */ + public function executeStart($tagArgs, TemplateScriptingCompiler $compiler); + + /** + * Executes the end tag of this compiler function. + * + * @param TemplateScriptingCompiler $compiler + * @return string php code + */ + public function executeEnd(TemplateScriptingCompiler $tplObj); +} diff --git a/wcfsetup/install/files/lib/system/template/ITemplatePluginFunction.class.php b/wcfsetup/install/files/lib/system/template/ITemplatePluginFunction.class.php new file mode 100644 index 0000000000..4ec3014e29 --- /dev/null +++ b/wcfsetup/install/files/lib/system/template/ITemplatePluginFunction.class.php @@ -0,0 +1,23 @@ + + * @package com.woltlab.wcf + * @subpackage system.template + * @category Community Framework + */ +interface ITemplatePluginFunction { + /** + * Executes this template function. + * + * @param array $tagArgs + * @param TemplateEngine $tplObj + * @return string output + */ + public function execute($tagArgs, TemplateEngine $tplObj); +} diff --git a/wcfsetup/install/files/lib/system/template/ITemplatePluginModifier.class.php b/wcfsetup/install/files/lib/system/template/ITemplatePluginModifier.class.php new file mode 100644 index 0000000000..46adf58258 --- /dev/null +++ b/wcfsetup/install/files/lib/system/template/ITemplatePluginModifier.class.php @@ -0,0 +1,24 @@ + + * @package com.woltlab.wcf + * @subpackage system.template + * @category Community Framework + */ +interface ITemplatePluginModifier { + /** + * Executes this modifier. + * + * @param array $tagArgs + * @param TemplateEngine $tplObj + * @return string output + */ + public function execute($tagArgs, TemplateEngine $tplObj); +} diff --git a/wcfsetup/install/files/lib/system/template/ITemplatePluginPrefilter.class.php b/wcfsetup/install/files/lib/system/template/ITemplatePluginPrefilter.class.php new file mode 100644 index 0000000000..c0e079dcce --- /dev/null +++ b/wcfsetup/install/files/lib/system/template/ITemplatePluginPrefilter.class.php @@ -0,0 +1,24 @@ + + * @package com.woltlab.wcf + * @subpackage system.template + * @category Community Framework + */ +interface ITemplatePluginPrefilter { + /** + * Executes this prefilter. + * + * @param string $templateName + * @param string $sourceContent + * @param TemplateScriptingCompiler $compiler + * @return string $sourceContent + */ + public function execute($templateName, $sourceContent, TemplateScriptingCompiler $compiler); +} diff --git a/wcfsetup/install/files/lib/system/template/TemplatePluginBlock.class.php b/wcfsetup/install/files/lib/system/template/TemplatePluginBlock.class.php deleted file mode 100644 index ba4fbe93dd..0000000000 --- a/wcfsetup/install/files/lib/system/template/TemplatePluginBlock.class.php +++ /dev/null @@ -1,40 +0,0 @@ - - * @package com.woltlab.wcf - * @subpackage system.template - * @category Community Framework - */ -interface TemplatePluginBlock { - /** - * Executes this template block. - * - * @param array $tagArgs - * @param string $blockContent - * @param TemplateEngine $tplObj - * @return string output - */ - public function execute($tagArgs, $blockContent, TemplateEngine $tplObj); - - /** - * Initialises this template block. - * - * @param array $tagArgs - * @param TemplateEngine $tplObj - */ - public function init($tagArgs, TemplateEngine $tplObj); - - /** - * This function is called before every execution of this block function. - * - * @param TemplateEngine $tplObj - * @return boolean - */ - public function next(TemplateEngine $tplObj); -} diff --git a/wcfsetup/install/files/lib/system/template/TemplatePluginCompiler.class.php b/wcfsetup/install/files/lib/system/template/TemplatePluginCompiler.class.php deleted file mode 100644 index 133f223c1a..0000000000 --- a/wcfsetup/install/files/lib/system/template/TemplatePluginCompiler.class.php +++ /dev/null @@ -1,31 +0,0 @@ - - * @package com.woltlab.wcf - * @subpackage system.template - * @category Community Framework - */ -interface TemplatePluginCompiler { - /** - * Executes the start tag of this compiler function. - * - * @param array $tagArgs - * @param TemplateScriptingCompiler $compiler - * @return string php code - */ - public function executeStart($tagArgs, TemplateScriptingCompiler $compiler); - - /** - * Executes the end tag of this compiler function. - * - * @param TemplateScriptingCompiler $compiler - * @return string php code - */ - public function executeEnd(TemplateScriptingCompiler $tplObj); -} diff --git a/wcfsetup/install/files/lib/system/template/TemplatePluginFunction.class.php b/wcfsetup/install/files/lib/system/template/TemplatePluginFunction.class.php deleted file mode 100644 index 2ec1ec53df..0000000000 --- a/wcfsetup/install/files/lib/system/template/TemplatePluginFunction.class.php +++ /dev/null @@ -1,23 +0,0 @@ - - * @package com.woltlab.wcf - * @subpackage system.template - * @category Community Framework - */ -interface TemplatePluginFunction { - /** - * Executes this template function. - * - * @param array $tagArgs - * @param TemplateEngine $tplObj - * @return string output - */ - public function execute($tagArgs, TemplateEngine $tplObj); -} diff --git a/wcfsetup/install/files/lib/system/template/TemplatePluginModifier.class.php b/wcfsetup/install/files/lib/system/template/TemplatePluginModifier.class.php deleted file mode 100644 index 46681d0a8d..0000000000 --- a/wcfsetup/install/files/lib/system/template/TemplatePluginModifier.class.php +++ /dev/null @@ -1,24 +0,0 @@ - - * @package com.woltlab.wcf - * @subpackage system.template - * @category Community Framework - */ -interface TemplatePluginModifier { - /** - * Executes this modifier. - * - * @param array $tagArgs - * @param TemplateEngine $tplObj - * @return string output - */ - public function execute($tagArgs, TemplateEngine $tplObj); -} diff --git a/wcfsetup/install/files/lib/system/template/TemplatePluginPrefilter.class.php b/wcfsetup/install/files/lib/system/template/TemplatePluginPrefilter.class.php deleted file mode 100644 index a6cc2921e6..0000000000 --- a/wcfsetup/install/files/lib/system/template/TemplatePluginPrefilter.class.php +++ /dev/null @@ -1,24 +0,0 @@ - - * @package com.woltlab.wcf - * @subpackage system.template - * @category Community Framework - */ -interface TemplatePluginPrefilter { - /** - * Executes this prefilter. - * - * @param string $templateName - * @param string $sourceContent - * @param TemplateScriptingCompiler $compiler - * @return string $sourceContent - */ - public function execute($templateName, $sourceContent, TemplateScriptingCompiler $compiler); -} diff --git a/wcfsetup/install/files/lib/system/template/TemplateScriptingCompiler.class.php b/wcfsetup/install/files/lib/system/template/TemplateScriptingCompiler.class.php index 32293a6830..d5cb921b05 100644 --- a/wcfsetup/install/files/lib/system/template/TemplateScriptingCompiler.class.php +++ b/wcfsetup/install/files/lib/system/template/TemplateScriptingCompiler.class.php @@ -380,8 +380,8 @@ class TemplateScriptingCompiler { $this->compilerPlugins[$className] = new $className(); - if (!($this->compilerPlugins[$className] instanceof TemplatePluginCompiler)) { - throw new SystemException($this->formatSyntaxError("Compiler plugin '".$tagCommand."' does not implement the interface 'TemplatePluginCompiler'", $this->currentIdentifier), 11010); + if (!($this->compilerPlugins[$className] instanceof ITemplatePluginCompiler)) { + throw new SystemException($this->formatSyntaxError("Compiler plugin '".$tagCommand."' does not implement the interface 'ITemplatePluginCompiler'", $this->currentIdentifier), 11010); } } @@ -1282,11 +1282,11 @@ class TemplateScriptingCompiler { $prefilter = new $className(); } - if ($prefilter instanceof TemplatePluginPrefilter) { + if ($prefilter instanceof ITemplatePluginPrefilter) { $string = $prefilter->execute($templateName, $string, $this); } else { - throw new SystemException($this->formatSyntaxError("Prefilter '".$prefilter."' does not implement the interface 'TemplatePluginPrefilter'", $this->currentIdentifier), 11010); + throw new SystemException($this->formatSyntaxError("Prefilter '".$prefilter."' does not implement the interface 'ITemplatePluginPrefilter'", $this->currentIdentifier), 11010); } } diff --git a/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginBlockLink.class.php b/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginBlockLink.class.php index 4736055447..ff00f48070 100644 --- a/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginBlockLink.class.php +++ b/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginBlockLink.class.php @@ -1,7 +1,7 @@ counter = 0; } /** - * @see TemplatePluginBlock::next() + * @see wcf\system\template\ITemplatePluginBlock::next() */ public function next(TemplateEngine $tplObj) { if ($this->counter == 0) { diff --git a/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginCompilerAppend.class.php b/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginCompilerAppend.class.php index 75cf83cbf8..5a1a6f2897 100644 --- a/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginCompilerAppend.class.php +++ b/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginCompilerAppend.class.php @@ -1,6 +1,6 @@ formatSyntaxError("unknown tag {/append}", $compiler->getCurrentIdentifier(), $compiler->getCurrentLineNo()), 12003); diff --git a/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginCompilerAssign.class.php b/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginCompilerAssign.class.php index b81a110cdd..d9c36eaed0 100644 --- a/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginCompilerAssign.class.php +++ b/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginCompilerAssign.class.php @@ -1,6 +1,6 @@ formatSyntaxError("unknown tag {/assign}", $compiler->getCurrentIdentifier(), $compiler->getCurrentLineNo()), 12003); diff --git a/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginCompilerFetch.class.php b/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginCompilerFetch.class.php index 79da5bccdd..c98c3f7f14 100644 --- a/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginCompilerFetch.class.php +++ b/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginCompilerFetch.class.php @@ -1,6 +1,6 @@ * @package com.woltlab.wcf * @subpackage system.template.plugin * @category Community Framework */ -class TemplatePluginCompilerFetch implements TemplatePluginCompiler { +class TemplatePluginCompilerFetch implements ITemplatePluginCompiler { /** - * @see TemplatePluginCompiler::executeStart() + * @see wcf\system\template\ITemplatePluginCompiler::executeStart() */ public function executeStart($tagArgs, TemplateScriptingCompiler $compiler) { if (!isset($tagArgs['file'])) { @@ -36,7 +36,7 @@ class TemplatePluginCompilerFetch implements TemplatePluginCompiler { } /** - * @see TemplatePluginCompiler::executeEnd() + * @see wcf\system\template\ITemplatePluginCompiler::executeEnd() */ public function executeEnd(TemplateScriptingCompiler $compiler) { throw new SystemException($compiler->formatSyntaxError("unknown tag {/fetch}", $compiler->getCurrentIdentifier(), $compiler->getCurrentLineNo()), 12003); diff --git a/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginCompilerIcon.class.php b/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginCompilerIcon.class.php index db72885e8f..a4b0b109e6 100644 --- a/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginCompilerIcon.class.php +++ b/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginCompilerIcon.class.php @@ -1,6 +1,6 @@ pushTag('icon'); @@ -27,7 +27,7 @@ class TemplatePluginCompilerIcon implements TemplatePluginCompiler { } /** - * @see TemplatePluginCompiler::executeEnd() + * @see wcf\system\template\ITemplatePluginCompiler::executeEnd() */ public function executeEnd(TemplateScriptingCompiler $compiler) { $compiler->popTag('icon'); diff --git a/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginCompilerImplode.class.php b/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginCompilerImplode.class.php index 8a31fd6e95..b438777669 100644 --- a/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginCompilerImplode.class.php +++ b/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginCompilerImplode.class.php @@ -1,6 +1,6 @@ pushTag('implode'); @@ -46,7 +46,7 @@ class TemplatePluginCompilerImplode implements TemplatePluginCompiler { } /** - * @see TemplatePluginCompiler::executeEnd() + * @see wcf\system\template\ITemplatePluginCompiler::executeEnd() */ public function executeEnd(TemplateScriptingCompiler $compiler) { $compiler->popTag('implode'); diff --git a/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginCompilerLang.class.php b/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginCompilerLang.class.php index faa9fefb70..9d7c00d209 100644 --- a/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginCompilerLang.class.php +++ b/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginCompilerLang.class.php @@ -1,6 +1,6 @@ pushTag('lang'); @@ -35,7 +35,7 @@ class TemplatePluginCompilerLang implements TemplatePluginCompiler { } /** - * @see TemplatePluginCompiler::executeEnd() + * @see wcf\system\template\ITemplatePluginCompiler::executeEnd() */ public function executeEnd(TemplateScriptingCompiler $compiler) { $compiler->popTag('lang'); diff --git a/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginCompilerPrepend.class.php b/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginCompilerPrepend.class.php index 36f21b50f7..3365c3c98e 100644 --- a/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginCompilerPrepend.class.php +++ b/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginCompilerPrepend.class.php @@ -1,6 +1,6 @@ formatSyntaxError("unknown tag {/prepend}", $compiler->getCurrentIdentifier(), $compiler->getCurrentLineNo()), 12003); diff --git a/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginCompilerStaticlang.class.php b/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginCompilerStaticlang.class.php index d97a4b79cd..f92a62be59 100644 --- a/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginCompilerStaticlang.class.php +++ b/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginCompilerStaticlang.class.php @@ -1,6 +1,6 @@ pushTag('staticlang'); @@ -28,7 +28,7 @@ class TemplatePluginCompilerStaticlang implements TemplatePluginCompiler { } /** - * @see TemplatePluginCompiler::executeEnd() + * @see wcf\system\template\ITemplatePluginCompiler::executeEnd() */ public function executeEnd(TemplateScriptingCompiler $compiler) { $compiler->popTag('staticlang'); diff --git a/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginFunctionCounter.class.php b/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginFunctionCounter.class.php index 0f280b5805..854ef545fa 100644 --- a/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginFunctionCounter.class.php +++ b/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginFunctionCounter.class.php @@ -1,6 +1,6 @@ * @package com.woltlab.wcf * @subpackage system.template.plugin * @category Community Framework */ -class TemplatePluginFunctionCycle implements TemplatePluginFunction { +class TemplatePluginFunctionCycle implements ITemplatePluginFunction { protected $cycles = array(); /** - * @see TemplatePluginFunction::execute() + * @see wcf\system\template\ITemplatePluginFunction::execute() */ public function execute($tagArgs, TemplateEngine $tplObj) { // get params diff --git a/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginFunctionHtmlcheckboxes.class.php b/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginFunctionHtmlcheckboxes.class.php index 69d0444cd8..481fee44d9 100644 --- a/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginFunctionHtmlcheckboxes.class.php +++ b/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginFunctionHtmlcheckboxes.class.php @@ -1,7 +1,7 @@ getLeftDelimiter(), '~'); diff --git a/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginPrefilterHascontent.class.php b/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginPrefilterHascontent.class.php index 8e6086129c..97ceb43ab7 100644 --- a/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginPrefilterHascontent.class.php +++ b/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginPrefilterHascontent.class.php @@ -1,6 +1,6 @@ getLeftDelimiter(), '~'); diff --git a/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginPrefilterIcon.class.php b/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginPrefilterIcon.class.php index a78566ae6c..22769ccf51 100644 --- a/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginPrefilterIcon.class.php +++ b/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginPrefilterIcon.class.php @@ -1,6 +1,6 @@ getLeftDelimiter(), '~'); diff --git a/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginPrefilterLang.class.php b/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginPrefilterLang.class.php index 584ba2f17e..87d38edec9 100644 --- a/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginPrefilterLang.class.php +++ b/wcfsetup/install/files/lib/system/template/plugin/TemplatePluginPrefilterLang.class.php @@ -1,6 +1,6 @@ getLeftDelimiter(), '~');