diff options
author | Bjoern Schiessle <schiessle@owncloud.com> | 2014-12-22 12:35:50 +0100 |
---|---|---|
committer | Bjoern Schiessle <schiessle@owncloud.com> | 2014-12-22 18:50:00 +0100 |
commit | 393deb596182deec076cf1d9941eae4ba51f34d4 (patch) | |
tree | 39832eda7465a2b1864b4dff2934c6324f4131f0 /apps/files_sharing/lib/controllers | |
parent | fe6f4a1404b9535164c2075412952f6d07af9f42 (diff) | |
download | nextcloud-server-393deb596182deec076cf1d9941eae4ba51f34d4.tar.gz nextcloud-server-393deb596182deec076cf1d9941eae4ba51f34d4.zip |
add activity if public shared file/folder was downloaded
Diffstat (limited to 'apps/files_sharing/lib/controllers')
-rw-r--r-- | apps/files_sharing/lib/controllers/sharecontroller.php | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/apps/files_sharing/lib/controllers/sharecontroller.php b/apps/files_sharing/lib/controllers/sharecontroller.php index 0a0594ed8ff..80f4b5ae364 100644 --- a/apps/files_sharing/lib/controllers/sharecontroller.php +++ b/apps/files_sharing/lib/controllers/sharecontroller.php @@ -29,6 +29,7 @@ use OCP\ILogger; use OCA\Files_Sharing\Helper; use OCP\User; use OCP\Util; +use OCA\Files_Sharing\Activity; /** * Class ShareController @@ -49,6 +50,8 @@ class ShareController extends Controller { protected $userManager; /** @var \OCP\ILogger */ protected $logger; + /** @var OCP\Activity\IManager */ + protected $activityManager; /** * @param string $appName @@ -59,6 +62,7 @@ class ShareController extends Controller { * @param URLGenerator $urlGenerator * @param OC\User\Manager $userManager * @param ILogger $logger + * @param OCP\Activity\IManager $activityManager */ public function __construct($appName, IRequest $request, @@ -67,7 +71,8 @@ class ShareController extends Controller { OCP\IConfig $config, URLGenerator $urlGenerator, OC\User\Manager $userManager, - ILogger $logger) { + ILogger $logger, + OCP\Activity\IManager $activityManager) { parent::__construct($appName, $request); $this->userSession = $userSession; @@ -76,6 +81,7 @@ class ShareController extends Controller { $this->urlGenerator = $urlGenerator; $this->userManager = $userManager; $this->logger = $logger; + $this->activityManager = $activityManager; } /** @@ -227,8 +233,16 @@ class ShareController extends Controller { if (isset($originalSharePath) && Filesystem::isReadable($originalSharePath . $path)) { $getPath = Filesystem::normalizePath($path); $originalSharePath .= $getPath; + $type = \OC\Files\Filesystem::is_dir($originalSharePath) ? 'folder' : 'file'; + $args = $type === 'folder' ? array('dir' => $originalSharePath) : array('dir' => dirname($originalSharePath), 'scrollto' => basename($originalSharePath)); + $linkToFile = \OCP\Util::linkToAbsolute('files', 'index.php', $args); } + $subject = $type === 'folder' ? Activity::SUBJECT_PUBLIC_SHARED_FOLDER_DOWNLOADED : Activity::SUBJECT_PUBLIC_SHARED_FILE_DOWNLOADED; + $this->activityManager->publishActivity( + 'files_sharing', $subject, array($originalSharePath), '', array(), + $originalSharePath, $linkToFile, $linkItem['uid_owner'], Activity::TYPE_PUBLIC_LINKS, Activity::PRIORITY_MEDIUM); + if (!is_null($files)) { // download selected files $files_list = json_decode($files); // in case we get only a single file |