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;
}
Here is the caller graph for this function:| 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;
}
Here is the call graph for this function:
Here is the caller graph for this function:| 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;
}
}
Here is the call graph for this function:| 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;
}
Here is the call graph for this function:
Here is the caller graph for this function:| 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;
}
}
Here is the call graph for this function:| 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"]);
}
}
}
}
Here is the caller graph for this function:| 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);
}
}
Here is the call graph for this function:| 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);
}
Here is the call graph for this function:
Here is the caller graph for this function:| 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);
}
}
}
}
Here is the call graph for this function:| 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);
}
Here is the call graph for this function:
Here is the caller graph for this function:| & 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;
}
Here is the caller graph for this function:| ilExerciseMembers::getMembers | ( | ) |
Definition at line 68 of file class.ilExerciseMembers.php.
Referenced by isAssigned().
{
return $this->members ? $this->members : array();
}
Here is the caller graph for this function:| 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;
}
Here is the caller graph for this function:| ilExerciseMembers::getRefId | ( | ) |
Definition at line 56 of file class.ilExerciseMembers.php.
Referenced by assignMember(), and deassignMember().
{
return $this->ref_id;
}
Here is the caller graph for this function:| 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());
}
Here is the call graph for this function:
Here is the caller graph for this function:| 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;
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilExerciseMembers::setMembers | ( | $ | a_members | ) |
Definition at line 72 of file class.ilExerciseMembers.php.
Referenced by read().
{
$this->members = $a_members;
}
Here is the caller graph for this function:| 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;
}
Here is the caller graph for this function:| 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;
}
Here is the call graph for this function:| 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;
}
Here is the caller graph for this function:| 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;
}
Here is the call graph for this function:| 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;
}
}
Here is the caller graph for this function:| 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;
}
Here is the call graph for this function:| 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;
}
}
Here is the caller graph for this function:| 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;
}
Here is the call graph for this function:| 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.
1.7.1