ILIAS  Release_3_10_x_branch Revision 61812
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilObjForumListGUI Class Reference

Class ilObjForumListGUI. More...

+ Inheritance diagram for ilObjForumListGUI:
+ Collaboration diagram for ilObjForumListGUI:

Public Member Functions

 ilObjForumListGUI ()
 constructor
 setChildId ($a_child_id)
 getChildId ()
 init ()
 initialisation
 initItem ($a_ref_id, $a_obj_id, $a_title="", $a_description="")
 inititialize new item
 getProperties ()
 Get item properties.
 getCommandFrame ($a_cmd)
 Get command target.
 getCommandLink ($a_cmd)
 Get command link url.
- Public Member Functions inherited from ilObjectListGUI
 ilObjectListGUI ()
 constructor
 setContainerObject (&$container_obj)
 set the container object (e.g categorygui) Used for link, delete ...
 getContainerObject ()
 get container object
 enableProperties ($a_status)
 En/disable properties.
 getPropertiesStatus ()
 enablePreconditions ($a_status)
 En/disable preconditions.
 getNoticePropertiesStatus ()
 enableNoticeProperties ($a_status)
 En/disable notices.
 getPreconditionsStatus ()
 enableDescription ($a_status)
 En/disable description.
 getDescriptionStatus ()
 enableIcon ($a_status)
 En/Dis-able icons.
 getIconStatus ()
 Are icons enabled?
 enableCheckbox ($a_status)
 En/Dis-able checkboxes.
 getCheckboxStatus ()
 Are checkboxes enabled?
 enableExpand ($a_status)
 En/Dis-able expand/collapse link.
 getExpandStatus ()
 Is expand/collapse enabled.
 setExpanded ($a_status)
 isExpanded ()
 setPositionInputField ($a_field_index, $a_position_value)
 Set position input field.
 enableDelete ($a_status)
 En/disable delete.
 getDeleteStatus ()
 enableCut ($a_status)
 En/disable cut.
 getCutStatus ()
 enableSubscribe ($a_status)
 En/disable subscribe.
 getSubscribeStatus ()
 enablePayment ($a_status)
 En/disable payment.
 getPaymentStatus ()
 enableLink ($a_status)
 En/disable link.
 getLinkStatus ()
 enablePath ($a_path)
 En/disable path.
 getPathStatus ()
 enableCommands ($a_status, $a_std_only=false)
 En/disable commands.
 getCommandsStatus ()
 enableInfoScreen ($a_info_screen)
 En/disable path.
 addSubItemHTML ($a_html)
 Add HTML for subitem (used for sessions)
 getInfoScreenStatus ()
 enableProgressInfo ($a_status)
 enable progress info
 getProgressInfoStatus ()
 get progress info status
 enableSubstitutions ($a_status)
 Enable substitutions.
 getSubstitutionStatus ()
 Get substitution status.
 enableItemDetailLinks ($a_status)
 enable item detail links E.g Direct links to chapters or pages
 getItemDetailLinkStatus ()
 get item detail link status
 setItemDetailLinks ($a_detail_links, $a_intro_txt= '')
 set items detail links
 insertItemDetailLinks ()
 insert item detail links
 setTitle ($a_title)
 getTitle ()
 getTitle overwritten in class.ilObjLinkResourceList.php
 setDescription ($a_description)
 getDescription ()
 getDescription overwritten in class.ilObjLinkResourceList.php
 getCommandId ()
 get command id Normally the ref id.
 checkCommandAccess ($a_permission, $a_cmd, $a_ref_id, $a_type)
 createDefaultCommand ($command)
 Get default command link Overwritten for e.g categories,courses => they return a goto link If search engine visibility is enabled these object type return a goto_CLIENT_ID_cat_99.html link.
 getProperties ($a_item= '')
 Get item properties.
 addCustomProperty ($a_property="", $a_value="", $a_alert=false, $a_newline=false)
 add custom property
 getCustomProperties ($a_prop)
 get custom properties
 getNoticeProperties ()
 get notice properties
 addCustomCommand ($a_link, $a_lang_var, $a_frame="")
 add a custom command
 getCommands ()
 get all current commands for a specific ref id (in the permission context of the current user)
 getIconImageType ()
 Returns the icon image type.
 insertTitle ()
 insert item title
 insertSubstitutions ()
 Insert substitutions.
 insertDescription ()
 insert item description
 setMode ($a_mode)
 set output mode
 getMode ()
 get output mode
 setConditionDepth ($a_depth)
 set depth for precondition output (stops at level 5)
 isMode ($a_mode)
 check current output mode
 insertProperties ($a_item= '')
 insert properties
 insertNoticeProperties ()
 insertPayment ()
 insert payment information
 insertPreconditions ()
 insert all missing preconditions
 insertCommand ($a_href, $a_text, $a_frame="")
 insert command button
 insertDeleteCommand ()
 insert cut command
 insertLinkCommand ()
 insert link command
 insertCutCommand ()
 insert cut command
 insertSubscribeCommand ()
 insert subscribe command
 insertInfoScreenCommand ()
 insert info screen command
 insertCommands ()
 insert all commands into html code
 appendRepositoryFrameParameter ($a_link)
 workaround: all links into the repository (from outside) must tell repository to setup the frameset
 insertPath ()
 insert path
 insertProgressInfo ()
 insert progress info
 insertIconsAndCheckboxes ()
 Insert icons and checkboxes.
 insertSubItems ()
 Insert subitems.
 insertPositionField ()
 Insert field for positioning.
 adminCommandsIncluded ()
 returns whether any admin commands (link, delete, cut) are included in the output
 getListItemHTML ($a_ref_id, $a_obj_id, $a_title, $a_description)
 Get all item information (title, commands, description) in HTML.
 isSideBlock ()
 Returns whether current item is a block in a side column or not.
 setBoldTitle ($a_bold_title)
 public boolean $a_bold_title set the item title bold
 isTitleBold ()
 public

