diff options
Diffstat (limited to 'lib/private/console')
-rw-r--r-- | lib/private/console/application.php | 147 | ||||
-rw-r--r-- | lib/private/console/timestampformatter.php | 107 |
2 files changed, 0 insertions, 254 deletions
diff --git a/lib/private/console/application.php b/lib/private/console/application.php deleted file mode 100644 index 7f12db4eca6..00000000000 --- a/lib/private/console/application.php +++ /dev/null @@ -1,147 +0,0 @@ -<?php -/** - * @author Joas Schilling <nickvergessen@owncloud.com> - * @author Lukas Reschke <lukas@owncloud.com> - * @author Morris Jobke <hey@morrisjobke.de> - * @author Robin McCorkell <robin@mccorkell.me.uk> - * @author Thomas Müller <thomas.mueller@tmit.eu> - * @author Victor Dubiniuk <dubiniuk@owncloud.com> - * - * @copyright Copyright (c) 2016, ownCloud, Inc. - * @license AGPL-3.0 - * - * This code is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License, version 3, - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License, version 3, - * along with this program. If not, see <http://www.gnu.org/licenses/> - * - */ -namespace OC\Console; - -use OC_App; -use OC_Defaults; -use OCP\Console\ConsoleEvent; -use OCP\IConfig; -use OCP\IRequest; -use Symfony\Component\Console\Application as SymfonyApplication; -use Symfony\Component\Console\Input\ArgvInput; -use Symfony\Component\Console\Input\InputInterface; -use Symfony\Component\Console\Input\InputOption; -use Symfony\Component\Console\Output\OutputInterface; -use Symfony\Component\EventDispatcher\EventDispatcherInterface; - -class Application { - /** @var IConfig */ - private $config; - /** @var EventDispatcherInterface */ - private $dispatcher; - /** @var IRequest */ - private $request; - - /** - * @param IConfig $config - * @param EventDispatcherInterface $dispatcher - * @param IRequest $request - */ - public function __construct(IConfig $config, EventDispatcherInterface $dispatcher, IRequest $request) { - $defaults = new OC_Defaults; - $this->config = $config; - $this->application = new SymfonyApplication($defaults->getName(), \OC_Util::getVersionString()); - $this->dispatcher = $dispatcher; - $this->request = $request; - } - - /** - * @param InputInterface $input - * @param OutputInterface $output - * @throws \Exception - */ - public function loadCommands(InputInterface $input, OutputInterface $output) { - // $application is required to be defined in the register_command scripts - $application = $this->application; - $inputDefinition = $application->getDefinition(); - $inputDefinition->addOption( - new InputOption( - 'no-warnings', - null, - InputOption::VALUE_NONE, - 'Skip global warnings, show command output only', - null - ) - ); - try { - $input->bind($inputDefinition); - } catch (\RuntimeException $e) { - //expected if there are extra options - } - if ($input->getOption('no-warnings')) { - $output->setVerbosity(OutputInterface::VERBOSITY_QUIET); - } - require_once __DIR__ . '/../../../core/register_command.php'; - if ($this->config->getSystemValue('installed', false)) { - if (\OCP\Util::needUpgrade()) { - $output->writeln("ownCloud or one of the apps require upgrade - only a limited number of commands are available"); - $output->writeln("You may use your browser or the occ upgrade command to do the upgrade"); - } elseif ($this->config->getSystemValue('maintenance', false)) { - $output->writeln("ownCloud is in maintenance mode - no app have been loaded"); - } else { - OC_App::loadApps(); - foreach (\OC::$server->getAppManager()->getInstalledApps() as $app) { - $appPath = \OC_App::getAppPath($app); - if($appPath === false) { - continue; - } - \OC::$loader->addValidRoot($appPath); - $file = $appPath . '/appinfo/register_command.php'; - if (file_exists($file)) { - require $file; - } - } - } - } else { - $output->writeln("ownCloud is not installed - only a limited number of commands are available"); - } - $input = new ArgvInput(); - if ($input->getFirstArgument() !== 'check') { - $errors = \OC_Util::checkServer(\OC::$server->getConfig()); - if (!empty($errors)) { - foreach ($errors as $error) { - $output->writeln((string)$error['error']); - $output->writeln((string)$error['hint']); - $output->writeln(''); - } - throw new \Exception("Environment not properly prepared."); - } - } - } - - /** - * Sets whether to automatically exit after a command execution or not. - * - * @param bool $boolean Whether to automatically exit after a command execution or not - */ - public function setAutoExit($boolean) { - $this->application->setAutoExit($boolean); - } - - /** - * @param InputInterface $input - * @param OutputInterface $output - * @return int - * @throws \Exception - */ - public function run(InputInterface $input = null, OutputInterface $output = null) { - $this->dispatcher->dispatch(ConsoleEvent::EVENT_RUN, new ConsoleEvent( - ConsoleEvent::EVENT_RUN, - $this->request->server['argv'] - )); - return $this->application->run($input, $output); - } -} diff --git a/lib/private/console/timestampformatter.php b/lib/private/console/timestampformatter.php deleted file mode 100644 index 3beac5e2f9f..00000000000 --- a/lib/private/console/timestampformatter.php +++ /dev/null @@ -1,107 +0,0 @@ -<?php -/** - * @author Joas Schilling <nickvergessen@owncloud.com> - * - * @copyright Copyright (c) 2016, ownCloud, Inc. - * @license AGPL-3.0 - * - * This code is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License, version 3, - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License, version 3, - * along with this program. If not, see <http://www.gnu.org/licenses/> - * - */ - -namespace OC\Console; - - -use OCP\IConfig; -use Symfony\Component\Console\Formatter\OutputFormatterInterface; -use Symfony\Component\Console\Formatter\OutputFormatterStyleInterface; - -class TimestampFormatter implements OutputFormatterInterface { - /** @var IConfig */ - protected $config; - - /** - * @param IConfig $config - * @param OutputFormatterInterface $formatter - */ - public function __construct(IConfig $config, OutputFormatterInterface $formatter) { - $this->config = $config; - $this->formatter = $formatter; - } - - /** - * Sets the decorated flag. - * - * @param bool $decorated Whether to decorate the messages or not - */ - public function setDecorated($decorated) { - $this->formatter->setDecorated($decorated); - } - - /** - * Gets the decorated flag. - * - * @return bool true if the output will decorate messages, false otherwise - */ - public function isDecorated() { - return $this->formatter->isDecorated(); - } - - /** - * Sets a new style. - * - * @param string $name The style name - * @param OutputFormatterStyleInterface $style The style instance - */ - public function setStyle($name, OutputFormatterStyleInterface $style) { - $this->formatter->setStyle($name, $style); - } - - /** - * Checks if output formatter has style with specified name. - * - * @param string $name - * @return bool - */ - public function hasStyle($name) { - $this->formatter->hasStyle($name); - } - - /** - * Gets style options from style with specified name. - * - * @param string $name - * @return OutputFormatterStyleInterface - */ - public function getStyle($name) { - return $this->formatter->getStyle($name); - } - - /** - * Formats a message according to the given styles. - * - * @param string $message The message to style - * @return string The styled message, prepended with a timestamp using the - * log timezone and dateformat, e.g. "2015-06-23T17:24:37+02:00" - */ - public function format($message) { - - $timeZone = $this->config->getSystemValue('logtimezone', null); - $timeZone = $timeZone !== null ? new \DateTimeZone($timeZone) : null; - - $time = new \DateTime('now', $timeZone); - $timestampInfo = $time->format($this->config->getSystemValue('logdateformat', 'c')); - - return $timestampInfo . ' ' . $this->formatter->format($message); - } -} |