]> git.mxchange.org Git - friendica.git/blobdiff - src/Worker/CheckVersion.php
Merge remote-tracking branch 'upstream/develop' into reduce-update-contacts
[friendica.git] / src / Worker / CheckVersion.php
index 7d3c2de6f7f676a48e359bd4873643cd6558837b..f2de4674e7d64d13af7ae18582b83b14cf5eebc1 100644 (file)
@@ -1,46 +1,67 @@
 <?php
-
 /**
- * @file include/checkversion.php
+ * @copyright Copyright (C) 2010-2022, the Friendica project
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
  *
- * @brief save Friendica upstream version to the DB
- **/
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
 
-use Friendica\Core\Config;
+namespace Friendica\Worker;
+
+use Friendica\Core\Logger;
+use Friendica\Database\DBA;
+use Friendica\DI;
+use Friendica\Network\HTTPClient\Client\HttpClientAccept;
 
 /**
- * @brief check the git repository VERSION file and save the version to the DB
+ * Check the git repository VERSION file and save the version to the DB
  *
  * Checking the upstream version is optional (opt-in) and can be done to either
- * the master or the develop branch in the repository.
+ * the stable or the develop branch in the repository.
  */
-function checkversion_run () {
-       global $a;
-
-       logger('checkversion: start');
-
-       $checkurl = Config::get('system', 'check_new_version_url', 'none');
-
-       switch ($checkurl) {
-       case 'master': 
-               $checked_url = 'https://raw.githubusercontent.com/friendica/friendica/master/VERSION'; 
-               break;
-       case 'develop': 
-               $checked_url = 'https://raw.githubusercontent.com/friendica/friendica/develop/VERSION'; 
-               break;
-       default: 
-               // don't check
-               return;
-}
-       logger("Checking VERSION from: ".$checked_url, LOGGER_DEBUG);
+class CheckVersion
+{
+       public static function execute()
+       {
+               Logger::notice('checkversion: start');
 
-       // fetch the VERSION file
-       $gitversion = dbesc(trim(fetch_url($checked_url)));
-       logger("Upstream VERSION is: ".$gitversion, LOGGER_DEBUG);
+               $checkurl = DI::config()->get('system', 'check_new_version_url', 'none');
 
-       Config::set('system', 'git_friendica_version', $gitversion);
+               switch ($checkurl) {
+                       case 'master':
+                       case 'stable':
+                               $checked_url = 'https://raw.githubusercontent.com/friendica/friendica/stable/VERSION';
+                               break;
+                       case 'develop':
+                               $checked_url = 'https://raw.githubusercontent.com/friendica/friendica/develop/VERSION';
+                               break;
+                       default:
+                               // don't check
+                               return;
+               }
+               Logger::info("Checking VERSION from: ".$checked_url);
 
-       logger('checkversion: end');
+               // fetch the VERSION file
+               $gitversion = DBA::escape(trim(DI::httpClient()->fetch($checked_url, HttpClientAccept::TEXT)));
+               Logger::notice("Upstream VERSION is: ".$gitversion);
 
-       return;
+               DI::config()->set('system', 'git_friendica_version', $gitversion);
+
+               Logger::notice('checkversion: end');
+
+               return;
+       }
 }