Inheritance diagram for ilObjExercise:
Collaboration diagram for ilObjExercise: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;
}
Here is the call graph for this function:
Here is the caller graph for this function:| 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());
}
Here is the call graph for this function:
Here is the caller graph for this function:| 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().")";
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilObjExercise::_checkCondition | ( | $ | a_exc_id, | |
| $ | a_operator, | |||
| $ | a_value | |||
| ) |
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;
}
Here is the call graph for this function:| 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);
}
}
Here is the call graph for this function:| 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;
}
Here is the caller graph for this function:| ilObjExercise::getTimestamp | ( | ) |
Definition at line 73 of file class.ilObjExercise.php.
Referenced by __formatBody(), and ilClone().
{
return $this->timestamp;
}
Here is the caller graph for this function:| 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;
}
Here is the call graph for this function:| 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);
}
Here is the call graph for this function:| 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;
}
Here is the call graph for this function:| 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;
}
Here is the call graph for this function:| 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;
}
Here is the call graph for this function:| 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;
}
Here is the caller graph for this function:| ilObjExercise::setTimestamp | ( | $ | a_timestamp | ) |
Definition at line 77 of file class.ilObjExercise.php.
Referenced by read().
{
$this->timestamp = $a_timestamp;
}
Here is the caller graph for this function:| 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;
}
Here is the call graph for this function:| 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.
1.7.1