Public Member Functions | |
ilObjExercise ($a_id=0, $a_call_by_reference=true) | |
Constructor public. | |
setDate ($a_day, $a_month, $a_year) | |
getTimestamp () | |
setTimestamp ($a_timestamp) | |
setInstruction ($a_instruction) | |
getInstruction () | |
getFiles () | |
checkDate () | |
deliverFile ($a_http_post_files, $user_id) | |
addUploadedFile ($a_http_post_files) | |
deleteFiles ($a_files) | |
saveData () | |
ilClone ($a_parent_ref) | |
copy all properties and subobjects of a course. | |
& | getDeliveredFiles ($user_id) |
Returns the delivered files of an user. | |
deleteDeliveredFiles ($file_id_array, $user_id) | |
Deletes already delivered files. | |
deliverReturnedFiles ($user_id) | |
Delivers the returned files of an user. | |
delete () | |
delete course and all related data | |
notify ($a_event, $a_ref_id, $a_node_id, $a_params=0) | |
notifys an object about an event occured Based on the event happend, each object may decide how it reacts. | |
read () | |
update () | |
update object in db | |
send ($a_members) | |
__formatBody () | |
__formatSubject () | |
__formatRecipients ($a_members) | |
_checkCondition ($a_exc_id, $a_operator, $a_value) | |
_goto ($a_target) | |
redirect script | |
Data Fields | |
$file_obj | |
$members_obj | |
$files | |
$timestamp | |
$day | |
$month | |
$year | |
$instruction |
Definition at line 40 of file class.ilObjExercise.php.
ilObjExercise::__formatBody | ( | ) |
Definition at line 331 of file class.ilObjExercise.php.
References ilObject::$lng, getInstruction(), and getTimestamp().
Referenced by send().
{ global $lng; $body = $this->getInstruction(); $body .= "\n"; $body .= $lng->txt("exc_edit_until") . ": ".date("Y-m-d",$this->getTimestamp()); return $body; }
ilObjExercise::__formatRecipients | ( | $ | a_members | ) |
Definition at line 347 of file class.ilObjExercise.php.
References ilObjectFactory::getInstanceByObjId().
Referenced by send().
{ foreach($a_members as $member_id => $value) { $tmp_obj = ilObjectFactory::getInstanceByObjId($member_id); $tmp_members[] = $tmp_obj->getLogin(); unset($tmp_obj); } return implode(',',$tmp_members ? $tmp_members : array()); }
ilObjExercise::__formatSubject | ( | ) |
Definition at line 342 of file class.ilObjExercise.php.
References ilObject::getDescription(), and ilObject::getTitle().
Referenced by send().
{ return $subject = $this->getTitle()." (".$this->getDescription().")"; }
ilObjExercise::_checkCondition | ( | $ | a_exc_id, | |
$ | a_operator, | |||
$ | a_value | |||
) |
Reimplemented from ilObject.
Definition at line 360 of file class.ilObjExercise.php.
References ilObject::$ilias, and ilExerciseMembers::_hasSolved().
{ global $ilias; switch($a_operator) { case 'passed': return ilExerciseMembers::_hasSolved($a_exc_id,$ilias->account->getId()); default: return true; } return true; }
ilObjExercise::_goto | ( | $ | a_target | ) |
redirect script
string | $a_target |
Definition at line 380 of file class.ilObjExercise.php.
References $ilErr, ilObject::$lng, $rbacsystem, ilSearch::_checkParentConditions(), and ilUtil::redirect().
{ global $rbacsystem, $ilErr, $lng; include_once 'classes/class.ilSearch.php'; // Added this additional check (ParentConditions) to avoid calls of objects inside e.g courses. // Will be replaced in future releases by ilAccess::checkAccess() if ($rbacsystem->checkAccess("read", $a_target) and ilSearch::_checkParentConditions($a_target)) { ilUtil::redirect("exercise.php?ref_id=$a_target"); } else { $ilErr->raiseError($lng->txt("msg_no_perm_read_lm"), $ilErr->FATAL); } }
ilObjExercise::addUploadedFile | ( | $ | a_http_post_files | ) |
Definition at line 123 of file class.ilObjExercise.php.
{ $this->file_obj->storeUploadedFile($a_http_post_files, true); return true; }
ilObjExercise::checkDate | ( | ) |
Definition at line 94 of file class.ilObjExercise.php.
{ return $this->day == (int) date("d",$this->timestamp) and $this->month == (int) date("m",$this->timestamp) and $this->year == (int) date("Y",$this->timestamp); }
ilObjExercise::delete | ( | ) |
delete course and all related data
public
Reimplemented from ilObject.
Definition at line 216 of file class.ilObjExercise.php.
References $query.
{ // always call parent delete function first!! if (!parent::delete()) { return false; } // put here course specific stuff $query = "DELETE FROM exc_data ". "WHERE obj_id = '".$this->getId()."'"; $this->ilias->db->query($query); $this->file_obj->delete(); $this->members_obj->delete(); return true; }
ilObjExercise::deleteDeliveredFiles | ( | $ | file_id_array, | |
$ | user_id | |||
) |
Deletes already delivered files.
array | $file_id_array An array containing database ids of the delivered files | |
numeric | $user_id The database id of the user public |
Definition at line 195 of file class.ilObjExercise.php.
References $user_id.
{ $this->members_obj->deleteDeliveredFiles($file_id_array, $user_id); }
ilObjExercise::deleteFiles | ( | $ | a_files | ) |
Definition at line 129 of file class.ilObjExercise.php.
{ $this->file_obj->unlinkFiles($a_files); }
ilObjExercise::deliverFile | ( | $ | a_http_post_files, | |
$ | user_id | |||
) |
Definition at line 101 of file class.ilObjExercise.php.
References $query, and $user_id.
{ $deliver_result = $this->file_obj->deliverFile($a_http_post_files, $user_id); if ($deliver_result) { $query = sprintf("INSERT INTO exc_returned (returned_id, obj_id, user_id, filename, filetitle, mimetype, TIMESTAMP) VALUES (NULL, %s, %s, %s, %s, %s, NULL)", $this->ilias->db->quote($this->getId() . ""), $this->ilias->db->quote($user_id . ""), $this->ilias->db->quote($deliver_result["fullname"]), $this->ilias->db->quote($a_http_post_files["name"]), $this->ilias->db->quote($deliver_result["mimetype"]) ); $this->ilias->db->query($query); if (!$this->members_obj->isAssigned($user_id)) { $this->members_obj->assignMember($user_id); } $this->members_obj->setStatusReturnedForMember($user_id, 1); } return true; }
ilObjExercise::deliverReturnedFiles | ( | $ | user_id | ) |
Delivers the returned files of an user.
numeric | $user_id The database id of the user public |
Definition at line 205 of file class.ilObjExercise.php.
{
require_once "./classes/class.ilUtil.php";
}
& ilObjExercise::getDeliveredFiles | ( | $ | user_id | ) |
Returns the delivered files of an user.
numeric | $user_id The database id of the user |
Definition at line 183 of file class.ilObjExercise.php.
References $user_id.
{ $delivered_files =& $this->members_obj->getDeliveredFiles($user_id); return $delivered_files; }
ilObjExercise::getFiles | ( | ) |
Definition at line 89 of file class.ilObjExercise.php.
{
return $this->files;
}
ilObjExercise::getInstruction | ( | ) |
Definition at line 85 of file class.ilObjExercise.php.
Referenced by __formatBody(), ilClone(), saveData(), and update().
{
return $this->instruction;
}
ilObjExercise::getTimestamp | ( | ) |
Definition at line 73 of file class.ilObjExercise.php.
Referenced by __formatBody(), and ilClone().
{
return $this->timestamp;
}
ilObjExercise::ilClone | ( | $ | a_parent_ref | ) |
copy all properties and subobjects of a course.
public
Reimplemented from ilObject.
Definition at line 152 of file class.ilObjExercise.php.
References $rbacadmin, ilObject::getId(), getInstruction(), and getTimestamp().
{ global $rbacadmin; // always call parent ilClone function first!! $new_ref_id = parent::ilClone($a_parent_ref); // put here exc specific stuff $tmp_obj =& $this->ilias->obj_factory->getInstanceByRefId($new_ref_id); $tmp_obj->setInstruction($this->getInstruction()); $tmp_obj->setTimestamp($this->getTimestamp()); $tmp_obj->saveData(); // CLONE FILES $tmp_file_obj =& new ilFileDataExercise($this->getId()); $tmp_file_obj->ilClone($tmp_obj->getId()); // CLONE MEMBERS $tmp_members_obj =& new ilExerciseMembers($this->getId(),$new_ref_id); $tmp_members_obj->ilClone($tmp_obj->getId()); // ... and finally always return new reference ID!! return $new_ref_id; }
ilObjExercise::ilObjExercise | ( | $ | a_id = 0 , |
|
$ | a_call_by_reference = true | |||
) |
Constructor public.
integer | reference_id or object_id | |
boolean | treat the id as reference_id (true) or object_id (false) |
Definition at line 58 of file class.ilObjExercise.php.
References ilObject::ilObject().
{ $this->type = "exc"; $this->ilObject($a_id,$a_call_by_reference); }
ilObjExercise::notify | ( | $ | a_event, | |
$ | a_ref_id, | |||
$ | a_node_id, | |||
$ | a_params = 0 | |||
) |
notifys an object about an event occured Based on the event happend, each object may decide how it reacts.
public
string | event | |
integer | reference id of object where the event occured | |
array | passes optional paramters if required |
Definition at line 245 of file class.ilObjExercise.php.
{ // object specific event handling parent::notify($a_event,$a_ref_id,$a_node_id,$a_params); }
ilObjExercise::read | ( | ) |
Definition at line 252 of file class.ilObjExercise.php.
References $query, $res, $row, ilObject::getId(), ilObject::getRefId(), setInstruction(), and setTimestamp().
{ parent::read(); $query = "SELECT * FROM exc_data ". "WHERE obj_id = '".$this->getId()."'"; $res = $this->ilias->db->query($query); while($row = $res->fetchRow(DB_FETCHMODE_OBJECT)) { $this->setInstruction($row->instruction); $this->setTimestamp($row->time_stamp); } $this->members_obj =& new ilExerciseMembers($this->getId(),$this->getRefId()); $this->members_obj->read(); // GET FILE ASSIGNED TO EXERCISE $this->file_obj = new ilFileDataExercise($this->getId()); $this->files = $this->file_obj->getFiles(); return true; }
ilObjExercise::saveData | ( | ) |
Definition at line 134 of file class.ilObjExercise.php.
References $query, and getInstruction().
{ // SAVE ONLY EXERCISE SPECIFIC DATA $query = "INSERT INTO exc_data SET ". "obj_id = '".$this->getId()."', ". "instruction = '".addslashes($this->getInstruction())."', ". "time_stamp = ".$this->getTimestamp(); $this->ilias->db->query($query); return true; }
ilObjExercise::send | ( | $ | a_members | ) |
Definition at line 290 of file class.ilObjExercise.php.
References $_SESSION, $file, $files, __formatBody(), __formatRecipients(), and __formatSubject().
{ $files = $this->file_obj->getFiles(); if(count($files)) { include_once "./classes/class.ilFileDataMail.php"; $mfile_obj = new ilFileDataMail($_SESSION["AccountId"]); foreach($files as $file) { $mfile_obj->copyAttachmentFile($this->file_obj->getAbsolutePath($file["name"]),$file["name"]); $file_names[] = $file["name"]; } } include_once "./classes/class.ilMail.php"; $tmp_mail_obj = new ilMail($_SESSION["AccountId"]); $message = $tmp_mail_obj->sendMail($this->__formatRecipients($a_members),"","",$this->__formatSubject(),$this->__formatBody(), 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) { $this->members_obj->setStatusSentForMember($member_id,1); } return true; }
ilObjExercise::setDate | ( | $ | a_day, | |
$ | a_month, | |||
$ | a_year | |||
) |
Definition at line 65 of file class.ilObjExercise.php.
{ $this->day = (int) $a_day; $this->month = (int) $a_month; $this->year = (int) $a_year; $this->timestamp = mktime(0,0,0,$this->month,$this->day,$this->year); return true; }
ilObjExercise::setInstruction | ( | $ | a_instruction | ) |
Definition at line 81 of file class.ilObjExercise.php.
Referenced by read().
{ $this->instruction = $a_instruction; }
ilObjExercise::setTimestamp | ( | $ | a_timestamp | ) |
Definition at line 77 of file class.ilObjExercise.php.
Referenced by read().
{ $this->timestamp = $a_timestamp; }
ilObjExercise::update | ( | ) |
update object in db
public
Reimplemented from ilObject.
Definition at line 275 of file class.ilObjExercise.php.
References $query, $res, and getInstruction().
{ parent::update(); $query = "UPDATE exc_data SET ". "instruction = '".addslashes($this->getInstruction())."', ". "time_stamp = '".$this->getTimestamp()."' ". "WHERE obj_id = '".$this->getId()."'"; $res = $this->ilias->db->query($query); #$this->members_obj->update(); return true; }
ilObjExercise::$day |
Definition at line 47 of file class.ilObjExercise.php.
ilObjExercise::$file_obj |
Definition at line 42 of file class.ilObjExercise.php.
ilObjExercise::$files |
Definition at line 44 of file class.ilObjExercise.php.
Referenced by send().
ilObjExercise::$instruction |
Definition at line 50 of file class.ilObjExercise.php.
ilObjExercise::$members_obj |
Definition at line 43 of file class.ilObjExercise.php.
ilObjExercise::$month |
Definition at line 48 of file class.ilObjExercise.php.
ilObjExercise::$timestamp |
Definition at line 46 of file class.ilObjExercise.php.
ilObjExercise::$year |
Definition at line 49 of file class.ilObjExercise.php.