diff options
author | Lukas Reschke <lukas@statuscode.ch> | 2016-07-07 19:29:43 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-07-07 19:29:43 +0200 |
commit | 2a1a3957b65e847d51c4c735acf033f7df29cba6 (patch) | |
tree | e53ac77b3dfa0d425b9ea8084420988a4d7054b7 /core | |
parent | f5ed01617045a816977688a6c9e549fdf2dab509 (diff) | |
parent | beae00a5e5457c41994e54c7f0563245d9ccf5ce (diff) | |
download | nextcloud-server-2a1a3957b65e847d51c4c735acf033f7df29cba6.tar.gz nextcloud-server-2a1a3957b65e847d51c4c735acf033f7df29cba6.zip |
Merge pull request #333 from nextcloud/sync-master
Sync master
Diffstat (limited to 'core')
120 files changed, 35 insertions, 325 deletions
diff --git a/core/Application.php b/core/Application.php index 8ea2672e54e..a87917b626a 100644 --- a/core/Application.php +++ b/core/Application.php @@ -32,7 +32,6 @@ use OC\AppFramework\Utility\TimeFactory; use OC\Core\Controller\AvatarController; use OC\Core\Controller\LoginController; use OC\Core\Controller\LostController; -use OC\Core\Controller\OccController; use OC\Core\Controller\TokenController; use OC\Core\Controller\TwoFactorChallengeController; use OC\Core\Controller\UserController; @@ -126,18 +125,6 @@ class Application extends App { $c->query('SecureRandom') ); }); - $container->registerService('OccController', function(SimpleContainer $c) { - return new OccController( - $c->query('AppName'), - $c->query('Request'), - $c->query('Config'), - new \OC\Console\Application( - $c->query('Config'), - $c->query('ServerContainer')->getEventDispatcher(), - $c->query('Request') - ) - ); - }); /** * Core class wrappers diff --git a/core/Controller/OccController.php b/core/Controller/OccController.php deleted file mode 100644 index 917d02f37f1..00000000000 --- a/core/Controller/OccController.php +++ /dev/null @@ -1,147 +0,0 @@ -<?php -/** - * @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\Core\Controller; - -use OCP\AppFramework\Controller; -use OCP\AppFramework\Http\JSONResponse; -use OC\Console\Application; -use OCP\IConfig; -use OCP\IRequest; -use Symfony\Component\Console\Input\ArrayInput; -use Symfony\Component\Console\Output\BufferedOutput; - -class OccController extends Controller { - - /** @var array */ - private $allowedCommands = [ - 'app:disable', - 'app:enable', - 'app:getpath', - 'app:list', - 'check', - 'config:list', - 'maintenance:mode', - 'status', - 'upgrade' - ]; - - /** @var IConfig */ - private $config; - /** @var Application */ - private $console; - - /** - * OccController constructor. - * - * @param string $appName - * @param IRequest $request - * @param IConfig $config - * @param Application $console - */ - public function __construct($appName, IRequest $request, - IConfig $config, Application $console) { - parent::__construct($appName, $request); - $this->config = $config; - $this->console = $console; - } - - /** - * @PublicPage - * @NoCSRFRequired - * - * Execute occ command - * Sample request - * POST http://domain.tld/index.php/occ/status', - * { - * 'params': { - * '--no-warnings':'1', - * '--output':'json' - * }, - * 'token': 'someToken' - * } - * - * @param string $command - * @param string $token - * @param array $params - * - * @return JSONResponse - * @throws \Exception - */ - public function execute($command, $token, $params = []) { - try { - $this->validateRequest($command, $token); - - $output = new BufferedOutput(); - $formatter = $output->getFormatter(); - $formatter->setDecorated(false); - $this->console->setAutoExit(false); - $this->console->loadCommands(new ArrayInput([]), $output); - - $inputArray = array_merge(['command' => $command], $params); - $input = new ArrayInput($inputArray); - - $exitCode = $this->console->run($input, $output); - $response = $output->fetch(); - - $json = [ - 'exitCode' => $exitCode, - 'response' => $response - ]; - - } catch (\UnexpectedValueException $e){ - $json = [ - 'exitCode' => 126, - 'response' => 'Not allowed', - 'details' => $e->getMessage() - ]; - } - return new JSONResponse($json); - } - - /** - * Check if command is allowed and has a valid security token - * @param $command - * @param $token - */ - protected function validateRequest($command, $token){ - if (!in_array($this->request->getRemoteAddress(), ['::1', '127.0.0.1', 'localhost'])) { - throw new \UnexpectedValueException('Web executor is not allowed to run from a different host'); - } - - if (!in_array($command, $this->allowedCommands)) { - throw new \UnexpectedValueException(sprintf('Command "%s" is not allowed to run via web request', $command)); - } - - $coreToken = $this->config->getSystemValue('updater.secret', ''); - if ($coreToken === '') { - throw new \UnexpectedValueException( - 'updater.secret is undefined in config/config.php. Either browse the admin settings in your ownCloud and click "Open updater" or define a strong secret using <pre>php -r \'echo password_hash("MyStrongSecretDoUseYourOwn!", PASSWORD_DEFAULT)."\n";\'</pre> and set this in the config.php.' - ); - } - - if (!password_verify($token, $coreToken)) { - throw new \UnexpectedValueException( - 'updater.secret does not match the provided token' - ); - } - } -} diff --git a/core/img/actions/add.png b/core/img/actions/add.png Binary files differdeleted file mode 100644 index 8ae17cfe11b..00000000000 --- a/core/img/actions/add.png +++ /dev/null diff --git a/core/img/actions/caret-dark.png b/core/img/actions/caret-dark.png Binary files differdeleted file mode 100644 index 97c64c6a720..00000000000 --- a/core/img/actions/caret-dark.png +++ /dev/null diff --git a/core/img/actions/caret.png b/core/img/actions/caret.png Binary files differdeleted file mode 100644 index 3a8dd99176d..00000000000 --- a/core/img/actions/caret.png +++ /dev/null diff --git a/core/img/actions/checkbox-checked-disabled.png b/core/img/actions/checkbox-checked-disabled.png Binary files differdeleted file mode 100644 index 55980ba730d..00000000000 --- a/core/img/actions/checkbox-checked-disabled.png +++ /dev/null diff --git a/core/img/actions/checkbox-checked-white.png b/core/img/actions/checkbox-checked-white.png Binary files differdeleted file mode 100644 index ed8e3d3d557..00000000000 --- a/core/img/actions/checkbox-checked-white.png +++ /dev/null diff --git a/core/img/actions/checkbox-checked.png b/core/img/actions/checkbox-checked.png Binary files differdeleted file mode 100644 index 58e9f8ba00b..00000000000 --- a/core/img/actions/checkbox-checked.png +++ /dev/null diff --git a/core/img/actions/checkbox-disabled-white.png b/core/img/actions/checkbox-disabled-white.png Binary files differdeleted file mode 100644 index e1f48439d27..00000000000 --- a/core/img/actions/checkbox-disabled-white.png +++ /dev/null diff --git a/core/img/actions/checkbox-disabled.png b/core/img/actions/checkbox-disabled.png Binary files differdeleted file mode 100644 index a2ead209965..00000000000 --- a/core/img/actions/checkbox-disabled.png +++ /dev/null diff --git a/core/img/actions/checkbox-mixed-white.png b/core/img/actions/checkbox-mixed-white.png Binary files differdeleted file mode 100644 index 0b81f998fc5..00000000000 --- a/core/img/actions/checkbox-mixed-white.png +++ /dev/null diff --git a/core/img/actions/checkbox-mixed.png b/core/img/actions/checkbox-mixed.png Binary files differdeleted file mode 100644 index cc27ec651ea..00000000000 --- a/core/img/actions/checkbox-mixed.png +++ /dev/null diff --git a/core/img/actions/checkbox-white.png b/core/img/actions/checkbox-white.png Binary files differdeleted file mode 100644 index f0f903c77c6..00000000000 --- a/core/img/actions/checkbox-white.png +++ /dev/null diff --git a/core/img/actions/checkbox.png b/core/img/actions/checkbox.png Binary files differdeleted file mode 100644 index 770b7ef8203..00000000000 --- a/core/img/actions/checkbox.png +++ /dev/null diff --git a/core/img/actions/checkmark-color.png b/core/img/actions/checkmark-color.png Binary files differdeleted file mode 100644 index a8ab849cad7..00000000000 --- a/core/img/actions/checkmark-color.png +++ /dev/null diff --git a/core/img/actions/checkmark-white.png b/core/img/actions/checkmark-white.png Binary files differdeleted file mode 100644 index 27f17204b1d..00000000000 --- a/core/img/actions/checkmark-white.png +++ /dev/null diff --git a/core/img/actions/checkmark.png b/core/img/actions/checkmark.png Binary files differdeleted file mode 100644 index c1a8be786cd..00000000000 --- a/core/img/actions/checkmark.png +++ /dev/null diff --git a/core/img/actions/close.png b/core/img/actions/close.png Binary files differdeleted file mode 100644 index 66e3c26cc65..00000000000 --- a/core/img/actions/close.png +++ /dev/null diff --git a/core/img/actions/comment.png b/core/img/actions/comment.png Binary files differdeleted file mode 100644 index 08867cf6361..00000000000 --- a/core/img/actions/comment.png +++ /dev/null diff --git a/core/img/actions/confirm.png b/core/img/actions/confirm.png Binary files differdeleted file mode 100644 index 3021d4c27d6..00000000000 --- a/core/img/actions/confirm.png +++ /dev/null diff --git a/core/img/actions/delete-hover.png b/core/img/actions/delete-hover.png Binary files differdeleted file mode 100644 index ed12640df71..00000000000 --- a/core/img/actions/delete-hover.png +++ /dev/null diff --git a/core/img/actions/delete-white.png b/core/img/actions/delete-white.png Binary files differdeleted file mode 100644 index 07a5de34252..00000000000 --- a/core/img/actions/delete-white.png +++ /dev/null diff --git a/core/img/actions/delete.png b/core/img/actions/delete.png Binary files differdeleted file mode 100644 index 20e894c7f74..00000000000 --- a/core/img/actions/delete.png +++ /dev/null diff --git a/core/img/actions/details.png b/core/img/actions/details.png Binary files differdeleted file mode 100644 index 9145025be26..00000000000 --- a/core/img/actions/details.png +++ /dev/null diff --git a/core/img/actions/download-white.png b/core/img/actions/download-white.png Binary files differdeleted file mode 100644 index 815b551354f..00000000000 --- a/core/img/actions/download-white.png +++ /dev/null diff --git a/core/img/actions/download.png b/core/img/actions/download.png Binary files differdeleted file mode 100644 index 1f8e1a4f7e1..00000000000 --- a/core/img/actions/download.png +++ /dev/null diff --git a/core/img/actions/edit.png b/core/img/actions/edit.png Binary files differdeleted file mode 100644 index 7ca20eba363..00000000000 --- a/core/img/actions/edit.png +++ /dev/null diff --git a/core/img/actions/error-color.png b/core/img/actions/error-color.png Binary files differdeleted file mode 100644 index 7d00282312a..00000000000 --- a/core/img/actions/error-color.png +++ /dev/null diff --git a/core/img/actions/error-white.png b/core/img/actions/error-white.png Binary files differdeleted file mode 100644 index 6e15865401d..00000000000 --- a/core/img/actions/error-white.png +++ /dev/null diff --git a/core/img/actions/error.png b/core/img/actions/error.png Binary files differdeleted file mode 100644 index 61df76b53ea..00000000000 --- a/core/img/actions/error.png +++ /dev/null diff --git a/core/img/actions/external.png b/core/img/actions/external.png Binary files differdeleted file mode 100644 index af03dbf3e05..00000000000 --- a/core/img/actions/external.png +++ /dev/null diff --git a/core/img/actions/history.png b/core/img/actions/history.png Binary files differdeleted file mode 100644 index ec2bbd0587f..00000000000 --- a/core/img/actions/history.png +++ /dev/null diff --git a/core/img/actions/info-white.png b/core/img/actions/info-white.png Binary files differdeleted file mode 100644 index 670d7309c4e..00000000000 --- a/core/img/actions/info-white.png +++ /dev/null diff --git a/core/img/actions/info.png b/core/img/actions/info.png Binary files differdeleted file mode 100644 index b280a019ab4..00000000000 --- a/core/img/actions/info.png +++ /dev/null diff --git a/core/img/actions/logout.png b/core/img/actions/logout.png Binary files differdeleted file mode 100644 index 77391066789..00000000000 --- a/core/img/actions/logout.png +++ /dev/null diff --git a/core/img/actions/mail.png b/core/img/actions/mail.png Binary files differdeleted file mode 100644 index 6d06259cd08..00000000000 --- a/core/img/actions/mail.png +++ /dev/null diff --git a/core/img/actions/menu.png b/core/img/actions/menu.png Binary files differdeleted file mode 100644 index 583ce319175..00000000000 --- a/core/img/actions/menu.png +++ /dev/null diff --git a/core/img/actions/more.png b/core/img/actions/more.png Binary files differdeleted file mode 100644 index 880d5dccce3..00000000000 --- a/core/img/actions/more.png +++ /dev/null diff --git a/core/img/actions/password.png b/core/img/actions/password.png Binary files differdeleted file mode 100644 index 3619fabab9a..00000000000 --- a/core/img/actions/password.png +++ /dev/null diff --git a/core/img/actions/pause-big.png b/core/img/actions/pause-big.png Binary files differdeleted file mode 100644 index 054281c6314..00000000000 --- a/core/img/actions/pause-big.png +++ /dev/null diff --git a/core/img/actions/pause.png b/core/img/actions/pause.png Binary files differdeleted file mode 100644 index d4b865e3401..00000000000 --- a/core/img/actions/pause.png +++ /dev/null diff --git a/core/img/actions/play-add.png b/core/img/actions/play-add.png Binary files differdeleted file mode 100644 index ccf77d2a062..00000000000 --- a/core/img/actions/play-add.png +++ /dev/null diff --git a/core/img/actions/play-big.png b/core/img/actions/play-big.png Binary files differdeleted file mode 100644 index 7d4916cb204..00000000000 --- a/core/img/actions/play-big.png +++ /dev/null diff --git a/core/img/actions/play-next.png b/core/img/actions/play-next.png Binary files differdeleted file mode 100644 index 50cd91d240e..00000000000 --- a/core/img/actions/play-next.png +++ /dev/null diff --git a/core/img/actions/play-previous.png b/core/img/actions/play-previous.png Binary files differdeleted file mode 100644 index c380e96bb58..00000000000 --- a/core/img/actions/play-previous.png +++ /dev/null diff --git a/core/img/actions/play.png b/core/img/actions/play.png Binary files differdeleted file mode 100644 index 7994424c65c..00000000000 --- a/core/img/actions/play.png +++ /dev/null diff --git a/core/img/actions/public.png b/core/img/actions/public.png Binary files differdeleted file mode 100644 index 772838ad205..00000000000 --- a/core/img/actions/public.png +++ /dev/null diff --git a/core/img/actions/radio-checked-disabled.png b/core/img/actions/radio-checked-disabled.png Binary files differdeleted file mode 100644 index 09abc410f61..00000000000 --- a/core/img/actions/radio-checked-disabled.png +++ /dev/null diff --git a/core/img/actions/radio-checked.png b/core/img/actions/radio-checked.png Binary files differdeleted file mode 100644 index f3d06115693..00000000000 --- a/core/img/actions/radio-checked.png +++ /dev/null diff --git a/core/img/actions/radio-disabled.png b/core/img/actions/radio-disabled.png Binary files differdeleted file mode 100644 index ac7f49ed533..00000000000 --- a/core/img/actions/radio-disabled.png +++ /dev/null diff --git a/core/img/actions/radio-white.png b/core/img/actions/radio-white.png Binary files differdeleted file mode 100644 index 04beefdff01..00000000000 --- a/core/img/actions/radio-white.png +++ /dev/null diff --git a/core/img/actions/radio.png b/core/img/actions/radio.png Binary files differdeleted file mode 100644 index 70ac4741b97..00000000000 --- a/core/img/actions/radio.png +++ /dev/null diff --git a/core/img/actions/rename.png b/core/img/actions/rename.png Binary files differdeleted file mode 100644 index 975bd2d7031..00000000000 --- a/core/img/actions/rename.png +++ /dev/null diff --git a/core/img/actions/search-white.png b/core/img/actions/search-white.png Binary files differdeleted file mode 100644 index 9812c44a3d6..00000000000 --- a/core/img/actions/search-white.png +++ /dev/null diff --git a/core/img/actions/search.png b/core/img/actions/search.png Binary files differdeleted file mode 100644 index 5f4767a6f46..00000000000 --- a/core/img/actions/search.png +++ /dev/null diff --git a/core/img/actions/settings.png b/core/img/actions/settings.png Binary files differdeleted file mode 100644 index 3ab939ca37a..00000000000 --- a/core/img/actions/settings.png +++ /dev/null diff --git a/core/img/actions/share.png b/core/img/actions/share.png Binary files differdeleted file mode 100644 index fdacbbabebc..00000000000 --- a/core/img/actions/share.png +++ /dev/null diff --git a/core/img/actions/shared.png b/core/img/actions/shared.png Binary files differdeleted file mode 100644 index fdacbbabebc..00000000000 --- a/core/img/actions/shared.png +++ /dev/null diff --git a/core/img/actions/sound-off.png b/core/img/actions/sound-off.png Binary files differdeleted file mode 100644 index 0457de8e4d1..00000000000 --- a/core/img/actions/sound-off.png +++ /dev/null diff --git a/core/img/actions/sound.png b/core/img/actions/sound.png Binary files differdeleted file mode 100644 index e849b4d248b..00000000000 --- a/core/img/actions/sound.png +++ /dev/null diff --git a/core/img/actions/star.png b/core/img/actions/star.png Binary files differdeleted file mode 100644 index 88e4ad54584..00000000000 --- a/core/img/actions/star.png +++ /dev/null diff --git a/core/img/actions/starred.png b/core/img/actions/starred.png Binary files differdeleted file mode 100644 index 22e68c757e7..00000000000 --- a/core/img/actions/starred.png +++ /dev/null diff --git a/core/img/actions/toggle-filelist.png b/core/img/actions/toggle-filelist.png Binary files differdeleted file mode 100644 index 0926a726d53..00000000000 --- a/core/img/actions/toggle-filelist.png +++ /dev/null diff --git a/core/img/actions/toggle-pictures.png b/core/img/actions/toggle-pictures.png Binary files differdeleted file mode 100644 index 7499d5b7809..00000000000 --- a/core/img/actions/toggle-pictures.png +++ /dev/null diff --git a/core/img/actions/toggle.png b/core/img/actions/toggle.png Binary files differdeleted file mode 100644 index 24a6a4d47de..00000000000 --- a/core/img/actions/toggle.png +++ /dev/null diff --git a/core/img/actions/triangle-e.png b/core/img/actions/triangle-e.png Binary files differdeleted file mode 100644 index 4ce1086f61d..00000000000 --- a/core/img/actions/triangle-e.png +++ /dev/null diff --git a/core/img/actions/triangle-n.png b/core/img/actions/triangle-n.png Binary files differdeleted file mode 100644 index 2042d66532c..00000000000 --- a/core/img/actions/triangle-n.png +++ /dev/null diff --git a/core/img/actions/triangle-s.png b/core/img/actions/triangle-s.png Binary files differdeleted file mode 100644 index 97c64c6a720..00000000000 --- a/core/img/actions/triangle-s.png +++ /dev/null diff --git a/core/img/actions/upload-white.png b/core/img/actions/upload-white.png Binary files differdeleted file mode 100644 index 28693f855d3..00000000000 --- a/core/img/actions/upload-white.png +++ /dev/null diff --git a/core/img/actions/upload.png b/core/img/actions/upload.png Binary files differdeleted file mode 100644 index 8955ed96412..00000000000 --- a/core/img/actions/upload.png +++ /dev/null diff --git a/core/img/actions/user.png b/core/img/actions/user.png Binary files differdeleted file mode 100644 index 5f2fddc0ea3..00000000000 --- a/core/img/actions/user.png +++ /dev/null diff --git a/core/img/actions/view-close.png b/core/img/actions/view-close.png Binary files differdeleted file mode 100644 index eae9acc7a43..00000000000 --- a/core/img/actions/view-close.png +++ /dev/null diff --git a/core/img/actions/view-download.png b/core/img/actions/view-download.png Binary files differdeleted file mode 100644 index 29e1b6fec70..00000000000 --- a/core/img/actions/view-download.png +++ /dev/null diff --git a/core/img/actions/view-next.png b/core/img/actions/view-next.png Binary files differdeleted file mode 100644 index be8cc15cecd..00000000000 --- a/core/img/actions/view-next.png +++ /dev/null diff --git a/core/img/actions/view-pause.png b/core/img/actions/view-pause.png Binary files differdeleted file mode 100644 index 94cd1a5dc6c..00000000000 --- a/core/img/actions/view-pause.png +++ /dev/null diff --git a/core/img/actions/view-play.png b/core/img/actions/view-play.png Binary files differdeleted file mode 100644 index a8398d5758f..00000000000 --- a/core/img/actions/view-play.png +++ /dev/null diff --git a/core/img/actions/view-previous.png b/core/img/actions/view-previous.png Binary files differdeleted file mode 100644 index 86e2a809626..00000000000 --- a/core/img/actions/view-previous.png +++ /dev/null diff --git a/core/img/breadcrumb.png b/core/img/breadcrumb.png Binary files differdeleted file mode 100644 index 5556920aa73..00000000000 --- a/core/img/breadcrumb.png +++ /dev/null diff --git a/core/img/desktopapp.png b/core/img/desktopapp.png Binary files differdeleted file mode 100644 index 272397c949e..00000000000 --- a/core/img/desktopapp.png +++ /dev/null diff --git a/core/img/filetypes/application-pdf.png b/core/img/filetypes/application-pdf.png Binary files differdeleted file mode 100644 index c215094eaa7..00000000000 --- a/core/img/filetypes/application-pdf.png +++ /dev/null diff --git a/core/img/filetypes/application.png b/core/img/filetypes/application.png Binary files differdeleted file mode 100644 index d9db3b9114c..00000000000 --- a/core/img/filetypes/application.png +++ /dev/null diff --git a/core/img/filetypes/audio.png b/core/img/filetypes/audio.png Binary files differdeleted file mode 100644 index 3d52756341a..00000000000 --- a/core/img/filetypes/audio.png +++ /dev/null diff --git a/core/img/filetypes/file.png b/core/img/filetypes/file.png Binary files differdeleted file mode 100644 index 74add13f276..00000000000 --- a/core/img/filetypes/file.png +++ /dev/null diff --git a/core/img/filetypes/folder-drag-accept.png b/core/img/filetypes/folder-drag-accept.png Binary files differdeleted file mode 100644 index 44a3720fef4..00000000000 --- a/core/img/filetypes/folder-drag-accept.png +++ /dev/null diff --git a/core/img/filetypes/folder-external.png b/core/img/filetypes/folder-external.png Binary files differdeleted file mode 100644 index 79dcbeaf731..00000000000 --- a/core/img/filetypes/folder-external.png +++ /dev/null diff --git a/core/img/filetypes/folder-public.png b/core/img/filetypes/folder-public.png Binary files differdeleted file mode 100644 index b9181f640b2..00000000000 --- a/core/img/filetypes/folder-public.png +++ /dev/null diff --git a/core/img/filetypes/folder-shared.png b/core/img/filetypes/folder-shared.png Binary files differdeleted file mode 100644 index 1cc6de7a029..00000000000 --- a/core/img/filetypes/folder-shared.png +++ /dev/null diff --git a/core/img/filetypes/folder-starred.png b/core/img/filetypes/folder-starred.png Binary files differdeleted file mode 100644 index 99d79c14a1d..00000000000 --- a/core/img/filetypes/folder-starred.png +++ /dev/null diff --git a/core/img/filetypes/folder.png b/core/img/filetypes/folder.png Binary files differdeleted file mode 100644 index 2262998cb3c..00000000000 --- a/core/img/filetypes/folder.png +++ /dev/null diff --git a/core/img/filetypes/image.png b/core/img/filetypes/image.png Binary files differdeleted file mode 100644 index 8ff5e6c119f..00000000000 --- a/core/img/filetypes/image.png +++ /dev/null diff --git a/core/img/filetypes/package-x-generic.png b/core/img/filetypes/package-x-generic.png Binary files differdeleted file mode 100644 index 389b44cc2a3..00000000000 --- a/core/img/filetypes/package-x-generic.png +++ /dev/null diff --git a/core/img/filetypes/text-calendar.png b/core/img/filetypes/text-calendar.png Binary files differdeleted file mode 100644 index f21c3a9951d..00000000000 --- a/core/img/filetypes/text-calendar.png +++ /dev/null diff --git a/core/img/filetypes/text-code.png b/core/img/filetypes/text-code.png Binary files differdeleted file mode 100644 index 69744e499e6..00000000000 --- a/core/img/filetypes/text-code.png +++ /dev/null diff --git a/core/img/filetypes/text-vcard.png b/core/img/filetypes/text-vcard.png Binary files differdeleted file mode 100644 index 087eadaabd1..00000000000 --- a/core/img/filetypes/text-vcard.png +++ /dev/null diff --git a/core/img/filetypes/text.png b/core/img/filetypes/text.png Binary files differdeleted file mode 100644 index d6bec70cf43..00000000000 --- a/core/img/filetypes/text.png +++ /dev/null diff --git a/core/img/filetypes/video.png b/core/img/filetypes/video.png Binary files differdeleted file mode 100644 index 7cc1ecdc46a..00000000000 --- a/core/img/filetypes/video.png +++ /dev/null diff --git a/core/img/filetypes/x-office-document.png b/core/img/filetypes/x-office-document.png Binary files differdeleted file mode 100644 index 3bc2f08d1f9..00000000000 --- a/core/img/filetypes/x-office-document.png +++ /dev/null diff --git a/core/img/filetypes/x-office-presentation.png b/core/img/filetypes/x-office-presentation.png Binary files differdeleted file mode 100644 index 644fb852009..00000000000 --- a/core/img/filetypes/x-office-presentation.png +++ /dev/null diff --git a/core/img/filetypes/x-office-spreadsheet.png b/core/img/filetypes/x-office-spreadsheet.png Binary files differdeleted file mode 100644 index 8f79c32fe01..00000000000 --- a/core/img/filetypes/x-office-spreadsheet.png +++ /dev/null diff --git a/core/img/logo-icon.png b/core/img/logo-icon.png Binary files differdeleted file mode 100644 index 4ffb2bb953a..00000000000 --- a/core/img/logo-icon.png +++ /dev/null diff --git a/core/img/places/calendar-dark.png b/core/img/places/calendar-dark.png Binary files differdeleted file mode 100644 index 9dc21d8a7b8..00000000000 --- a/core/img/places/calendar-dark.png +++ /dev/null diff --git a/core/img/places/contacts-dark.png b/core/img/places/contacts-dark.png Binary files differdeleted file mode 100644 index fe03bbfe1a4..00000000000 --- a/core/img/places/contacts-dark.png +++ /dev/null diff --git a/core/img/places/files.png b/core/img/places/files.png Binary files differdeleted file mode 100644 index e317fc3c722..00000000000 --- a/core/img/places/files.png +++ /dev/null diff --git a/core/img/places/home.png b/core/img/places/home.png Binary files differdeleted file mode 100644 index 2e0313d59a7..00000000000 --- a/core/img/places/home.png +++ /dev/null diff --git a/core/img/places/link.png b/core/img/places/link.png Binary files differdeleted file mode 100644 index 8ba9f6530fb..00000000000 --- a/core/img/places/link.png +++ /dev/null diff --git a/core/img/places/music.png b/core/img/places/music.png Binary files differdeleted file mode 100644 index 0670544fedc..00000000000 --- a/core/img/places/music.png +++ /dev/null diff --git a/core/img/places/picture.png b/core/img/places/picture.png Binary files differdeleted file mode 100644 index 171af526e9d..00000000000 --- a/core/img/places/picture.png +++ /dev/null diff --git a/core/js/jquery.ocdialog.js b/core/js/jquery.ocdialog.js index ea034f0aff7..15b58f9e086 100644 --- a/core/js/jquery.ocdialog.js +++ b/core/js/jquery.ocdialog.js @@ -145,7 +145,7 @@ break; case 'closeButton': if(value) { - var $closeButton = $('<a class="oc-dialog-close svg"></a>'); + var $closeButton = $('<a class="oc-dialog-close"></a>'); this.$dialog.prepend($closeButton); $closeButton.on('click', function() { self.close(); diff --git a/core/js/js.js b/core/js/js.js index 7f98668dcb2..07ed396bec9 100644 --- a/core/js/js.js +++ b/core/js/js.js @@ -327,8 +327,8 @@ var OC={ * @return {string} */ imagePath:function(app,file){ - if(file.indexOf('.')==-1){//if no extension is given, use png or svg depending on browser support - file+=(OC.Util.hasSVGSupport())?'.svg':'.png'; + if(file.indexOf('.')==-1){//if no extension is given, use svg + file+='.svg'; } return OC.filePath(app,'img',file); }, @@ -592,7 +592,7 @@ var OC={ var arrowclass = settings.hasClass('topright') ? 'up' : 'left'; var jqxhr = $.get(OC.filePath(props.appid, '', props.scriptName), function(data) { popup.html(data).ready(function() { - popup.prepend('<span class="arrow '+arrowclass+'"></span><h2>'+t('core', 'Settings')+'</h2><a class="close svg"></a>').show(); + popup.prepend('<span class="arrow '+arrowclass+'"></span><h2>'+t('core', 'Settings')+'</h2><a class="close"></a>').show(); popup.find('.close').bind('click', function() { popup.remove(); }); @@ -613,9 +613,6 @@ var OC={ throw e; }); } - if(!OC.Util.hasSVGSupport()) { - OC.Util.replaceSVG(); - } }).show(); }, 'html'); } @@ -1358,49 +1355,6 @@ if(typeof localStorage !=='undefined' && localStorage !== null){ } /** - * check if the browser support svg images - * @return {boolean} - */ -function SVGSupport() { - return SVGSupport.checkMimeType.correct && !!document.createElementNS && !!document.createElementNS('http://www.w3.org/2000/svg', "svg").createSVGRect; -} -SVGSupport.checkMimeType=function(){ - $.ajax({ - url: OC.imagePath('core','breadcrumb.svg'), - success:function(data,text,xhr){ - var headerParts=xhr.getAllResponseHeaders().split("\n"); - var headers={}; - $.each(headerParts,function(i,text){ - if(text){ - var parts=text.split(':',2); - if(parts.length===2){ - var value=parts[1].trim(); - if(value[0]==='"'){ - value=value.substr(1,value.length-2); - } - headers[parts[0].toLowerCase()]=value; - } - } - }); - if(headers["content-type"]!=='image/svg+xml'){ - OC.Util.replaceSVG(); - SVGSupport.checkMimeType.correct=false; - } - } - }); -}; -SVGSupport.checkMimeType.correct=true; - -/** - * Replace all svg images with png for browser compatibility - * @param $el - * @deprecated use OC.Util.replaceSVG instead - */ -function replaceSVG($el){ - return OC.Util.replaceSVG($el); -} - -/** * prototypical inheritance functions * @todo Write documentation * usage: @@ -1517,12 +1471,6 @@ function initCore() { initSessionHeartBeat(); } - if(!OC.Util.hasSVGSupport()){ //replace all svg images with png images for browser that don't support svg - OC.Util.replaceSVG(); - }else{ - SVGSupport.checkMimeType(); - } - OC.registerMenu($('#expand'), $('#expanddiv')); // toggle for menus @@ -1791,24 +1739,21 @@ OC.Util = { }, /** * Returns whether the browser supports SVG + * @deprecated SVG is always supported (since 9.0) * @return {boolean} true if the browser supports SVG, false otherwise */ - // TODO: replace with original function - hasSVGSupport: SVGSupport, + hasSVGSupport: function(){ + return true + }, /** * If SVG is not supported, replaces the given icon's extension * from ".svg" to ".png". * If SVG is supported, return the image path as is. * @param {string} file image path with svg extension + * @deprecated SVG is always supported (since 9.0) * @return {string} fixed image path with png extension if SVG is not supported */ replaceSVGIcon: function(file) { - if (file && !OC.Util.hasSVGSupport()) { - var i = file.lastIndexOf('.svg'); - if (i >= 0) { - file = file.substr(0, i) + '.png' + file.substr(i+4); - } - } return file; }, /** @@ -1816,39 +1761,9 @@ OC.Util = { * with PNG images. * * @param $el root element from which to search, defaults to $('body') + * @deprecated SVG is always supported (since 9.0) */ - replaceSVG: function($el) { - if (!$el) { - $el = $('body'); - } - $el.find('img.svg').each(function(index,element){ - element=$(element); - var src=element.attr('src'); - element.attr('src',src.substr(0, src.length-3) + 'png'); - }); - $el.find('.svg').each(function(index,element){ - element = $(element); - var background = element.css('background-image'); - if (background){ - var i = background.lastIndexOf('.svg'); - if (i >= 0){ - background = background.substr(0,i) + '.png' + background.substr(i + 4); - element.css('background-image', background); - } - } - element.find('*').each(function(index, element) { - element = $(element); - var background = element.css('background-image'); - if (background) { - var i = background.lastIndexOf('.svg'); - if(i >= 0){ - background = background.substr(0,i) + '.png' + background.substr(i + 4); - element.css('background-image', background); - } - } - }); - }); - }, + replaceSVG: function($el) {}, /** * Fix image scaling for IE8, since background-size is not supported. diff --git a/core/js/mimetype.js b/core/js/mimetype.js index 3cc33ce2830..0d30da26c26 100644 --- a/core/js/mimetype.js +++ b/core/js/mimetype.js @@ -29,7 +29,7 @@ OC.MimeType = { * Cache that maps mimeTypes to icon urls */ _mimeTypeIcons: {}, - + /** * Return the file icon we want to use for the given mimeType. * The file needs to be present in the supplied file list @@ -60,7 +60,7 @@ OC.MimeType = { return null; }, - + /** * Return the url to icon of the given mimeType * @@ -91,19 +91,14 @@ OC.MimeType = { path += icon; } } - + // If we do not yet have an icon fall back to the default if (gotIcon === null) { path = OC.webroot + '/core/img/filetypes/'; path += OC.MimeType._getFile(mimeType, OC.MimeTypeList.files); } - // Use svg if we can - if(OC.Util.hasSVGSupport()){ - path += '.svg'; - } else { - path += '.png'; - } + path += '.svg'; // Cache the result OC.MimeType._mimeTypeIcons[mimeType] = path; @@ -111,5 +106,3 @@ OC.MimeType = { } }; - - diff --git a/core/js/sharedialogshareelistview.js b/core/js/sharedialogshareelistview.js index 83fde154615..85dee978987 100644 --- a/core/js/sharedialogshareelistview.js +++ b/core/js/sharedialogshareelistview.js @@ -38,7 +38,7 @@ '<span class="shareOption">' + '<input id="canEdit-{{cid}}-{{shareWith}}" type="checkbox" name="edit" class="permissions checkbox" {{#if hasEditPermission}}checked="checked"{{/if}} />' + '<label for="canEdit-{{cid}}-{{shareWith}}">{{canEditLabel}}</label>' + - '<a href="#" class="showCruds"><img class="svg" alt="{{crudsLabel}}" src="{{triangleSImage}}"/></a>' + + '<a href="#" class="showCruds"><img alt="{{crudsLabel}}" src="{{triangleSImage}}"/></a>' + '</span>' + '{{/if}}' + '<div class="cruds hidden">' + diff --git a/core/js/sharedialogview.js b/core/js/sharedialogview.js index a4bfde1777b..c17da94bab3 100644 --- a/core/js/sharedialogview.js +++ b/core/js/sharedialogview.js @@ -30,7 +30,7 @@ '<div class="loading hidden" style="height: 50px"></div>'; var TEMPLATE_REMOTE_SHARE_INFO = - '<a target="_blank" class="icon-info svg shareWithRemoteInfo hasTooltip" href="{{docLink}}" ' + + '<a target="_blank" class="icon-info shareWithRemoteInfo hasTooltip" href="{{docLink}}" ' + 'title="{{tooltip}}"></a>'; /** diff --git a/core/js/shareitemmodel.js b/core/js/shareitemmodel.js index 56ed3f0039b..8ea0bf28b38 100644 --- a/core/js/shareitemmodel.js +++ b/core/js/shareitemmodel.js @@ -187,7 +187,7 @@ }).fail(function(xhr) { var msg = t('core', 'Error'); var result = xhr.responseJSON; - if (result.ocs && result.ocs.meta) { + if (result && result.ocs && result.ocs.meta) { msg = result.ocs.meta.message; } diff --git a/core/js/tests/specs/coreSpec.js b/core/js/tests/specs/coreSpec.js index 3d19a38c416..1ffe7b38a40 100644 --- a/core/js/tests/specs/coreSpec.js +++ b/core/js/tests/specs/coreSpec.js @@ -231,22 +231,12 @@ describe('Core base tests', function() { }); describe('Images', function() { it('Generates image path with given extension', function() { - var svgSupportStub = sinon.stub(OC.Util, 'hasSVGSupport', function() { return true; }); expect(OC.imagePath('core', 'somefile.jpg')).toEqual(OC.webroot + '/core/img/somefile.jpg'); expect(OC.imagePath(TESTAPP, 'somefile.jpg')).toEqual(TESTAPP_ROOT + '/img/somefile.jpg'); - svgSupportStub.restore(); }); - it('Generates image path with svg extension when svg support exists', function() { - var svgSupportStub = sinon.stub(OC.Util, 'hasSVGSupport', function() { return true; }); + it('Generates image path with svg extension', function() { expect(OC.imagePath('core', 'somefile')).toEqual(OC.webroot + '/core/img/somefile.svg'); expect(OC.imagePath(TESTAPP, 'somefile')).toEqual(TESTAPP_ROOT + '/img/somefile.svg'); - svgSupportStub.restore(); - }); - it('Generates image path with png ext when svg support is not available', function() { - var svgSupportStub = sinon.stub(OC.Util, 'hasSVGSupport', function() { return false; }); - expect(OC.imagePath('core', 'somefile')).toEqual(OC.webroot + '/core/img/somefile.png'); - expect(OC.imagePath(TESTAPP, 'somefile')).toEqual(TESTAPP_ROOT + '/img/somefile.png'); - svgSupportStub.restore(); }); }); }); @@ -504,32 +494,6 @@ describe('Core base tests', function() { expect($navigation.is(':visible')).toEqual(false); }); }); - describe('SVG extension replacement', function() { - var svgSupportStub; - - beforeEach(function() { - svgSupportStub = sinon.stub(OC.Util, 'hasSVGSupport'); - }); - afterEach(function() { - svgSupportStub.restore(); - }); - it('does not replace svg extension with png when SVG is supported', function() { - svgSupportStub.returns(true); - expect( - OC.Util.replaceSVGIcon('/path/to/myicon.svg?someargs=1') - ).toEqual( - '/path/to/myicon.svg?someargs=1' - ); - }); - it('replaces svg extension with png when SVG not supported', function() { - svgSupportStub.returns(false); - expect( - OC.Util.replaceSVGIcon('/path/to/myicon.svg?someargs=1') - ).toEqual( - '/path/to/myicon.png?someargs=1' - ); - }); - }); describe('Util', function() { describe('humanFileSize', function() { it('renders file sizes with the correct unit', function() { @@ -1017,4 +981,3 @@ describe('Core base tests', function() { }); }); }); - diff --git a/core/routes.php b/core/routes.php index c473408e2e9..402277d8f3e 100644 --- a/core/routes.php +++ b/core/routes.php @@ -48,7 +48,6 @@ $application->registerRoutes($this, [ ['name' => 'login#showLoginForm', 'url' => '/login', 'verb' => 'GET'], ['name' => 'login#logout', 'url' => '/logout', 'verb' => 'GET'], ['name' => 'token#generateToken', 'url' => '/token/generate', 'verb' => 'POST'], - ['name' => 'occ#execute', 'url' => '/occ/{command}', 'verb' => 'POST'], ['name' => 'TwoFactorChallenge#selectChallenge', 'url' => '/login/selectchallenge', 'verb' => 'GET'], ['name' => 'TwoFactorChallenge#showChallenge', 'url' => '/login/challenge/{challengeProviderId}', 'verb' => 'GET'], ['name' => 'TwoFactorChallenge#solveChallenge', 'url' => '/login/challenge/{challengeProviderId}', 'verb' => 'POST'], diff --git a/core/templates/installation.php b/core/templates/installation.php index a4dbb078344..f7556988634 100644 --- a/core/templates/installation.php +++ b/core/templates/installation.php @@ -51,13 +51,13 @@ script('core', [ autocomplete="off" autocapitalize="off" autocorrect="off" required> <label for="adminpass" class="infield"><?php p($l->t( 'Password' )); ?></label> <input type="checkbox" id="show" name="show"> - <label for="show" class="svg"></label> + <label for="show"></label> </p> </fieldset> <?php if(!$_['directoryIsSet'] OR !$_['dbIsSet'] OR count($_['errors']) > 0): ?> <fieldset id="advancedHeader"> - <legend><a id="showAdvanced"><?php p($l->t( 'Storage & database' )); ?> <img class="svg" src="<?php print_unescaped(image_path('', 'actions/caret.svg')); ?>" /></a></legend> + <legend><a id="showAdvanced"><?php p($l->t( 'Storage & database' )); ?> <img src="<?php print_unescaped(image_path('', 'actions/caret.svg')); ?>" /></a></legend> </fieldset> <?php endif; ?> @@ -161,7 +161,7 @@ script('core', [ <div class="buttons"><input type="submit" class="primary" value="<?php p($l->t( 'Finish setup' )); ?>" data-finishing="<?php p($l->t( 'Finishing …' )); ?>"></div> <p class="info"> - <span class="icon-info-white svg"></span> + <span class="icon-info-white"></span> <?php p($l->t('Need help?'));?> <a target="_blank" rel="noreferrer" href="<?php p(link_to_docs('admin-install')); ?>"><?php p($l->t('See the documentation'));?> ↗</a> </p> diff --git a/core/templates/layout.guest.php b/core/templates/layout.guest.php index 985e95294ad..58506353158 100644 --- a/core/templates/layout.guest.php +++ b/core/templates/layout.guest.php @@ -31,7 +31,7 @@ <?php if ($_['bodyid'] === 'body-login' ): ?> <header role="banner"> <div id="header"> - <div class="logo svg"> + <div class="logo"> <h1 class="hidden-visually"> <?php p($theme->getName()); ?> </h1> diff --git a/core/templates/layout.user.php b/core/templates/layout.user.php index d42a392f40f..4a6937c6ea0 100644 --- a/core/templates/layout.user.php +++ b/core/templates/layout.user.php @@ -39,7 +39,7 @@ <header role="banner"><div id="header"> <a href="<?php print_unescaped(link_to('', 'index.php')); ?>" id="owncloud" tabindex="1"> - <div class="logo-icon svg"> + <div class="logo-icon"> <h1 class="hidden-visually"> <?php p($theme->getName()); ?> </h1> @@ -56,11 +56,11 @@ } ?> </h1> - <div class="icon-caret svg"></div> + <div class="icon-caret"></div> </a> <div id="logo-claim" style="display:none;"><?php p($theme->getLogoClaim()); ?></div> - <div id="settings" class="svg"> + <div id="settings"> <div id="expand" tabindex="6" role="link" class="menutoggle"> <?php if ($_['enableAvatars']): ?> <div class="avatardiv<?php if ($_['userAvatarSet']) { print_unescaped(' avatardiv-shown'); } else { print_unescaped('" style="display: none'); } ?>"> @@ -73,7 +73,7 @@ </div> <?php endif; ?> <span id="expandDisplayName"><?php p(trim($_['user_displayname']) != '' ? $_['user_displayname'] : $_['user_uid']) ?></span> - <img class="svg" alt="" src="<?php print_unescaped(image_path('', 'actions/caret.svg')); ?>"> + <img alt="" src="<?php print_unescaped(image_path('', 'actions/caret.svg')); ?>"> </div> <div id="expanddiv"> <ul> @@ -81,14 +81,14 @@ <li> <a href="<?php print_unescaped($entry['href']); ?>" <?php if( $entry["active"] ): ?> class="active"<?php endif; ?>> - <img class="svg" alt="" src="<?php print_unescaped($entry['icon']); ?>"> + <img alt="" src="<?php print_unescaped($entry['icon']); ?>"> <?php p($entry['name']) ?> </a> </li> <?php endforeach; ?> <li> <a id="logout" <?php print_unescaped(OC_User::getLogoutAttribute()); ?>> - <img class="svg" alt="" src="<?php print_unescaped(image_path('', 'actions/logout.svg')); ?>"> + <img alt="" src="<?php print_unescaped(image_path('', 'actions/logout.svg')); ?>"> <?php p($l->t('Log out'));?> </a> </li> @@ -100,20 +100,20 @@ <label for="searchbox" class="hidden-visually"> <?php p($l->t('Search'));?> </label> - <input id="searchbox" class="svg" type="search" name="query" + <input id="searchbox" type="search" name="query" value="" required autocomplete="off" tabindex="5"> </form> </div></header> <nav role="navigation"><div id="navigation"> - <div id="apps" class="svg"> + <div id="apps"> <ul> <?php foreach($_['navigation'] as $entry): ?> <li data-id="<?php p($entry['id']); ?>"> <a href="<?php print_unescaped($entry['href']); ?>" tabindex="3" <?php if( $entry['active'] ): ?> class="active"<?php endif; ?>> - <img class="app-icon svg" alt="" src="<?php print_unescaped($entry['icon']); ?>"> + <img class="app-icon" alt="" src="<?php print_unescaped($entry['icon']); ?>"> <div class="icon-loading-dark" style="display:none;"></div> <span> <?php p($entry['name']); ?> @@ -128,7 +128,7 @@ <li id="apps-management"> <a href="<?php print_unescaped(\OC::$server->getURLGenerator()->linkToRoute('settings.AppSettings.viewApps')); ?>" tabindex="4" <?php if( $_['appsmanagement_active'] ): ?> class="active"<?php endif; ?>> - <img class="app-icon svg" alt="" src="<?php print_unescaped(image_path('settings', 'apps.svg')); ?>"> + <img class="app-icon" alt="" src="<?php print_unescaped(image_path('settings', 'apps.svg')); ?>"> <div class="icon-loading-dark" style="display:none;"></div> <span> <?php p($l->t('Apps')); ?> diff --git a/core/templates/login.php b/core/templates/login.php index 5b0fd97cfd8..95c5a423c3d 100644 --- a/core/templates/login.php +++ b/core/templates/login.php @@ -53,7 +53,7 @@ script('core', [ <?php p($_['user_autofocus'] ? '' : 'autofocus'); ?> autocomplete="on" autocapitalize="off" autocorrect="off" required> <label for="password" class="infield"><?php p($l->t('Password')); ?></label> - <input type="submit" id="submit" class="login primary icon-confirm svg" title="<?php p($l->t('Log in')); ?>" value="" disabled="disabled"/> + <input type="submit" id="submit" class="login primary icon-confirm" title="<?php p($l->t('Log in')); ?>" value="" disabled="disabled"/> </p> <?php if (!empty($_['invalidpassword']) && !empty($_['canResetPassword'])) { ?> diff --git a/core/templates/update.admin.php b/core/templates/update.admin.php index 24b2beec6da..87f93967d91 100644 --- a/core/templates/update.admin.php +++ b/core/templates/update.admin.php @@ -47,7 +47,7 @@ <p id="update-progress-message-error" class="warning hidden"></p> <ul id="update-progress-message-warnings" class="warning hidden"></ul> <p id="update-progress-message"></p> - <a class="update-show-detailed"><?php p($l->t( 'Detailed logs' )); ?> <img class="svg" src="<?php print_unescaped(image_path('', 'actions/caret.svg')); ?>" /></a> + <a class="update-show-detailed"><?php p($l->t( 'Detailed logs' )); ?> <img src="<?php print_unescaped(image_path('', 'actions/caret.svg')); ?>" /></a> <div id="update-progress-detailed" class="hidden warning"></div> </div> </div> |