json(['message' => ctrans('texts.self_update_not_available')], 403); } // $it = new \RecursiveDirectoryIterator("/home/david/Development/invoiceninja"); // $x=1; // // Loop through files // foreach(new \RecursiveIteratorIterator($it) as $file) { // var_dum // if(is_file($file) && is_writable($file)) // nlog('writable ' .$x); // elseif(is_file($file)) // nlog("{$file} is not writable {$x}"); // //exit; // $x++; // // if ($file->isWritable() === false) { // // $checkPermission = false; // // } // } // Check if new version is available if($updater->source()->isNewVersionAvailable()) { // Get the new version available $versionAvailable = $updater->source()->getVersionAvailable(); // Create a release $release = $updater->source()->fetch($versionAvailable); // Run the update process $updater->source()->update($release); } $cacheCompiled = base_path('bootstrap/cache/compiled.php'); if (file_exists($cacheCompiled)) { unlink ($cacheCompiled); } $cacheServices = base_path('bootstrap/cache/services.php'); if (file_exists($cacheServices)) { unlink ($cacheServices); } Artisan::call('clear-compiled'); Artisan::call('cache:clear'); Artisan::call('debugbar:clear'); Artisan::call('route:clear'); Artisan::call('view:clear'); Artisan::call('config:clear'); return response()->json(['message' => 'Update completed'], 200); } public function checkVersion() { return trim(file_get_contents(config('ninja.version_url'))); } }