ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
All Data Structures Namespaces Files Functions Variables Typedefs Modules Pages
ilExAssTypeWikiTeam Class Reference

Team wiki type. More...

+ Inheritance diagram for ilExAssTypeWikiTeam:
+ Collaboration diagram for ilExAssTypeWikiTeam:

Public Member Functions

 __construct (ilLanguage $a_lng=null)
 Constructor. More...
 
 isActive ()
 Is assignment type active?
Returns
bool
More...
 
 usesTeams ()
 Uses teams.
Returns
bool
More...
 
 usesFileUpload ()
 Uses file upload.
Returns
bool
More...
 
 getTitle ()
 Get title of type.
Returns
string
More...
 
 getSubmissionType ()
 Get submission type.
Returns
string
More...
 
 isSubmissionAssignedToTeam ()
 Get submission type.
Returns
string
More...
 
 submitWiki ($a_ass_id, $a_user_id, $a_wiki_ref_id)
 Submit wiki. More...
 
 cloneSpecificProperties (ilExAssignment $source, ilExAssignment $target)
 Clone type specific properties of an assignment.
Parameters
ilExAssignment$source
ilExAssignment$target
More...
 

Protected Member Functions

 handleNewUpload (ilExAssignment $ass, ilExSubmission $submission, $a_no_notifications=false)
 

Protected Attributes

 $lng
 

Detailed Description

Team wiki type.

Author
Alex Killing killi.nosp@m.ng@l.nosp@m.eifos.nosp@m..de

Definition at line 12 of file class.ilExAssTypeWikiTeam.php.

Constructor & Destructor Documentation

◆ __construct()

ilExAssTypeWikiTeam::__construct ( ilLanguage  $a_lng = null)

Constructor.

Parameters
ilLanguage | null$a_lng

Definition at line 24 of file class.ilExAssTypeWikiTeam.php.

References $DIC.

25  {
26  global $DIC;
27 
28  $this->lng = ($a_lng)
29  ? $a_lng
30  : $DIC->language();
31  }
global $DIC
Definition: saml.php:7

Member Function Documentation

◆ cloneSpecificProperties()

ilExAssTypeWikiTeam::cloneSpecificProperties ( ilExAssignment  $source,
ilExAssignment  $target 
)

Clone type specific properties of an assignment.

Parameters
ilExAssignment$source
ilExAssignment$target

Implements ilExAssignmentTypeInterface.

Definition at line 169 of file class.ilExAssTypeWikiTeam.php.

References ilExAssignment\getId(), ActiveRecord\save(), ilExAssWikiTeamAR\setContainerRefId(), ilExAssWikiTeamAR\setId(), and ilExAssWikiTeamAR\setTemplateRefId().

170  {
171  include_once("./Modules/Exercise/AssignmentTypes/classes/class.ilExAssWikiTeamAR.php");
172  $source_ar = new ilExAssWikiTeamAR($source->getId());
173  $target_ar = new ilExAssWikiTeamAR();
174  $target_ar->setId($target->getId());
175  $target_ar->setTemplateRefId($source_ar->getTemplateRefId());
176  $target_ar->setContainerRefId($source_ar->getContainerRefId());
177  $target_ar->save();
178  }
getId()
Get assignment id.
Item group active record class.
setTemplateRefId($a_template_ref_id)
Set template ref id.
setContainerRefId($a_container_ref_id)
Set container ref id.
+ Here is the call graph for this function:

◆ getSubmissionType()

ilExAssTypeWikiTeam::getSubmissionType ( )

Get submission type.

Returns
string

Implements ilExAssignmentTypeInterface.

Definition at line 70 of file class.ilExAssTypeWikiTeam.php.

References ilExSubmission\TYPE_REPO_OBJECT.

71  {
73  }

◆ getTitle()

ilExAssTypeWikiTeam::getTitle ( )

Get title of type.

Returns
string

Implements ilExAssignmentTypeInterface.

Definition at line 60 of file class.ilExAssTypeWikiTeam.php.

References $lng.

61  {
62  $lng = $this->lng;
63  $lng->loadLanguageModule("wiki");
64  return $lng->txt("wiki_type_wiki_team");
65  }

◆ handleNewUpload()

ilExAssTypeWikiTeam::handleNewUpload ( ilExAssignment  $ass,
ilExSubmission  $submission,
  $a_no_notifications = false 
)
protected

Definition at line 128 of file class.ilExAssTypeWikiTeam.php.

References $users, ilObject\_getAllReferences(), ilExAssignment\getExerciseId(), ilExAssignment\getId(), ilNotification\getNotificationsForObject(), ilExSubmission\getUserIds(), ilExSubmission\hasSubmitted(), ilObjExercise\processExerciseStatus(), ilNotification\TYPE_EXERCISE_SUBMISSION, ilExerciseMailNotification\TYPE_SUBMISSION_UPLOAD, and ilExSubmission\validatePeerReviews().

