mirror of
				https://github.com/firefly-iii/firefly-iii.git
				synced 2025-10-30 06:50:49 +00:00 
			
		
		
		
	Firefly III can now handle "channels" in its releases.
This commit is contained in:
		| @@ -23,10 +23,12 @@ declare(strict_types=1); | ||||
|  | ||||
| namespace FireflyIII\Http\Controllers\Admin; | ||||
|  | ||||
| use FireflyIII\Exceptions\FireflyException; | ||||
| use FireflyIII\Helpers\Update\UpdateTrait; | ||||
| use FireflyIII\Http\Controllers\Controller; | ||||
| use FireflyIII\Http\Middleware\IsDemoUser; | ||||
| use FireflyIII\Http\Middleware\IsSandStormUser; | ||||
| use Illuminate\Http\JsonResponse; | ||||
| use Illuminate\Http\Request; | ||||
| use Log; | ||||
|  | ||||
| @@ -44,7 +46,7 @@ class UpdateController extends Controller | ||||
|     { | ||||
|         parent::__construct(); | ||||
|         $this->middleware( | ||||
|             function ($request, $next) { | ||||
|             static function ($request, $next) { | ||||
|                 app('view')->share('title', (string)trans('firefly.administration')); | ||||
|                 app('view')->share('mainTitleIcon', 'fa-hand-spock-o'); | ||||
|  | ||||
| @@ -64,17 +66,25 @@ class UpdateController extends Controller | ||||
|      */ | ||||
|     public function index() | ||||
|     { | ||||
|         $subTitle     = (string)trans('firefly.update_check_title'); | ||||
|         $subTitleIcon = 'fa-star'; | ||||
|         $permission   = app('fireflyconfig')->get('permission_update_check', -1); | ||||
|         $selected     = $permission->data; | ||||
|         $options      = [ | ||||
|         $subTitle        = (string)trans('firefly.update_check_title'); | ||||
|         $subTitleIcon    = 'fa-star'; | ||||
|         $permission      = app('fireflyconfig')->get('permission_update_check', -1); | ||||
|         $channel         = app('fireflyconfig')->get('update_channel', 'stable'); | ||||
|         $selected        = $permission->data; | ||||
|         $channelSelected = $channel->data; | ||||
|         $options         = [ | ||||
|             -1 => (string)trans('firefly.updates_ask_me_later'), | ||||
|             0  => (string)trans('firefly.updates_do_not_check'), | ||||
|             1  => (string)trans('firefly.updates_enable_check'), | ||||
|         ]; | ||||
|  | ||||
|         return view('admin.update.index', compact('subTitle', 'subTitleIcon', 'selected', 'options')); | ||||
|         $channelOptions = [ | ||||
|             'stable' => (string)trans('firefly.update_channel_stable'), | ||||
|             'beta'   => (string)trans('firefly.update_channel_beta'), | ||||
|             'alpha'  => (string)trans('firefly.update_channel_alpha'), | ||||
|         ]; | ||||
|  | ||||
|         return view('admin.update.index', compact('subTitle', 'subTitleIcon', 'selected', 'options', 'channelSelected', 'channelOptions')); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
| @@ -87,8 +97,11 @@ class UpdateController extends Controller | ||||
|     public function post(Request $request) | ||||
|     { | ||||
|         $checkForUpdates = (int)$request->get('check_for_updates'); | ||||
|         $channel         = $request->get('update_channel'); | ||||
|         $channel         = in_array($channel, ['stable', 'beta', 'alpha'], true) ? $channel : 'stable'; | ||||
|         app('fireflyconfig')->set('permission_update_check', $checkForUpdates); | ||||
|         app('fireflyconfig')->set('last_update_check', time()); | ||||
|         app('fireflyconfig')->set('update_channel', $channel); | ||||
|         session()->flash('success', (string)trans('firefly.configuration_updated')); | ||||
|  | ||||
|         return redirect(route('admin.update-check')); | ||||
| @@ -97,11 +110,31 @@ class UpdateController extends Controller | ||||
|     /** | ||||
|      * Does a manual update check. | ||||
|      */ | ||||
|     public function updateCheck() | ||||
|     public function updateCheck(): JsonResponse | ||||
|     { | ||||
|         $latestRelease = $this->getLatestRelease(); | ||||
|         $versionCheck  = $this->versionCheck($latestRelease); | ||||
|         $resultString  = $this->parseResult($versionCheck, $latestRelease); | ||||
|         $success       = true; | ||||
|         $latestRelease = '1.0'; | ||||
|         $resultString  = ''; | ||||
|         $versionCheck  = -2; | ||||
|         try { | ||||
|             $latestRelease = $this->getLatestRelease(); | ||||
|         } catch (FireflyException $e) { | ||||
|             Log::error($e->getMessage()); | ||||
|             $success = false; | ||||
|         } | ||||
|  | ||||
|         // if error, tell the user. | ||||
|         if (false === $success) { | ||||
|             $resultString = (string)trans('firefly.update_check_error'); | ||||
|             session()->flash('error', $resultString); | ||||
|         } | ||||
|  | ||||
|         // if not, compare and tell the user. | ||||
|         if (true === $success) { | ||||
|             $versionCheck = $this->versionCheck($latestRelease); | ||||
|             $resultString = $this->parseResult($versionCheck, $latestRelease); | ||||
|         } | ||||
|  | ||||
|         Log::debug(sprintf('Result string is: "%s"', $resultString)); | ||||
|  | ||||
|         if (0 !== $versionCheck && '' !== $resultString) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user