aboutsummaryrefslogtreecommitdiff
path: root/lib/activities/CoursewareProvider.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/activities/CoursewareProvider.php')
-rwxr-xr-xlib/activities/CoursewareProvider.php38
1 files changed, 38 insertions, 0 deletions
diff --git a/lib/activities/CoursewareProvider.php b/lib/activities/CoursewareProvider.php
new file mode 100755
index 0000000..5e5faae
--- /dev/null
+++ b/lib/activities/CoursewareProvider.php
@@ -0,0 +1,38 @@
+<?php
+
+namespace Studip\Activity;
+
+
+class CoursewareProvider implements ActivityProvider
+{
+
+ public function getActivityDetails($activity)
+ {
+ $structural_element = \Courseware\StructuralElement::find($activity->object_id);
+ if (!$structural_element) {
+ return false;
+ }
+ $payload = json_decode($structural_element['payload']);
+
+ $activity->content = formatReady($payload['description']);
+
+ if ($activity->context == "course") {
+ $url = \URLHelper::getURL('dispatch.php/course/courseware/?cid='). $activity->context_id . '#/structural_element/' . $structural_element->id;
+ $activity->object_url = [
+ $url => _('Zur Courseware in der Veranstaltung')
+ ];
+ } elseif ($activity->context == "user") {
+ $url = \URLHelper::getURL('dispatch.php/contents/my_contents'). '#/structural_element/' . $structural_element->id;
+ $activity->object_url = [
+ $url => _('Zur eigenen Courseware')
+ ];
+ }
+
+ return true;
+ }
+
+ public static function getLexicalField()
+ {
+ return _('eine Courseware-Aktivität');
+ }
+} \ No newline at end of file