get('alias'); if (!isset($updates[$alias])) { continue; } $m = new \stdClass(); $m->name = $row->get('name'); $m->alias = $row->get('alias'); $m->category = $row->get('category'); $m->installed = $row->get('version'); $m->latest = $updates[$alias]; $modules[] = $m; } } return view('install.updates.index', compact('core', 'modules')); } public function changelog() { return Versions::changelog(); } /** * Check for updates. * * @return Response */ public function check() { // Clear cache in order to check for updates Updater::clear(); return redirect()->back(); } /** * Update the core or modules. * * @param $alias * @param $version * @return Response */ public function update($alias, $version) { set_time_limit(600); // 10 minutes if (Updater::update($alias, $version)) { return redirect('install/updates/post/' . $alias . '/' . version('short') . '/' . $version); } flash(trans('updates.error'))->error(); return redirect()->back(); } /** * Final actions post update. * * @param $alias * @param $old * @param $new * @return Response */ public function post($alias, $old, $new) { // Check if the file mirror was successful if (($alias == 'core') && (version('short') != $new)) { flash(trans('updates.error'))->error(); return redirect('install/updates'); } // Clear cache after update Artisan::call('cache:clear'); // Update database Artisan::call('migrate', ['--force' => true]); event(new UpdateFinished($alias, $old, $new)); flash(trans('updates.success'))->success(); return redirect('install/updates'); } }