Public Member Functions | |
| _createEntry ($a_obj_id, $a_action, $a_info_params="", $a_obj_type="", $a_user_comment="", $a_update_last=false) | |
| Creates a new history entry for an object. | |
| _getEntriesForObject ($a_obj_id, $a_obj_type="") | |
| get all history entries for an object | |
| _removeEntriesForObject ($a_obj_id) | |
| remove all history entries for an object | |
| _copyEntriesForObject ($a_src_id, $a_dst_id) | |
| copy all history entries for an object | |
| _getEntryByHistoryID ($a_hist_entry_id) | |
| returns a single history entry | |
Definition at line 31 of file class.ilHistory.php.
| ilHistory::_copyEntriesForObject | ( | $ | a_src_id, | |
| $ | a_dst_id | |||
| ) |
copy all history entries for an object
| integer | $a_src_id source object id | |
| integer | $a_dst_id destination object id |
Definition at line 179 of file class.ilHistory.php.
Referenced by ilObjFile::ilClone().
{
global $ilDB;
$q = "SELECT * FROM history WHERE obj_id = ".$ilDB->quote($a_src_id);
$r = $ilDB->query($q);
while ($row = $r->fetchRow(DB_FETCHMODE_OBJECT))
{
$q = "INSERT INTO history (obj_id, obj_type, action, hdate, usr_id, info_params, user_comment) VALUES ".
"(".
$ilDB->quote($a_dst_id).", ".
$ilDB->quote($row->obj_type).", ".
$ilDB->quote($row->action).", ".
$ilDB->quote($row->hdate).", ".
$ilDB->quote($row->usr_id).", ".
$ilDB->quote($row->info_params).", ".
$ilDB->quote($row->user_comment).
")";
$ilDB->query($q);
}
return true;
}
Here is the caller graph for this function:| ilHistory::_createEntry | ( | $ | a_obj_id, | |
| $ | a_action, | |||
| $ | a_info_params = "", |
|||
| $ | a_obj_type = "", |
|||
| $ | a_user_comment = "", |
|||
| $ | a_update_last = false | |||
| ) |
Creates a new history entry for an object.
The information text parameters have to be separated by comma. The information text has to be stored in a langage variable "hist_<object_type>_<action>". This text can contain placeholders 1, 2, ... for each parameter. The placehoders are replaced by the parameters in ilHistoryGUI->getHistoryTable().
Please note that the object type must be specified, if the object is not derived from ilObject.
| int | $a_obj_id object id | |
| string | $a_action action | |
| string | $a_info_params information text parameters, separated by comma or as an array | |
| string | $a_obj_type object type (must only be set, if object is not in object_data table) | |
| string | $a_user_comment user comment |
Definition at line 52 of file class.ilHistory.php.
References $ilUser, $query, and ilObject::_lookupType().
Referenced by ilLinkResourceItems::add(), ilPageEditorGUI::addChangeComment(), ilLMObject::create(), ilObjFile::create(), ilStructureObjectGUI::cutPage(), ilLinkResourceItems::delete(), ilStructureObjectGUI::pastePage(), ilObjContentObjectGUI::proceedDragDrop(), ilObjFile::replaceFile(), ilLinkResourceItems::update(), and ilLMPageObjectGUI::updateHistory().
{
global $ilDB, $ilUser;
if ($a_obj_type == "")
{
$a_obj_type = ilObject::_lookupType($a_obj_id);
}
if (is_array($a_info_params))
{
foreach($a_info_params as $key => $param)
{
$a_info_params[$key] = str_replace(",", ",", $param);
}
$a_info_params = implode(",", $a_info_params);
}
// get last entry of object
$last_entry_sql = "SELECT * FROM history WHERE ".
" obj_id = ".$ilDB->quote($a_obj_id)." AND ".
" obj_type = ".$ilDB->quote($a_obj_type)." ORDER BY hdate DESC limit 1";
$last_entry_set = $ilDB->query($last_entry_sql);
$last_entry = $last_entry_set->fetchRow(DB_FETCHMODE_ASSOC);
// note: insert is forced if last entry already has a comment and a
// new comment is given too OR
// if entry should not be updated OR
// if current action or user id are not equal with last entry
if (($a_user_comment != "" && $last_entry["user_comment"] != "")
|| !$a_update_last || $a_action != $last_entry["action"]
|| $ilUser->getId() != $last_entry["usr_id"])
{
$query = "INSERT INTO history (obj_id, obj_type, action, hdate, usr_id, info_params, user_comment) VALUES ".
"(".
$ilDB->quote($a_obj_id).", ".
$ilDB->quote($a_obj_type).", ".
$ilDB->quote($a_action).", ".
"now(), ".
$ilDB->quote($ilUser->getId()).", ".
$ilDB->quote($a_info_params).", ".
$ilDB->quote($a_user_comment).
")";
$ilDB->query($query);
}
else
{
// if entry should be updated, update user comment only
// if it is set (this means, user comment has been empty
// because if old and new comment are given, an INSERT is forced
// see if statement above)
$uc_str = ($a_user_comment != "")
? ", user_comment = ".$ilDB->quote($a_user_comment)
: "";
$query = "UPDATE history SET ".
" hdate = now() ".
$uc_str.
" WHERE id = ".$ilDB->quote($last_entry["id"]);
$ilDB->query($query);
}
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilHistory::_getEntriesForObject | ( | $ | a_obj_id, | |
| $ | a_obj_type = "" | |||
| ) |
get all history entries for an object
| int | $a_obj_id object id |
Definition at line 124 of file class.ilHistory.php.
References $query, and ilObject::_lookupType().
Referenced by ilHistoryGUI::getHistoryTable(), and ilHistoryGUI::getVersionsTable().
{
global $ilDB;
if ($a_obj_type == "")
{
$a_obj_type = ilObject::_lookupType($a_obj_id);
}
$query = "SELECT * FROM history WHERE obj_id = ".
$ilDB->quote($a_obj_id)." AND ".
"obj_type = ".$ilDB->quote($a_obj_type).
" ORDER BY hdate";
$hist_set = $ilDB->query($query);
$hist_items = array();
while ($hist_rec = $hist_set->fetchRow(DB_FETCHMODE_ASSOC))
{
$hist_items[] = array("date" => $hist_rec["hdate"],
"user_id" => $hist_rec["usr_id"],
"obj_id" => $a_obj_id,
"action" => $hist_rec["action"],
"info_params" => $hist_rec["info_params"],
"user_comment" => $hist_rec["user_comment"],
"hist_entry_id" => $hist_rec["id"]);
}
return $hist_items;
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilHistory::_getEntryByHistoryID | ( | $ | a_hist_entry_id | ) |
returns a single history entry
Definition at line 210 of file class.ilHistory.php.
References $q.
Referenced by ilObjFile::sendFile().
{
global $ilDB;
$q = "SELECT * FROM history WHERE id = ".$ilDB->quote($a_hist_entry_id);
$r = $ilDB->query($q);
return $r->fetchRow(DB_FETCHMODE_ASSOC);
}
Here is the caller graph for this function:| ilHistory::_removeEntriesForObject | ( | $ | a_obj_id | ) |
remove all history entries for an object
| int | $a_obj_id object id |
Definition at line 162 of file class.ilHistory.php.
References $q.
Referenced by ilObjFile::delete().
{
global $ilDB;
$q = "DELETE FROM history WHERE obj_id = ".$ilDB->quote($a_obj_id);
$r = $ilDB->query($q);
return true;
}
Here is the caller graph for this function:
1.7.1