aboutsummaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorVictor Dubiniuk <victor.dubiniuk@gmail.com>2015-12-08 01:24:28 +0300
committerThomas Müller <thomas.mueller@tmit.eu>2015-12-09 11:22:13 +0100
commitb59285d0d04a409a699aae85a0caaf7ff8c74393 (patch)
tree66dc033f518571d50af3b0abbf0e762fcc0cf1fb /core
parentff656e31f1e8de777c7cc2c0163758eb798de0e8 (diff)
downloadnextcloud-server-b59285d0d04a409a699aae85a0caaf7ff8c74393.tar.gz
nextcloud-server-b59285d0d04a409a699aae85a0caaf7ff8c74393.zip
Add occ command to get app path
Diffstat (limited to 'core')
-rw-r--r--core/command/app/getpath.php62
-rw-r--r--core/register_command.php1
2 files changed, 63 insertions, 0 deletions
diff --git a/core/command/app/getpath.php b/core/command/app/getpath.php
new file mode 100644
index 00000000000..7cfa01d48af
--- /dev/null
+++ b/core/command/app/getpath.php
@@ -0,0 +1,62 @@
+<?php
+/**
+ * @author Victor Dubiniuk <dubiniuk@owncloud.com>
+ *
+ * @copyright Copyright (c) 2015, 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\Core\Command\App;
+
+use OC\Core\Command\Base;
+use Symfony\Component\Console\Input\InputArgument;
+use Symfony\Component\Console\Input\InputInterface;
+use Symfony\Component\Console\Output\OutputInterface;
+
+class GetPath extends Base {
+ protected function configure() {
+ parent::configure();
+
+ $this
+ ->setName('app:getpath')
+ ->setDescription('Get an absolute path to the app directory')
+ ->addArgument(
+ 'app',
+ InputArgument::REQUIRED,
+ 'Name of the app'
+ )
+ ;
+ }
+
+ /**
+ * Executes the current command.
+ *
+ * @param InputInterface $input An InputInterface instance
+ * @param OutputInterface $output An OutputInterface instance
+ * @return null|int null or 0 if everything went fine, or an error code
+ */
+ protected function execute(InputInterface $input, OutputInterface $output) {
+ $appName = $input->getArgument('app');
+ $path = \OC_App::getAppPath($appName);
+ if ($path !== false) {
+ $output->writeln($path);
+ return 0;
+ }
+
+ // App not found, exit with non-zero
+ return 1;
+ }
+}
diff --git a/core/register_command.php b/core/register_command.php
index 16dda55878e..83e92a7e216 100644
--- a/core/register_command.php
+++ b/core/register_command.php
@@ -44,6 +44,7 @@ $application->add(new \OC\Core\Command\Integrity\SignCore(
if (\OC::$server->getConfig()->getSystemValue('installed', false)) {
$application->add(new OC\Core\Command\App\Disable());
$application->add(new OC\Core\Command\App\Enable());
+ $application->add(new OC\Core\Command\App\GetPath());
$application->add(new OC\Core\Command\App\ListApps());
$application->add(new OC\Core\Command\Background\Cron(\OC::$server->getConfig()));