53        $this->tree = 
$DIC->repositoryTree();
 
   54        $this->ctrl = 
$DIC->ctrl();
 
   55        $this->obj_definition = 
$DIC[
"objDefinition"];
 
   56        $this->access = 
$DIC->access();
 
   61        $this->entries = array();
 
   63        $this->offline = 
false;
 
   73        $this->textonly = $a_textonly;
 
   78        $this->offline = $a_offline;
 
   83        return $this->offline;
 
   93        return $this->textonly;
 
  108        if ($a_ref_id == 0) {
 
  109            $a_ref_id = 
$_GET[
"ref_id"];
 
  114            $path = 
$tree->getPathFull($a_ref_id, $a_start);
 
  118            foreach ($path as $k => $v) {
 
  119                if ($v[
"type"] == 
"crs") {
 
  120                    $crs_ref_id = $v[
"child"];
 
  123            if (!$setting->get(
"rep_breadcr_crs")) { 
 
  125            } elseif ($setting->get(
"rep_breadcr_crs_overwrite")) { 
 
  137            foreach ((array) $path as $key => $row) {
 
  138                if (!in_array($row[
"type"], array(
"root", 
"cat", 
"crs", 
"fold", 
"grp", 
"prg", 
"lso"))) {
 
  141                if ($crs_ref_id > 0 && $row[
"child"] == $crs_ref_id) {
 
  144                if ($crs_ref_id > 0) {
 
  148                if ($row[
"title"] == 
"ILIAS" && $row[
"type"] == 
"root") {
 
  149                    $row[
"title"] = $this->lng->txt(
"repository");
 
  175        if ($a_ref_id == 0) {
 
  176            $a_ref_id = 
$_GET[
"ref_id"];
 
  180            $path = 
$tree->getPathFull($a_ref_id);
 
  183            foreach ($path as $key => $row) {
 
  184                if (!in_array($row[
"type"], array(
"root", 
"cat", 
"crs", 
"fold", 
"grp"))) {
 
  189                    $row[
"title"] = 
$lng->txt(
"repository");
 
  192                $class_name = $objDefinition->getClassName($row[
"type"]);
 
  193                $class = strtolower(
"ilObj" . $class_name . 
"GUI");
 
  194                $ilCtrl->setParameterByClass($class, 
"ref_id", $row[
"child"]);
 
  197                    $ilCtrl->getLinkTargetbyClass($class, 
"view"),
 
  210            $path = 
$tree->getPathFull($a_ref_id);
 
  214            $r_path = array_reverse($path);
 
  218            foreach ($r_path as $key => $row) {
 
  220                    if (in_array($row[
"type"], array(
"root", 
"cat", 
"grp", 
"crs")) &&
 
  221                        $row[
"child"] != $a_ref_id) {
 
  222                        $first = $row[
"child"];
 
  225                if ($a_stop == $row[
"child"]) {
 
  228                $omit[$row[
"child"]] = $do_omit;
 
  232            foreach ($path as $key => $row) {
 
  233                if ($first == $row[
"child"]) {
 
  238                if ($add_it && !$omit[$row[
"child"]] &&
 
  239                    (!$a_omit_node || ($row[
"child"] != $a_ref_id))) {
 
  241                    if ($row[
"title"] == 
"ILIAS" && $row[
"type"] == 
"root") {
 
  242                        $row[
"title"] = $this->lng->txt(
"repository");
 
  246                        "./goto.php?client_id=" . rawurlencode(
CLIENT_ID) . 
"&target=" . $row[
"type"] . 
"_" . $row[
"child"],
 
  263    public function addItem($a_title, $a_link, $a_frame = 
"", $a_ref_id = 0, 
$type = 
null)
 
  267        $ltiview = 
$DIC[
'lti'];
 
  271        if ($a_ref_id > 0 && !$ilAccess->checkAccess(
"visible", 
"", $a_ref_id)) {
 
  275        if ($ltiview->isActive()) {
 
  278        $this->entries[] = array(
 
  279            "title" => strip_tags(
 
  285            "ref_id" => $a_ref_id,
 
  295        $this->entries = array();
 
  315            $loc_tpl = 
new ilTemplate(
"tpl.locator_text_only.html", 
true, 
true, 
"Services/Locator");
 
  317            $loc_tpl = 
new ilTemplate(
"tpl.locator.html", 
true, 
true, 
"Services/Locator");
 
  323        if (is_array($items)) {
 
  324            foreach ($items as $item) {
 
  326                    $loc_tpl->touchBlock(
"locator_separator_prefix");
 
  329                if ($item[
"ref_id"] > 0) {
 
  342                    $loc_tpl->setCurrentBlock(
"locator_img");
 
  343                    $loc_tpl->setVariable(
"IMG_SRC", $icon_path);
 
  344                    $loc_tpl->setVariable(
 
  348                    $loc_tpl->parseCurrentBlock();
 
  351                $loc_tpl->setCurrentBlock(
"locator_item");
 
  352                if ($item[
"link"] != 
"") {
 
  353                    $loc_tpl->setVariable(
"LINK_ITEM", $item[
"link"]);
 
  354                    if ($item[
"frame"] != 
"") {
 
  355                        $loc_tpl->setVariable(
"LINK_TARGET", 
' target="' . $item[
"frame"] . 
'" ');
 
  357                    $loc_tpl->setVariable(
"ITEM", $item[
"title"]);
 
  359                    $loc_tpl->setVariable(
"PREFIX", $item[
"title"]);
 
  361                $loc_tpl->parseCurrentBlock();
 
  366            $loc_tpl->setVariable(
"NOITEM", 
" ");
 
  367            $loc_tpl->touchBlock(
"locator");
 
  369        $loc_tpl->setVariable(
"TXT_BREADCRUMBS", 
$lng->txt(
"breadcrumb_navigation"));
 
  371        return trim($loc_tpl->get());
 
  386        if (is_array($items)) {
 
  387            foreach ($items as $item) {
 
  392                $str .= $item[
"title"];
 
An exception for terminatinating execution or to throw for unit testing.
static _lookupContainerSetting($a_id, $a_keyword, $a_default_value=null)
Lookup a container setting.
static _getLink($a_ref_id, $a_type='', $a_params=array(), $append="")
addContextItems($a_ref_id, $a_omit_node=false, $a_stop=0)
getTextOnly()
Get Only text, no HTML.
__construct()
Constructor.
addRepositoryItems($a_ref_id=0)
add repository item
clearItems()
Clear all Items.
addAdministrationItems($a_ref_id=0)
add administration tree items
getItems()
Get all locator entries.
setTextOnly($a_textonly)
Set Only text, no HTML.
getHTML()
Get locator HTML.
addItem($a_title, $a_link, $a_frame="", $a_ref_id=0, $type=null)
add locator item
getTextVersion()
Get text version.
const BREADCRUMB_FULL_PATH
const ALLOWED_TAGS_IN_TITLE_AND_DESCRIPTION
static _lookupObjId($a_id)
static _getIcon( $a_obj_id="", $a_size="big", $a_type="", $a_offline=false)
Get icon for repository item.
static _lookupType($a_id, $a_reference=false)
lookup object type
special template class to simplify handling of ITX/PEAR