4 include_once
"./Services/Xml/classes/class.ilXmlWriter.php";
5 include_once
"./Modules/Exercise/classes/class.ilExAssignment.php";
63 parent::__construct();
100 $attribs = array(
"obj_id" =>
"il_" . IL_INST_ID .
"_exc_" . $this->exercise->getId() );
102 if ($this->exercise->getOwner()) {
103 $attribs [
"owner"] =
"il_" . IL_INST_ID .
"_usr_" . $this->exercise->getOwner();
109 $this->
xmlElement(
"Title", null, $this->exercise->getTitle());
110 $this->
xmlElement(
"Description", null, $this->exercise->getDescription());
118 if (count($assignments) > 0) {
119 foreach ($assignments as $assignment) {
121 $this->
xmlElement(
"Instruction", null, $assignment [
"instruction"]);
122 $this->
xmlElement(
"DueDate", null, $assignment [
"deadline"]);
125 if ($this->attachMembers) {
146 $this->
xmlSetDtdDef(
"<!DOCTYPE Exercise PUBLIC \"-//ILIAS//DTD ExerciseAdministration//EN\" \"" . ILIAS_HTTP_PATH .
"/xml/ilias_exercise_4_4.dtd\">");
164 $this->attachMembers = $value ? true :
false;
177 $amark = $ass->getMemberStatus($user_id)->getMark();
178 $astatus = $ass->getMemberStatus($user_id)->getStatus();
179 $acomment = $ass->getMemberStatus($user_id)->getComment();
180 $anotice = $ass->getMemberStatus($user_id)->getNotice();
183 if ($astatus ==
"notgraded") {
185 } elseif ($astatus ==
"failed") {
191 $this->
xmlStartTag(
"Marking", array(
"status" => $status ));
194 $this->
xmlElement(
"Comment", null, $acomment);
201 include_once(
"./Modules/Exercise/classes/class.ilFSStorageExercise.php");
203 $files = $storage->getFiles();
206 foreach (
$files as $file) {
207 $this->
xmlStartTag(
"File", array(
"size" => $file [
"size"] ));
208 $this->
xmlElement(
"Filename", null, $file [
"name"]);
209 if ($this->attachFileContents) {
212 $content = @file_get_contents(
$filename);
213 $attribs = array(
"mode" =>
"PLAIN" );
215 $attribs = array(
"mode" =>
"ZLIB" );
216 $content = gzcompress($content, 9);
218 $attribs = array(
"mode" =>
"GZIP" );
219 $content = gzencode($content, 9);
221 $content = base64_encode($content);
222 $this->
xmlElement(
"Content", $attribs, $content);
240 include_once(
"./Modules/Exercise/classes/class.ilExerciseMembers.php");
242 if (count($members)) {
243 foreach ($members as $member_id) {
244 $this->
xmlStartTag(
"Member", array(
"usr_id" =>
"il_" . IL_INST_ID .
"_usr_" . $member_id ));
static _lookupName($a_user_id)
lookup user name
static $CONTENT_ATTACH_ENCODED
xmlStartTag($tag, $attrs=null, $empty=false, $encode=true, $escape=true)
Writes a starttag.
xmlSetGenCmt($genCmt)
Sets generated comment.
static getAssignmentDataOfExercise($a_exc_id)
Get assignments data of an exercise in an array.
xmlSetDtdDef($dtdDef)
Sets dtd definition.
setAttachMembers($value)
write access to property attchMarkings
handleAssignmentMembers($ex_id, $assignment_id)
create xml for files per assignment
xmlDumpMem($format=true)
Returns xml document from memory.
static $CONTENT_ATTACH_GZIP_ENCODED
static $STATUS_NOT_GRADED
handleAssignmentFiles($ex_id, $as_id)
xmlEndTag($tag)
Writes an endtag.
static $CONTENT_ATTACH_ZLIB_ENCODED
static $ID_DEFLATE_METHOD_MISMATCH
attachMarking($user_id, $assignment_id)
attach marking tag to member for given assignment
xmlHeader()
Writes xml header public.
setAttachFileContents($attachFileContents)
set attachment content mode
xmlElement($tag, $attrs=null, $data=null, $encode=true, $escape=true)
Writes a basic element (no children, just textual content)
static $CONTENT_ATTACH_NO
setExercise($exercise)
set exercise object
static _getMembers($a_obj_id)
Exercise exceptions class.