<?php /** * ownCloud - Updater plugin * * @author Victor Dubiniuk * @copyright 2013 Victor Dubiniuk victor.dubiniuk@gmail.com * * This file is licensed under the Affero General Public License version 3 or * later. */ namespace OCA\Updater; \OCP\JSON::checkAdminUser(); \OCP\JSON::callCheck(); set_time_limit(0); $request = file_get_contents('php://input'); $decodedRequest = json_decode($request, true); $packageUrl = isset($decodedRequest['url']) ? $decodedRequest['url'] : ''; $packageVersion = isset($decodedRequest['version']) ? $decodedRequest['version'] : ''; $backupPath = isset($decodedRequest['backupPath']) ? $decodedRequest['backupPath'] : ''; try { Updater::update($packageVersion, $backupPath); // We are done. Some cleanup Downloader::cleanUp($packageVersion); Updater::cleanUp(); \OCP\JSON::success(); } catch (\Exception $e) { App::log($e->getMessage()); \OCP\JSON::error(array('message' => (string) App::$l10n->t('Update failed.') . $e->getMessage())); }
/** * @param $uid * @param $handle * @return array */ public function updateCleanUp($uid, $handle) { Craft::log('Starting to clean up after the update.', LogLevel::Info, true); try { $updater = new Updater(); $updater->cleanUp($uid, $handle); Craft::log('Finished cleaning up after the update.', LogLevel::Info, true); return array('success' => true); } catch (\Exception $e) { return array('success' => false, 'message' => $e->getMessage()); } }
/** * @param string $uid * @param string $handle * * @return array */ public function updateCleanUp($uid, $handle) { Craft::log('Starting to clean up after the update.', LogLevel::Info, true); try { $updater = new Updater(); $updater->cleanUp($uid, $handle); Craft::log('Finished cleaning up after the update.', LogLevel::Info, true); // Fire an 'onEndUpdate' event and pass in that it was a successful update. $this->onEndUpdate(new Event($this, array('success' => true))); } catch (\Exception $e) { Craft::log('There was an error during cleanup, but we don\'t really care: ' . $e->getMessage()); // Fire an 'onEndUpdate' event and pass in that it was a successful update. $this->onEndUpdate(new Event($this, array('success' => true))); } }