Referenced by submitWiki().

132  {
133  $has_submitted = $submission->hasSubmitted();
134 
135  // we need one ref id here
136  $exc_ref_ids = ilObject::_getAllReferences($ass->getExerciseId());
137  $exc_ref_id = current($exc_ref_ids);
138 
139  $exc = new ilObjExercise($ass->getExerciseId(), false);
140 
141  $exc->processExerciseStatus(
142  $ass,
143  $submission->getUserIds(),
144  $has_submitted,
145  $submission->validatePeerReviews()
146  );
147 
148  if ($has_submitted &&
149  !$a_no_notifications) {
150  include_once "./Services/Notification/classes/class.ilNotification.php";
153  $exc->getId()
154  );
155 
156  include_once "./Modules/Exercise/classes/class.ilExerciseMailNotification.php";
157  $not = new ilExerciseMailNotification();
159  $not->setAssignmentId($ass->getId());
160  $not->setRefId($exc_ref_id);
161  $not->setRecipients($users);
162  $not->send();
163  }
164  }
getId()
Get assignment id.
static _getAllReferences($a_id)
get all reference ids of object
static getNotificationsForObject($type, $id, $page_id=null, $ignore_threshold=false)
Get all users for given object.
getExerciseId()
Get exercise id.
Class ilObjExercise.
$users
Definition: authpage.php:44
processExerciseStatus(ilExAssignment $a_ass, array $a_user_ids, $a_has_submitted, array $a_valid_submissions=null)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isActive()

ilExAssTypeWikiTeam::isActive ( )

Is assignment type active?

Returns
bool

Implements ilExAssignmentTypeInterface.

Definition at line 36 of file class.ilExAssTypeWikiTeam.php.

37  {
38  return true;
39  }

◆ isSubmissionAssignedToTeam()

ilExAssTypeWikiTeam::isSubmissionAssignedToTeam ( )

Get submission type.

Returns
string

Implements ilExAssignmentTypeInterface.

Definition at line 78 of file class.ilExAssTypeWikiTeam.php.

79  {
80  return true;
81  }

◆ submitWiki()

ilExAssTypeWikiTeam::submitWiki (   $a_ass_id,
  $a_user_id,
  $a_wiki_ref_id 
)

Submit wiki.

Parameters
int$a_ass_id
int$a_user_id
int$a_wiki_ref_id

Definition at line 90 of file class.ilExAssTypeWikiTeam.php.

References $size, and handleNewUpload().

91  {
92  include_once "Modules/Exercise/classes/class.ilObjExercise.php";
93  include_once "Modules/Exercise/classes/class.ilExAssignment.php";
94  include_once "Modules/Exercise/classes/class.ilExSubmission.php";
95 
96  $ass = new ilExAssignment($a_ass_id);
97  $submission = new ilExSubmission($ass, $a_user_id);
98 
99  if (!$submission->canSubmit()) {
100  return;
101  }
102 
103  include_once "Modules/Wiki/classes/class.ilObjWiki.php";
104  $wiki = new ilObjWiki((int) $a_wiki_ref_id);
105  include_once("./Modules/Wiki/classes/class.ilWikiHTMLExport.php");
106  $exp = new ilWikiHTMLExport($wiki);
107  //$exp->setMode(ilWikiHTMLExport::MODE_USER);
108  $file = $exp->buildExportFile();
109 
110  $size = filesize($file);
111  if ($size) {
112  $submission->deleteAllFiles();
113 
114  $meta = array(
115  "name" => $a_wiki_ref_id,
116  "tmp_name" => $file,
117  "size" => $size
118  );
119  $submission->uploadFile($meta, true);
120 
121  $this->handleNewUpload($ass, $submission);
122  return true;
123  }
124  return false;
125  }
$size
Definition: RandomTest.php:84
Exercise assignment.
Class ilObjWiki.
handleNewUpload(ilExAssignment $ass, ilExSubmission $submission, $a_no_notifications=false)
Wiki HTML exporter class.
Exercise submission //TODO: This class has to much static methods related to delivered "files"...
+ Here is the call graph for this function:

◆ usesFileUpload()

ilExAssTypeWikiTeam::usesFileUpload ( )

Uses file upload.

Returns
bool

Implements ilExAssignmentTypeInterface.

Definition at line 52 of file class.ilExAssTypeWikiTeam.php.

53  {
54  return false;
55  }

◆ usesTeams()

ilExAssTypeWikiTeam::usesTeams ( )

Uses teams.

Returns
bool

Implements ilExAssignmentTypeInterface.

Definition at line 44 of file class.ilExAssTypeWikiTeam.php.

45  {
46  return true;
47  }

Field Documentation

◆ $lng

ilExAssTypeWikiTeam::$lng
protected

Definition at line 17 of file class.ilExAssTypeWikiTeam.php.

Referenced by getTitle().


The documentation for this class was generated from the following file: