aboutsummaryrefslogtreecommitdiff
path: root/lib/models/FileRef.php
diff options
context:
space:
mode:
authorDavid Siegfried <david.siegfried@uni-vechta.de>2026-02-27 16:54:19 +0100
committerDavid Siegfried <david.siegfried@uni-vechta.de>2026-02-27 16:54:19 +0100
commitab8c6aee0e3df0565a56fc342c5107904935da2d (patch)
tree40cea85374999b0ecb0c6f6f75b790340c686f5b /lib/models/FileRef.php
parenta4a60be9c7e810d1e0d2ce0b7d4c8bba6ac89afc (diff)
extend file and folder logging, fixes #6251tic-6251
Diffstat (limited to 'lib/models/FileRef.php')
-rw-r--r--lib/models/FileRef.php41
1 files changed, 36 insertions, 5 deletions
diff --git a/lib/models/FileRef.php b/lib/models/FileRef.php
index 043aec1..0487121 100644
--- a/lib/models/FileRef.php
+++ b/lib/models/FileRef.php
@@ -74,6 +74,8 @@ class FileRef extends SimpleORMap implements PrivacyObject, FeedbackRange
$config['registered_callbacks']['after_delete'][] = 'cbRemoveFeedbackElements';
$config['registered_callbacks']['before_delete'][] = 'cbLogDeleteFileRef';
$config['registered_callbacks']['before_store'][] = 'cbMakeUniqueFilename';
+ $config['registered_callbacks']['after_store'][] = 'cbLogUpdateFileRef';
+ $config['registered_callbacks']['after_create'][] = 'cbLogCreateFileRef';
parent::configure($config);
}
@@ -82,18 +84,47 @@ class FileRef extends SimpleORMap implements PrivacyObject, FeedbackRange
protected $download_url;
public $path_to_blob;
+ private function getLogComment(): string
+ {
+ $comment = sprintf(
+ 'Kommentar: %s',
+ $this->name
+ );
+
+ $range_fullname = $this->folder->getRangeFullname();
+
+ if ($range_fullname) {
+ $comment .= " - $range_fullname";
+ }
+ return $comment;
+ }
+
+ public function cbLogUpdateFileRef()
+ {
+ StudipLog::log('FILE_UPDATE',
+ User::findCurrent()->id,
+ $this->folder->range_id,
+ $this->getLogComment()
+ );
+ }
public function cbLogDeleteFileRef()
{
StudipLog::log('FILE_DELETE',
User::findCurrent()->id,
- null,
- sprintf(
- 'Kommentar: %s',
- $this->name
- )
+ $this->folder->range_id,
+ $this->getLogComment()
+ );
+ }
+ public function cbLogCreateFileRef()
+ {
+ StudipLog::log('FILE_UPLOAD',
+ User::findCurrent()->id,
+ $this->folder->range_id,
+ $this->getLogComment()
);
}
+
/**
* This callback is called after deleting a FileRef.
* It removes the File object that is associated with the FileRef,