Inheritance diagram for ilObjForum:
Collaboration diagram for ilObjForum:Public Member Functions | |
| ilObjForum ($a_id=0, $a_call_by_reference=true) | |
| Constructor public. | |
| read ($a_force_db=false) | |
| read object data from db into object | |
| getDefaultView () | |
| setDefaultView ($a_default_view) | |
| getCountUnread ($a_usr_id, $a_thread_id=0) | |
| _getCountUnread ($a_frm_id, $a_usr_id, $a_thread_id=0) | |
| markThreadRead ($a_usr_id, $a_thread_id) | |
| markAllThreadsRead ($a_usr_id) | |
| markPostRead ($a_usr_id, $a_thread_id, $a_post_id) | |
| isRead ($a_usr_id, $a_post_id) | |
| getCountNew ($a_usr_id, $a_thread_id=0) | |
| __getCountNew ($a_usr_id, $a_thread_id=0) | |
| isNew ($a_usr_id, $a_thread_id, $a_post_id) | |
| updateLastAccess ($a_usr_id, $a_thread_id) | |
| _updateOldAccess ($a_usr_id) | |
| _deleteUser ($a_usr_id) | |
| _deleteReadEntries ($a_post_id) | |
| _deleteAccessEntries ($a_thread_id) | |
| update () | |
| update forum data | |
| ilClone ($a_parent_ref, $a_with_content=true) | |
| copy all entries of a forum object. | |
| delete () | |
| delete forum and all related data | |
| initDefaultRoles () | |
| init default roles settings public | |
| notify ($a_event, $a_ref_id, $a_parent_non_rbac_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. | |
| createSettings () | |
| __read () | |
| __getLastThreadAccess ($a_usr_id, $a_thread_id) | |
| _goto ($a_target) | |
| redirect script | |
Data Fields | |
| $default_view = 1 | |
| $Forum | |
Definition at line 39 of file class.ilObjForum.php.
| ilObjForum::__getCountNew | ( | $ | a_usr_id, | |
| $ | a_thread_id = 0 | |||
| ) |
Definition at line 288 of file class.ilObjForum.php.
References $counter, $query, $res, $row, __getLastThreadAccess(), and isRead().
Referenced by getCountNew().
{
$counter = 0;
$timest = $this->__getLastThreadAccess($a_usr_id,$a_thread_id);
// CHECK FOR NEW
$query = "SELECT pos_pk FROM frm_posts ".
"WHERE pos_thr_fk = '".$a_thread_id."' ".
"AND ( pos_date > '".date('Y-m-d H:i:s',$timest)."' ".
"OR pos_update > '".date('Y-m-d H:i:s',$timest)."') ".
"AND pos_usr_id != '".$a_usr_id."'";
$res = $this->ilias->db->query($query);
while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
{
if(!$this->isRead($a_usr_id,$row->pos_pk))
{
++$counter;
}
}
return $counter;
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilObjForum::__getLastThreadAccess | ( | $ | a_usr_id, | |
| $ | a_thread_id | |||
| ) |
Definition at line 766 of file class.ilObjForum.php.
References $query, $res, and $row.
Referenced by __getCountNew(), and isNew().
{
$query = "SELECT * FROM frm_thread_access ".
"WHERE thread_id = '".$a_thread_id."' ".
"AND usr_id = '".$a_usr_id."'";
$res = $this->ilias->db->query($query);
while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
{
$last_access = $row->access_old;
}
if(!$last_access)
{
// Set last access according to administration setting
$last_access = NEW_DEADLINE;
}
return $last_access;
}
Here is the caller graph for this function:| ilObjForum::__read | ( | ) |
Definition at line 753 of file class.ilObjForum.php.
References $query, $res, and $row.
Referenced by ilObjForum(), and read().
{
$query = "SELECT * FROM frm_settings WHERE ".
"obj_id = '".$this->getId()."'";
$res = $this->ilias->db->query($query);
while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
{
$this->default_view = $row->default_view;
}
return true;
}
Here is the caller graph for this function:| ilObjForum::_deleteAccessEntries | ( | $ | a_thread_id | ) |
Definition at line 419 of file class.ilObjForum.php.
References $query.
Referenced by ilForum::deletePost().
{
global $ilDB;
$query = "DELETE FROM frm_thread_access ".
"WHERE thread_id = '".$a_thread_id."'";
$ilDB->query($query);
return true;
}
Here is the caller graph for this function:| ilObjForum::_deleteReadEntries | ( | $ | a_post_id | ) |
Definition at line 407 of file class.ilObjForum.php.
References $query.
Referenced by ilForum::deletePost().
{
global $ilDB;
$query = "DELETE FROM frm_user_read ".
"WHERE post_id = '".$a_post_id."'";
$ilDB->query($query);
return true;
}
Here is the caller graph for this function:| ilObjForum::_deleteUser | ( | $ | a_usr_id | ) |
Definition at line 389 of file class.ilObjForum.php.
References $query.
Referenced by ilObjUser::delete().
{
global $ilDB;
$query = "DELETE FROM frm_user_read ".
"WHERE usr_id = '".$a_usr_id."'";
$ilDB->query($query);
$query = "DELETE FROM frm_thread_access ".
"WHERE usr_id = '".$a_usr_id."'";
$ilDB->query($query);
return true;
}
Here is the caller graph for this function:| ilObjForum::_getCountUnread | ( | $ | a_frm_id, | |
| $ | a_usr_id, | |||
| $ | a_thread_id = 0 | |||
| ) |
Definition at line 111 of file class.ilObjForum.php.
References $ilBench, $query, $res, and $row.
Referenced by getCountUnread(), and ilObjForumListGUI::getProperties().
{
global $ilBench, $ilDB;
$ilBench->start("Forum",'getCountRead');
if(!$a_thread_id)
{
// Get topic_id
$query = "SELECT top_pk FROM frm_data ".
"WHERE top_frm_fk = '".$a_frm_id."'";
$res = $ilDB->query($query);
while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
{
$topic_id = $row->top_pk;
}
// Get number of posts
$query = "SELECT COUNT(pos_pk) as num_posts FROM frm_posts ".
"WHERE pos_top_fk = '".$topic_id."'";
$res = $ilDB->query($query);
while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
{
$num_posts = $row->num_posts;
}
$query = "SELECT COUNT(post_id) count_read FROM frm_user_read ".
"WHERE obj_id = '".$a_frm_id."' ".
"AND usr_id = '".$a_usr_id."'";
$res = $ilDB->query($query);
while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
{
$count_read = $row->count_read;
}
$unread = $num_posts - $count_read;
$ilBench->stop("Forum",'getCountRead');
return $unread > 0 ? $unread : 0;
}
else
{
$query = "SELECT COUNT(pos_pk) as num_posts FROM frm_posts ".
"WHERE pos_thr_fk = '".$a_thread_id."'";
$res = $ilDB->query($query);
while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
{
$num_posts = $row->num_posts;
}
$query = "SELECT COUNT(post_id) as count_read FROM frm_user_read ".
"WHERE obj_id = '".$a_frm_id."' ".
"AND usr_id = '".$a_usr_id."' ".
"AND thread_id = '".$a_thread_id."'";
$res = $ilDB->query($query);
while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
{
$count_read = $row->count_read;
}
$unread = $num_posts - $count_read;
$ilBench->stop("Forum",'getCountRead');
return $unread > 0 ? $unread : 0;
}
$ilBench->stop("Forum",'getCountRead');
return false;
}
Here is the caller graph for this function:| ilObjForum::_goto | ( | $ | a_target | ) |
redirect script
| string | $a_target |
Definition at line 790 of file class.ilObjForum.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("repository.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:| ilObjForum::_updateOldAccess | ( | $ | a_usr_id | ) |
Definition at line 365 of file class.ilObjForum.php.
References ilObject::$ilias, and $query.
{
global $ilDB,$ilias;
$query = "UPDATE frm_thread_access ".
"SET access_old = access_last ".
"WHERE usr_id = '".$a_usr_id."'";
$ilDB->query($query);
// Delete old entries
$new_deadline = time() - 60 * 60 * 24 * 7 * ($ilias->getSetting('frm_store_new') ?
$ilias->getSetting('frm_store_new') :
8);
$query = "DELETE FROM frm_thread_access ".
"WHERE access_last < '".$new_deadline."'";
$ilDB->query($query);
return true;
}
| ilObjForum::createSettings | ( | ) |
Definition at line 740 of file class.ilObjForum.php.
References $query.
| ilObjForum::delete | ( | ) |
delete forum and all related data
public
Reimplemented from ilObject.
Definition at line 594 of file class.ilObjForum.php.
References $query, and ilObject::getId().
{
// always call parent delete function first!!
if (!parent::delete())
{
return false;
}
// DELETE ATTACHMENTS
$tmp_file_obj =& new ilFileDataForum($this->getId());
$tmp_file_obj->delete();
unset($tmp_file_obj);
$this->Forum->setWhereCondition("top_frm_fk = ".$this->getId());
$topData = $this->Forum->getOneTopic();
$resThreads = $this->Forum->getThreadList($topData["top_pk"]);
while ($thrData = $resThreads->fetchRow(DB_FETCHMODE_ASSOC))
{
// delete tree
$query = "DELETE FROM frm_posts_tree WHERE thr_fk = '".$thrData["thr_pk"]."'";
$this->ilias->db->query($query);
// delete posts
$query = "DELETE FROM frm_posts WHERE pos_thr_fk = '".$thrData["thr_pk"]."'";
$this->ilias->db->query($query);
// delete threads
$query = "DELETE FROM frm_threads WHERE thr_pk = '".$thrData["thr_pk"]."'";
$this->ilias->db->query($query);
}
// delete topic
$query = "DELETE FROM frm_data WHERE top_frm_fk = '".$this->getId()."'";
$this->ilias->db->query($query);
// delete settings
$query = "DELETE FROM frm_settings WHERE obj_id = '".$this->getId()."'";
$this->ilias->db->query($query);
// delete read infos
$query = "DELETE FROM frm_user_read WHERE obj_id = '".$this->getId()."'";
$this->ilias->db->query($query);
// delete thread access entries
$query = "DELETE FROM frm_thread_access WHERE obj_id = '".$this->getId()."'";
$this->ilias->db->query($query);
return true;
}
Here is the call graph for this function:| ilObjForum::getCountNew | ( | $ | a_usr_id, | |
| $ | a_thread_id = 0 | |||
| ) |
Definition at line 254 of file class.ilObjForum.php.
References $counter, $ilBench, $num, $query, $res, $row, and __getCountNew().
{
global $ilBench;
$ilBench->start('Forum','getCountNew');
if($a_thread_id)
{
$num = $this->__getCountNew($a_usr_id,$a_thread_id);
$ilBench->stop('Forum','getCountNew');
return $num;
}
else
{
$counter = 0;
// Get threads
$query = "SELECT DISTINCT(pos_thr_fk) FROM frm_posts,frm_data ".
"WHERE top_pk = pos_top_fk ".
"AND top_frm_fk = '".$this->getId()."' ";
$res = $this->ilias->db->query($query);
while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
{
$counter += $this->__getCountNew($a_usr_id,$row->pos_thr_fk);
}
$ilBench->stop('Forum','getCountNew');
return $counter;
}
return 0;
}
Here is the call graph for this function:| ilObjForum::getCountUnread | ( | $ | a_usr_id, | |
| $ | a_thread_id = 0 | |||
| ) |
Definition at line 106 of file class.ilObjForum.php.
References _getCountUnread(), and ilObject::getId().
{
return $this->_getCountUnread($this->getId(),$a_usr_id,$a_thread_id);
}
Here is the call graph for this function:| ilObjForum::getDefaultView | ( | ) |
Definition at line 96 of file class.ilObjForum.php.
{
return $this->default_view;
}
| ilObjForum::ilClone | ( | $ | a_parent_ref, | |
| $ | a_with_content = true | |||
| ) |
copy all entries of a forum object.
attention: frm_data is linked with ILIAS system (object_data) with the obj_id and NOT ref_id!
public
| integer | ref_id of parent object | |
| boolean | copy with or without content (threads) |
Definition at line 470 of file class.ilObjForum.php.
References $forumObj, $q, $query, $rbacadmin, $roles, ilObject::getId(), ilUtil::prepareDBString(), and ilObjUser::updateActiveRoles().
{
global $rbacadmin;
// always call parent ilClone function first!!
$new_ref_id = parent::ilClone($a_parent_ref);
// get object instance of cloned forum
$forumObj =& $this->ilias->obj_factory->getInstanceByRefId($new_ref_id);
// COPY settings
$query = "INSERT INTO frm_settings ".
"SET obj_id = '".$forumObj->getId()."', ".
"default_view = '".$this->getDefaultView()."'";
$this->ilias->db->query($query);
// COPY ATTACHMENTS
$tmp_file_obj =& new ilFileDataForum($this->getId());
// create a local role folder & default roles
$roles = $forumObj->initDefaultRoles();
// ...finally assign moderator role to creator of forum object
$rbacadmin->assignUser($roles[0], $forumObj->getOwner(), "n");
ilObjUser::updateActiveRoles($forumObj->getOwner());
// STOP HERE if without_content is selected
if(!$a_with_content)
{
$this->Forum->setWhereCondition("top_frm_fk = ".$this->getId());
$topData = $this->Forum->getOneTopic();
$query = "INSERT INTO frm_data ".
"VALUES('0','".$forumObj->getId()."','".ilUtil::prepareDBString($topData['top_name'])."','".
ilUtil::prepareDBString($topData['top_description'])."','0','0','','".$roles[0]."',NOW(),'0',NOW(),'0','".
$this->ilias->account->getId()."')";
$this->ilias->db->query($query);
return $new_ref_id;
}
// get forum data
$this->Forum->setWhereCondition("top_frm_fk = ".$this->getId());
$topData = $this->Forum->getOneTopic();
// insert new forum as a copy
$q = "INSERT INTO frm_data ";
$q .= "(top_frm_fk,top_name,top_description,top_num_posts,top_num_threads,top_last_post,top_mods,top_date,".
"top_usr_id,visits,top_update,update_user) ";
$q .= "VALUES ";
$q .= "('".$forumObj->getId()."','".addslashes($topData["top_name"])."','".addslashes($topData["top_description"])."','".
$topData["top_num_posts"]."','".$topData["top_num_threads"]."','".$topData["top_last_post"]."','".$roles[0]."','".
$topData["top_date"]."','".$topData["top_usr_id"]."','".$topData["visits"]."','".$topData["top_update"]."','".
$topData["update_user"]."')";
$this->ilias->db->query($q);
// get last insert id and return it
$new_top_pk = $this->ilias->db->getLastInsertId();
// get threads from old forum and insert them as copys
$resThreads = $this->Forum->getThreadList($topData["top_pk"]);
while ($thrData = $resThreads->fetchRow(DB_FETCHMODE_ASSOC))
{
$q = "INSERT INTO frm_threads ";
$q .= "(thr_top_fk,thr_usr_id,thr_subject,thr_date,thr_update,thr_num_posts,thr_last_post,visits) ";
$q .= "VALUES ";
$q .= "('".$new_top_pk."','".$thrData["thr_usr_id"]."','".addslashes($thrData["thr_subject"])."','".
$thrData["thr_date"]."','".$thrData["thr_update"]."','".$thrData["thr_num_posts"]."','".
$thrData["thr_last_post"]."','".$thrData["visits"]."')";
$this->ilias->db->query($q);
// get last insert id and return it
$new_thr_pk = $this->ilias->db->getLastInsertId();
// get posts from old thread and insert them as copys
$resPosts = $this->Forum->getPostList($topData["top_pk"], $thrData["thr_pk"]);
while ($posData = $resPosts->fetchRow(DB_FETCHMODE_ASSOC))
{
$q2 = "INSERT INTO frm_posts ";
$q2 .= "(pos_top_fk,pos_thr_fk,pos_usr_id,pos_message,pos_date,pos_update) ";
$q2 .= "VALUES ";
$q2 .= "('".$new_top_pk."','".$new_thr_pk."','".$posData["pos_usr_id"]."','".
addslashes($posData["pos_message"])."','".$posData["pos_date"]."','".$posData["pos_update"]."')";
$this->ilias->db->query($q2);
// get last insert id and return it
$new_pos_pk = $this->ilias->db->getLastInsertId();
// CLONE POST ATTACHMENTS
$tmp_file_obj->setPosId($posData["pos_pk"]);
$tmp_file_obj->ilClone($forumObj->getId(),$new_pos_pk);
// get tree data from old post and insert copy
$q3 = "SELECT * FROM frm_posts_tree ";
$q3 .= "WHERE pos_fk = '".$posData["pos_pk"]."' ";
$q3 .= "AND thr_fk = '".$thrData["thr_pk"]."'";
$treeData = $this->ilias->db->getRow($q3, DB_FETCHMODE_ASSOC);
$q4 = "INSERT INTO frm_posts_tree (thr_fk,pos_fk,parent_pos,lft,rgt,depth,date) ";
$q4 .= "VALUES ";
$q4 .= "('".$new_thr_pk."','".$new_pos_pk."','".$treeData["parent_pos"]."','".
$treeData["lft"]."','".$treeData["rgt"]."','".$treeData["depth"]."','".$treeData["date"]."')";
$this->ilias->db->query($q4);
}
}
// always destroy objects in clone method because clone() is recursive and creates instances for each object in subtree!
unset($forumObj);
// ... and finally always return new reference ID!!
return $new_ref_id;
}
Here is the call graph for this function:| ilObjForum::ilObjForum | ( | $ | 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 61 of file class.ilObjForum.php.
References ilObject::$ilias, __read(), and ilObject::ilObject().
{
global $ilias;
/*
* this constant is used for the information if a single post is marked as new
* All threads/posts created before this date are never marked as new
* Default is 8 weeks
*
*/
$new_deadline = time() - 60 * 60 * 24 * 7 * ($ilias->getSetting('frm_store_new') ?
$ilias->getSetting('frm_store_new') :
8);
define('NEW_DEADLINE',$new_deadline);
$this->type = "frm";
$this->ilObject($a_id,$a_call_by_reference);
// TODO: needs to rewrite scripts that are using Forum outside this class
$this->Forum =& new ilForum();
if($a_id)
{
$this->__read();
}
}
Here is the call graph for this function:| ilObjForum::initDefaultRoles | ( | ) |
init default roles settings public
Reimplemented from ilObject.
Definition at line 649 of file class.ilObjForum.php.
References $permissions, $rbacadmin, $roles, ilObject::createRoleFolder(), ilObject::getId(), and ilObject::getRefId().
{
global $rbacadmin;
// create a local role folder
$rfoldObj = $this->createRoleFolder();
// create moderator role and assign role to rolefolder...
$roleObj = $rfoldObj->createRole("il_frm_moderator_".$this->getRefId(),"Moderator of forum obj_no.".$this->getId());
$roles[] = $roleObj->getId();
// grant permissions: visible,read,write,edit_post,delete_post
$permissions = array(1,2,3,4,6,9,10);
$rbacadmin->grantPermission($roles[0],$permissions,$this->getRefId());
unset($rfoldObj);
unset($roleObj);
return $roles ? $roles : array();
}
Here is the call graph for this function:| ilObjForum::isNew | ( | $ | a_usr_id, | |
| $ | a_thread_id, | |||
| $ | a_post_id | |||
| ) |
Definition at line 312 of file class.ilObjForum.php.
References $query, $res, __getLastThreadAccess(), and isRead().
{
if($this->isRead($a_usr_id,$a_post_id))
{
return false;
}
$timest = $this->__getLastThreadAccess($a_usr_id,$a_thread_id);
$query = "SELECT * FROM frm_posts ".
"WHERE pos_pk = '".$a_post_id."' ".
"AND (pos_date > '".date('Y-m-d H:i:s',$timest)."' ".
"OR pos_update > '".date('Y-m-d H:i:s',$timest)."') ".
"AND pos_usr_id != '".$a_usr_id."'";
$res = $this->ilias->db->query($query);
return $res->numRows() ? true : false;
}
Here is the call graph for this function:| ilObjForum::isRead | ( | $ | a_usr_id, | |
| $ | a_post_id | |||
| ) |
Definition at line 241 of file class.ilObjForum.php.
Referenced by __getCountNew(), and isNew().
{
$query = "SELECT * FROM frm_user_read ".
"WHERE usr_id = '".$a_usr_id."' ".
"AND post_id = '".$a_post_id."'";
$res = $this->ilias->db->query($query);
return $res->numRows() ? true : false;
}
Here is the caller graph for this function:| ilObjForum::markAllThreadsRead | ( | $ | a_usr_id | ) |
Definition at line 198 of file class.ilObjForum.php.
References $query, $res, $row, and markThreadRead().
{
$query = "SELECT * FROM frm_data, frm_threads ".
"WHERE top_frm_fk = '".$this->getId()."' ".
"AND top_pk = thr_top_fk ";
$res = $this->ilias->db->query($query);
while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
{
$this->markThreadRead($a_usr_id,$row->thr_pk);
}
return true;
}
Here is the call graph for this function:| ilObjForum::markPostRead | ( | $ | a_usr_id, | |
| $ | a_thread_id, | |||
| $ | a_post_id | |||
| ) |
Definition at line 214 of file class.ilObjForum.php.
Referenced by markThreadRead().
{
// CHECK IF ENTRY EXISTS
$query = "SELECT * FROM frm_user_read ".
"WHERE usr_id = '".$a_usr_id."' ".
"AND obj_id = '".$this->getId()."' ".
"AND thread_id = '".$a_thread_id."' ".
"AND post_id = '".$a_post_id."'";
$res = $this->ilias->db->query($query);
if($res->numRows())
{
return true;
}
$query = "INSERT INTO frm_user_read ".
"SET usr_id = '".$a_usr_id."', ".
"obj_id = '".$this->getId()."', ".
"thread_id = '".$a_thread_id."', ".
"post_id = '".$a_post_id."'";
$this->ilias->db->query($query);
return true;
}
Here is the caller graph for this function:| ilObjForum::markThreadRead | ( | $ | a_usr_id, | |
| $ | a_thread_id | |||
| ) |
Definition at line 184 of file class.ilObjForum.php.
References $query, $res, $row, and markPostRead().
Referenced by markAllThreadsRead().
{
// Get all post ids
$query = "SELECT * FROM frm_posts ".
"WHERE pos_thr_fk = '".$a_thread_id."'";
$res = $this->ilias->db->query($query);
while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
{
$this->markPostRead($a_usr_id,$a_thread_id,$row->pos_pk);
}
return true;
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilObjForum::notify | ( | $ | a_event, | |
| $ | a_ref_id, | |||
| $ | a_parent_non_rbac_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 parameters if required |
Reimplemented from ilObject.
Definition at line 680 of file class.ilObjForum.php.
References $_GET, $tree, and ilObject::getType().
{
global $tree;
switch ($a_event)
{
case "link":
//var_dump("<pre>",$a_params,"</pre>");
//echo "Forum ".$this->getRefId()." triggered by link event. Objects linked into target object ref_id: ".$a_ref_id;
//exit;
break;
case "cut":
//echo "Forum ".$this->getRefId()." triggered by cut event. Objects are removed from target object ref_id: ".$a_ref_id;
//exit;
break;
case "copy":
//var_dump("<pre>",$a_params,"</pre>");
//echo "Forum ".$this->getRefId()." triggered by copy event. Objects are copied into target object ref_id: ".$a_ref_id;
//exit;
break;
case "paste":
//echo "Forum ".$this->getRefId()." triggered by paste (cut) event. Objects are pasted into target object ref_id: ".$a_ref_id;
//exit;
break;
case "new":
//echo "Forum ".$this->getRefId()." triggered by paste (new) event. Objects are applied to target object ref_id: ".$a_ref_id;
//exit;
break;
}
// At the beginning of the recursive process it avoids second call of the notify function with the same parameter
if ($a_node_id==$_GET["ref_id"])
{
$parent_obj =& $this->ilias->obj_factory->getInstanceByRefId($a_node_id);
$parent_type = $parent_obj->getType();
if($parent_type == $this->getType())
{
$a_node_id = (int) $tree->getParentId($a_node_id);
}
}
parent::notify($a_event,$a_ref_id,$a_parent_non_rbac_id,$a_node_id,$a_params);
}
Here is the call graph for this function:| ilObjForum::read | ( | $ | a_force_db = false |
) |
read object data from db into object
| boolean | public |
Reimplemented from ilObject.
Definition at line 88 of file class.ilObjForum.php.
References __read().
{
parent::read($a_force_db);
$this->__read();
}
Here is the call graph for this function:| ilObjForum::setDefaultView | ( | $ | a_default_view | ) |
Definition at line 100 of file class.ilObjForum.php.
{
return $this->default_view = (int) $a_default_view;
}
| ilObjForum::update | ( | ) |
update forum data
public
Reimplemented from ilObject.
Definition at line 436 of file class.ilObjForum.php.
References $_SESSION, $query, $res, ilObject::getDescription(), ilObject::getId(), and ilObject::getTitle().
{
if (parent::update())
{
$query = "UPDATE frm_data ".
"SET ".
"top_name = '".ilUtil::prepareDBString($this->getTitle())."',".
"top_description = '".ilUtil::prepareDBString($this->getDescription())."',".
"top_update = '".date("Y-m-d H:i:s")."',".
"update_user = '".(int) $_SESSION["AccountId"]."' ".
"WHERE top_frm_fk = '".(int) $this->getId()."'";
$res = $this->ilias->db->query($query);
$query = "REPLACE INTO frm_settings ".
"SET obj_id = '".$this->getId()."', ".
"default_view = '".$this->getDefaultView()."'";
$this->ilias->db->query($query);
return true;
}
return false;
}
Here is the call graph for this function:| ilObjForum::updateLastAccess | ( | $ | a_usr_id, | |
| $ | a_thread_id | |||
| ) |
Definition at line 331 of file class.ilObjForum.php.
{
$query = "SELECT * FROM frm_thread_access ".
"WHERE usr_id = '".$a_usr_id."' ".
"AND obj_id = '".$this->getId()."' ".
"AND thread_id = '".$a_thread_id."'";
$res = $this->ilias->db->query($query);
if($res->numRows())
{
$query = "UPDATE frm_thread_access ".
"SET access_last = '".time()."' ".
"WHERE usr_id = '".$a_usr_id."' ".
"AND obj_id = '".$this->getId()."' ".
"AND thread_id = '".$a_thread_id."'";
$this->ilias->db->query($query);
}
else
{
$query = "INSERT INTO frm_thread_access ".
"SET access_last = '".time()."', ".
"access_old = '0', ".
"usr_id = '".$a_usr_id."', ".
"obj_id = '".$this->getId()."', ".
"thread_id = '".$a_thread_id."'";
$this->ilias->db->query($query);
}
return true;
}
| ilObjForum::$default_view = 1 |
Definition at line 46 of file class.ilObjForum.php.
| ilObjForum::$Forum |
Definition at line 53 of file class.ilObjForum.php.
1.7.1