|
|
|
|
@ -7,279 +7,12 @@ declare(strict_types=1); |
|
|
|
|
*/ |
|
|
|
|
namespace OCA\AdminAudit\Actions; |
|
|
|
|
|
|
|
|
|
use OCP\Share\IShare; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Class Sharing logs the sharing actions |
|
|
|
|
* |
|
|
|
|
* @package OCA\AdminAudit\Actions |
|
|
|
|
*/ |
|
|
|
|
class Sharing extends Action { |
|
|
|
|
/** |
|
|
|
|
* Logs sharing of data |
|
|
|
|
* |
|
|
|
|
* @param array $params |
|
|
|
|
*/ |
|
|
|
|
public function shared(array $params): void { |
|
|
|
|
if ($params['shareType'] === IShare::TYPE_LINK) { |
|
|
|
|
$this->log( |
|
|
|
|
'The %s "%s" with ID "%s" has been shared via link with permissions "%s" (Share ID: %s)', |
|
|
|
|
$params, |
|
|
|
|
[ |
|
|
|
|
'itemType', |
|
|
|
|
'path', |
|
|
|
|
'itemSource', |
|
|
|
|
'permissions', |
|
|
|
|
'id', |
|
|
|
|
] |
|
|
|
|
); |
|
|
|
|
} elseif ($params['shareType'] === IShare::TYPE_USER) { |
|
|
|
|
$this->log( |
|
|
|
|
'The %s "%s" with ID "%s" has been shared to the user "%s" with permissions "%s" (Share ID: %s)', |
|
|
|
|
$params, |
|
|
|
|
[ |
|
|
|
|
'itemType', |
|
|
|
|
'path', |
|
|
|
|
'itemSource', |
|
|
|
|
'shareWith', |
|
|
|
|
'permissions', |
|
|
|
|
'id', |
|
|
|
|
] |
|
|
|
|
); |
|
|
|
|
} elseif ($params['shareType'] === IShare::TYPE_GROUP) { |
|
|
|
|
$this->log( |
|
|
|
|
'The %s "%s" with ID "%s" has been shared to the group "%s" with permissions "%s" (Share ID: %s)', |
|
|
|
|
$params, |
|
|
|
|
[ |
|
|
|
|
'itemType', |
|
|
|
|
'path', |
|
|
|
|
'itemSource', |
|
|
|
|
'shareWith', |
|
|
|
|
'permissions', |
|
|
|
|
'id', |
|
|
|
|
] |
|
|
|
|
); |
|
|
|
|
} elseif ($params['shareType'] === IShare::TYPE_ROOM) { |
|
|
|
|
$this->log( |
|
|
|
|
'The %s "%s" with ID "%s" has been shared to the room "%s" with permissions "%s" (Share ID: %s)', |
|
|
|
|
$params, |
|
|
|
|
[ |
|
|
|
|
'itemType', |
|
|
|
|
'path', |
|
|
|
|
'itemSource', |
|
|
|
|
'shareWith', |
|
|
|
|
'permissions', |
|
|
|
|
'id', |
|
|
|
|
] |
|
|
|
|
); |
|
|
|
|
} elseif ($params['shareType'] === IShare::TYPE_EMAIL) { |
|
|
|
|
$this->log( |
|
|
|
|
'The %s "%s" with ID "%s" has been shared to the email recipient "%s" with permissions "%s" (Share ID: %s)', |
|
|
|
|
$params, |
|
|
|
|
[ |
|
|
|
|
'itemType', |
|
|
|
|
'path', |
|
|
|
|
'itemSource', |
|
|
|
|
'shareWith', |
|
|
|
|
'permissions', |
|
|
|
|
'id', |
|
|
|
|
] |
|
|
|
|
); |
|
|
|
|
} elseif ($params['shareType'] === IShare::TYPE_CIRCLE) { |
|
|
|
|
$this->log( |
|
|
|
|
'The %s "%s" with ID "%s" has been shared to the circle "%s" with permissions "%s" (Share ID: %s)', |
|
|
|
|
$params, |
|
|
|
|
[ |
|
|
|
|
'itemType', |
|
|
|
|
'path', |
|
|
|
|
'itemSource', |
|
|
|
|
'shareWith', |
|
|
|
|
'permissions', |
|
|
|
|
'id', |
|
|
|
|
] |
|
|
|
|
); |
|
|
|
|
} elseif ($params['shareType'] === IShare::TYPE_REMOTE) { |
|
|
|
|
$this->log( |
|
|
|
|
'The %s "%s" with ID "%s" has been shared to the remote user "%s" with permissions "%s" (Share ID: %s)', |
|
|
|
|
$params, |
|
|
|
|
[ |
|
|
|
|
'itemType', |
|
|
|
|
'path', |
|
|
|
|
'itemSource', |
|
|
|
|
'shareWith', |
|
|
|
|
'permissions', |
|
|
|
|
'id', |
|
|
|
|
] |
|
|
|
|
); |
|
|
|
|
} elseif ($params['shareType'] === IShare::TYPE_REMOTE_GROUP) { |
|
|
|
|
$this->log( |
|
|
|
|
'The %s "%s" with ID "%s" has been shared to the remote group "%s" with permissions "%s" (Share ID: %s)', |
|
|
|
|
$params, |
|
|
|
|
[ |
|
|
|
|
'itemType', |
|
|
|
|
'path', |
|
|
|
|
'itemSource', |
|
|
|
|
'shareWith', |
|
|
|
|
'permissions', |
|
|
|
|
'id', |
|
|
|
|
] |
|
|
|
|
); |
|
|
|
|
} elseif ($params['shareType'] === IShare::TYPE_DECK) { |
|
|
|
|
$this->log( |
|
|
|
|
'The %s "%s" with ID "%s" has been shared to the deck card "%s" with permissions "%s" (Share ID: %s)', |
|
|
|
|
$params, |
|
|
|
|
[ |
|
|
|
|
'itemType', |
|
|
|
|
'path', |
|
|
|
|
'itemSource', |
|
|
|
|
'shareWith', |
|
|
|
|
'permissions', |
|
|
|
|
'id', |
|
|
|
|
] |
|
|
|
|
); |
|
|
|
|
} elseif ($params['shareType'] === IShare::TYPE_SCIENCEMESH) { |
|
|
|
|
$this->log( |
|
|
|
|
'The %s "%s" with ID "%s" has been shared to the ScienceMesh user "%s" with permissions "%s" (Share ID: %s)', |
|
|
|
|
$params, |
|
|
|
|
[ |
|
|
|
|
'itemType', |
|
|
|
|
'path', |
|
|
|
|
'itemSource', |
|
|
|
|
'shareWith', |
|
|
|
|
'permissions', |
|
|
|
|
'id', |
|
|
|
|
] |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Logs unsharing of data |
|
|
|
|
* |
|
|
|
|
* @param array $params |
|
|
|
|
*/ |
|
|
|
|
public function unshare(array $params): void { |
|
|
|
|
if ($params['shareType'] === IShare::TYPE_LINK) { |
|
|
|
|
$this->log( |
|
|
|
|
'The %s "%s" with ID "%s" has been unshared (Share ID: %s)', |
|
|
|
|
$params, |
|
|
|
|
[ |
|
|
|
|
'itemType', |
|
|
|
|
'fileTarget', |
|
|
|
|
'itemSource', |
|
|
|
|
'id', |
|
|
|
|
] |
|
|
|
|
); |
|
|
|
|
} elseif ($params['shareType'] === IShare::TYPE_USER) { |
|
|
|
|
$this->log( |
|
|
|
|
'The %s "%s" with ID "%s" has been unshared from the user "%s" (Share ID: %s)', |
|
|
|
|
$params, |
|
|
|
|
[ |
|
|
|
|
'itemType', |
|
|
|
|
'fileTarget', |
|
|
|
|
'itemSource', |
|
|
|
|
'shareWith', |
|
|
|
|
'id', |
|
|
|
|
] |
|
|
|
|
); |
|
|
|
|
} elseif ($params['shareType'] === IShare::TYPE_GROUP) { |
|
|
|
|
$this->log( |
|
|
|
|
'The %s "%s" with ID "%s" has been unshared from the group "%s" (Share ID: %s)', |
|
|
|
|
$params, |
|
|
|
|
[ |
|
|
|
|
'itemType', |
|
|
|
|
'fileTarget', |
|
|
|
|
'itemSource', |
|
|
|
|
'shareWith', |
|
|
|
|
'id', |
|
|
|
|
] |
|
|
|
|
); |
|
|
|
|
} elseif ($params['shareType'] === IShare::TYPE_ROOM) { |
|
|
|
|
$this->log( |
|
|
|
|
'The %s "%s" with ID "%s" has been unshared from the room "%s" (Share ID: %s)', |
|
|
|
|
$params, |
|
|
|
|
[ |
|
|
|
|
'itemType', |
|
|
|
|
'fileTarget', |
|
|
|
|
'itemSource', |
|
|
|
|
'shareWith', |
|
|
|
|
'id', |
|
|
|
|
] |
|
|
|
|
); |
|
|
|
|
} elseif ($params['shareType'] === IShare::TYPE_EMAIL) { |
|
|
|
|
$this->log( |
|
|
|
|
'The %s "%s" with ID "%s" has been unshared from the email recipient "%s" (Share ID: %s)', |
|
|
|
|
$params, |
|
|
|
|
[ |
|
|
|
|
'itemType', |
|
|
|
|
'fileTarget', |
|
|
|
|
'itemSource', |
|
|
|
|
'shareWith', |
|
|
|
|
'id', |
|
|
|
|
] |
|
|
|
|
); |
|
|
|
|
} elseif ($params['shareType'] === IShare::TYPE_CIRCLE) { |
|
|
|
|
$this->log( |
|
|
|
|
'The %s "%s" with ID "%s" has been unshared from the circle "%s" (Share ID: %s)', |
|
|
|
|
$params, |
|
|
|
|
[ |
|
|
|
|
'itemType', |
|
|
|
|
'fileTarget', |
|
|
|
|
'itemSource', |
|
|
|
|
'shareWith', |
|
|
|
|
'id', |
|
|
|
|
] |
|
|
|
|
); |
|
|
|
|
} elseif ($params['shareType'] === IShare::TYPE_REMOTE) { |
|
|
|
|
$this->log( |
|
|
|
|
'The %s "%s" with ID "%s" has been unshared from the remote user "%s" (Share ID: %s)', |
|
|
|
|
$params, |
|
|
|
|
[ |
|
|
|
|
'itemType', |
|
|
|
|
'fileTarget', |
|
|
|
|
'itemSource', |
|
|
|
|
'shareWith', |
|
|
|
|
'id', |
|
|
|
|
] |
|
|
|
|
); |
|
|
|
|
} elseif ($params['shareType'] === IShare::TYPE_REMOTE_GROUP) { |
|
|
|
|
$this->log( |
|
|
|
|
'The %s "%s" with ID "%s" has been unshared from the remote group "%s" (Share ID: %s)', |
|
|
|
|
$params, |
|
|
|
|
[ |
|
|
|
|
'itemType', |
|
|
|
|
'fileTarget', |
|
|
|
|
'itemSource', |
|
|
|
|
'shareWith', |
|
|
|
|
'id', |
|
|
|
|
] |
|
|
|
|
); |
|
|
|
|
} elseif ($params['shareType'] === IShare::TYPE_DECK) { |
|
|
|
|
$this->log( |
|
|
|
|
'The %s "%s" with ID "%s" has been unshared from the deck card "%s" (Share ID: %s)', |
|
|
|
|
$params, |
|
|
|
|
[ |
|
|
|
|
'itemType', |
|
|
|
|
'fileTarget', |
|
|
|
|
'itemSource', |
|
|
|
|
'shareWith', |
|
|
|
|
'id', |
|
|
|
|
] |
|
|
|
|
); |
|
|
|
|
} elseif ($params['shareType'] === IShare::TYPE_SCIENCEMESH) { |
|
|
|
|
$this->log( |
|
|
|
|
'The %s "%s" with ID "%s" has been unshared from the ScienceMesh user "%s" (Share ID: %s)', |
|
|
|
|
$params, |
|
|
|
|
[ |
|
|
|
|
'itemType', |
|
|
|
|
'fileTarget', |
|
|
|
|
'itemSource', |
|
|
|
|
'shareWith', |
|
|
|
|
'id', |
|
|
|
|
] |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Logs the updating of permission changes for shares |
|
|
|
|
|