Additional Inherited Members

- Data Fields inherited from ilObjectListGUI
 $ctrl
 $description_enabled = true
 $preconditions_enabled = true
 $properties_enabled = true
 $notice_properties_enabled = true
 $commands_enabled = true
 $cust_prop = array()
 $cust_commands = array()
 $info_screen_enabled = false
 $condition_depth = 0
 $std_cmd_only = false
 $sub_item_html = array()
- Protected Member Functions inherited from ilObjectListGUI
 insertPaymentCommand ()
- Protected Attributes inherited from ilObjectListGUI
 $substitutions = null
 $substitutions_enabled = false
 $icons_enabled = false
 $checkboxes_enabled = false
 $position_enabled = false
 $progress_enabled = false
 $item_detail_links_enabled = false
 $item_detail_links = array()
 $item_detail_links_intro = ''
 $expand_enabled = false
 $is_expanded = true
 $bold_title = false

Detailed Description

Class ilObjForumListGUI.

Author
Alex Killing alex..nosp@m.kill.nosp@m.ing@g.nosp@m.mx.d.nosp@m.e
Id:
class.ilObjForumListGUI.php 18711 2009-01-23 08:50:38Z mjansen

Definition at line 36 of file class.ilObjForumListGUI.php.

Member Function Documentation

ilObjForumListGUI::getChildId ( )

Definition at line 51 of file class.ilObjForumListGUI.php.

Referenced by getCommandLink().

{
return $this->child_id;
}

+ Here is the caller graph for this function:

ilObjForumListGUI::getCommandFrame (   $a_cmd)

Get command target.

Parameters
int$a_ref_idreference id
string$a_cmdcommand

Reimplemented from ilObjectListGUI.

Definition at line 308 of file class.ilObjForumListGUI.php.

References ilFrameTargetInfo\_getFrame().

{
// separate method for this line
$target = ilFrameTargetInfo::_getFrame("MainContent");
return $target;
}

+ Here is the call graph for this function:

ilObjForumListGUI::getCommandLink (   $a_cmd)

Get command link url.

Overwrite this method, if link target is not build by ctrl class (e.g. "forum.php"). This is the case for all links now, but bringing everything to ilCtrl should be realised in the future.

Parameters
string$a_cmdcommand
Returns
string command link url

Reimplemented from ilObjectListGUI.

Definition at line 316 of file class.ilObjForumListGUI.php.

References getChildId().

{
switch($a_cmd)
{
case 'thread':
return "repository.php?cmd=showThreadFrameset&cmdClass=ilobjforumgui&ref_id=".$this->ref_id.
"&thr_pk=".$this->getChildId();
case 'posting':
$thread_post = $this->getChildId();
return "repository.php?cmd=showThreadFrameset&cmdClass=ilobjforumgui&target=1&ref_id=".$this->ref_id.
"&thr_pk=".$thread_post[0].
"&pos_pk=".$thread_post[1]."#".$thread_post[1];
default:
return parent::getCommandLink($a_cmd);
}
}

+ Here is the call graph for this function:

ilObjForumListGUI::getProperties ( )

Get item properties.

Overwrite this method to add properties at the bottom of the item html

