@@ -27,93 +27,93 @@ |
||
| 27 | 27 | use OCP\Notification\IManager; |
| 28 | 28 | |
| 29 | 29 | class Listener { |
| 30 | - /** @var IManager */ |
|
| 31 | - protected $notificationManager; |
|
| 30 | + /** @var IManager */ |
|
| 31 | + protected $notificationManager; |
|
| 32 | 32 | |
| 33 | - /** @var IUserManager */ |
|
| 34 | - protected $userManager; |
|
| 33 | + /** @var IUserManager */ |
|
| 34 | + protected $userManager; |
|
| 35 | 35 | |
| 36 | - /** |
|
| 37 | - * Listener constructor. |
|
| 38 | - * |
|
| 39 | - * @param IManager $notificationManager |
|
| 40 | - * @param IUserManager $userManager |
|
| 41 | - */ |
|
| 42 | - public function __construct( |
|
| 43 | - IManager $notificationManager, |
|
| 44 | - IUserManager $userManager |
|
| 45 | - ) { |
|
| 36 | + /** |
|
| 37 | + * Listener constructor. |
|
| 38 | + * |
|
| 39 | + * @param IManager $notificationManager |
|
| 40 | + * @param IUserManager $userManager |
|
| 41 | + */ |
|
| 42 | + public function __construct( |
|
| 43 | + IManager $notificationManager, |
|
| 44 | + IUserManager $userManager |
|
| 45 | + ) { |
|
| 46 | 46 | |
| 47 | - $this->notificationManager = $notificationManager; |
|
| 48 | - $this->userManager = $userManager; |
|
| 49 | - } |
|
| 47 | + $this->notificationManager = $notificationManager; |
|
| 48 | + $this->userManager = $userManager; |
|
| 49 | + } |
|
| 50 | 50 | |
| 51 | - /** |
|
| 52 | - * @param CommentsEvent $event |
|
| 53 | - */ |
|
| 54 | - public function evaluate(CommentsEvent $event) { |
|
| 55 | - $comment = $event->getComment(); |
|
| 51 | + /** |
|
| 52 | + * @param CommentsEvent $event |
|
| 53 | + */ |
|
| 54 | + public function evaluate(CommentsEvent $event) { |
|
| 55 | + $comment = $event->getComment(); |
|
| 56 | 56 | |
| 57 | - $mentions = $this->extractMentions($comment->getMentions()); |
|
| 58 | - if(empty($mentions)) { |
|
| 59 | - // no one to notify |
|
| 60 | - return; |
|
| 61 | - } |
|
| 57 | + $mentions = $this->extractMentions($comment->getMentions()); |
|
| 58 | + if(empty($mentions)) { |
|
| 59 | + // no one to notify |
|
| 60 | + return; |
|
| 61 | + } |
|
| 62 | 62 | |
| 63 | - $notification = $this->instantiateNotification($comment); |
|
| 63 | + $notification = $this->instantiateNotification($comment); |
|
| 64 | 64 | |
| 65 | - foreach($mentions as $uid) { |
|
| 66 | - if( ($comment->getActorType() === 'users' && $uid === $comment->getActorId()) |
|
| 67 | - || !$this->userManager->userExists($uid) |
|
| 68 | - ) { |
|
| 69 | - // do not notify unknown users or yourself |
|
| 70 | - continue; |
|
| 71 | - } |
|
| 65 | + foreach($mentions as $uid) { |
|
| 66 | + if( ($comment->getActorType() === 'users' && $uid === $comment->getActorId()) |
|
| 67 | + || !$this->userManager->userExists($uid) |
|
| 68 | + ) { |
|
| 69 | + // do not notify unknown users or yourself |
|
| 70 | + continue; |
|
| 71 | + } |
|
| 72 | 72 | |
| 73 | - $notification->setUser($uid); |
|
| 74 | - if( $event->getEvent() === CommentsEvent::EVENT_DELETE |
|
| 75 | - || $event->getEvent() === CommentsEvent::EVENT_PRE_UPDATE) |
|
| 76 | - { |
|
| 77 | - $this->notificationManager->markProcessed($notification); |
|
| 78 | - } else { |
|
| 79 | - $this->notificationManager->notify($notification); |
|
| 80 | - } |
|
| 81 | - } |
|
| 82 | - } |
|
| 73 | + $notification->setUser($uid); |
|
| 74 | + if( $event->getEvent() === CommentsEvent::EVENT_DELETE |
|
| 75 | + || $event->getEvent() === CommentsEvent::EVENT_PRE_UPDATE) |
|
| 76 | + { |
|
| 77 | + $this->notificationManager->markProcessed($notification); |
|
| 78 | + } else { |
|
| 79 | + $this->notificationManager->notify($notification); |
|
| 80 | + } |
|
| 81 | + } |
|
| 82 | + } |
|
| 83 | 83 | |
| 84 | - /** |
|
| 85 | - * creates a notification instance and fills it with comment data |
|
| 86 | - * |
|
| 87 | - * @param IComment $comment |
|
| 88 | - * @return \OCP\Notification\INotification |
|
| 89 | - */ |
|
| 90 | - public function instantiateNotification(IComment $comment) { |
|
| 91 | - $notification = $this->notificationManager->createNotification(); |
|
| 92 | - $notification |
|
| 93 | - ->setApp('comments') |
|
| 94 | - ->setObject('comment', $comment->getId()) |
|
| 95 | - ->setSubject('mention', [ $comment->getObjectType(), $comment->getObjectId() ]) |
|
| 96 | - ->setDateTime($comment->getCreationDateTime()); |
|
| 84 | + /** |
|
| 85 | + * creates a notification instance and fills it with comment data |
|
| 86 | + * |
|
| 87 | + * @param IComment $comment |
|
| 88 | + * @return \OCP\Notification\INotification |
|
| 89 | + */ |
|
| 90 | + public function instantiateNotification(IComment $comment) { |
|
| 91 | + $notification = $this->notificationManager->createNotification(); |
|
| 92 | + $notification |
|
| 93 | + ->setApp('comments') |
|
| 94 | + ->setObject('comment', $comment->getId()) |
|
| 95 | + ->setSubject('mention', [ $comment->getObjectType(), $comment->getObjectId() ]) |
|
| 96 | + ->setDateTime($comment->getCreationDateTime()); |
|
| 97 | 97 | |
| 98 | - return $notification; |
|
| 99 | - } |
|
| 98 | + return $notification; |
|
| 99 | + } |
|
| 100 | 100 | |
| 101 | - /** |
|
| 102 | - * flattens the mention array returned from comments to a list of user ids. |
|
| 103 | - * |
|
| 104 | - * @param array $mentions |
|
| 105 | - * @return string[] containing the mentions, e.g. ['alice', 'bob'] |
|
| 106 | - */ |
|
| 107 | - public function extractMentions(array $mentions) { |
|
| 108 | - if(empty($mentions)) { |
|
| 109 | - return []; |
|
| 110 | - } |
|
| 111 | - $uids = []; |
|
| 112 | - foreach($mentions as $mention) { |
|
| 113 | - if($mention['type'] === 'user') { |
|
| 114 | - $uids[] = $mention['id']; |
|
| 115 | - } |
|
| 116 | - } |
|
| 117 | - return $uids; |
|
| 118 | - } |
|
| 101 | + /** |
|
| 102 | + * flattens the mention array returned from comments to a list of user ids. |
|
| 103 | + * |
|
| 104 | + * @param array $mentions |
|
| 105 | + * @return string[] containing the mentions, e.g. ['alice', 'bob'] |
|
| 106 | + */ |
|
| 107 | + public function extractMentions(array $mentions) { |
|
| 108 | + if(empty($mentions)) { |
|
| 109 | + return []; |
|
| 110 | + } |
|
| 111 | + $uids = []; |
|
| 112 | + foreach($mentions as $mention) { |
|
| 113 | + if($mention['type'] === 'user') { |
|
| 114 | + $uids[] = $mention['id']; |
|
| 115 | + } |
|
| 116 | + } |
|
| 117 | + return $uids; |
|
| 118 | + } |
|
| 119 | 119 | } |
@@ -55,15 +55,15 @@ discard block |
||
| 55 | 55 | $comment = $event->getComment(); |
| 56 | 56 | |
| 57 | 57 | $mentions = $this->extractMentions($comment->getMentions()); |
| 58 | - if(empty($mentions)) { |
|
| 58 | + if (empty($mentions)) { |
|
| 59 | 59 | // no one to notify |
| 60 | 60 | return; |
| 61 | 61 | } |
| 62 | 62 | |
| 63 | 63 | $notification = $this->instantiateNotification($comment); |
| 64 | 64 | |
| 65 | - foreach($mentions as $uid) { |
|
| 66 | - if( ($comment->getActorType() === 'users' && $uid === $comment->getActorId()) |
|
| 65 | + foreach ($mentions as $uid) { |
|
| 66 | + if (($comment->getActorType() === 'users' && $uid === $comment->getActorId()) |
|
| 67 | 67 | || !$this->userManager->userExists($uid) |
| 68 | 68 | ) { |
| 69 | 69 | // do not notify unknown users or yourself |
@@ -71,7 +71,7 @@ discard block |
||
| 71 | 71 | } |
| 72 | 72 | |
| 73 | 73 | $notification->setUser($uid); |
| 74 | - if( $event->getEvent() === CommentsEvent::EVENT_DELETE |
|
| 74 | + if ($event->getEvent() === CommentsEvent::EVENT_DELETE |
|
| 75 | 75 | || $event->getEvent() === CommentsEvent::EVENT_PRE_UPDATE) |
| 76 | 76 | { |
| 77 | 77 | $this->notificationManager->markProcessed($notification); |
@@ -92,7 +92,7 @@ discard block |
||
| 92 | 92 | $notification |
| 93 | 93 | ->setApp('comments') |
| 94 | 94 | ->setObject('comment', $comment->getId()) |
| 95 | - ->setSubject('mention', [ $comment->getObjectType(), $comment->getObjectId() ]) |
|
| 95 | + ->setSubject('mention', [$comment->getObjectType(), $comment->getObjectId()]) |
|
| 96 | 96 | ->setDateTime($comment->getCreationDateTime()); |
| 97 | 97 | |
| 98 | 98 | return $notification; |
@@ -105,12 +105,12 @@ discard block |
||
| 105 | 105 | * @return string[] containing the mentions, e.g. ['alice', 'bob'] |
| 106 | 106 | */ |
| 107 | 107 | public function extractMentions(array $mentions) { |
| 108 | - if(empty($mentions)) { |
|
| 108 | + if (empty($mentions)) { |
|
| 109 | 109 | return []; |
| 110 | 110 | } |
| 111 | 111 | $uids = []; |
| 112 | - foreach($mentions as $mention) { |
|
| 113 | - if($mention['type'] === 'user') { |
|
| 112 | + foreach ($mentions as $mention) { |
|
| 113 | + if ($mention['type'] === 'user') { |
|
| 114 | 114 | $uids[] = $mention['id']; |
| 115 | 115 | } |
| 116 | 116 | } |
@@ -26,7 +26,7 @@ |
||
| 26 | 26 | |
| 27 | 27 | class Application extends App { |
| 28 | 28 | |
| 29 | - public function __construct (array $urlParams = array()) { |
|
| 29 | + public function __construct(array $urlParams = array()) { |
|
| 30 | 30 | parent::__construct('comments', $urlParams); |
| 31 | 31 | $container = $this->getContainer(); |
| 32 | 32 | |
@@ -28,13 +28,13 @@ |
||
| 28 | 28 | |
| 29 | 29 | class Application extends App { |
| 30 | 30 | |
| 31 | - public function __construct (array $urlParams = array()) { |
|
| 32 | - parent::__construct('comments', $urlParams); |
|
| 33 | - $container = $this->getContainer(); |
|
| 31 | + public function __construct (array $urlParams = array()) { |
|
| 32 | + parent::__construct('comments', $urlParams); |
|
| 33 | + $container = $this->getContainer(); |
|
| 34 | 34 | |
| 35 | - $container->registerAlias('NotificationsController', Notifications::class); |
|
| 35 | + $container->registerAlias('NotificationsController', Notifications::class); |
|
| 36 | 36 | |
| 37 | - $jsSettingsHelper = new JSSettingsHelper($container->getServer()); |
|
| 38 | - Util::connectHook('\OCP\Config', 'js', $jsSettingsHelper, 'extend'); |
|
| 39 | - } |
|
| 37 | + $jsSettingsHelper = new JSSettingsHelper($container->getServer()); |
|
| 38 | + Util::connectHook('\OCP\Config', 'js', $jsSettingsHelper, 'extend'); |
|
| 39 | + } |
|
| 40 | 40 | } |
@@ -36,56 +36,56 @@ |
||
| 36 | 36 | * @package OCA\Comments |
| 37 | 37 | */ |
| 38 | 38 | class EventHandler implements ICommentsEventHandler { |
| 39 | - /** @var ActivityListener */ |
|
| 40 | - private $activityListener; |
|
| 39 | + /** @var ActivityListener */ |
|
| 40 | + private $activityListener; |
|
| 41 | 41 | |
| 42 | - /** @var NotificationListener */ |
|
| 43 | - private $notificationListener; |
|
| 42 | + /** @var NotificationListener */ |
|
| 43 | + private $notificationListener; |
|
| 44 | 44 | |
| 45 | - public function __construct(ActivityListener $activityListener, NotificationListener $notificationListener) { |
|
| 46 | - $this->activityListener = $activityListener; |
|
| 47 | - $this->notificationListener = $notificationListener; |
|
| 48 | - } |
|
| 45 | + public function __construct(ActivityListener $activityListener, NotificationListener $notificationListener) { |
|
| 46 | + $this->activityListener = $activityListener; |
|
| 47 | + $this->notificationListener = $notificationListener; |
|
| 48 | + } |
|
| 49 | 49 | |
| 50 | - /** |
|
| 51 | - * @param CommentsEvent $event |
|
| 52 | - */ |
|
| 53 | - public function handle(CommentsEvent $event) { |
|
| 54 | - if($event->getComment()->getObjectType() !== 'files') { |
|
| 55 | - // this is a 'files'-specific Handler |
|
| 56 | - return; |
|
| 57 | - } |
|
| 50 | + /** |
|
| 51 | + * @param CommentsEvent $event |
|
| 52 | + */ |
|
| 53 | + public function handle(CommentsEvent $event) { |
|
| 54 | + if($event->getComment()->getObjectType() !== 'files') { |
|
| 55 | + // this is a 'files'-specific Handler |
|
| 56 | + return; |
|
| 57 | + } |
|
| 58 | 58 | |
| 59 | - $eventType = $event->getEvent(); |
|
| 60 | - if( $eventType === CommentsEvent::EVENT_ADD |
|
| 61 | - ) { |
|
| 62 | - $this->notificationHandler($event); |
|
| 63 | - $this->activityHandler($event); |
|
| 64 | - return; |
|
| 65 | - } |
|
| 59 | + $eventType = $event->getEvent(); |
|
| 60 | + if( $eventType === CommentsEvent::EVENT_ADD |
|
| 61 | + ) { |
|
| 62 | + $this->notificationHandler($event); |
|
| 63 | + $this->activityHandler($event); |
|
| 64 | + return; |
|
| 65 | + } |
|
| 66 | 66 | |
| 67 | - $applicableEvents = [ |
|
| 68 | - CommentsEvent::EVENT_PRE_UPDATE, |
|
| 69 | - CommentsEvent::EVENT_UPDATE, |
|
| 70 | - CommentsEvent::EVENT_DELETE, |
|
| 71 | - ]; |
|
| 72 | - if(in_array($eventType, $applicableEvents)) { |
|
| 73 | - $this->notificationHandler($event); |
|
| 74 | - return; |
|
| 75 | - } |
|
| 76 | - } |
|
| 67 | + $applicableEvents = [ |
|
| 68 | + CommentsEvent::EVENT_PRE_UPDATE, |
|
| 69 | + CommentsEvent::EVENT_UPDATE, |
|
| 70 | + CommentsEvent::EVENT_DELETE, |
|
| 71 | + ]; |
|
| 72 | + if(in_array($eventType, $applicableEvents)) { |
|
| 73 | + $this->notificationHandler($event); |
|
| 74 | + return; |
|
| 75 | + } |
|
| 76 | + } |
|
| 77 | 77 | |
| 78 | - /** |
|
| 79 | - * @param CommentsEvent $event |
|
| 80 | - */ |
|
| 81 | - private function activityHandler(CommentsEvent $event) { |
|
| 82 | - $this->activityListener->commentEvent($event); |
|
| 83 | - } |
|
| 78 | + /** |
|
| 79 | + * @param CommentsEvent $event |
|
| 80 | + */ |
|
| 81 | + private function activityHandler(CommentsEvent $event) { |
|
| 82 | + $this->activityListener->commentEvent($event); |
|
| 83 | + } |
|
| 84 | 84 | |
| 85 | - /** |
|
| 86 | - * @param CommentsEvent $event |
|
| 87 | - */ |
|
| 88 | - private function notificationHandler(CommentsEvent $event) { |
|
| 89 | - $this->notificationListener->evaluate($event); |
|
| 90 | - } |
|
| 85 | + /** |
|
| 86 | + * @param CommentsEvent $event |
|
| 87 | + */ |
|
| 88 | + private function notificationHandler(CommentsEvent $event) { |
|
| 89 | + $this->notificationListener->evaluate($event); |
|
| 90 | + } |
|
| 91 | 91 | } |
@@ -51,13 +51,13 @@ discard block |
||
| 51 | 51 | * @param CommentsEvent $event |
| 52 | 52 | */ |
| 53 | 53 | public function handle(CommentsEvent $event) { |
| 54 | - if($event->getComment()->getObjectType() !== 'files') { |
|
| 54 | + if ($event->getComment()->getObjectType() !== 'files') { |
|
| 55 | 55 | // this is a 'files'-specific Handler |
| 56 | 56 | return; |
| 57 | 57 | } |
| 58 | 58 | |
| 59 | 59 | $eventType = $event->getEvent(); |
| 60 | - if( $eventType === CommentsEvent::EVENT_ADD |
|
| 60 | + if ($eventType === CommentsEvent::EVENT_ADD |
|
| 61 | 61 | ) { |
| 62 | 62 | $this->notificationHandler($event); |
| 63 | 63 | $this->activityHandler($event); |
@@ -69,7 +69,7 @@ discard block |
||
| 69 | 69 | CommentsEvent::EVENT_UPDATE, |
| 70 | 70 | CommentsEvent::EVENT_DELETE, |
| 71 | 71 | ]; |
| 72 | - if(in_array($eventType, $applicableEvents)) { |
|
| 72 | + if (in_array($eventType, $applicableEvents)) { |
|
| 73 | 73 | $this->notificationHandler($event); |
| 74 | 74 | return; |
| 75 | 75 | } |
@@ -31,10 +31,10 @@ discard block |
||
| 31 | 31 | |
| 32 | 32 | $dir = '/'; |
| 33 | 33 | if (isset($_POST['dir'])) { |
| 34 | - $dir = rtrim((string)$_POST['dir'], '/'). '/'; |
|
| 34 | + $dir = rtrim((string) $_POST['dir'], '/').'/'; |
|
| 35 | 35 | } |
| 36 | 36 | $allFiles = false; |
| 37 | -if (isset($_POST['allfiles']) && (string)$_POST['allfiles'] === 'true') { |
|
| 37 | +if (isset($_POST['allfiles']) && (string) $_POST['allfiles'] === 'true') { |
|
| 38 | 38 | $allFiles = true; |
| 39 | 39 | $list = array(); |
| 40 | 40 | $dirListing = true; |
@@ -44,7 +44,7 @@ discard block |
||
| 44 | 44 | foreach (OCA\Files_Trashbin\Helper::getTrashFiles($dir, \OCP\User::getUser()) as $file) { |
| 45 | 45 | $fileName = $file['name']; |
| 46 | 46 | if (!$dirListing) { |
| 47 | - $fileName .= '.d' . $file['mtime']; |
|
| 47 | + $fileName .= '.d'.$file['mtime']; |
|
| 48 | 48 | } |
| 49 | 49 | $list[] = $fileName; |
| 50 | 50 | } |
@@ -57,21 +57,21 @@ discard block |
||
| 57 | 57 | |
| 58 | 58 | $i = 0; |
| 59 | 59 | foreach ($list as $file) { |
| 60 | - $path = $dir . '/' . $file; |
|
| 60 | + $path = $dir.'/'.$file; |
|
| 61 | 61 | if ($dir === '/') { |
| 62 | 62 | $file = ltrim($file, '/'); |
| 63 | 63 | $delimiter = strrpos($file, '.d'); |
| 64 | 64 | $filename = substr($file, 0, $delimiter); |
| 65 | - $timestamp = substr($file, $delimiter+2); |
|
| 65 | + $timestamp = substr($file, $delimiter + 2); |
|
| 66 | 66 | } else { |
| 67 | 67 | $path_parts = pathinfo($file); |
| 68 | 68 | $filename = $path_parts['basename']; |
| 69 | 69 | $timestamp = null; |
| 70 | 70 | } |
| 71 | 71 | |
| 72 | - if ( !OCA\Files_Trashbin\Trashbin::restore($path, $filename, $timestamp) ) { |
|
| 72 | + if (!OCA\Files_Trashbin\Trashbin::restore($path, $filename, $timestamp)) { |
|
| 73 | 73 | $error[] = $filename; |
| 74 | - \OCP\Util::writeLog('trashbin', 'can\'t restore ' . $filename, \OCP\Util::ERROR); |
|
| 74 | + \OCP\Util::writeLog('trashbin', 'can\'t restore '.$filename, \OCP\Util::ERROR); |
|
| 75 | 75 | } else { |
| 76 | 76 | $success[$i]['filename'] = $file; |
| 77 | 77 | $success[$i]['timestamp'] = $timestamp; |
@@ -80,9 +80,9 @@ discard block |
||
| 80 | 80 | |
| 81 | 81 | } |
| 82 | 82 | |
| 83 | -if ( $error ) { |
|
| 83 | +if ($error) { |
|
| 84 | 84 | $filelist = ''; |
| 85 | - foreach ( $error as $e ) { |
|
| 85 | + foreach ($error as $e) { |
|
| 86 | 86 | $filelist .= $e.', '; |
| 87 | 87 | } |
| 88 | 88 | $l = OC::$server->getL10N('files_trashbin'); |
@@ -32,25 +32,25 @@ discard block |
||
| 32 | 32 | |
| 33 | 33 | $dir = '/'; |
| 34 | 34 | if (isset($_POST['dir'])) { |
| 35 | - $dir = rtrim((string)$_POST['dir'], '/'). '/'; |
|
| 35 | + $dir = rtrim((string)$_POST['dir'], '/'). '/'; |
|
| 36 | 36 | } |
| 37 | 37 | $allFiles = false; |
| 38 | 38 | if (isset($_POST['allfiles']) && (string)$_POST['allfiles'] === 'true') { |
| 39 | - $allFiles = true; |
|
| 40 | - $list = array(); |
|
| 41 | - $dirListing = true; |
|
| 42 | - if ($dir === '' || $dir === '/') { |
|
| 43 | - $dirListing = false; |
|
| 44 | - } |
|
| 45 | - foreach (OCA\Files_Trashbin\Helper::getTrashFiles($dir, \OCP\User::getUser()) as $file) { |
|
| 46 | - $fileName = $file['name']; |
|
| 47 | - if (!$dirListing) { |
|
| 48 | - $fileName .= '.d' . $file['mtime']; |
|
| 49 | - } |
|
| 50 | - $list[] = $fileName; |
|
| 51 | - } |
|
| 39 | + $allFiles = true; |
|
| 40 | + $list = array(); |
|
| 41 | + $dirListing = true; |
|
| 42 | + if ($dir === '' || $dir === '/') { |
|
| 43 | + $dirListing = false; |
|
| 44 | + } |
|
| 45 | + foreach (OCA\Files_Trashbin\Helper::getTrashFiles($dir, \OCP\User::getUser()) as $file) { |
|
| 46 | + $fileName = $file['name']; |
|
| 47 | + if (!$dirListing) { |
|
| 48 | + $fileName .= '.d' . $file['mtime']; |
|
| 49 | + } |
|
| 50 | + $list[] = $fileName; |
|
| 51 | + } |
|
| 52 | 52 | } else { |
| 53 | - $list = json_decode($_POST['files']); |
|
| 53 | + $list = json_decode($_POST['files']); |
|
| 54 | 54 | } |
| 55 | 55 | |
| 56 | 56 | $error = array(); |
@@ -58,38 +58,38 @@ discard block |
||
| 58 | 58 | |
| 59 | 59 | $i = 0; |
| 60 | 60 | foreach ($list as $file) { |
| 61 | - $path = $dir . '/' . $file; |
|
| 62 | - if ($dir === '/') { |
|
| 63 | - $file = ltrim($file, '/'); |
|
| 64 | - $delimiter = strrpos($file, '.d'); |
|
| 65 | - $filename = substr($file, 0, $delimiter); |
|
| 66 | - $timestamp = substr($file, $delimiter+2); |
|
| 67 | - } else { |
|
| 68 | - $path_parts = pathinfo($file); |
|
| 69 | - $filename = $path_parts['basename']; |
|
| 70 | - $timestamp = null; |
|
| 71 | - } |
|
| 61 | + $path = $dir . '/' . $file; |
|
| 62 | + if ($dir === '/') { |
|
| 63 | + $file = ltrim($file, '/'); |
|
| 64 | + $delimiter = strrpos($file, '.d'); |
|
| 65 | + $filename = substr($file, 0, $delimiter); |
|
| 66 | + $timestamp = substr($file, $delimiter+2); |
|
| 67 | + } else { |
|
| 68 | + $path_parts = pathinfo($file); |
|
| 69 | + $filename = $path_parts['basename']; |
|
| 70 | + $timestamp = null; |
|
| 71 | + } |
|
| 72 | 72 | |
| 73 | - if ( !OCA\Files_Trashbin\Trashbin::restore($path, $filename, $timestamp) ) { |
|
| 74 | - $error[] = $filename; |
|
| 75 | - \OCP\Util::writeLog('trashbin', 'can\'t restore ' . $filename, \OCP\Util::ERROR); |
|
| 76 | - } else { |
|
| 77 | - $success[$i]['filename'] = $file; |
|
| 78 | - $success[$i]['timestamp'] = $timestamp; |
|
| 79 | - $i++; |
|
| 80 | - } |
|
| 73 | + if ( !OCA\Files_Trashbin\Trashbin::restore($path, $filename, $timestamp) ) { |
|
| 74 | + $error[] = $filename; |
|
| 75 | + \OCP\Util::writeLog('trashbin', 'can\'t restore ' . $filename, \OCP\Util::ERROR); |
|
| 76 | + } else { |
|
| 77 | + $success[$i]['filename'] = $file; |
|
| 78 | + $success[$i]['timestamp'] = $timestamp; |
|
| 79 | + $i++; |
|
| 80 | + } |
|
| 81 | 81 | |
| 82 | 82 | } |
| 83 | 83 | |
| 84 | 84 | if ( $error ) { |
| 85 | - $filelist = ''; |
|
| 86 | - foreach ( $error as $e ) { |
|
| 87 | - $filelist .= $e.', '; |
|
| 88 | - } |
|
| 89 | - $l = OC::$server->getL10N('files_trashbin'); |
|
| 90 | - $message = $l->t("Couldn't restore %s", array(rtrim($filelist, ', '))); |
|
| 91 | - \OC_JSON::error(array("data" => array("message" => $message, |
|
| 92 | - "success" => $success, "error" => $error))); |
|
| 85 | + $filelist = ''; |
|
| 86 | + foreach ( $error as $e ) { |
|
| 87 | + $filelist .= $e.', '; |
|
| 88 | + } |
|
| 89 | + $l = OC::$server->getL10N('files_trashbin'); |
|
| 90 | + $message = $l->t("Couldn't restore %s", array(rtrim($filelist, ', '))); |
|
| 91 | + \OC_JSON::error(array("data" => array("message" => $message, |
|
| 92 | + "success" => $success, "error" => $error))); |
|
| 93 | 93 | } else { |
| 94 | - \OC_JSON::success(array("data" => array("success" => $success))); |
|
| 94 | + \OC_JSON::success(array("data" => array("success" => $success))); |
|
| 95 | 95 | } |
@@ -32,10 +32,10 @@ |
||
| 32 | 32 | |
| 33 | 33 | // make filelist |
| 34 | 34 | try { |
| 35 | - $files = \OCA\Files_Trashbin\Helper::getTrashFiles($dir, \OCP\User::getUser(), $sortAttribute, $sortDirection); |
|
| 35 | + $files = \OCA\Files_Trashbin\Helper::getTrashFiles($dir, \OCP\User::getUser(), $sortAttribute, $sortDirection); |
|
| 36 | 36 | } catch (Exception $e) { |
| 37 | - header("HTTP/1.0 404 Not Found"); |
|
| 38 | - exit(); |
|
| 37 | + header("HTTP/1.0 404 Not Found"); |
|
| 38 | + exit(); |
|
| 39 | 39 | } |
| 40 | 40 | |
| 41 | 41 | $encodedDir = \OCP\Util::encodePath($dir); |
@@ -25,8 +25,8 @@ |
||
| 25 | 25 | \OC::$server->getSession()->close(); |
| 26 | 26 | |
| 27 | 27 | // Load the files |
| 28 | -$dir = isset($_GET['dir']) ? (string)$_GET['dir'] : ''; |
|
| 29 | -$sortAttribute = isset($_GET['sort']) ? (string)$_GET['sort'] : 'name'; |
|
| 28 | +$dir = isset($_GET['dir']) ? (string) $_GET['dir'] : ''; |
|
| 29 | +$sortAttribute = isset($_GET['sort']) ? (string) $_GET['sort'] : 'name'; |
|
| 30 | 30 | $sortDirection = isset($_GET['sortdirection']) ? ($_GET['sortdirection'] === 'desc') : false; |
| 31 | 31 | $data = array(); |
| 32 | 32 | |
@@ -31,7 +31,7 @@ discard block |
||
| 31 | 31 | $folder = isset($_POST['dir']) ? $_POST['dir'] : '/'; |
| 32 | 32 | |
| 33 | 33 | // "empty trash" command |
| 34 | -if (isset($_POST['allfiles']) && (string)$_POST['allfiles'] === 'true'){ |
|
| 34 | +if (isset($_POST['allfiles']) && (string) $_POST['allfiles'] === 'true') { |
|
| 35 | 35 | $deleteAll = true; |
| 36 | 36 | if ($folder === '/' || $folder === '') { |
| 37 | 37 | OCA\Files_Trashbin\Trashbin::deleteAll(); |
@@ -43,11 +43,11 @@ discard block |
||
| 43 | 43 | } |
| 44 | 44 | else { |
| 45 | 45 | $deleteAll = false; |
| 46 | - $files = (string)$_POST['files']; |
|
| 46 | + $files = (string) $_POST['files']; |
|
| 47 | 47 | $list = json_decode($files); |
| 48 | 48 | } |
| 49 | 49 | |
| 50 | -$folder = rtrim($folder, '/') . '/'; |
|
| 50 | +$folder = rtrim($folder, '/').'/'; |
|
| 51 | 51 | $error = array(); |
| 52 | 52 | $success = array(); |
| 53 | 53 | |
@@ -57,16 +57,16 @@ discard block |
||
| 57 | 57 | $file = ltrim($file, '/'); |
| 58 | 58 | $delimiter = strrpos($file, '.d'); |
| 59 | 59 | $filename = substr($file, 0, $delimiter); |
| 60 | - $timestamp = substr($file, $delimiter+2); |
|
| 60 | + $timestamp = substr($file, $delimiter + 2); |
|
| 61 | 61 | } else { |
| 62 | - $filename = $folder . '/' . $file; |
|
| 62 | + $filename = $folder.'/'.$file; |
|
| 63 | 63 | $timestamp = null; |
| 64 | 64 | } |
| 65 | 65 | |
| 66 | 66 | OCA\Files_Trashbin\Trashbin::delete($filename, \OCP\User::getUser(), $timestamp); |
| 67 | 67 | if (OCA\Files_Trashbin\Trashbin::file_exists($filename, $timestamp)) { |
| 68 | 68 | $error[] = $filename; |
| 69 | - \OCP\Util::writeLog('trashbin','can\'t delete ' . $filename . ' permanently.', \OCP\Util::ERROR); |
|
| 69 | + \OCP\Util::writeLog('trashbin', 'can\'t delete '.$filename.' permanently.', \OCP\Util::ERROR); |
|
| 70 | 70 | } |
| 71 | 71 | // only list deleted files if not deleting everything |
| 72 | 72 | else if (!$deleteAll) { |
@@ -76,9 +76,9 @@ discard block |
||
| 76 | 76 | } |
| 77 | 77 | } |
| 78 | 78 | |
| 79 | -if ( $error ) { |
|
| 79 | +if ($error) { |
|
| 80 | 80 | $filelist = ''; |
| 81 | - foreach ( $error as $e ) { |
|
| 81 | + foreach ($error as $e) { |
|
| 82 | 82 | $filelist .= $e.', '; |
| 83 | 83 | } |
| 84 | 84 | $l = \OC::$server->getL10N('files_trashbin'); |
@@ -40,8 +40,7 @@ |
||
| 40 | 40 | $list[] = $folder; |
| 41 | 41 | $folder = dirname($folder); |
| 42 | 42 | } |
| 43 | -} |
|
| 44 | -else { |
|
| 43 | +} else { |
|
| 45 | 44 | $deleteAll = false; |
| 46 | 45 | $files = (string)$_POST['files']; |
| 47 | 46 | $list = json_decode($files); |
@@ -32,19 +32,19 @@ discard block |
||
| 32 | 32 | |
| 33 | 33 | // "empty trash" command |
| 34 | 34 | if (isset($_POST['allfiles']) && (string)$_POST['allfiles'] === 'true'){ |
| 35 | - $deleteAll = true; |
|
| 36 | - if ($folder === '/' || $folder === '') { |
|
| 37 | - OCA\Files_Trashbin\Trashbin::deleteAll(); |
|
| 38 | - $list = array(); |
|
| 39 | - } else { |
|
| 40 | - $list[] = $folder; |
|
| 41 | - $folder = dirname($folder); |
|
| 42 | - } |
|
| 35 | + $deleteAll = true; |
|
| 36 | + if ($folder === '/' || $folder === '') { |
|
| 37 | + OCA\Files_Trashbin\Trashbin::deleteAll(); |
|
| 38 | + $list = array(); |
|
| 39 | + } else { |
|
| 40 | + $list[] = $folder; |
|
| 41 | + $folder = dirname($folder); |
|
| 42 | + } |
|
| 43 | 43 | } |
| 44 | 44 | else { |
| 45 | - $deleteAll = false; |
|
| 46 | - $files = (string)$_POST['files']; |
|
| 47 | - $list = json_decode($files); |
|
| 45 | + $deleteAll = false; |
|
| 46 | + $files = (string)$_POST['files']; |
|
| 47 | + $list = json_decode($files); |
|
| 48 | 48 | } |
| 49 | 49 | |
| 50 | 50 | $folder = rtrim($folder, '/') . '/'; |
@@ -53,38 +53,38 @@ discard block |
||
| 53 | 53 | |
| 54 | 54 | $i = 0; |
| 55 | 55 | foreach ($list as $file) { |
| 56 | - if ($folder === '/') { |
|
| 57 | - $file = ltrim($file, '/'); |
|
| 58 | - $delimiter = strrpos($file, '.d'); |
|
| 59 | - $filename = substr($file, 0, $delimiter); |
|
| 60 | - $timestamp = substr($file, $delimiter+2); |
|
| 61 | - } else { |
|
| 62 | - $filename = $folder . '/' . $file; |
|
| 63 | - $timestamp = null; |
|
| 64 | - } |
|
| 56 | + if ($folder === '/') { |
|
| 57 | + $file = ltrim($file, '/'); |
|
| 58 | + $delimiter = strrpos($file, '.d'); |
|
| 59 | + $filename = substr($file, 0, $delimiter); |
|
| 60 | + $timestamp = substr($file, $delimiter+2); |
|
| 61 | + } else { |
|
| 62 | + $filename = $folder . '/' . $file; |
|
| 63 | + $timestamp = null; |
|
| 64 | + } |
|
| 65 | 65 | |
| 66 | - OCA\Files_Trashbin\Trashbin::delete($filename, \OCP\User::getUser(), $timestamp); |
|
| 67 | - if (OCA\Files_Trashbin\Trashbin::file_exists($filename, $timestamp)) { |
|
| 68 | - $error[] = $filename; |
|
| 69 | - \OCP\Util::writeLog('trashbin','can\'t delete ' . $filename . ' permanently.', \OCP\Util::ERROR); |
|
| 70 | - } |
|
| 71 | - // only list deleted files if not deleting everything |
|
| 72 | - else if (!$deleteAll) { |
|
| 73 | - $success[$i]['filename'] = $file; |
|
| 74 | - $success[$i]['timestamp'] = $timestamp; |
|
| 75 | - $i++; |
|
| 76 | - } |
|
| 66 | + OCA\Files_Trashbin\Trashbin::delete($filename, \OCP\User::getUser(), $timestamp); |
|
| 67 | + if (OCA\Files_Trashbin\Trashbin::file_exists($filename, $timestamp)) { |
|
| 68 | + $error[] = $filename; |
|
| 69 | + \OCP\Util::writeLog('trashbin','can\'t delete ' . $filename . ' permanently.', \OCP\Util::ERROR); |
|
| 70 | + } |
|
| 71 | + // only list deleted files if not deleting everything |
|
| 72 | + else if (!$deleteAll) { |
|
| 73 | + $success[$i]['filename'] = $file; |
|
| 74 | + $success[$i]['timestamp'] = $timestamp; |
|
| 75 | + $i++; |
|
| 76 | + } |
|
| 77 | 77 | } |
| 78 | 78 | |
| 79 | 79 | if ( $error ) { |
| 80 | - $filelist = ''; |
|
| 81 | - foreach ( $error as $e ) { |
|
| 82 | - $filelist .= $e.', '; |
|
| 83 | - } |
|
| 84 | - $l = \OC::$server->getL10N('files_trashbin'); |
|
| 85 | - $message = $l->t("Couldn't delete %s permanently", array(rtrim($filelist, ', '))); |
|
| 86 | - \OC_JSON::error(array("data" => array("message" => $message, |
|
| 87 | - "success" => $success, "error" => $error))); |
|
| 80 | + $filelist = ''; |
|
| 81 | + foreach ( $error as $e ) { |
|
| 82 | + $filelist .= $e.', '; |
|
| 83 | + } |
|
| 84 | + $l = \OC::$server->getL10N('files_trashbin'); |
|
| 85 | + $message = $l->t("Couldn't delete %s permanently", array(rtrim($filelist, ', '))); |
|
| 86 | + \OC_JSON::error(array("data" => array("message" => $message, |
|
| 87 | + "success" => $success, "error" => $error))); |
|
| 88 | 88 | } else { |
| 89 | - \OC_JSON::success(array("data" => array("success" => $success))); |
|
| 89 | + \OC_JSON::success(array("data" => array("success" => $success))); |
|
| 90 | 90 | } |
@@ -31,30 +31,30 @@ |
||
| 31 | 31 | use OCP\Command\ICommand; |
| 32 | 32 | |
| 33 | 33 | class Expire implements ICommand { |
| 34 | - use FileAccess; |
|
| 34 | + use FileAccess; |
|
| 35 | 35 | |
| 36 | - /** |
|
| 37 | - * @var string |
|
| 38 | - */ |
|
| 39 | - private $user; |
|
| 36 | + /** |
|
| 37 | + * @var string |
|
| 38 | + */ |
|
| 39 | + private $user; |
|
| 40 | 40 | |
| 41 | - /** |
|
| 42 | - * @param string $user |
|
| 43 | - */ |
|
| 44 | - function __construct($user) { |
|
| 45 | - $this->user = $user; |
|
| 46 | - } |
|
| 41 | + /** |
|
| 42 | + * @param string $user |
|
| 43 | + */ |
|
| 44 | + function __construct($user) { |
|
| 45 | + $this->user = $user; |
|
| 46 | + } |
|
| 47 | 47 | |
| 48 | - public function handle() { |
|
| 49 | - $userManager = \OC::$server->getUserManager(); |
|
| 50 | - if (!$userManager->userExists($this->user)) { |
|
| 51 | - // User has been deleted already |
|
| 52 | - return; |
|
| 53 | - } |
|
| 48 | + public function handle() { |
|
| 49 | + $userManager = \OC::$server->getUserManager(); |
|
| 50 | + if (!$userManager->userExists($this->user)) { |
|
| 51 | + // User has been deleted already |
|
| 52 | + return; |
|
| 53 | + } |
|
| 54 | 54 | |
| 55 | - \OC_Util::tearDownFS(); |
|
| 56 | - \OC_Util::setupFS($this->user); |
|
| 57 | - Trashbin::expire($this->user); |
|
| 58 | - \OC_Util::tearDownFS(); |
|
| 59 | - } |
|
| 55 | + \OC_Util::tearDownFS(); |
|
| 56 | + \OC_Util::setupFS($this->user); |
|
| 57 | + Trashbin::expire($this->user); |
|
| 58 | + \OC_Util::tearDownFS(); |
|
| 59 | + } |
|
| 60 | 60 | } |
@@ -34,94 +34,94 @@ |
||
| 34 | 34 | |
| 35 | 35 | class ExpireTrash extends Command { |
| 36 | 36 | |
| 37 | - /** |
|
| 38 | - * @var Expiration |
|
| 39 | - */ |
|
| 40 | - private $expiration; |
|
| 37 | + /** |
|
| 38 | + * @var Expiration |
|
| 39 | + */ |
|
| 40 | + private $expiration; |
|
| 41 | 41 | |
| 42 | - /** |
|
| 43 | - * @var IUserManager |
|
| 44 | - */ |
|
| 45 | - private $userManager; |
|
| 42 | + /** |
|
| 43 | + * @var IUserManager |
|
| 44 | + */ |
|
| 45 | + private $userManager; |
|
| 46 | 46 | |
| 47 | - /** |
|
| 48 | - * @param IUserManager|null $userManager |
|
| 49 | - * @param Expiration|null $expiration |
|
| 50 | - */ |
|
| 51 | - public function __construct(IUserManager $userManager = null, |
|
| 52 | - Expiration $expiration = null) { |
|
| 53 | - parent::__construct(); |
|
| 47 | + /** |
|
| 48 | + * @param IUserManager|null $userManager |
|
| 49 | + * @param Expiration|null $expiration |
|
| 50 | + */ |
|
| 51 | + public function __construct(IUserManager $userManager = null, |
|
| 52 | + Expiration $expiration = null) { |
|
| 53 | + parent::__construct(); |
|
| 54 | 54 | |
| 55 | - $this->userManager = $userManager; |
|
| 56 | - $this->expiration = $expiration; |
|
| 57 | - } |
|
| 55 | + $this->userManager = $userManager; |
|
| 56 | + $this->expiration = $expiration; |
|
| 57 | + } |
|
| 58 | 58 | |
| 59 | - protected function configure() { |
|
| 60 | - $this |
|
| 61 | - ->setName('trashbin:expire') |
|
| 62 | - ->setDescription('Expires the users trashbin') |
|
| 63 | - ->addArgument( |
|
| 64 | - 'user_id', |
|
| 65 | - InputArgument::OPTIONAL | InputArgument::IS_ARRAY, |
|
| 66 | - 'expires the trashbin of the given user(s), if no user is given the trash for all users will be expired' |
|
| 67 | - ); |
|
| 68 | - } |
|
| 59 | + protected function configure() { |
|
| 60 | + $this |
|
| 61 | + ->setName('trashbin:expire') |
|
| 62 | + ->setDescription('Expires the users trashbin') |
|
| 63 | + ->addArgument( |
|
| 64 | + 'user_id', |
|
| 65 | + InputArgument::OPTIONAL | InputArgument::IS_ARRAY, |
|
| 66 | + 'expires the trashbin of the given user(s), if no user is given the trash for all users will be expired' |
|
| 67 | + ); |
|
| 68 | + } |
|
| 69 | 69 | |
| 70 | - protected function execute(InputInterface $input, OutputInterface $output) { |
|
| 70 | + protected function execute(InputInterface $input, OutputInterface $output) { |
|
| 71 | 71 | |
| 72 | - $maxAge = $this->expiration->getMaxAgeAsTimestamp(); |
|
| 73 | - if (!$maxAge) { |
|
| 74 | - $output->writeln("No expiry configured."); |
|
| 75 | - return; |
|
| 76 | - } |
|
| 72 | + $maxAge = $this->expiration->getMaxAgeAsTimestamp(); |
|
| 73 | + if (!$maxAge) { |
|
| 74 | + $output->writeln("No expiry configured."); |
|
| 75 | + return; |
|
| 76 | + } |
|
| 77 | 77 | |
| 78 | - $users = $input->getArgument('user_id'); |
|
| 79 | - if (!empty($users)) { |
|
| 80 | - foreach ($users as $user) { |
|
| 81 | - if ($this->userManager->userExists($user)) { |
|
| 82 | - $output->writeln("Remove deleted files of <info>$user</info>"); |
|
| 83 | - $userObject = $this->userManager->get($user); |
|
| 84 | - $this->expireTrashForUser($userObject); |
|
| 85 | - } else { |
|
| 86 | - $output->writeln("<error>Unknown user $user</error>"); |
|
| 87 | - } |
|
| 88 | - } |
|
| 89 | - } else { |
|
| 90 | - $p = new ProgressBar($output); |
|
| 91 | - $p->start(); |
|
| 92 | - $this->userManager->callForSeenUsers(function(IUser $user) use ($p) { |
|
| 93 | - $p->advance(); |
|
| 94 | - $this->expireTrashForUser($user); |
|
| 95 | - }); |
|
| 96 | - $p->finish(); |
|
| 97 | - $output->writeln(''); |
|
| 98 | - } |
|
| 99 | - } |
|
| 78 | + $users = $input->getArgument('user_id'); |
|
| 79 | + if (!empty($users)) { |
|
| 80 | + foreach ($users as $user) { |
|
| 81 | + if ($this->userManager->userExists($user)) { |
|
| 82 | + $output->writeln("Remove deleted files of <info>$user</info>"); |
|
| 83 | + $userObject = $this->userManager->get($user); |
|
| 84 | + $this->expireTrashForUser($userObject); |
|
| 85 | + } else { |
|
| 86 | + $output->writeln("<error>Unknown user $user</error>"); |
|
| 87 | + } |
|
| 88 | + } |
|
| 89 | + } else { |
|
| 90 | + $p = new ProgressBar($output); |
|
| 91 | + $p->start(); |
|
| 92 | + $this->userManager->callForSeenUsers(function(IUser $user) use ($p) { |
|
| 93 | + $p->advance(); |
|
| 94 | + $this->expireTrashForUser($user); |
|
| 95 | + }); |
|
| 96 | + $p->finish(); |
|
| 97 | + $output->writeln(''); |
|
| 98 | + } |
|
| 99 | + } |
|
| 100 | 100 | |
| 101 | - function expireTrashForUser(IUser $user) { |
|
| 102 | - $uid = $user->getUID(); |
|
| 103 | - if (!$this->setupFS($uid)) { |
|
| 104 | - return; |
|
| 105 | - } |
|
| 106 | - $dirContent = Helper::getTrashFiles('/', $uid, 'mtime'); |
|
| 107 | - Trashbin::deleteExpiredFiles($dirContent, $uid); |
|
| 108 | - } |
|
| 101 | + function expireTrashForUser(IUser $user) { |
|
| 102 | + $uid = $user->getUID(); |
|
| 103 | + if (!$this->setupFS($uid)) { |
|
| 104 | + return; |
|
| 105 | + } |
|
| 106 | + $dirContent = Helper::getTrashFiles('/', $uid, 'mtime'); |
|
| 107 | + Trashbin::deleteExpiredFiles($dirContent, $uid); |
|
| 108 | + } |
|
| 109 | 109 | |
| 110 | - /** |
|
| 111 | - * Act on behalf on trash item owner |
|
| 112 | - * @param string $user |
|
| 113 | - * @return boolean |
|
| 114 | - */ |
|
| 115 | - protected function setupFS($user) { |
|
| 116 | - \OC_Util::tearDownFS(); |
|
| 117 | - \OC_Util::setupFS($user); |
|
| 110 | + /** |
|
| 111 | + * Act on behalf on trash item owner |
|
| 112 | + * @param string $user |
|
| 113 | + * @return boolean |
|
| 114 | + */ |
|
| 115 | + protected function setupFS($user) { |
|
| 116 | + \OC_Util::tearDownFS(); |
|
| 117 | + \OC_Util::setupFS($user); |
|
| 118 | 118 | |
| 119 | - // Check if this user has a trashbin directory |
|
| 120 | - $view = new \OC\Files\View('/' . $user); |
|
| 121 | - if (!$view->is_dir('/files_trashbin/files')) { |
|
| 122 | - return false; |
|
| 123 | - } |
|
| 119 | + // Check if this user has a trashbin directory |
|
| 120 | + $view = new \OC\Files\View('/' . $user); |
|
| 121 | + if (!$view->is_dir('/files_trashbin/files')) { |
|
| 122 | + return false; |
|
| 123 | + } |
|
| 124 | 124 | |
| 125 | - return true; |
|
| 126 | - } |
|
| 125 | + return true; |
|
| 126 | + } |
|
| 127 | 127 | } |
@@ -117,7 +117,7 @@ |
||
| 117 | 117 | \OC_Util::setupFS($user); |
| 118 | 118 | |
| 119 | 119 | // Check if this user has a trashbin directory |
| 120 | - $view = new \OC\Files\View('/' . $user); |
|
| 120 | + $view = new \OC\Files\View('/'.$user); |
|
| 121 | 121 | if (!$view->is_dir('/files_trashbin/files')) { |
| 122 | 122 | return false; |
| 123 | 123 | } |
@@ -34,87 +34,87 @@ |
||
| 34 | 34 | |
| 35 | 35 | class CleanUp extends Command { |
| 36 | 36 | |
| 37 | - /** @var IUserManager */ |
|
| 38 | - protected $userManager; |
|
| 37 | + /** @var IUserManager */ |
|
| 38 | + protected $userManager; |
|
| 39 | 39 | |
| 40 | - /** @var IRootFolder */ |
|
| 41 | - protected $rootFolder; |
|
| 40 | + /** @var IRootFolder */ |
|
| 41 | + protected $rootFolder; |
|
| 42 | 42 | |
| 43 | - /** @var \OCP\IDBConnection */ |
|
| 44 | - protected $dbConnection; |
|
| 43 | + /** @var \OCP\IDBConnection */ |
|
| 44 | + protected $dbConnection; |
|
| 45 | 45 | |
| 46 | - /** |
|
| 47 | - * @param IRootFolder $rootFolder |
|
| 48 | - * @param IUserManager $userManager |
|
| 49 | - * @param IDBConnection $dbConnection |
|
| 50 | - */ |
|
| 51 | - function __construct(IRootFolder $rootFolder, IUserManager $userManager, IDBConnection $dbConnection) { |
|
| 52 | - parent::__construct(); |
|
| 53 | - $this->userManager = $userManager; |
|
| 54 | - $this->rootFolder = $rootFolder; |
|
| 55 | - $this->dbConnection = $dbConnection; |
|
| 56 | - } |
|
| 46 | + /** |
|
| 47 | + * @param IRootFolder $rootFolder |
|
| 48 | + * @param IUserManager $userManager |
|
| 49 | + * @param IDBConnection $dbConnection |
|
| 50 | + */ |
|
| 51 | + function __construct(IRootFolder $rootFolder, IUserManager $userManager, IDBConnection $dbConnection) { |
|
| 52 | + parent::__construct(); |
|
| 53 | + $this->userManager = $userManager; |
|
| 54 | + $this->rootFolder = $rootFolder; |
|
| 55 | + $this->dbConnection = $dbConnection; |
|
| 56 | + } |
|
| 57 | 57 | |
| 58 | - protected function configure() { |
|
| 59 | - $this |
|
| 60 | - ->setName('trashbin:cleanup') |
|
| 61 | - ->setDescription('Remove deleted files') |
|
| 62 | - ->addArgument( |
|
| 63 | - 'user_id', |
|
| 64 | - InputArgument::OPTIONAL | InputArgument::IS_ARRAY, |
|
| 65 | - 'remove deleted files of the given user(s), if no user is given all deleted files will be removed' |
|
| 66 | - ); |
|
| 67 | - } |
|
| 58 | + protected function configure() { |
|
| 59 | + $this |
|
| 60 | + ->setName('trashbin:cleanup') |
|
| 61 | + ->setDescription('Remove deleted files') |
|
| 62 | + ->addArgument( |
|
| 63 | + 'user_id', |
|
| 64 | + InputArgument::OPTIONAL | InputArgument::IS_ARRAY, |
|
| 65 | + 'remove deleted files of the given user(s), if no user is given all deleted files will be removed' |
|
| 66 | + ); |
|
| 67 | + } |
|
| 68 | 68 | |
| 69 | - protected function execute(InputInterface $input, OutputInterface $output) { |
|
| 70 | - $users = $input->getArgument('user_id'); |
|
| 71 | - if (!empty($users)) { |
|
| 72 | - foreach ($users as $user) { |
|
| 73 | - if ($this->userManager->userExists($user)) { |
|
| 74 | - $output->writeln("Remove deleted files of <info>$user</info>"); |
|
| 75 | - $this->removeDeletedFiles($user); |
|
| 76 | - } else { |
|
| 77 | - $output->writeln("<error>Unknown user $user</error>"); |
|
| 78 | - } |
|
| 79 | - } |
|
| 80 | - } else { |
|
| 81 | - $output->writeln('Remove all deleted files'); |
|
| 82 | - foreach ($this->userManager->getBackends() as $backend) { |
|
| 83 | - $name = get_class($backend); |
|
| 84 | - if ($backend instanceof IUserBackend) { |
|
| 85 | - $name = $backend->getBackendName(); |
|
| 86 | - } |
|
| 87 | - $output->writeln("Remove deleted files for users on backend <info>$name</info>"); |
|
| 88 | - $limit = 500; |
|
| 89 | - $offset = 0; |
|
| 90 | - do { |
|
| 91 | - $users = $backend->getUsers('', $limit, $offset); |
|
| 92 | - foreach ($users as $user) { |
|
| 93 | - $output->writeln(" <info>$user</info>"); |
|
| 94 | - $this->removeDeletedFiles($user); |
|
| 95 | - } |
|
| 96 | - $offset += $limit; |
|
| 97 | - } while (count($users) >= $limit); |
|
| 98 | - } |
|
| 99 | - } |
|
| 100 | - } |
|
| 69 | + protected function execute(InputInterface $input, OutputInterface $output) { |
|
| 70 | + $users = $input->getArgument('user_id'); |
|
| 71 | + if (!empty($users)) { |
|
| 72 | + foreach ($users as $user) { |
|
| 73 | + if ($this->userManager->userExists($user)) { |
|
| 74 | + $output->writeln("Remove deleted files of <info>$user</info>"); |
|
| 75 | + $this->removeDeletedFiles($user); |
|
| 76 | + } else { |
|
| 77 | + $output->writeln("<error>Unknown user $user</error>"); |
|
| 78 | + } |
|
| 79 | + } |
|
| 80 | + } else { |
|
| 81 | + $output->writeln('Remove all deleted files'); |
|
| 82 | + foreach ($this->userManager->getBackends() as $backend) { |
|
| 83 | + $name = get_class($backend); |
|
| 84 | + if ($backend instanceof IUserBackend) { |
|
| 85 | + $name = $backend->getBackendName(); |
|
| 86 | + } |
|
| 87 | + $output->writeln("Remove deleted files for users on backend <info>$name</info>"); |
|
| 88 | + $limit = 500; |
|
| 89 | + $offset = 0; |
|
| 90 | + do { |
|
| 91 | + $users = $backend->getUsers('', $limit, $offset); |
|
| 92 | + foreach ($users as $user) { |
|
| 93 | + $output->writeln(" <info>$user</info>"); |
|
| 94 | + $this->removeDeletedFiles($user); |
|
| 95 | + } |
|
| 96 | + $offset += $limit; |
|
| 97 | + } while (count($users) >= $limit); |
|
| 98 | + } |
|
| 99 | + } |
|
| 100 | + } |
|
| 101 | 101 | |
| 102 | - /** |
|
| 103 | - * remove deleted files for the given user |
|
| 104 | - * |
|
| 105 | - * @param string $uid |
|
| 106 | - */ |
|
| 107 | - protected function removeDeletedFiles($uid) { |
|
| 108 | - \OC_Util::tearDownFS(); |
|
| 109 | - \OC_Util::setupFS($uid); |
|
| 110 | - if ($this->rootFolder->nodeExists('/' . $uid . '/files_trashbin')) { |
|
| 111 | - $this->rootFolder->get('/' . $uid . '/files_trashbin')->delete(); |
|
| 112 | - $query = $this->dbConnection->getQueryBuilder(); |
|
| 113 | - $query->delete('files_trash') |
|
| 114 | - ->where($query->expr()->eq('user', $query->createParameter('uid'))) |
|
| 115 | - ->setParameter('uid', $uid); |
|
| 116 | - $query->execute(); |
|
| 117 | - } |
|
| 118 | - } |
|
| 102 | + /** |
|
| 103 | + * remove deleted files for the given user |
|
| 104 | + * |
|
| 105 | + * @param string $uid |
|
| 106 | + */ |
|
| 107 | + protected function removeDeletedFiles($uid) { |
|
| 108 | + \OC_Util::tearDownFS(); |
|
| 109 | + \OC_Util::setupFS($uid); |
|
| 110 | + if ($this->rootFolder->nodeExists('/' . $uid . '/files_trashbin')) { |
|
| 111 | + $this->rootFolder->get('/' . $uid . '/files_trashbin')->delete(); |
|
| 112 | + $query = $this->dbConnection->getQueryBuilder(); |
|
| 113 | + $query->delete('files_trash') |
|
| 114 | + ->where($query->expr()->eq('user', $query->createParameter('uid'))) |
|
| 115 | + ->setParameter('uid', $uid); |
|
| 116 | + $query->execute(); |
|
| 117 | + } |
|
| 118 | + } |
|
| 119 | 119 | |
| 120 | 120 | } |
@@ -107,8 +107,8 @@ |
||
| 107 | 107 | protected function removeDeletedFiles($uid) { |
| 108 | 108 | \OC_Util::tearDownFS(); |
| 109 | 109 | \OC_Util::setupFS($uid); |
| 110 | - if ($this->rootFolder->nodeExists('/' . $uid . '/files_trashbin')) { |
|
| 111 | - $this->rootFolder->get('/' . $uid . '/files_trashbin')->delete(); |
|
| 110 | + if ($this->rootFolder->nodeExists('/'.$uid.'/files_trashbin')) { |
|
| 111 | + $this->rootFolder->get('/'.$uid.'/files_trashbin')->delete(); |
|
| 112 | 112 | $query = $this->dbConnection->getQueryBuilder(); |
| 113 | 113 | $query->delete('files_trash') |
| 114 | 114 | ->where($query->expr()->eq('user', $query->createParameter('uid'))) |