aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files_sharing/lib/controllers
diff options
context:
space:
mode:
authorBjoern Schiessle <schiessle@owncloud.com>2014-12-22 12:35:50 +0100
committerBjoern Schiessle <schiessle@owncloud.com>2014-12-22 18:50:00 +0100
commit393deb596182deec076cf1d9941eae4ba51f34d4 (patch)
tree39832eda7465a2b1864b4dff2934c6324f4131f0 /apps/files_sharing/lib/controllers
parentfe6f4a1404b9535164c2075412952f6d07af9f42 (diff)
downloadnextcloud-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.php16
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