]> git.mxchange.org Git - friendica.git/blobdiff - src/Core/Update.php
Avoid memory issue in exception
[friendica.git] / src / Core / Update.php
index 7b2624cb9c638ae67eda5cd7c73c0c1cc840d8ab..5df0675cdaeb46cd7520468d693e79f349b034c2 100644 (file)
@@ -14,9 +14,11 @@ class Update
        /**
         * @brief Function to check if the Database structure needs an update.
         *
+        * @param string $basePath The base path of this application
         * @param boolean $via_worker boolean Is the check run via the worker?
+        * @throws \Friendica\Network\HTTPException\InternalServerErrorException
         */
-       public static function check($via_worker)
+       public static function check($basePath, $via_worker)
        {
                if (!DBA::connected()) {
                        return;
@@ -37,7 +39,7 @@ class Update
                if ($build < DB_UPDATE_VERSION) {
                        // When we cannot execute the database update via the worker, we will do it directly
                        if (!Worker::add(PRIORITY_CRITICAL, 'DBUpdate') && $via_worker) {
-                               self::run();
+                               self::run($basePath);
                        }
                }
        }
@@ -45,13 +47,15 @@ class Update
        /**
         * Automatic database updates
         *
-        * @param bool $force Force the Update-Check even if the lock is set
-        * @param bool $verbose Run the Update-Check verbose
-        * @param bool $sendMail Sends a Mail to the administrator in case of success/failure
+        * @param string $basePath The base path of this application
+        * @param bool $force      Force the Update-Check even if the lock is set
+        * @param bool $verbose    Run the Update-Check verbose
+        * @param bool $sendMail   Sends a Mail to the administrator in case of success/failure
         *
         * @return string Empty string if the update is successful, error messages otherwise
+        * @throws \Friendica\Network\HTTPException\InternalServerErrorException
         */
-       public static function run($force = false, $verbose = false, $sendMail = true)
+       public static function run($basePath, $force = false, $verbose = false, $sendMail = true)
        {
                // In force mode, we release the dbupdate lock first
                // Necessary in case of an stuck update
@@ -89,7 +93,7 @@ class Update
                                        }
 
                                        // update the structure in one call
-                                       $retval = DBStructure::update($verbose, true);
+                                       $retval = DBStructure::update($basePath, $verbose, true);
                                        if ($retval) {
                                                if ($sendMail) {
                                                        self::updateFailed(
@@ -123,7 +127,7 @@ class Update
                                }
                        }
                } elseif ($force) {
-                       DBStructure::update($verbose, true);
+                       DBStructure::update($basePath, $verbose, true);
                }
 
                return '';
@@ -132,10 +136,11 @@ class Update
        /**
         * Executes a specific update function
         *
-        * @param int $x the DB version number of the function
+        * @param int    $x      the DB version number of the function
         * @param string $prefix the prefix of the function (update, pre_update)
         *
         * @return bool true, if the update function worked
+        * @throws \Friendica\Network\HTTPException\InternalServerErrorException
         */
        public static function runUpdateFunction($x, $prefix)
        {
@@ -195,8 +200,9 @@ class Update
        /**
         * send the email and do what is needed to do on update fails
         *
-        * @param int $update_id                number of failed update
-        * @param string $error_message error message
+        * @param int    $update_id     number of failed update
+        * @param string $error_message error message
+        * @throws \Friendica\Network\HTTPException\InternalServerErrorException
         */
        private static function updateFailed($update_id, $error_message) {
                //send the administrators an e-mail