/** * send exercise per mail to members */ function sendAssignment($a_exc_id, $a_ass_id, $a_members) { include_once "./Modules/Exercise/classes/class.ilExAssignment.php"; $ass_title = ilExAssignment::lookupTitle($a_ass_id); include_once "./Modules/Exercise/classes/class.ilFSStorageExercise.php"; $storage = new ilFSStorageExercise($a_exc_id, $a_ass_id); $files = $storage->getFiles(); if (count($files)) { include_once "./Services/Mail/classes/class.ilFileDataMail.php"; $mfile_obj = new ilFileDataMail($_SESSION["AccountId"]); foreach ($files as $file) { $mfile_obj->copyAttachmentFile($file["fullpath"], $file["name"]); $file_names[] = $file["name"]; } } include_once "Services/Mail/classes/class.ilMail.php"; $tmp_mail_obj = new ilMail($_SESSION["AccountId"]); $message = $tmp_mail_obj->sendMail($this->__formatRecipients($a_members), "", "", $this->__formatSubject($ass_title), $this->__formatBody($a_ass_id), count($file_names) ? $file_names : array(), array("normal")); unset($tmp_mail_obj); if (count($file_names)) { $mfile_obj->unlinkFiles($file_names); unset($mfile_obj); } // SET STATUS SENT FOR ALL RECIPIENTS foreach ($a_members as $member_id => $value) { ilExAssignment::updateStatusSentForUser($a_ass_id, $member_id, 1); } return true; }
/** * Get files */ static function getFiles($a_exc_id, $a_ass_id) { include_once "./Modules/Exercise/classes/class.ilFSStorageExercise.php"; $storage = new ilFSStorageExercise($a_exc_id, $a_ass_id); return $storage->getFiles(); }
private function handleAssignmentFiles($ex_id, $as_id) { $this->xmlStartTag("Files"); include_once "./Modules/Exercise/classes/class.ilFSStorageExercise.php"; $storage = new ilFSStorageExercise($ex_id, $as_id); $files = $storage->getFiles(); if (count($files)) { foreach ($files as $file) { $this->xmlStartTag("File", array("size" => $file["size"])); $this->xmlElement("Filename", null, $file["name"]); if ($this->attachFileContents) { $filename = $file["fullpath"]; if (@is_file($filename)) { $content = @file_get_contents($filename); $attribs = array("mode" => "PLAIN"); if ($this->attachFileContents == ilExerciseXMLWriter::$CONTENT_ATTACH_ZLIB_ENCODED) { $attribs = array("mode" => "ZLIB"); $content = gzcompress($content, 9); } elseif ($this->attachFileContents == ilExerciseXMLWriter::$CONTENT_ATTACH_GZIP_ENCODED) { $attribs = array("mode" => "GZIP"); $content = gzencode($content, 9); } $content = base64_encode($content); $this->xmlElement("Content", $attribs, $content); } } $this->xmlEndTag("File"); } } $this->xmlEndTag("Files"); }