Public Member Functions | |
ilForumExplorer ($a_target, $a_thread_id, $a_ref_id) | |
Constructor public. | |
setOutput ($a_parent, $a_depth=1) | |
Creates output for explorer view in admin menue recursive method public. | |
getOutput () | |
Creates output recursive method public. | |
formatObject ($a_node_id, $a_option) | |
Creates output recursive method private. | |
formatHeader () | |
method to create a forum system specific header public | |
createTarget ($a_type, $a_node_id) | |
Creates Get Parameter private. | |
setExpand ($a_node_id) | |
set the expand option this value is stored in a SESSION variable to save it different view (lo view, frm view,...) private | |
__readThreadSubject () | |
Data Fields | |
$thread_id | |
$thread_subject | |
$root_id | |
$forum |
Definition at line 37 of file class.ilForumExplorer.php.
ilForumExplorer::__readThreadSubject | ( | ) |
Definition at line 368 of file class.ilForumExplorer.php.
Referenced by ilForumExplorer().
{ $this->forum->setWhereCondition("thr_pk = ".$this->thread_id); $threadData = $this->forum->getOneThread(); $this->thread_subject = $threadData["thr_subject"]; }
ilForumExplorer::createTarget | ( | $ | a_type, | |
$ | a_node_id | |||
) |
Creates Get Parameter private.
string | ||
integer |
Reimplemented from ilExplorer.
Definition at line 315 of file class.ilForumExplorer.php.
Referenced by formatObject().
{ if (!isset($a_type) or !is_string($a_type) or !isset($a_node_id)) { $this->ilias->raiseError(get_class($this)."::createTarget(): Missing parameter or wrong datatype! ". "type: ".$a_type." node_id:".$a_node_id,$this->ilias->error_obj->WARNING); } list($tmp,$get) = explode("?",$this->target); // SET expand parameter: // positive if object is expanded // negative if object is compressed $a_node_id = $a_type == '+' ? $a_node_id : -(int) $a_node_id; return $_SERVER["PATH_INFO"]."?".$get."&fexpand=".$a_node_id; }
ilForumExplorer::formatHeader | ( | ) |
method to create a forum system specific header public
integer | obj_id | |
integer | array options |
Definition at line 285 of file class.ilForumExplorer.php.
References $frm, ilExplorer::$ilias, $lng, $tpl, and ilUtil::getImagePath().
Referenced by getOutput().
{ global $lng, $ilias; $tpl = new ilTemplate("tpl.tree.html", true, true); $frm = new ilForum(); $frm->setWhereCondition("thr_pk = ".$this->thread_id); $threadData = $frm->getOneThread(); $tpl->setCurrentBlock("icon"); $tpl->setVariable("ICON_IMAGE", ilUtil::getImagePath("icon_frm.gif")); $tpl->setVariable("TXT_ALT_IMG", $lng->txt("obj_frm")); $tpl->parseCurrentBlock(); $tpl->setCurrentBlock("link"); $tpl->setVariable("TITLE", $a_option["title"]." ".$lng->txt("forums_thread").": ".$threadData["thr_subject"]); $tpl->setVariable("TARGET","target=content"); $tpl->setVariable("LINK_TARGET",$this->target); $tpl->parseCurrentBlock(); $this->output[] = $tpl->get(); }
ilForumExplorer::formatObject | ( | $ | a_node_id, | |
$ | a_option | |||
) |
Creates output recursive method private.
integer | ||
array |
Definition at line 197 of file class.ilForumExplorer.php.
References $ilUser, $lng, ilExplorer::$target, $tpl, createTarget(), and ilUtil::getImagePath().
Referenced by getOutput().
{ global $lng,$ilUser; if (!isset($a_node_id) or !is_array($a_option)) { $this->ilias->raiseError(get_class($this)."::formatObject(): Missing parameter or wrong datatype! ". "node_id: ".$a_node_id." options:".var_dump($a_option),$this->ilias->error_obj->WARNING); } $tpl = new ilTemplate("tpl.tree.html", true, true); foreach ($a_option["tab"] as $picture) { if ($picture == 'plus') { $target = $this->createTarget('+',$a_node_id); $tpl->setCurrentBlock("expander"); $tpl->setVariable("LINK_TARGET_EXPANDER", $target); $tpl->setVariable("IMGPATH", ilUtil::getImagePath("browser/blank.gif")); $tpl->parseCurrentBlock(); } if ($picture == 'minus') { $target = $this->createTarget('-',$a_node_id); $tpl->setCurrentBlock("expander"); $tpl->setVariable("LINK_TARGET_EXPANDER", $target); $tpl->setVariable("IMGPATH", ilUtil::getImagePath("browser/blank.gif")); $tpl->parseCurrentBlock(); } if ($picture == 'blank' or $picture == 'winkel' or $picture == 'hoch' or $picture == 'quer' or $picture == 'ecke') { $picture = 'blank'; $target = $_SERVER["REQUEST_URI"]; $tpl->setCurrentBlock("expander"); $tpl->setVariable("LINK_TARGET_EXPANDER", $target); $tpl->setVariable("IMGPATH", ilUtil::getImagePath("browser/".$picture.".gif")); //$tpl->setVariable("TXT_ALT_IMG", $lng->txt($a_option["desc"])); $tpl->parseCurrentBlock(); } } $target = (strpos($this->target, "?") === false) ? $this->target."?" : $this->target."&"; $tpl->setCurrentBlock("link"); $tpl->setVariable("LINK_TARGET", $target.$this->target_get."=".$a_node_id."#".$a_node_id); #$a_option["title"] = strlen($a_option["title"]) <= FULLNAME_MAXLENGTH # ? $a_option["title"] # : substr($a_option["title"],0,FULLNAME_MAXLENGTH)."..."; $tpl->setVariable("TITLE", $a_option["title"]); if($this->forum_obj->isRead($ilUser->getId(),$a_node_id)) { $tpl->setVariable("A_CLASS",'class="postread"'); } else { if($this->forum_obj->isNew($ilUser->getId(),$this->thread_id,$a_node_id)) { $tpl->setVariable("A_CLASS",'class="postnew"'); } else { $tpl->setVariable("A_CLASS",'class="postunread"'); } $tpl->setVariable("ONCLICK",'onClick="this.className=\'postread\';"'); } if ($this->frame_target != "") { $tpl->setVariable("TARGET", " target=\"".$this->frame_target."\""); } $tpl->parseCurrentBlock(); $this->output[] = $tpl->get(); }
ilForumExplorer::getOutput | ( | ) |
Creates output recursive method public.
Reimplemented from ilExplorer.
Definition at line 165 of file class.ilForumExplorer.php.
References ilExplorer::createLines(), formatHeader(), and formatObject().
{ $this->format_options[0]["tab"] = array(); $depth = $this->forum->getPostMaximumDepth($this->thread_id); for ($i=0;$i<$depth;++$i) { $this->createLines($i); } foreach ($this->format_options as $key => $options) { if($key == 0) { $this->formatHeader(); } if ($options["visible"]) { $this->formatObject($options["child"],$options); } } return implode('',$this->output); }
ilForumExplorer::ilForumExplorer | ( | $ | a_target, | |
$ | a_thread_id, | |||
$ | a_ref_id | |||
) |
Constructor public.
string | scriptname |
Definition at line 67 of file class.ilForumExplorer.php.
References $lng, __readThreadSubject(), ilObjectFactory::getInstanceByRefId(), and ilExplorer::ilExplorer().
{ global $lng; $lng->loadLanguageModule("forum"); parent::ilExplorer($a_target); $this->thread_id = $a_thread_id; $this->forum = new ilForum(); $this->forum_obj =& ilObjectFactory::getInstanceByRefId($a_ref_id); $tmp_array = $this->forum->getFirstPostNode($this->thread_id); $this->root_id = $tmp_array["child"]; $this->__readThreadSubject(); // max length of user fullname which is shown in explorer view define(FULLNAME_MAXLENGTH,16); }
ilForumExplorer::setExpand | ( | $ | a_node_id | ) |
set the expand option this value is stored in a SESSION variable to save it different view (lo view, frm view,...) private
string | pipe-separated integer |
Reimplemented from ilExplorer.
Definition at line 338 of file class.ilForumExplorer.php.
References $_SESSION.
{ $first_node = $this->forum->getFirstPostNode($this->thread_id); $first_node_id = $first_node["id"]; $_SESSION["fexpand"] = $_SESSION["fexpand"] ? $_SESSION["fexpand"] : array(); // IF ISN'T SET CREATE SESSION VARIABLE if(empty($_SESSION["fexpand"]) or !in_array($first_node_id,$_SESSION["fexpand"])) { $all_nodes = $this->forum->getPostTree($first_node); foreach($all_nodes as $node) { $tmp_array[] = $node["id"]; } $_SESSION["fexpand"] = array_merge($tmp_array,$_SESSION["fexpand"]); } // IF $_GET["expand"] is positive => expand this node if($a_node_id > 0 && !in_array($a_node_id,$_SESSION["fexpand"])) { array_push($_SESSION["fexpand"],$a_node_id); } // IF $_GET["expand"] is negative => compress this node if($a_node_id < 0) { $key = array_keys($_SESSION["fexpand"],-(int) $a_node_id); unset($_SESSION["fexpand"][$key[0]]); } $this->expanded = $_SESSION["fexpand"]; }
ilForumExplorer::setOutput | ( | $ | a_parent, | |
$ | a_depth = 1 | |||
) |
Creates output for explorer view in admin menue recursive method public.
integer | parent_node_id where to start from (default=0, 'root') | |
integer | depth level where to start (default=1) |
Definition at line 94 of file class.ilForumExplorer.php.
References $counter, $ilUser, $lng, $tab, and ilExplorer::getIndex().
{ global $lng,$ilUser; static $counter = 0; if ($objects = $this->forum->getPostChilds($a_parent,$this->thread_id)) { $tab = ++$a_depth - 2; foreach ($objects as $key => $object) { if ($object["child"] != $this->root_id) { $parent_index = $this->getIndex($object); } $this->format_options["$counter"]["parent"] = $object["parent"]; $this->format_options["$counter"]["child"] = $object["child"]; #$this->format_options["$counter"]["title"] = $object["title"]." <small class=\"small\">".$object["date"]."</small>". #"<small><br />".$object["subject"]."</small>"; $title = $object["subject"]." <small class=\"small\">".$object["title"]." ".$object["date"]."</small>"; $this->format_options[$counter]['title'] = $title; $this->format_options["$counter"]["type"] = $object["type"]; $this->format_options["$counter"]["desc"] = "forums_the_".$object["type"]; $this->format_options["$counter"]["depth"] = $tab; $this->format_options["$counter"]["container"] = false; $this->format_options["$counter"]["visible"] = true; // Create prefix array for ($i = 0; $i < $tab; ++$i) { $this->format_options["$counter"]["tab"][] = 'blank'; } // only if parent is expanded and visible, object is visible if ($object["child"] != $this->root_id and (!in_array($object["parent"],$this->expanded) or !$this->format_options["$parent_index"]["visible"])) { $this->format_options["$counter"]["visible"] = true; } // if object exists parent is container if ($object["child"] != $this->root_id) { $this->format_options["$parent_index"]["container"] = true; if (in_array($object["parent"],$this->expanded)) { $this->format_options["$parent_index"]["tab"][($tab-2)] = 'minus'; } else { $this->format_options["$parent_index"]["tab"][($tab-2)] = 'minus'; } } ++$counter; // Recursive $this->setOutput($object["child"],$a_depth); } //foreach } //if } //function
ilForumExplorer::$forum |
Definition at line 60 of file class.ilForumExplorer.php.
ilForumExplorer::$root_id |
Definition at line 53 of file class.ilForumExplorer.php.
ilForumExplorer::$thread_id |
Definition at line 44 of file class.ilForumExplorer.php.
ilForumExplorer::$thread_subject |
Definition at line 45 of file class.ilForumExplorer.php.