Public Member Functions | |
ilExerciseMembers ($a_obj_id, $a_ref_id) | |
getRefId () | |
getObjId () | |
setObjId ($a_obj_id) | |
getMembers () | |
setMembers ($a_members) | |
assignMember ($a_usr_id) | |
isAssigned ($a_id) | |
assignMembers ($a_members) | |
deassignMember ($a_usr_id) | |
deassignMembers ($a_members) | |
setStatusSolved ($a_status) | |
getStatusSolved () | |
getStatusSolvedByMember ($a_member_id) | |
setStatusSolvedForMember ($a_member_id, $a_status) | |
setStatusSent ($a_status) | |
getStatusSent () | |
getStatusSentByMember ($a_member_id) | |
setStatusSentForMember ($a_member_id, $a_status) | |
getStatusReturned () | |
setStatusReturned ($a_status) | |
getStatusReturnedByMember ($a_member_id) | |
setStatusReturnedForMember ($a_member_id, $a_status) | |
getNotice () | |
setNotice ($a_notice) | |
getNoticeByMember ($a_member_id) | |
hasReturned ($a_member_id) | |
& | getDeliveredFiles ($a_member_id) |
Returns an array of all delivered files of an user. | |
deleteDeliveredFiles ($file_id_array, $a_member_id) | |
Deletes already delivered files. | |
deliverReturnedFiles ($a_member_id) | |
Delivers the returned files of an user. | |
downloadSelectedFiles ($array_file_id) | |
downloadSingleFile ($filename, $filetitle) | |
downloadMultipleFiles ($array_filenames, $pathname) | |
setNoticeForMember ($a_member_id, $a_notice) | |
read () | |
ilClone ($a_new_id) | |
delete () | |
_hasSolved ($a_exc_id, $a_usr_id) | |
Data Fields | |
$ilias | |
$ref_id | |
$obj_id | |
$members | |
$status_solved | |
$status_sent | |
$status_returned | |
$notice |
Definition at line 34 of file class.ilExerciseMembers.php.
ilExerciseMembers::_hasSolved | ( | $ | a_exc_id, | |
$ | a_usr_id | |||
) |
Definition at line 595 of file class.ilExerciseMembers.php.
References $query, $res, and $row.
Referenced by ilObjExercise::_checkCondition().
{ global $ilDB; // check if user is owner $query = "SELECT owner FROM object_data ". "WHERE obj_id = '".$a_exc_id."'"; $res = $ilDB->query($query); while($row = $res->fetchRow(DB_FETCHMODE_OBJECT)) { if($row->owner == $a_usr_id) { return true; } } // check if user has solved exercise $query = "SELECT solved FROM exc_members ". "WHERE obj_id = '".$a_exc_id."' ". "AND usr_id = '".$a_usr_id."'"; $res = $ilDB->query($query); while($row = $res->fetchRow(DB_FETCHMODE_OBJECT)) { if($row->solved == 1) { return true; } } return false; }
ilExerciseMembers::assignMember | ( | $ | a_usr_id | ) |
Definition at line 76 of file class.ilExerciseMembers.php.
References $query, $res, $tmp_user, ilObjectFactory::getInstanceByObjId(), getRefId(), and read().
Referenced by assignMembers().
{ $tmp_user = ilObjectFactory::getInstanceByObjId($a_usr_id); $tmp_user->addDesktopItem($this->getRefId(),"exc"); $query = "REPLACE INTO exc_members ". "SET obj_id = '".$this->getObjId()."', ". "usr_id = '".$a_usr_id."', ". "solved = '0', sent = '0'"; $res = $this->ilias->db->query($query); $this->read(); return true; }
ilExerciseMembers::assignMembers | ( | $ | a_members | ) |
Definition at line 97 of file class.ilExerciseMembers.php.
References assignMember(), and isAssigned().
{ $assigned = 0; if(is_array($a_members)) { foreach($a_members as $member) { if(!$this->isAssigned($member)) { $this->assignMember($member); } else { ++$assigned; } } } if($assigned == count($a_members)) { return false; } else { return true; } }
ilExerciseMembers::deassignMember | ( | $ | a_usr_id | ) |
Definition at line 123 of file class.ilExerciseMembers.php.
References $query, $tmp_user, deleteDeliveredFiles(), getDeliveredFiles(), ilObjectFactory::getInstanceByObjId(), getRefId(), and read().
Referenced by deassignMembers().
{ $tmp_user = ilObjectFactory::getInstanceByObjId($a_usr_id); $tmp_user->dropDesktopItem($this->getRefId(),"exc"); $query = "DELETE FROM exc_members ". "WHERE obj_id = '".$this->getObjId()." '". "AND usr_id = '".$a_usr_id."'"; $this->ilias->db->query($query); $this->read(); // delete all delivered files of the member $delivered_files =& $this->getDeliveredFiles($a_usr_id); $files_to_delete = array(); $userfile = ""; foreach ($delivered_files as $key => $value) { array_push($files_to_delete, $value["returned_id"]); $userfile = $value["filename"]; } $this->deleteDeliveredFiles($files_to_delete, $a_usr_id); // delete the user directory if existing if ($userfile) { $pathinfo = pathinfo($userfile); $dir = $pathinfo["dirname"]; } if (is_dir($dir)) { rmdir($dir); } return false; }
ilExerciseMembers::deassignMembers | ( | $ | a_members | ) |
Definition at line 157 of file class.ilExerciseMembers.php.
References deassignMember().
{ if(is_array($a_members)) { foreach($a_members as $member) { $this->deassignMember($member); } } else { return false; } }
ilExerciseMembers::delete | ( | ) |
Definition at line 587 of file class.ilExerciseMembers.php.
References $query.
ilExerciseMembers::deleteDeliveredFiles | ( | $ | file_id_array, | |
$ | a_member_id | |||
) |
Deletes already delivered files.
array | $file_id_array An array containing database ids of the delivered files | |
numeric | $a_member_id The database id of the user public |
Definition at line 340 of file class.ilExerciseMembers.php.
References $query, $result, and $row.
Referenced by deassignMember().
{ if (count($file_id_array)) { $query = sprintf("SELECT * FROM exc_returned WHERE user_id = %s AND returned_id IN (" . join($file_id_array, ",") . ")", $this->ilias->db->quote($a_member_id . "") ); $result = $this->ilias->db->query($query); if ($result->numRows()) { $result_array = array(); while ($row = $result->fetchRow(DB_FETCHMODE_ASSOC)) { array_push($result_array, $row); } // delete the entries in the database $query = sprintf("DELETE FROM exc_returned WHERE user_id = %s AND returned_id IN (" . join($file_id_array, ",") . ")", $this->ilias->db->quote($a_member_id . "") ); $result = $this->ilias->db->query($query); // delete the files foreach ($result_array as $key => $value) { unlink($value["filename"]); } } } }
ilExerciseMembers::deliverReturnedFiles | ( | $ | a_member_id | ) |
Delivers the returned files of an user.
numeric | $a_member_id The database id of the user public |
Definition at line 374 of file class.ilExerciseMembers.php.
References $count, $file, $query, $result, $row, downloadMultipleFiles(), and downloadSingleFile().
{ $query = sprintf("SELECT * FROM exc_returned WHERE obj_id = %s AND user_id = %s", $this->ilias->db->quote($this->getObjId() . ""), $this->ilias->db->quote($a_member_id . "") ); $result = $this->ilias->db->query($query); $count = $result->numRows(); if ($count == 1) { $row = $result->fetchRow(DB_FETCHMODE_ASSOC); $this->downloadSingleFile($row["filename"], $row["filetitle"]); } else { $array_files = array(); $filename = ""; while ($row = $result->fetchRow(DB_FETCHMODE_ASSOC)) { $filename = $row["filename"]; $pathinfo = pathinfo($filename); $dir = $pathinfo["dirname"]; $file = $pathinfo["basename"]; array_push($array_files, $file); } $pathinfo = pathinfo($filename); $dir = $pathinfo["dirname"]; $this->downloadMultipleFiles($array_files, $dir); } }
ilExerciseMembers::downloadMultipleFiles | ( | $ | array_filenames, | |
$ | pathname | |||
) |
Definition at line 446 of file class.ilExerciseMembers.php.
References $lng, ilUtil::deliverFile(), ilUtil::escapeShellArg(), and ilUtil::ilTempnam().
Referenced by deliverReturnedFiles(), and downloadSelectedFiles().
{ global $lng; require_once "./classes/class.ilUtil.php"; $cdir = getcwd(); chdir($pathname); $zip = PATH_TO_ZIP; $tmpfile = ilUtil::ilTempnam(); $tmpzipfile = $tmpfile . ".zip"; foreach ($array_filenames as $key => $filename) { $array_filenames[$key] = ilUtil::escapeShellArg($array_filenames[$key]); } $zipcmd = $zip." ".ilUtil::escapeShellArg($tmpzipfile)." ".join($array_filenames, " "); exec($zipcmd); ilUtil::deliverFile($tmpzipfile, strtolower($lng->txt("excs")) . ".zip"); chdir($cdir); unlink($tmpfile); unlink($tmpzipfile); }
ilExerciseMembers::downloadSelectedFiles | ( | $ | array_file_id | ) |
Definition at line 405 of file class.ilExerciseMembers.php.
References $file, $query, $result, $row, downloadMultipleFiles(), and downloadSingleFile().
{ if (count($array_file_id)) { $query = "SELECT * FROM exc_returned WHERE returned_id IN (" . join($array_file_id, ",") . ")"; $result = $this->ilias->db->query($query); if ($result->numRows()) { $array_found = array(); while ($row = $result->fetchRow(DB_FETCHMODE_ASSOC)) { array_push($array_found, $row); } if (count($array_found) == 1) { $this->downloadSingleFile($array_found[0]["filename"], $array_found[0]["filetitle"]); } else { $filenames = array(); $dir = ""; $file = ""; foreach ($array_found as $key => $value) { $pathinfo = pathinfo($value["filename"]); $dir = $pathinfo["dirname"]; $file = $pathinfo["basename"]; array_push($filenames, $file); } $this->downloadMultipleFiles($filenames, $dir); } } } }
ilExerciseMembers::downloadSingleFile | ( | $ | filename, | |
$ | filetitle | |||
) |
Definition at line 440 of file class.ilExerciseMembers.php.
References ilUtil::deliverFile().
Referenced by deliverReturnedFiles(), and downloadSelectedFiles().
{ require_once "./classes/class.ilUtil.php"; ilUtil::deliverFile($filename, $filetitle); }
& ilExerciseMembers::getDeliveredFiles | ( | $ | a_member_id | ) |
Returns an array of all delivered files of an user.
numeric | $a_member_id The user id public |
Definition at line 316 of file class.ilExerciseMembers.php.
References $query, $result, and $row.
Referenced by deassignMember().
{ $query = sprintf("SELECT *, TIMESTAMP + 0 AS TIMESTAMP14 FROM exc_returned WHERE obj_id = %s AND user_id = %s ORDER BY TIMESTAMP14", $this->ilias->db->quote($this->getObjId() . ""), $this->ilias->db->quote($a_member_id . "") ); $result = $this->ilias->db->query($query); $delivered_files = array(); if ($result->numRows()) { while ($row = $result->fetchRow(DB_FETCHMODE_ASSOC)) { array_push($delivered_files, $row); } } return $delivered_files; }
ilExerciseMembers::getMembers | ( | ) |
Definition at line 68 of file class.ilExerciseMembers.php.
Referenced by isAssigned().
{
return $this->members ? $this->members : array();
}
ilExerciseMembers::getNotice | ( | ) |
Definition at line 272 of file class.ilExerciseMembers.php.
{
return $this->notice ? $this->notice : array(0 => 0);
}
ilExerciseMembers::getNoticeByMember | ( | $ | a_member_id | ) |
Definition at line 287 of file class.ilExerciseMembers.php.
{ if(isset($this->notice[$a_member_id])) { return $this->notice[$a_member_id]; } else { return ""; } }
ilExerciseMembers::getObjId | ( | ) |
Definition at line 60 of file class.ilExerciseMembers.php.
Referenced by setStatusReturnedForMember(), setStatusSentForMember(), and setStatusSolvedForMember().
{
return $this->obj_id;
}
ilExerciseMembers::getRefId | ( | ) |
Definition at line 56 of file class.ilExerciseMembers.php.
Referenced by assignMember(), and deassignMember().
{
return $this->ref_id;
}
ilExerciseMembers::getStatusReturned | ( | ) |
Definition at line 237 of file class.ilExerciseMembers.php.
{
return $this->status_returned ? $this->status_returned : array(0 => 0);
}
ilExerciseMembers::getStatusReturnedByMember | ( | $ | a_member_id | ) |
Definition at line 251 of file class.ilExerciseMembers.php.
{ if(isset($this->status_returned[$a_member_id])) { return $this->status_returned[$a_member_id]; } return false; }
ilExerciseMembers::getStatusSent | ( | ) |
Definition at line 212 of file class.ilExerciseMembers.php.
{
return $this->status_sent ? $this->status_sent : array(0 => 0);
}
ilExerciseMembers::getStatusSentByMember | ( | $ | a_member_id | ) |
Definition at line 216 of file class.ilExerciseMembers.php.
{ if(isset($this->status_sent[$a_member_id])) { return $this->status_sent[$a_member_id]; } return false; }
ilExerciseMembers::getStatusSolved | ( | ) |
Definition at line 179 of file class.ilExerciseMembers.php.
{
return $this->status_solved ? $this->status_solved : array(0 => 0);
}
ilExerciseMembers::getStatusSolvedByMember | ( | $ | a_member_id | ) |
Definition at line 183 of file class.ilExerciseMembers.php.
{ if(isset($this->status_solved[$a_member_id])) { return $this->status_solved[$a_member_id]; } return false; }
ilExerciseMembers::hasReturned | ( | $ | a_member_id | ) |
Definition at line 299 of file class.ilExerciseMembers.php.
ilExerciseMembers::ilClone | ( | $ | a_new_id | ) |
Definition at line 556 of file class.ilExerciseMembers.php.
References $data, $query, $res, and $row.
{ $data = array(); $query = "SELECT * FROM exc_members ". "WHERE obj_id = '".$this->getObjId()."'"; $res = $this->ilias->db->query($query); while($row = $res->fetchRow(DB_FETCHMODE_OBJECT)) { $data[] = array("usr_id" => $row->usr_id, "notice" => $row->notice, "returned" => $row->returned, "solved" => $row->solved, "sent" => $row->sent); } foreach($data as $row) { $query = "INSERT INTO exc_members ". "SET obj_id = '".$a_new_id."', ". "usr_id = '".$row["usr_id"]."', ". "notice = '".addslashes($row["notice"])."', ". "returned = '".$row["returned"]."', ". "solved = '".$row["solved"]."', ". "sent = '".$row["sent"]."'"; $res = $this->ilias->db->query($query); } return true; }
ilExerciseMembers::ilExerciseMembers | ( | $ | a_obj_id, | |
$ | a_ref_id | |||
) |
Definition at line 46 of file class.ilExerciseMembers.php.
References $ilias.
{ global $ilias; $this->ilias =& $ilias; $this->obj_id = $a_obj_id; $this->ref_id = $a_ref_id; }
ilExerciseMembers::isAssigned | ( | $ | a_id | ) |
Definition at line 92 of file class.ilExerciseMembers.php.
References getMembers().
Referenced by assignMembers().
{ return in_array($a_id,$this->getMembers()); }
ilExerciseMembers::read | ( | ) |
Definition at line 528 of file class.ilExerciseMembers.php.
References $query, $res, $row, setMembers(), setNotice(), setStatusReturned(), setStatusSent(), and setStatusSolved().
Referenced by assignMember(), deassignMember(), setNoticeForMember(), setStatusReturnedForMember(), setStatusSentForMember(), and setStatusSolvedForMember().
{ $tmp_arr_members = array(); $tmp_arr_solved = array(); $tmp_arr_sent = array(); $tmp_arr_notice = array(); $tmp_arr_returned = array(); $query = "SELECT * FROM exc_members ". "WHERE obj_id = '".$this->getObjId()."' "; $res = $this->ilias->db->query($query); while($row = $res->fetchRow(DB_FETCHMODE_OBJECT)) { $tmp_arr_members[] = $row->usr_id; $tmp_arr_notice[$row->usr_id] = $row->notice; $tmp_arr_returned[$row->usr_id] = $row->returned; $tmp_arr_solved[$row->usr_id] = $row->solved; $tmp_arr_sent[$row->usr_id] = $row->sent; } $this->setMembers($tmp_arr_members); $this->setNotice($tmp_arr_notice); $this->setStatusSolved($tmp_arr_solved); $this->setStatusSent($tmp_arr_sent); $this->setStatusReturned($tmp_arr_returned); return true; }
ilExerciseMembers::setMembers | ( | $ | a_members | ) |
Definition at line 72 of file class.ilExerciseMembers.php.
Referenced by read().
{ $this->members = $a_members; }
ilExerciseMembers::setNotice | ( | $ | a_notice | ) |
Definition at line 277 of file class.ilExerciseMembers.php.
Referenced by read().
{ if(is_array($a_notice)) { $this->notice = $a_notice; return true; } return false; }
ilExerciseMembers::setNoticeForMember | ( | $ | a_member_id, | |
$ | a_notice | |||
) |
Definition at line 467 of file class.ilExerciseMembers.php.
References $query, and read().
{ $query = "UPDATE exc_members ". "SET notice = '".addslashes($a_notice)."' ". "WHERE obj_id = '".$this->getObjId()."' ". "AND usr_id = '".$a_member_id."'"; $this->ilias->db->query($query); $this->read(); return true; }
ilExerciseMembers::setObjId | ( | $ | a_obj_id | ) |
Definition at line 64 of file class.ilExerciseMembers.php.
{ $this->obj_id = $a_obj_id; }
ilExerciseMembers::setStatusReturned | ( | $ | a_status | ) |
Definition at line 241 of file class.ilExerciseMembers.php.
Referenced by read().
{ if(is_array($a_status)) { $this->status_returned = $a_status; return true; } return false; }
ilExerciseMembers::setStatusReturnedForMember | ( | $ | a_member_id, | |
$ | a_status | |||
) |
Definition at line 259 of file class.ilExerciseMembers.php.
References $query, getObjId(), and read().
{ $query = "UPDATE exc_members ". "SET returned = '".($a_status ? 1 : 0)."' ". "WHERE obj_id = '".$this->getObjId()."' ". "AND usr_id = '".$a_member_id."'"; $this->ilias->db->query($query); $this->read(); return true; }
ilExerciseMembers::setStatusSent | ( | $ | a_status | ) |
Definition at line 204 of file class.ilExerciseMembers.php.
Referenced by read().
{ if(is_array($a_status)) { $this->status_sent = $a_status; return true; } }
ilExerciseMembers::setStatusSentForMember | ( | $ | a_member_id, | |
$ | a_status | |||
) |
Definition at line 224 of file class.ilExerciseMembers.php.
References $query, getObjId(), and read().
{ $query = "UPDATE exc_members ". "SET sent = '".($a_status ? 1 : 0)."' ". "WHERE obj_id = '".$this->getObjId()."' ". "AND usr_id = '".$a_member_id."'"; $this->ilias->db->query($query); $this->read(); return true; }
ilExerciseMembers::setStatusSolved | ( | $ | a_status | ) |
Definition at line 171 of file class.ilExerciseMembers.php.
Referenced by read().
{ if(is_array($a_status)) { $this->status_solved = $a_status; return true; } }
ilExerciseMembers::setStatusSolvedForMember | ( | $ | a_member_id, | |
$ | a_status | |||
) |
Definition at line 191 of file class.ilExerciseMembers.php.
References $query, getObjId(), and read().
{ $query = "UPDATE exc_members ". "SET solved = '".($a_status ? 1 : 0)."' ". "WHERE obj_id = '".$this->getObjId()."' ". "AND usr_id = '".$a_member_id."'"; $this->ilias->db->query($query); $this->read(); return true; }
ilExerciseMembers::$ilias |
Definition at line 36 of file class.ilExerciseMembers.php.
Referenced by ilExerciseMembers().
ilExerciseMembers::$members |
Definition at line 40 of file class.ilExerciseMembers.php.
ilExerciseMembers::$notice |
Definition at line 44 of file class.ilExerciseMembers.php.
ilExerciseMembers::$obj_id |
Definition at line 39 of file class.ilExerciseMembers.php.
ilExerciseMembers::$ref_id |
Definition at line 38 of file class.ilExerciseMembers.php.
ilExerciseMembers::$status_returned |
Definition at line 43 of file class.ilExerciseMembers.php.
ilExerciseMembers::$status_sent |
Definition at line 42 of file class.ilExerciseMembers.php.
ilExerciseMembers::$status_solved |
Definition at line 41 of file class.ilExerciseMembers.php.