38        $this->db = 
$DIC->database();
 
   39        $this->ass_id = $a_ass_id;
 
   40        $this->user_id = $a_user_id;
 
   47        $this->notice = $a_value;
 
   59            $this->returned_update = 
true;
 
   61        $this->returned = $a_value;
 
   71        $this->solved = $a_value;
 
   81        $this->status_time = $a_value;
 
   91        if ($a_value && $a_value != $this->sent) {
 
   94        $this->sent = $a_value;
 
  104        $this->sent_time = $a_value;
 
  114        if ($a_value != $this->sent) {
 
  117        $this->feedback = $a_value;
 
  127        $this->feedback_time = $a_value;
 
  137        if ($a_value != $this->status) {
 
  139            $this->status = $a_value;
 
  140            $this->status_update = 
true;
 
  151        if ($a_value != $this->mark) {
 
  154        $this->mark = $a_value;
 
  176        $set = 
$ilDB->query(
"SELECT * FROM exc_mem_ass_status" .
 
  177            " WHERE ass_id = " . 
$ilDB->quote($this->ass_id, 
"integer") .
 
  178            " AND usr_id = " . 
$ilDB->quote($this->user_id, 
"integer"));
 
  179        if (
$ilDB->numRows($set)) {
 
  180            $row = 
$ilDB->fetchAssoc($set);
 
  183            $this->notice = $row[
"notice"];
 
  184            $this->returned = $row[
"returned"];
 
  185            $this->solved = $row[
"solved"];
 
  186            $this->status_time = $row[
"status_time"];
 
  187            $this->sent = $row[
"sent"];
 
  188            $this->sent_time = $row[
"sent_time"];
 
  189            $this->feedback_time = $row[
"feedback_time"];
 
  190            $this->feedback = $row[
"feedback"];
 
  191            $this->status = $row[
"status"];
 
  192            $this->mark = $row[
"mark"];
 
  193            $this->
comment = $row[
"u_comment"];
 
  194            $this->db_exists = 
true;
 
  201            "notice" => array(
"text", $this->
getNotice())
 
  202            ,
"returned" => array(
"integer", $this->
getReturned())
 
  203            ,
"solved" => array(
"integer", $this->
getSolved())
 
  205            ,
"sent" => array(
"integer", $this->
getSent())
 
  206            ,
"sent_time" => array(
"timestamp", $this->
getSentTime())
 
  208            ,
"feedback" => array(
"integer", (
int) $this->
getFeedback())
 
  209            ,
"status" => array(
"text", $this->
getStatus())
 
  210            ,
"mark" => array(
"text", $this->
getMark())
 
  211            ,
"u_comment" => array(
"text", $this->
getComment())
 
  220            "ass_id" => array(
"integer", $this->ass_id)
 
  221            ,
"usr_id" => array(
"integer", $this->user_id)
 
  224        if (!$this->db_exists) {
 
  225            $fields = array_merge(
$keys, $fields);
 
  226            $ilDB->insert(
"exc_mem_ass_status", $fields);
 
  228            $ilDB->update(
"exc_mem_ass_status", $fields, 
$keys);
 
  231        if ($this->returned_update) {
 
  234        if ($this->status_update) {
 
  244        $set = 
$ilDB->query(
"SELECT fb_cron, fb_date, fb_file" .
 
  245            " FROM exc_assignment" .
 
  246            " WHERE id = " . 
$ilDB->quote($this->ass_id, 
"integer"));
 
  247        $row = 
$ilDB->fetchAssoc($set);
 
  248        if ($row[
"fb_cron"] &&
 
  259        $exc->updateUserStatus($this->user_id);
 
  266                return "scorm/passed.svg";
 
  269                return "scorm/failed.svg";
 
  272                return "scorm/not_attempted.svg";
 
  285        $q = 
"SELECT count(*) AS cnt" .
 
  286            " FROM exc_mem_ass_status" .
 
  287            " WHERE NOT sent_time IS NULL" .
 
  288            " AND ass_id = " . 
$ilDB->quote($a_ass_id, 
"integer");
 
  289        $set = 
$ilDB->query($q);
 
  290        $rec = 
$ilDB->fetchAssoc($set);
 
  291        return ($rec[
"cnt"] > 0);
 
An exception for terminatinating execution or to throw for unit testing.
Exercise assignment member status.
__construct($a_ass_id, $a_user_id)
static lookupAnyExerciseSent($a_ass_id)
Check whether exercise has been sent to any student per mail.
setFeedbackTime($a_value)
static sendFeedbackNotifications($a_ass_id, $a_user_id=null)
const FEEDBACK_DATE_SUBMISSION
static now()
Return current timestamp in Y-m-d H:i:s format.