]> git.mxchange.org Git - friendica.git/blobdiff - src/Core/StorageManager.php
Avoid memory issue in exception
[friendica.git] / src / Core / StorageManager.php
index 43a72650cc821b967967077d4233e07a79c26daf..cfefa5f35a7dcc91738a2d63d9bc500221d6aa4b 100644 (file)
@@ -3,9 +3,7 @@
 namespace Friendica\Core;
 
 use Friendica\Database\DBA;
-use Friendica\Core\Config;
-use Friendica\Core\Logger;
-
+use Friendica\Model\Storage\IStorage;
 
 
 /**
@@ -33,6 +31,7 @@ class StorageManager
        /**
         * @brief Return current storage backend class
         * @return string
+        * @throws \Friendica\Network\HTTPException\InternalServerErrorException
         */
        public static function getBackend()
        {
@@ -54,7 +53,8 @@ class StorageManager
        /**
         * @brief Set current storage backend class
         *
-        * @param string  $class  Backend class name
+        * @param string $class Backend class name
+        * @throws \Friendica\Network\HTTPException\InternalServerErrorException
         */
        public static function setBackend($class)
        {
@@ -74,12 +74,12 @@ class StorageManager
        }
 
 
-
        /**
         * @brief Register a storage backend class
         *
-        * @param string  $name   User readable backend name
-        * @param string  $class  Backend class name
+        * @param string $name  User readable backend name
+        * @param string $class Backend class name
+        * @throws \Friendica\Network\HTTPException\InternalServerErrorException
         */
        public static function register($name, $class)
        {
@@ -93,7 +93,8 @@ class StorageManager
        /**
         * @brief Unregister a storage backend class
         *
-        * @param string  $name   User readable backend name
+        * @param string $name User readable backend name
+        * @throws \Friendica\Network\HTTPException\InternalServerErrorException
         */
        public static function unregister($name)
        {
@@ -112,12 +113,13 @@ class StorageManager
         * @param string  $dest    Destination storage class name
         * @param array   $tables  Tables to look in for resources. Optional, defaults to ['photo', 'attach']
         *
-        * @retur int Number of moved resources
+        * @throws \Exception
+        * @return int Number of moved resources
         */
        public static function move($dest, $tables = null)
        {
                if (is_null($dest) || empty($dest)) {
-                       throw Exception('Can\'t move to NULL storage backend');
+                       throw new \Exception('Can\'t move to NULL storage backend');
                }
                
                if (is_null($tables)) {
@@ -137,6 +139,7 @@ class StorageManager
                                while($r = DBA::fetch($rr)) {
                                        $id = $r['id'];
                                        $data = $r['data'];
+                                       /** @var IStorage $backendClass */
                                        $backendClass = $r['backend-class'];
                                        $backendRef = $r['backend-ref'];
                                        if (!is_null($backendClass) && $backendClass !== '') {
@@ -145,6 +148,7 @@ class StorageManager
                                        }
                                        
                                        Logger::log("save data to new backend " . $dest);
+                                       /** @var IStorage $dest */
                                        $ref = $dest::put($data);
                                        Logger::log("saved data as " . $ref);