Returns
array array of property arrays: "alert" (boolean) => display as an alert property (usually in red) "property" (string) => property name "value" (string) => property value

Definition at line 107 of file class.ilObjForumListGUI.php.

References $lng, ilObject\_exists(), ilFrameTargetInfo\_getFrame(), ilForum\_getModerators(), ilObjUser\_lookupLogin(), ilObjUser\_lookupPref(), ilDatePresentation\formatDate(), ilForumProperties\getInstance(), and IL_CAL_DATETIME.

{
global $lng, $ilUser, $ilAccess, $ilDB;
$props = array();
// Return no properties if read access isn't granted (e.g. course visibility)
if (!$ilAccess->checkAccess('read', '', $this->ref_id))
{
return array();
}
include_once('./Modules/Forum/classes/class.ilForum.php');
include_once('./Modules/Forum/classes/class.ilObjForum.php');
$forumObj = new ilObjForum($this->ref_id);
$frm =& $forumObj->Forum;
$frm->setForumId($forumObj->getId());
$frm->setForumRefId($forumObj->getRefId());
$frm->setWhereCondition('top_frm_fk = '.$ilDB->quote($frm->getForumId()));
// Forum Data
$frmData = $frm->getOneTopic();
// Moderators (Role: Moderator)
include_once('./Services/User/classes/class.ilObjUser.php');
$MODS = ilForum::_getModerators($this->ref_id);
$moderators = "";
for ($i = 0; $i < count($MODS); $i++)
{
if ($moderators != "")
{
$moderators .= ", ";
}
if (ilObjUser::_lookupPref($MODS[$i], 'public_profile') == 'y')
{
$moderators .= "<a class=\"il_ItemProperty\" target=\"".
"\" href=\"repository.php?cmd=showUser&cmdClass=ilobjforumgui&ref_id=".$this->ref_id."&user=".
$MODS[$i]."&offset=".$Start."\">".ilObjUser::_lookupLogin($MODS[$i])."</a>";
}
else
{
$moderators .= ilObjUser::_lookupLogin($MODS[$i]);
}
}
$props[] = array('alert' => false, 'property' => $lng->txt('forums_moderators'),
'value' => $moderators);
// threads
$threads = $frm->getAllThreads($frmData['top_pk']);
$props[] = array('alert' => false, 'property' => $lng->txt('forums_threads'),
'value' => count($threads));
// Posts
$num_posts_total = 0;
$num_unread_total = 0;
$num_new_total = 0;
$visits_total = 0;
$objLastPost = null;
foreach ($threads as $thread)
{
$objTmpLastPost = null;
if ($ilAccess->checkAccess('moderate_frm', '', $this->ref_id))
{
$num_posts = $thread->countPosts();
$num_posts_total += $num_posts;
$num_unread_total = $num_posts - $thread->countReadPosts($ilUser->getId());
$num_new_total += $thread->countNewPosts($ilUser->getId());
$objTmpLastPost = $thread->getLastPost();
}
else
{
$num_posts = $thread->countActivePosts();
$num_posts_total += $num_posts;
$num_unread_total += $num_posts - $thread->countReadActivePosts($ilUser->getId());
$num_new_total += $thread->countNewActivePosts($ilUser->getId());
$objTmpLastPost = $thread->getLastActivePost();
}
$visits_total += $thread->getVisits();
// Last Post
if ((!is_object($objLastPost) && is_object($objTmpLastPost)) ||
(is_object($objLastPost) && is_object($objTmpLastPost) && $objLastPost->getCreateDate() < $objTmpLastPost->getCreateDate()))
{
$objLastPost = $objTmpLastPost;
}
}
// Posts (Unread)
if($ilUser->getId() != ANONYMOUS_USER_ID)
{
$alert = ($num_unread_total > 0) ? true : false;
$props[] = array('alert' => $alert, 'property' => $lng->txt('forums_articles').' ('.$lng->txt('unread').')',
'value' => $num_posts_total.' ('.$num_unread_total.')');
// New
$alert = ($num_new_total > 0) ? true : false;
$props[] = array('alert' => $alert, 'property' => $lng->txt('forums_new_articles'),
'value' => $num_new_total);
}
else
{
$alert = false;
$props[] = array('alert' => $alert, 'property' => $lng->txt('forums_articles'),
'value' => $num_posts_total);
// New
$alert = false;
$props[] = array('alert' => $alert, 'property' => $lng->txt('forums_new_articles'),
'value' => 0);
}
// Visits
$props[] = array('alert' => false, 'property' => $lng->txt('visits'),
'value' => $visits_total);
// Last Post
if ($num_posts > 0)
{
if (is_object($objLastPost))
{
$last_user = $this->frm->getUserData($objLastPost->getUserId(), $objLastPost->getImportName());
$lpCont = "<a class=\"il_ItemProperty\" target=\"".
"\" href=\"repository.php?cmd=showThreadFrameset&cmdClass=ilobjforumgui&target=true&pos_pk=".
$objLastPost->getId()."&thr_pk=".$objLastPost->getThreadId()."&ref_id=".
$this->ref_id."#".$objLastPost->getId()."\">".$frm->limitMsgString($objLastPost->getMessage())."</a> ".
strtolower($lng->txt('from'))."&nbsp;";
if (ilForumProperties::getInstance($this->obj_id)->isAnonymized())
{
if ($objLastPost->getUserAlias() != '')
{
$lpCont .= $objLastPost->getUserAlias();
}
else
{
$lpCont .= $lng->txt('forums_anonymous');
}
$lpCont .= ', '.ilDatePresentation::formatDate(new ilDateTime($objLastPost->getCreateDate(),IL_CAL_DATETIME));
}
else
{
if ($objLastPost->getUserId() && ilObject::_exists($objLastPost->getUserId()) && $last_user['public_profile'] == 'y')
{
$lpCont .= "<a class=\"il_ItemProperty\" target=\"".
"\" href=\"repository.php?cmd=showUser&cmdClass=ilobjforumgui&ref_id=".$this->ref_id."&user=".
$last_user['usr_id']."&offset=".$Start."\">".$last_user['login']."</a>, ";
$lpCont .= ilDatePresentation::formatDate(new ilDateTime($objLastPost->getCreateDate(),IL_CAL_DATETIME));
}
else
{
$lpCont .= $last_user['login'].', '.ilDatePresentation::formatDate(new ilDateTime($objLastPost->getCreateDate(),IL_CAL_DATETIME));
}
}
/* At least one (last) posting? */
if ($lpCont != '')
{
$props[] = array(
'alert' => false,
'newline' => true,
'property' => $lng->txt('forums_last_post'),
'value' => $lpCont
);
}
}
}
/* Forum anonymized? */
if (ilForumProperties::getInstance($this->obj_id)->isAnonymized())
{
$props[] = array(
'alert' => false,
'newline' => true,
'property' => $lng->txt('forums_anonymized'),
'value' => $lng->txt('yes')
);
}
return $props;
}

