Fixes bug and cleans up code
authorMatthias Schmidt <gravatronics@live.com>
Sat, 27 Apr 2013 14:05:38 +0000 (16:05 +0200)
committerMatthias Schmidt <gravatronics@live.com>
Sat, 27 Apr 2013 14:05:38 +0000 (16:05 +0200)
wcfsetup/install/files/lib/action/APIAction.class.php
wcfsetup/install/files/lib/data/VersionableDatabaseObject.class.php
wcfsetup/install/files/lib/data/VersionableDatabaseObjectAction.class.php
wcfsetup/install/files/lib/data/VersionableDatabaseObjectEditor.class.php
wcfsetup/install/files/lib/system/version/VersionHandler.class.php

index 6b7e330b6439a86c5a91b63236b40239c8d0bdaf..de214e1ba2b9da2937f81d022e22fa6f5cf46150 100644 (file)
@@ -74,8 +74,8 @@ final class APIAction extends AbstractAjaxAction {
        
        /**
         * Checks fields, prunes given array and returns it
-        *
-        * @return array
+        * 
+        * @return      array
         */
        protected function prune(IRESTfulResponse $object) {
                $prunedArray = array();
@@ -91,8 +91,8 @@ final class APIAction extends AbstractAjaxAction {
        
        /**
         * Tries to find class and returns class name and controller.
-        *
-        * @return array<string>
+        * 
+        * @return      array<string>
         */
        protected function getClassData($controller, $application = 'wcf') {
                $className = $application.'\\data\\'.$controller.'\\'.ucfirst($controller);
index a4750353f6fe602fa8f7099d2cb662fda3828d72..b4f2bb5329f5b811b274812bb6fd3caf8e4faead 100644 (file)
@@ -13,7 +13,7 @@ use wcf\system\version\VersionHandler;
  * @subpackage data
  * @category   Community Framework
  */
-abstract class VersionableDatabaseObject extends DatabaseObject {      
+abstract class VersionableDatabaseObject extends DatabaseObject {
        /**
         * name of the versionable object type
         * @var string
@@ -21,7 +21,7 @@ abstract class VersionableDatabaseObject extends DatabaseObject {
        public $versionableObjectTypeName = '';
        
        /**
-        * Returns suffix of database tables.
+        * Returns suffix of the version database table.
         * 
         * @return      string
         */
@@ -30,7 +30,7 @@ abstract class VersionableDatabaseObject extends DatabaseObject {
        }
        
        /**
-        * Returns name of index in version table.
+        * Returns name of index in version database table.
         * 
         * @return      string
         */
@@ -39,7 +39,7 @@ abstract class VersionableDatabaseObject extends DatabaseObject {
        }
        
        /**
-        * Returns all versions of this database object
+        * Returns all versions of this database object.
         * 
         * @return      array<wcf\data\VersionableDatabaseObject>
         */
index dee71f09671c064f70775b9bc6af6c8242320a54..e3f405d7c853f3aed8f89c39ab2980f3064f5516 100644 (file)
@@ -14,7 +14,7 @@ use wcf\system\version\VersionHandler;
  */
 abstract class VersionableDatabaseObjectAction extends AbstractDatabaseObjectAction {
        /**
-        * Validates restoring a version
+        * Validates restoring a version.
         */
        public function validateRestoreRevision() {
                parent::validateUpdate();
@@ -28,9 +28,6 @@ abstract class VersionableDatabaseObjectAction extends AbstractDatabaseObjectAct
                        $this->readObjects();
                }
                
-               // get index name
-               $indexName = call_user_func(array($this->className, 'getDatabaseTableIndexName'));
-               
                // get ids
                $objectIDs = array();
                foreach ($this->objects as $object) {
@@ -49,12 +46,10 @@ abstract class VersionableDatabaseObjectAction extends AbstractDatabaseObjectAct
                        $this->readObjects();
                }
                
-               // get index name
-               $indexName = call_user_func(array($this->className, 'getDatabaseTableIndexName'));
-               
                if (isset($this->parameters['data'])) {
                        foreach ($this->objects as $object) {
-                               $this->update($this->parameters['data']);
+                               $object->update($this->parameters['data']);
+                               
                                // create revision retroactively
                                $this->createRevision();
                        }
@@ -66,7 +61,7 @@ abstract class VersionableDatabaseObjectAction extends AbstractDatabaseObjectAct
         */
        protected function createRevision() {
                $indexName = call_user_func(array($this->className, 'getDatabaseTableIndexName'));
-       
+               
                foreach ($this->objects as $object) {
                        call_user_func(array($this->className, 'createRevision'), array_merge($object->getData(), array($indexName => $object->getObjectID())));
                }
@@ -80,9 +75,6 @@ abstract class VersionableDatabaseObjectAction extends AbstractDatabaseObjectAct
                        $this->readObjects();
                }
                
-               // get index name
-               $indexName = call_user_func(array($this->className, 'getDatabaseTableIndexName'));
-               
                // get ids
                $objectIDs = array();
                foreach ($this->objects as $object) {
@@ -100,12 +92,12 @@ abstract class VersionableDatabaseObjectAction extends AbstractDatabaseObjectAct
                if (empty($this->objects)) {
                        $this->readObjects();
                }
-
+               
                // currently we only support restoring one version
                foreach ($this->objects as $object) {
                        $objectType = VersionHandler::getInstance()->getObjectTypeByName($object->versionableObjectTypeName);
                        $restoreObject = VersionHandler::getInstance()->getVersionByID($objectType->objectTypeID, $this->parameters['restoreObjectID']);
-
+                       
                        $this->parameters['data'] = $restoreObject->getData();
                }
                
index 3cf6b9b078c18300945069b2fafab4c41b90e340..cb524e67ed9d7558e08fa7e642c70eabeeb6a8d1 100644 (file)
@@ -6,7 +6,7 @@ use wcf\system\WCF;
  * Abstract class for all versionable editor classes.
  * 
  * @author     Jeffrey Reichardt
- * @copyright  2001-2012 WoltLab GmbH
+ * @copyright  2001-2013 WoltLab GmbH
  * @license    GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
  * @package    com.woltlab.wcf
  * @subpackage data
@@ -38,10 +38,10 @@ abstract class VersionableDatabaseObjectEditor extends DatabaseObjectEditor {
                
                // return new object
                $id = WCF::getDB()->getInsertID(static::getDatabaseVersionTableName(), static::getDatabaseVersionTableIndexName());
-
+               
                return new static::$baseClass($id);
        }
-               
+       
        /**
         * @see wcf\data\IEditableObject::delete()
         */
@@ -59,7 +59,7 @@ abstract class VersionableDatabaseObjectEditor extends DatabaseObjectEditor {
                $sql = "DELETE FROM     ".static::getDatabaseVersionTableName()."
                                WHERE ".static::getDatabaseTableIndexName()." = ?";
                $statement = WCF::getDB()->prepareStatement($sql);
-
+               
                WCF::getDB()->beginTransaction();
                foreach ($objectIDs as $objectID) {
                        $statement->execute(array($objectID));
index 91a7d7bc0042a0f751ab1c7df60bfabc43df113a..85962503ab2185a378261e7839fe5291546314d3 100644 (file)
@@ -57,8 +57,8 @@ class VersionHandler extends SingletonFactory {
        /**
         * Returns the database object with the given version id.
         * 
-        * @param       integer $objectTypeID
-        * @param       integer $versionID
+        * @param       integer         $objectTypeID
+        * @param       integer         $versionID
         * @return      wcf\data\VersionableDatabaseObject
         */
        public function getVersionByID($objectTypeID, $versionID) {
@@ -70,7 +70,7 @@ class VersionHandler extends SingletonFactory {
        }
        
        /**
-        * Gets the object type with the given id.
+        * Returns the object type with the given id.
         * 
         * @param       integer $objectTypeID
         * @return      wcf\data\object\type\ObjectType
@@ -84,9 +84,9 @@ class VersionHandler extends SingletonFactory {
        }
        
        /**
-        * Gets the object type with the given name.
+        * Returns the object type with the given name.
         * 
-        * @param       string  $objectTypeName
+        * @param       string          $objectTypeName
         * @return      wcf\data\object\type\ObjectType
         */
        public function getObjectTypeByName($objectTypeName) {