Public Member Functions | |
ilFileExplorer ($a_directory, $a_target) | |
Constructor public. | |
setOrderColumn ($a_column) | |
set the order column public | |
setTargetGet ($a_target_get) | |
set the varname in Get-string public | |
setParamsGet ($a_params_get) | |
set additional params to be passed in Get-string public | |
setExpandTarget ($a_exp_target) | |
target script for expand icons | |
checkPermissions ($a_check) | |
check permissions via rbac | |
outputIcons ($a_icons) | |
output icons | |
setOutput ($a_parent_dir, $a_depth=1) | |
Creates output for explorer view in admin menue recursive method public. | |
getFiles ($a_parent_dir, $a_order) | |
getOutput () | |
Creates output recursive method public. | |
formatHeader ($a_obj_id, $a_option) | |
Creates output for header (is empty here but can be overwritten in derived classes). | |
formatObject ($a_node_id, $a_option) | |
Creates output recursive method private. | |
createTarget ($a_type, $a_node_id) | |
Creates Get Parameter private. | |
setFrameTarget ($a_target) | |
set target frame or not frame? | |
createLines ($a_depth) | |
Creates lines for explorer view private. | |
is_in_array ($a_start, $a_depth) | |
DESCRIPTION MISSING private. | |
getIndex ($a_data) | |
get index of format_options array from specific ref_id,parent_id private | |
addFilter ($a_item) | |
adds item to the filter public | |
delFilter ($a_item) | |
adds item to the filter public | |
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 | |
setFiltered ($a_bool) | |
active/deactivate the filter public | |
checkFilter ($a_item) | |
check if item is in filter private | |
Data Fields | |
$ilias | |
$output | |
$format_options | |
$directory | |
$target | |
$target_get | |
$params_get | |
$expanded | |
$order_column | |
$expand_target | |
$output_icons |
Definition at line 33 of file class.ilFileExplorer.php.
ilFileExplorer::addFilter | ( | $ | a_item | ) |
adds item to the filter public
string | object type to add |
Definition at line 559 of file class.ilFileExplorer.php.
{ $ispresent = 0; if (is_array($this->filter)) { //run through filter foreach ($this->filter as $item) { if ($item == $a_item) { $is_present = 1; return false; } } } else { $this->filter = array(); } if ($is_present == 0) { $this->filter[] = $a_item; } return true; }
ilFileExplorer::checkFilter | ( | $ | a_item | ) |
check if item is in filter private
string |
Definition at line 677 of file class.ilFileExplorer.php.
Referenced by setOutput().
{ if (is_array($this->filter)) { return in_array($a_item, $this->filter); } else { return false; } }
ilFileExplorer::checkPermissions | ( | $ | a_check | ) |
check permissions via rbac
boolean | $a_check check true/false |
Definition at line 206 of file class.ilFileExplorer.php.
{ $this->rbac_check = $a_check; }
ilFileExplorer::createLines | ( | $ | a_depth | ) |
Creates lines for explorer view private.
integer |
Definition at line 476 of file class.ilFileExplorer.php.
References is_in_array().
{ for ($i = 0; $i < count($this->format_options); ++$i) { if ($this->format_options[$i]["depth"] == $a_depth+1 and !$this->format_options[$i]["container"] and $this->format_options[$i]["depth"] != 1) { $this->format_options[$i]["tab"]["$a_depth"] = "quer"; } if ($this->format_options[$i]["depth"] == $a_depth+2) { if ($this->is_in_array($i+1,$this->format_options[$i]["depth"])) { $this->format_options[$i]["tab"]["$a_depth"] = "winkel"; } else { $this->format_options[$i]["tab"]["$a_depth"] = "ecke"; } } if ($this->format_options[$i]["depth"] > $a_depth+2) { if ($this->is_in_array($i+1,$a_depth+2)) { $this->format_options[$i]["tab"]["$a_depth"] = "hoch"; } } } }
ilFileExplorer::createTarget | ( | $ | a_type, | |
$ | a_node_id | |||
) |
Creates Get Parameter private.
string | ||
integer |
Definition at line 441 of file class.ilFileExplorer.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); } // 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; $sep = (is_int(strpos($this->expand_target, "?"))) ? "&" : "?"; return $this->expand_target.$sep."expand=".$a_node_id.$this->params_get; }
ilFileExplorer::delFilter | ( | $ | a_item | ) |
adds item to the filter public
string | object type to delete |
Definition at line 596 of file class.ilFileExplorer.php.
{ //check if a filter exists if (is_array($this->filter)) { //build copy of the existing filter without the given item $tmp = array(); foreach ($this->filter as $item) { if ($item != $a_item) { $tmp[] = $item; } else { $deleted = 1; } } $this->filter = $tmp; } else { return false; } if ($deleted == 1) { return true; } else { return false; } }
ilFileExplorer::formatHeader | ( | $ | a_obj_id, | |
$ | a_option | |||
) |
Creates output for header (is empty here but can be overwritten in derived classes).
public
integer | obj_id | |
integer | array options |
Definition at line 357 of file class.ilFileExplorer.php.
Referenced by getOutput().
{ }
ilFileExplorer::formatObject | ( | $ | a_node_id, | |
$ | a_option | |||
) |
Creates output recursive method private.
integer | ||
array |
Definition at line 369 of file class.ilFileExplorer.php.
References $lng, $target, $tpl, createTarget(), and ilUtil::getImagePath().
Referenced by getOutput().
{ global $lng; 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", $target); $tpl->setVariable("IMGPATH", ilUtil::getImagePath("browser/plus.gif")); $tpl->parseCurrentBlock(); } if ($picture == 'minus') { $target = $this->createTarget('-',$a_node_id); $tpl->setCurrentBlock("expander"); $tpl->setVariable("LINK_TARGET", $target); $tpl->setVariable("IMGPATH", ilUtil::getImagePath("browser/minus.gif")); $tpl->parseCurrentBlock(); } if ($picture == 'blank' or $picture == 'winkel' or $picture == 'hoch' or $picture == 'quer' or $picture == 'ecke') { $tpl->setCurrentBlock("expander"); $tpl->setVariable("IMGPATH", ilUtil::getImagePath("browser/".$picture.".gif")); $tpl->setVariable("TXT_ALT_IMG", $lng->txt($a_option["desc"])); $tpl->parseCurrentBlock(); } } if ($this->output_icons) { $tpl->setCurrentBlock("icon"); $tpl->setVariable("ICON_IMAGE" ,ilUtil::getImagePath("icon_".$a_option["type"].".gif")); $tpl->setVariable("TXT_ALT_IMG", $lng->txt($a_option["desc"])); $tpl->parseCurrentBlock(); } $tpl->setCurrentBlock("row"); $target = (strpos($this->target, "?") === false) ? $this->target."?" : $this->target."&"; $tpl->setVariable("LINK_TARGET", $target.$this->target_get."=".$a_node_id.$this->params_get); $tpl->setVariable("TITLE", $a_option["title"]); if ($this->frame_target != "") { $tpl->setVariable("TARGET", " target=\"".$this->frame_target."\""); } $tpl->parseCurrentBlock(); $this->output[] = $tpl->get(); }
ilFileExplorer::getFiles | ( | $ | a_parent_dir, | |
$ | a_order | |||
) |
Definition at line 298 of file class.ilFileExplorer.php.
Referenced by setOutput().
{ $files = array(); $handle = opendir($a_parent_dir); while (false !== ($file = readdir($handle))) { if (!is_dir($file)) { $files[] = array("type" => "file", "name" => $file); } else { $files[] = array("type" => "dir", "name" => $file); } } return $files; }
ilFileExplorer::getIndex | ( | $ | a_data | ) |
get index of format_options array from specific ref_id,parent_id private
array | object data |
Definition at line 539 of file class.ilFileExplorer.php.
References $key.
Referenced by setOutput().
{ foreach ($this->format_options as $key => $value) { if (($value["child"] == $a_data["parent"])) { return $key; } } // exit on error $this->ilias->raiseError(get_class($this)."::getIndex(): Error in tree. No index found!",$this->ilias->error_obj->FATAL); }
ilFileExplorer::getOutput | ( | ) |
Creates output recursive method public.
Definition at line 322 of file class.ilFileExplorer.php.
References $key, formatHeader(), and formatObject().
{ $this->format_options[0]["tab"] = array(); /* ??? $depth = $this->tree->getMaximumDepth(); for ($i=0;$i<$depth;++$i) { $this->createLines($i); }*/ foreach ($this->format_options as $key => $options) { if ($options["visible"] and $key != 0) { $this->formatObject($options["child"],$options); } if ($key == 0) { $this->formatHeader($options["child"],$options); } } return implode('',$this->output); }
ilFileExplorer::ilFileExplorer | ( | $ | a_directory, | |
$ | a_target | |||
) |
Constructor public.
string | scriptname |
Definition at line 117 of file class.ilFileExplorer.php.
References $ilias.
{ global $ilias; if (!isset($a_target) or !is_string($a_target)) { $this->ilias->raiseError(get_class($this)."::Constructor(): No target given!",$this->ilias->error_obj->WARNING); } if (!isset($a_directory) or !is_string($a_directory)) { $this->ilias->raiseError(get_class($this)."::Constructor(): No directory given!",$this->ilias->error_obj->WARNING); } $this->ilias =& $ilias; $this->directory = $a_directory; $this->output = array(); $this->expanded = array(); $this->target = $a_target; $this->target_get = 'ref_id'; $this->frame_target = "_top"; $this->order_column = "title"; $this->expand_target = $_SERVER["PATH_INFO"]; $this->rbac_check = true; $this->output_icons = true; }
ilFileExplorer::is_in_array | ( | $ | a_start, | |
$ | a_depth | |||
) |
DESCRIPTION MISSING private.
integer | ||
integer |
Definition at line 516 of file class.ilFileExplorer.php.
Referenced by createLines().
{ for ($i=$a_start;$i<count($this->format_options);++$i) { if ($this->format_options[$i]["depth"] < $a_depth) { break; } if ($this->format_options[$i]["depth"] == $a_depth) { return true; } } return false; }
ilFileExplorer::outputIcons | ( | $ | a_icons | ) |
output icons
boolean | $a_icons output icons true/false |
Definition at line 216 of file class.ilFileExplorer.php.
{ $this->output_icons = $a_icons; }
ilFileExplorer::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 |
Definition at line 638 of file class.ilFileExplorer.php.
References $_SESSION, and $key.
{ // IF ISN'T SET CREATE SESSION VARIABLE if(!is_array($_SESSION["expand"])) { $_SESSION["expand"] = array($this->tree->getRootId()); } // IF $_GET["expand"] is positive => expand this node if ($a_node_id > 0 && !in_array($a_node_id,$_SESSION["expand"])) { array_push($_SESSION["expand"],$a_node_id); } // IF $_GET["expand"] is negative => compress this node if ($a_node_id < 0) { $key = array_keys($_SESSION["expand"],-(int) $a_node_id); unset($_SESSION["expand"][$key[0]]); } $this->expanded = $_SESSION["expand"]; }
ilFileExplorer::setExpandTarget | ( | $ | a_exp_target | ) |
target script for expand icons
string | $a_exp_target script name of target script(may include parameters) initially set to $_SERVER["PATH_INFO"] |
Definition at line 196 of file class.ilFileExplorer.php.
{ $this->expand_target = $a_exp_target; }
ilFileExplorer::setFiltered | ( | $ | a_bool | ) |
active/deactivate the filter public
boolean |
Definition at line 665 of file class.ilFileExplorer.php.
{ $this->filtered = $a_bool; return true; }
ilFileExplorer::setFrameTarget | ( | $ | a_target | ) |
set target frame or not frame?
string | public |
Definition at line 466 of file class.ilFileExplorer.php.
{ $this->frame_target = $a_target; }
ilFileExplorer::setOrderColumn | ( | $ | a_column | ) |
set the order column public
string | name of order column |
Definition at line 149 of file class.ilFileExplorer.php.
{ $this->order_column = $a_column; }
ilFileExplorer::setOutput | ( | $ | a_parent_dir, | |
$ | 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 230 of file class.ilFileExplorer.php.
References $counter, $files, $key, $tab, checkFilter(), getFiles(), and getIndex().
{ static $counter = 0; if (!isset($a_parent_id)) { $this->ilias->raiseError(get_class($this)."::setOutput(): No node_id given!",$this->ilias->error_obj->WARNING); } $files = $this->getFiles($a_parent_dir, $this->order_column); if (count($files) > 0) { $tab = ++$a_depth - 2; foreach ($objects as $key => $object) { //ask for FILTER if ($this->filtered == false || $this->checkFilter($object["type"])==true) { if ($object["child"] != $this->tree->getRootId()) { $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"]; $this->format_options["$counter"]["type"] = $object["type"]; $this->format_options["$counter"]["desc"] = "obj_".$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->tree->getRootId() and (!in_array($object["parent"],$this->expanded) or !$this->format_options["$parent_index"]["visible"])) { $this->format_options["$counter"]["visible"] = false; } // if object exists parent is container if ($object["child"] != $this->tree->getRootId()) { $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)] = 'plus'; } } ++$counter; // Recursive $this->setOutput($object["child"],$a_depth); } //if FILTER } //foreach } //if } //function
ilFileExplorer::setParamsGet | ( | $ | a_params_get | ) |
set additional params to be passed in Get-string public
array |
Definition at line 174 of file class.ilFileExplorer.php.
References $key.
{ if (!isset($a_params_get) or !is_array($a_params_get)) { $this->ilias->raiseError(get_class($this)."::setTargetGet(): No target given!",$this->ilias->error_obj->WARNING); } foreach ($a_params_get as $key => $val) { $str .= "&".$key."=".$val; } $this->params_get = $str; }
ilFileExplorer::setTargetGet | ( | $ | a_target_get | ) |
set the varname in Get-string public
string | varname containing Ids to be used in GET-string |
Definition at line 159 of file class.ilFileExplorer.php.
{ if (!isset($a_target_get) or !is_string($a_target_get)) { $this->ilias->raiseError(get_class($this)."::setTargetGet(): No target given!",$this->ilias->error_obj->WARNING); } $this->target_get = $a_target_get; }
ilFileExplorer::$directory |
Definition at line 61 of file class.ilFileExplorer.php.
ilFileExplorer::$expand_target |
Definition at line 103 of file class.ilFileExplorer.php.
ilFileExplorer::$expanded |
Definition at line 89 of file class.ilFileExplorer.php.
ilFileExplorer::$format_options |
Definition at line 54 of file class.ilFileExplorer.php.
ilFileExplorer::$ilias |
Definition at line 40 of file class.ilFileExplorer.php.
Referenced by ilFileExplorer().
ilFileExplorer::$order_column |
Definition at line 96 of file class.ilFileExplorer.php.
ilFileExplorer::$output |
Definition at line 47 of file class.ilFileExplorer.php.
ilFileExplorer::$output_icons |
Definition at line 110 of file class.ilFileExplorer.php.
ilFileExplorer::$params_get |
Definition at line 82 of file class.ilFileExplorer.php.
ilFileExplorer::$target |
Definition at line 68 of file class.ilFileExplorer.php.
Referenced by formatObject().
ilFileExplorer::$target_get |
Definition at line 75 of file class.ilFileExplorer.php.