summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorJohn Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>2018-06-26 10:10:49 +0200
committerJulius Härtl <jus@bitgrid.net>2018-07-19 08:16:30 +0200
commit98a0113d4083d4dff73f8212106673ccc1c4b744 (patch)
treef19c53febc5cf59246ee6ca7087cdc1778469d67 /core
parent84e90e26c0a257c11ebdd05e01046e1a90e6c9bd (diff)
downloadnextcloud-server-98a0113d4083d4dff73f8212106673ccc1c4b744.tar.gz
nextcloud-server-98a0113d4083d4dff73f8212106673ccc1c4b744.zip
Svg from app
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
Diffstat (limited to 'core')
-rw-r--r--core/Controller/SvgController.php33
-rw-r--r--core/routes.php3
2 files changed, 34 insertions, 2 deletions
diff --git a/core/Controller/SvgController.php b/core/Controller/SvgController.php
index b2202f88a24..6fba2f050b3 100644
--- a/core/Controller/SvgController.php
+++ b/core/Controller/SvgController.php
@@ -59,8 +59,39 @@ class SvgController extends Controller {
* @param string $color
* @return DataDisplayResponse|NotFoundException
*/
- public function getSvg(string $fileName, $color = 'ffffff') {
+ public function getSvgFromCore(string $fileName, string $color = 'ffffff') {
$path = $this->serverRoot . "/core/img/actions/$fileName.svg";
+ return $this->getSvg($path, $color);
+ }
+
+ /**
+ * @NoAdminRequired
+ * @NoCSRFRequired
+ *
+ * Generate svg from filename with the requested color
+ *
+ * @param string $fileName
+ * @param string $color
+ * @return DataDisplayResponse|NotFoundException
+ */
+ public function getSvgFromApp(string $app, string $fileName, string $color = 'ffffff') {
+ $appPath = \OC_App::getAppWebPath($app);
+ if (!$appPath) {
+ return new NotFoundResponse();
+ }
+ $path = $this->serverRoot . $appPath ."/img/$fileName.svg";
+ return $this->getSvg($path, $color);
+ }
+
+
+ /**
+ * Generate svg from filename with the requested color
+ *
+ * @param string $path
+ * @param string $color
+ * @return DataDisplayResponse|NotFoundException
+ */
+ private function getSvg(string $path, string $color) {
if (!file_exists($path)) {
return new NotFoundResponse();
}
diff --git a/core/routes.php b/core/routes.php
index 75e6f52a498..9538a591600 100644
--- a/core/routes.php
+++ b/core/routes.php
@@ -61,7 +61,8 @@ $application->registerRoutes($this, [
['name' => 'OCJS#getConfig', 'url' => '/core/js/oc.js', 'verb' => 'GET'],
['name' => 'Preview#getPreviewByFileId', 'url' => '/core/preview', 'verb' => 'GET'],
['name' => 'Preview#getPreview', 'url' => '/core/preview.png', 'verb' => 'GET'],
- ['name' => 'Svg#getSvg', 'url' => '/svg/{fileName}/{color}', 'verb' => 'GET'],
+ ['name' => 'Svg#getSvgFromCore', 'url' => '/svg/{fileName}/{color}', 'verb' => 'GET'],
+ ['name' => 'Svg#getSvgFromApp', 'url' => '/svg/{app}/{fileName}/{color}', 'verb' => 'GET'],
['name' => 'Css#getCss', 'url' => '/css/{appName}/{fileName}', 'verb' => 'GET'],
['name' => 'Js#getJs', 'url' => '/js/{appName}/{fileName}', 'verb' => 'GET'],
['name' => 'contactsMenu#index', 'url' => '/contactsmenu/contacts', 'verb' => 'POST'],