]> git.mxchange.org Git - friendica.git/blob - src/Worker/CheckVersion.php
4ece4cb9b325d3c12699d7ca27f9d418ba0cc2e7
[friendica.git] / src / Worker / CheckVersion.php
1 <?php
2
3 /**
4  * @file src/Worker/CheckVersion.php
5  *
6  * save Friendica upstream version to the DB
7  **/
8 namespace Friendica\Worker;
9
10 use Friendica\Core\Config;
11 use Friendica\Core\Logger;
12 use Friendica\Database\DBA;
13 use Friendica\DI;
14 use Friendica\Util\Network;
15
16 /**
17  * check the git repository VERSION file and save the version to the DB
18  *
19  * Checking the upstream version is optional (opt-in) and can be done to either
20  * the master or the develop branch in the repository.
21  */
22 class CheckVersion
23 {
24         public static function execute()
25         {
26                 Logger::log('checkversion: start');
27
28                 $checkurl = DI::config()->get('system', 'check_new_version_url', 'none');
29
30                 switch ($checkurl) {
31                         case 'master':
32                                 $checked_url = 'https://raw.githubusercontent.com/friendica/friendica/master/VERSION';
33                                 break;
34                         case 'develop':
35                                 $checked_url = 'https://raw.githubusercontent.com/friendica/friendica/develop/VERSION';
36                                 break;
37                         default:
38                                 // don't check
39                                 return;
40                 }
41                 Logger::log("Checking VERSION from: ".$checked_url, Logger::DEBUG);
42
43                 // fetch the VERSION file
44                 $gitversion = DBA::escape(trim(Network::fetchUrl($checked_url)));
45                 Logger::log("Upstream VERSION is: ".$gitversion, Logger::DEBUG);
46
47                 DI::config()->set('system', 'git_friendica_version', $gitversion);
48
49                 Logger::log('checkversion: end');
50
51                 return;
52         }
53 }