4 include_once(
"./Services/Table/classes/class.ilTable2GUI.php");
 
    5 include_once(
"./Modules/Exercise/classes/class.ilExAssignment.php");
 
   21         function __construct($a_parent_obj, $a_parent_cmd, $a_exc, $a_ass_id)
 
   26                 $this->exc_id = $this->exc->getId();
 
   27                 $this->
setId(
"exc_mem_".$a_ass_id);
 
   30                 include_once(
"./Modules/Exercise/classes/class.ilFSStorageExercise.php");
 
   32                 include_once(
"./Modules/Exercise/classes/class.ilExAssignment.php");
 
   34                 $this->ass_id = $a_ass_id;
 
   38                 $this->
setTitle($lng->txt(
"exc_assignment").
": ".
 
   44                 $this->
addColumn($this->lng->txt(
"image"), 
"", 
"1");
 
   45                 $this->
addColumn($this->lng->txt(
"name"), 
"name");
 
   46                 $this->
addColumn($this->lng->txt(
"login"), 
"login");
 
   50                         $this->
addColumn($this->lng->txt(
"exc_exercise_sent"), 
"sent_time");
 
   52                 $this->
addColumn($this->lng->txt(
"exc_submission"), 
"submission");
 
   53                 $this->
addColumn($this->lng->txt(
"exc_grading"), 
"solved_time");
 
   54                 $this->
addColumn($this->lng->txt(
"feedback"), 
"feedback_time");
 
   61                 $this->
setRowTemplate(
"tpl.exc_members_row.html", 
"Modules/Exercise");
 
   67                 $this->
addMultiCommand(
"redirectFeedbackMail", $lng->txt(
"exc_send_mail"));
 
   68                 $this->
addMultiCommand(
"sendMembers", $lng->txt(
"exc_send_assignment"));
 
   69                 $this->
addMultiCommand(
"confirmDeassignMembers", $lng->txt(
"exc_deassign_members"));
 
   74                         $this->
addCommandButton(
"downloadAll", $lng->txt(
"download_all_returned_files"));
 
   85                 include_once 
"./classes/class.ilObjectFactory.php";             
 
   86                 $member_id = $member[
"usr_id"];
 
   98                                 $this->tpl->setCurrentBlock(
"mail_sent");
 
  102                                         $this->tpl->setVariable(
"TXT_MAIL_SENT",
 
  103                                                 sprintf($lng->txt(
"exc_sent_at"),
 
  108                                         $this->tpl->setVariable(
"TXT_MAIL_SENT",
 
  111                                 $this->tpl->parseCurrentBlock();
 
  115                                 $this->tpl->setCurrentBlock(
"mail_sent");
 
  116                                 $this->tpl->setVariable(
"TXT_MAIL_SENT",
 
  118                                 $this->tpl->parseCurrentBlock();
 
  123                 $this->tpl->setVariable(
"VAL_CHKBOX",
 
  125                 $this->tpl->setVariable(
"VAL_ID",
 
  129                 $this->tpl->setVariable(
"TXT_NAME",
 
  131                 $this->tpl->setVariable(
"TXT_LOGIN",
 
  132                         "[".$member[
"login"].
"]");
 
  135                 $this->tpl->setVariable(
"USR_IMAGE",
 
  136                         $mem_obj->getPersonalPicturePath(
"xxsmall"));
 
  137                 $this->tpl->setVariable(
"USR_ALT", $lng->txt(
"personal_picture"));
 
  153                         $last_sub = 
"<b>".$last_sub.
"</b>";
 
  155                 $this->tpl->setVariable(
"VAL_LAST_SUBMISSION", $last_sub);
 
  156                 $this->tpl->setVariable(
"TXT_LAST_SUBMISSION",
 
  157                         $lng->txt(
"exc_last_submission"));
 
  160                 $this->tpl->setVariable(
"TXT_SUBMITTED_FILES",
 
  161                         $lng->txt(
"exc_files_returned"));
 
  167                         $sub_cnt.= 
" ".sprintf($lng->txt(
"cnt_new"),count($new));
 
  169                 $this->tpl->setVariable(
"VAL_SUBMITTED_FILES",
 
  173                 $ilCtrl->setParameter($this->parent_obj, 
"member_id", $member_id);
 
  176                         $this->tpl->setCurrentBlock(
"download_link");
 
  177                         $this->tpl->setVariable(
"LINK_DOWNLOAD",
 
  178                                 $ilCtrl->getLinkTarget($this->parent_obj, 
"downloadReturned"));
 
  179                         if (count($new) <= 0)
 
  181                                 $this->tpl->setVariable(
"TXT_DOWNLOAD",
 
  182                                         $lng->txt(
"exc_download_files"));
 
  186                                 $this->tpl->setVariable(
"TXT_DOWNLOAD",
 
  187                                         $lng->txt(
"exc_download_all"));
 
  189                         $this->tpl->parseCurrentBlock();
 
  194                                 $this->tpl->setCurrentBlock(
"download_link");
 
  195                                 $this->tpl->setVariable(
"LINK_NEW_DOWNLOAD",
 
  196                                         $ilCtrl->getLinkTarget($this->parent_obj, 
"downloadNewReturned"));
 
  197                                 $this->tpl->setVariable(
"TXT_NEW_DOWNLOAD",
 
  198                                         $lng->txt(
"exc_download_new"));
 
  199                                 $this->tpl->parseCurrentBlock();
 
  204                 $this->tpl->setVariable(
"TXT_NOTE", $lng->txt(
"note"));
 
  205                 $this->tpl->setVariable(
"NAME_NOTE",
 
  206                         "notice[$member_id]");
 
  207                 $this->tpl->setVariable(
"VAL_NOTE",
 
  211                 $this->tpl->setVariable(
"TXT_LCOMMENT", $lng->txt(
"exc_comment_for_learner"));
 
  212                 $this->tpl->setVariable(
"NAME_LCOMMENT",
 
  213                         "lcomment[$member_id]");
 
  215                 $this->tpl->setVariable(
"VAL_LCOMMENT",
 
  222                 $this->tpl->setVariable(
"SEL_".strtoupper($status), 
' selected="selected" ');
 
  223                 $this->tpl->setVariable(
"TXT_NOTGRADED", $lng->txt(
"exc_notgraded"));
 
  224                 $this->tpl->setVariable(
"TXT_PASSED", $lng->txt(
"exc_passed"));
 
  225                 $this->tpl->setVariable(
"TXT_FAILED", $lng->txt(
"exc_failed"));
 
  228                         $this->tpl->setCurrentBlock(
"status_date");
 
  229                         $this->tpl->setVariable(
"TXT_LAST_CHANGE", $lng->txt(
"last_change"));
 
  230                         $this->tpl->setVariable(
'VAL_STATUS_DATE',
 
  232                         $this->tpl->parseCurrentBlock();
 
  236                         case "passed":  $pic = 
"scorm/passed.gif"; 
break;
 
  237                         case "failed":  $pic = 
"scorm/failed.gif"; 
break;
 
  238                         default:                $pic = 
"scorm/not_attempted.gif"; 
break;
 
  241                 $this->tpl->setVariable(
"ALT_STATUS", $lng->txt(
"exc_".$status));
 
  244                 $this->tpl->setVariable(
"TXT_MARK", $lng->txt(
"exc_mark"));
 
  245                 $this->tpl->setVariable(
"NAME_MARK",
 
  248                 $this->tpl->setVariable(
"VAL_MARK",
 
  252                 $ilCtrl->setParameter($this->parent_obj, 
"member_id", $member_id);
 
  255                         $this->tpl->setCurrentBlock(
"feedback_date");
 
  256                         $this->tpl->setVariable(
"TXT_FEEDBACK_MAIL_SENT",
 
  257                                 sprintf($lng->txt(
"exc_sent_at"),
 
  259                         $this->tpl->parseCurrentBlock();
 
  263                 $ilCtrl->setParameter($this, 
"rcp_to", $mem_obj->getLogin());
 
  264                 $this->tpl->setVariable(
"LINK_FEEDBACK",
 
  265                         $ilCtrl->getLinkTarget($this->parent_obj, 
"redirectFeedbackMail"));
 
  266                 $this->tpl->setVariable(
"TXT_FEEDBACK",
 
  267                         $lng->txt(
"exc_send_mail"));
 
  268                 $ilCtrl->setParameter($this->parent_obj, 
"rcp_to", 
"");
 
  271                 $cnt_files = $this->storage->countFeedbackFiles($member_id);
 
  272                 $ilCtrl->setParameter($this->parent_obj, 
"fsmode", 
"feedback");
 
  273                 $this->tpl->setVariable(
"LINK_FILE_FEEDBACK",
 
  274                         $ilCtrl->getLinkTargetByClass(
"ilfilesystemgui", 
"listFiles"));
 
  277                         $this->tpl->setVariable(
"TXT_FILE_FEEDBACK",
 
  278                                 $lng->txt(
"exc_add_feedback_file"));
 
  282                         $this->tpl->setVariable(
"TXT_FILE_FEEDBACK",
 
  283                                 $lng->txt(
"exc_fb_files").
" (".$cnt_files.
")");
 
  286                 $this->tpl->parseCurrentBlock();