+ Here is the call graph for this function:

ilObjForumListGUI::ilObjForumListGUI ( )

constructor

Definition at line 42 of file class.ilObjForumListGUI.php.

References ilObjectListGUI\ilObjectListGUI().

{
$this->ilObjectListGUI();
}

+ Here is the call graph for this function:

ilObjForumListGUI::init ( )

initialisation

Reimplemented from ilObjectListGUI.

Definition at line 59 of file class.ilObjForumListGUI.php.

References ilObjForumAccess\_getCommands().

{
$this->static_link_enabled = true;
$this->delete_enabled = true;
$this->cut_enabled = true;
$this->subscribe_enabled = true;
$this->link_enabled = true;
$this->payment_enabled = false;
$this->info_screen_enabled = true;
$this->type = "frm";
$this->gui_class_name = "ilobjforumgui";
// general commands array
include_once('./Modules/Forum/classes/class.ilObjForumAccess.php');
$this->commands = ilObjForumAccess::_getCommands();
}

+ Here is the call graph for this function:

ilObjForumListGUI::initItem (   $a_ref_id,
  $a_obj_id,
  $a_title = "",
  $a_description = "" 
)

inititialize new item

Parameters
int$a_ref_idreference id
int$a_obj_idobject id
string$a_titletitle
string$a_descriptiondescription

Reimplemented from ilObjectListGUI.

Definition at line 84 of file class.ilObjForumListGUI.php.

References ilObjectFactory\getInstanceByRefId().

{
global $ilDB;
parent::initItem($a_ref_id, $a_obj_id, $a_title, $a_description);
$this->frm_obj =& ilObjectFactory::getInstanceByRefId($this->ref_id);
$this->frm =& new ilForum();
$this->frm->setForumRefId($a_ref_id);
$this->frm->setWhereCondition("top_frm_fk = ".$ilDB->quote($a_obj_id));
}

+ Here is the call graph for this function:

ilObjForumListGUI::setChildId (   $a_child_id)

Definition at line 47 of file class.ilObjForumListGUI.php.

{
$this->child_id = $a_child_id;
}

The documentation for this class was generated from the following file: