/**
  * 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");
 }