summaryrefslogtreecommitdiffstats
path: root/apps/files/lib
diff options
context:
space:
mode:
authorfnuesse <felix.nuesse@t-online.de>2018-06-20 22:40:10 +0200
committerJohn Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>2018-07-12 16:49:38 +0200
commitdf9bae41bbae73220df134e8fc92d084ed03fa64 (patch)
tree05bf46b71e0bc08fb821d30599250384de92a43d /apps/files/lib
parentedd2ab219416f2a0dd9c5afd15fac9bb973370d7 (diff)
downloadnextcloud-server-df9bae41bbae73220df134e8fc92d084ed03fa64.tar.gz
nextcloud-server-df9bae41bbae73220df134e8fc92d084ed03fa64.zip
Removed old code
Signed-off-by: fnuesse <felix.nuesse@t-online.de> Removed duplicate collapse-button and changed api-endpoints Signed-off-by: fnuesse <felix.nuesse@t-online.de> Removed app-navigation-caption from apps.scss Signed-off-by: fnuesse <felix.nuesse@t-online.de> Changed api-endpoints Signed-off-by: fnuesse <felix.nuesse@t-online.de> Fixed Codestyle (.js) Signed-off-by: fnuesse <felix.nuesse@t-online.de> Hid away extended Settings Signed-off-by: fnuesse <felix.nuesse@t-online.de> Fixed reverse state Signed-off-by: fnuesse <felix.nuesse@t-online.de> Fixed Missing reverse after changing sort-strategy Signed-off-by: fnuesse <felix.nuesse@t-online.de> Fixed Copyright-Header Signed-off-by: fnuesse <felix.nuesse@t-online.de> Removed UI-Flickering Signed-off-by: fnuesse <felix.nuesse@t-online.de> hid dotmenu on toggle while favorites are empty Signed-off-by: fnuesse <felix.nuesse@t-online.de> Added Draggable to listelements (WIP) Signed-off-by: fnuesse <felix.nuesse@t-online.de> Rebuild appnavigation.php with recursive function to allow easy implementation of sublists Signed-off-by: fnuesse <felix.nuesse@t-online.de> Fixed draggable Sublist-Elements Signed-off-by: fnuesse <felix.nuesse@t-online.de> Fixed draggable Sublist-Elements Signed-off-by: fnuesse <felix.nuesse@t-online.de> Added date-modified sorting option to quickaccess Signed-off-by: fnuesse <felix.nuesse@t-online.de> Added custom order sorting option to quickaccess Signed-off-by: fnuesse <felix.nuesse@t-online.de> Added custom order sorting option to quickaccess Signed-off-by: fnuesse <felix.nuesse@t-online.de> Added fallback for custom ordering Signed-off-by: fnuesse <felix.nuesse@t-online.de>
Diffstat (limited to 'apps/files/lib')
-rw-r--r--apps/files/lib/Controller/ApiController.php105
-rw-r--r--apps/files/lib/Controller/ViewController.php97
2 files changed, 132 insertions, 70 deletions
diff --git a/apps/files/lib/Controller/ApiController.php b/apps/files/lib/Controller/ApiController.php
index 53a8e1b55ee..9269f336f35 100644
--- a/apps/files/lib/Controller/ApiController.php
+++ b/apps/files/lib/Controller/ApiController.php
@@ -11,7 +11,7 @@
* @author Roeland Jago Douma <roeland@famdouma.nl>
* @author Tobias Kaminsky <tobias@kaminsky.me>
* @author Vincent Petry <pvince81@owncloud.com>
- *
+ * @author Felix Nüsse <felix.nuesse@t-online.de>
* @license AGPL-3.0
*
* This code is free software: you can redistribute it and/or modify
@@ -55,7 +55,7 @@ use Sabre\VObject\Property\Boolean;
class ApiController extends Controller {
/** @var TagService */
private $tagService;
- /** @var IManager **/
+ /** @var IManager * */
private $shareManager;
/** @var IPreview */
private $previewManager;
@@ -108,7 +108,7 @@ class ApiController extends Controller {
* @return DataResponse|FileDisplayResponse
*/
public function getThumbnail($x, $y, $file) {
- if($x < 1 || $y < 1) {
+ if ($x < 1 || $y < 1) {
return new DataResponse(['message' => 'Requested size must be numeric and a positive value.'], Http::STATUS_BAD_REQUEST);
}
@@ -200,6 +200,29 @@ class ApiController extends Controller {
}
/**
+ * Returns a list of favorites modifed folder.
+ *
+ * @NoAdminRequired
+ *
+ * @return DataResponse
+ */
+ public function getFavoritesFolder() {
+ $nodes = $this->userFolder->searchByTag('_$!<Favorite>!$_', $this->userSession->getUser()->getUID());
+
+ $favorites = [];
+ $i = 0;
+ foreach ($nodes as &$node) {
+
+ $favorites[$i]['id'] = $node->getId();
+ $favorites[$i]['name'] = $node->getName();
+ $favorites[$i]['mtime'] = $node->getMTime();
+ $i++;
+ }
+
+ return new DataResponse(['favoriteFolders' => $favorites]);
+ }
+
+ /**
* Return a list of share types for outgoing shares
*
* @param Node $node file node
@@ -262,7 +285,7 @@ class ApiController extends Controller {
* @param bool $show
*/
public function showHiddenFiles($show) {
- $this->config->setUserValue($this->userSession->getUser()->getUID(), 'files', 'show_hidden', (int) $show);
+ $this->config->setUserValue($this->userSession->getUser()->getUID(), 'files', 'show_hidden', (int)$show);
return new Response();
}
@@ -276,9 +299,21 @@ class ApiController extends Controller {
* @return Response
*/
public function showQuickAccess($show) {
- $this->config->setUserValue($this->userSession->getUser()->getUID(), 'files', 'show_Quick_Access', (int) $show);
+ $this->config->setUserValue($this->userSession->getUser()->getUID(), 'files', 'show_Quick_Access', (int)$show);
return new Response();
- }
+ }
+
+ /**
+ * Toggle default for showing/hiding QuickAccess folder
+ *
+ * @NoAdminRequired
+ *
+ * @return String
+ */
+ public function getShowQuickAccess() {
+
+ return $this->config->getUserValue($this->userSession->getUser()->getUID(), 'files', 'show_Quick_Access', 1);
+ }
/**
* quickaccess-sorting-strategy
@@ -289,7 +324,7 @@ class ApiController extends Controller {
* @return Response
*/
public function setSortingStrategy($strategy) {
- $this->config->setUserValue($this->userSession->getUser()->getUID(), 'files', 'quickaccess_sorting_strategy', (String) $strategy);
+ $this->config->setUserValue($this->userSession->getUser()->getUID(), 'files', 'quickaccess_sorting_strategy', (String)$strategy);
return new Response();
}
@@ -313,7 +348,7 @@ class ApiController extends Controller {
* @return Response
*/
public function setReverseQuickaccess($reverse) {
- $this->config->setUserValue($this->userSession->getUser()->getUID(), 'files', 'quickaccess_reverse_list', (int) $reverse);
+ $this->config->setUserValue($this->userSession->getUser()->getUID(), 'files', 'quickaccess_reverse_list', (int)$reverse);
return new Response();
}
@@ -325,10 +360,62 @@ class ApiController extends Controller {
* @return bool
*/
public function getReverseQuickaccess() {
- if($this->config->getUserValue($this->userSession->getUser()->getUID(), 'files', 'quickaccess_reverse_list', false)){
+ if ($this->config->getUserValue($this->userSession->getUser()->getUID(), 'files', 'quickaccess_reverse_list', false)) {
return true;
}
return false;
}
+ /**
+ * Set state for show sorting menu
+ *
+ * @NoAdminRequired
+ *
+ * @param bool $show
+ * @return Response
+ */
+ public function setShowQuickaccessSettings($show) {
+ $this->config->setUserValue($this->userSession->getUser()->getUID(), 'files', 'quickaccess_show_settings', (int)$show);
+ return new Response();
+ }
+
+ /**
+ * Get state for show sorting menu
+ *
+ * @NoAdminRequired
+ *
+ * @return bool
+ */
+ public function getShowQuickaccessSettings() {
+ if ($this->config->getUserValue($this->userSession->getUser()->getUID(), 'files', 'quickaccess_show_settings', false)) {
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Set sorting-order for custom sorting
+ *
+ * @NoAdminRequired
+ *
+ * @param String $order
+ * @return Response
+ */
+ public function setSortingOrder($order) {
+ $this->config->setUserValue($this->userSession->getUser()->getUID(), 'files', 'quickaccess_custom_sorting_order', (String)$order);
+ return new Response();
+ }
+
+ /**
+ * Get sorting-order for custom sorting
+ *
+ * @NoAdminRequired
+ *
+ * @param String
+ * @return String
+ */
+ public function getSortingOrder() {
+ return $this->config->getUserValue($this->userSession->getUser()->getUID(), 'files', 'quickaccess_custom_sorting_order', "");
+ }
+
}
diff --git a/apps/files/lib/Controller/ViewController.php b/apps/files/lib/Controller/ViewController.php
index 8afec0be909..165cf86a1ce 100644
--- a/apps/files/lib/Controller/ViewController.php
+++ b/apps/files/lib/Controller/ViewController.php
@@ -8,7 +8,7 @@
* @author Roeland Jago Douma <roeland@famdouma.nl>
* @author Thomas Müller <thomas.mueller@tmit.eu>
* @author Vincent Petry <pvince81@owncloud.com>
- * @author Felix Nüsse Petry <felix.nuesse@t-online.de>
+ * @author Felix Nüsse <felix.nuesse@t-online.de>
*
* @license AGPL-3.0
*
@@ -162,16 +162,6 @@ class ViewController extends Controller {
$user = $this->userSession->getUser()->getUID();
- //Load QuickAccess-Defaults
- $sorting = $this->config->getUserValue($user, $this->appName, 'quickaccess_sorting_strategy', 'date');
- $reverseListSetting = $this->config->getUserValue($user, $this->appName, 'quickaccess_reverse_list', 'false');
- if ($this->config->getUserValue($user, $this->appName, 'show_Quick_Access', true)) {
- $quickAccessExpandedState = 'true';
- } else {
- $quickAccessExpandedState = 'false';
- }
-
-
//Get Favorite-Folder
$tagger = \OC::$server->getTagManager();
$helper = new \OCA\Files\Activity\Helper($tagger);
@@ -182,71 +172,56 @@ class ViewController extends Controller {
$favElements['folders'] = null;
}
- $favoritesFolderCount = sizeof($favElements['folders']);
-
$collapseClasses = '';
- if ($favoritesFolderCount > 0) {
+ if (sizeof($favElements['folders']) > 0) {
$collapseClasses = 'collapsible';
}
+ $favoritesSublistArray = Array();
+
+ $navBarPositionPosition = 6;
+ $currentCount = 0;
+ foreach ($favElements['folders'] as $elem) {
+
+ $id = substr($elem, strrpos($elem, '/') + 1, strlen($elem));
+ $link = $this->urlGenerator->linkToRouteAbsolute('files.view.index', ['dir' => $elem]);
+ $sortingValue = ++$currentCount;
+
+ $element = [
+ 'id' => $id,
+ 'href' => $link,
+ 'order' => $navBarPositionPosition,
+ 'folderPosition' => $sortingValue,
+ 'name' => $id,
+ 'icon' => 'files',
+ 'quickaccesselement' => 'true'
+ ];
+
+ array_push($favoritesSublistArray, $element);
+ $navBarPositionPosition++;
+ }
+
+
+ $defaultExpandedState='true';
+ if(!$this->config->getUserValue($this->userSession->getUser()->getUID(), 'files', 'show_Quick_Access', 1)){
+ $defaultExpandedState='false';
+ }
+
\OCA\Files\App::getNavigationManager()->add(
[
'id' => 'favorites',
'appname' => 'files',
'script' => 'simplelist.php',
'classes' => $collapseClasses,
- 'enableQuickaccess' => $quickAccessExpandedState,
- 'quickaccessSortingStrategy' => $sorting,
- 'quickaccessSortingReverse' => $reverseListSetting,
'order' => 5,
'name' => $this->l10n->t('Favorites'),
- //If there are zero elements, add ul end tag directly.
- 'favoritescount' => $favoritesFolderCount
+ 'sublist' => $favoritesSublistArray,
+ 'draggableSublist' => 'false',
+ 'defaultExpandedState' => $defaultExpandedState,
+ 'enableMenuButton' => 0,
]
);
-
- //Add Favorite-folder as menuentries, if there are any
- if ($favoritesFolderCount > 0) {
-
- $navBarPositionPosition = 6;
- $currentCount = 0;
- foreach ($favElements['folders'] as $elem) {
-
- $id = substr($elem, strrpos($elem, '/') + 1, strlen($elem));
- $link = $this->urlGenerator->linkToRouteAbsolute('files.view.index', ['dir' => $elem]);
-
- $sortingValue = ++$currentCount;
- if ($currentCount != $favoritesFolderCount) {
- \OCA\Files\App::getNavigationManager()->add(
- [
- 'id' => $id,
- 'href' => $link,
- 'order' => $navBarPositionPosition,
- 'folderPosition' => $sortingValue,
- 'name' => $id,
- 'icon' => 'files',
- 'quickaccesselement' => 'true'
- ]
- );
- } else {
- \OCA\Files\App::getNavigationManager()->add(
- [
- 'id' => $id,
- 'href' => $link,
- 'order' => $navBarPositionPosition,
- 'folderPosition' => $sortingValue,
- 'name' => $id,
- 'icon' => 'files',
- 'quickaccesselement' => 'last'
- ]
- );
- }
- $navBarPositionPosition++;
- }
- }
-
-
$navItems = \OCA\Files\App::getNavigationManager()->getAll();
usort($navItems, function ($item1, $item2) {
return $item1['order'] - $item2['order'];