ILIAS  release_7 Revision v7.30-3-g800a261c036
class.ilObjMediaPoolSubItemListGUI.php
Go to the documentation of this file.
1<?php
2/*
3 +-----------------------------------------------------------------------------+
4 | ILIAS open source |
5 +-----------------------------------------------------------------------------+
6 | Copyright (c) 1998-2006 ILIAS open source, University of Cologne |
7 | |
8 | This program is free software; you can redistribute it and/or |
9 | modify it under the terms of the GNU General Public License |
10 | as published by the Free Software Foundation; either version 2 |
11 | of the License, or (at your option) any later version. |
12 | |
13 | This program is distributed in the hope that it will be useful, |
14 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
16 | GNU General Public License for more details. |
17 | |
18 | You should have received a copy of the GNU General Public License |
19 | along with this program; if not, write to the Free Software |
20 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
21 +-----------------------------------------------------------------------------+
22*/
23
24include_once './Services/Object/classes/class.ilSubItemListGUI.php';
25include_once './Services/Link/classes/class.ilLink.php';
26
37{
42 public function getHTML()
43 {
45
46 $lng->loadLanguageModule('content');
47 foreach ($this->getSubItemIds(true) as $sub_item) {
48 if (is_object($this->getHighlighter()) and strlen($this->getHighlighter()->getContent($this->getObjId(), $sub_item))) {
49 $this->tpl->setCurrentBlock('sea_fragment');
50 $this->tpl->setVariable('TXT_FRAGMENT', $this->getHighlighter()->getContent($this->getObjId(), $sub_item));
51 $this->tpl->parseCurrentBlock();
52 }
53 $this->tpl->setCurrentBlock('subitem');
54 $this->tpl->setVariable('SEPERATOR', ':');
55
56 include_once './Modules/MediaPool/classes/class.ilMediaPoolItem.php';
57 switch (ilMediaPoolItem::lookupType($sub_item)) {
58 case 'fold':
59 $this->tpl->setVariable('LINK', ilLink::_getLink($this->getRefId(), 'mep', array(), '_' . $sub_item));
60 $this->tpl->setVariable('TARGET', $this->getItemListGUI()->getCommandFrame(''));
61 break;
62
63 case 'mob':
64 $this->tpl->setVariable(
65 'LINK',
66 $this->getItemListGUI()->getCommandLink('allMedia') .
67 '&force_filter=' . $sub_item
68 );
69 $this->tpl->setVariable('TARGET', $this->getItemListGUI()->getCommandFrame(''));
70 break;
71
72 case 'pg':
73 $pool = new ilObjMediaPool($this->getRefId());
74 $parent_id = $pool->getParentId($sub_item);
75 if ($parent_id !== '') {
76 $this->tpl->setVariable('LINK', ilLink::_getLink($this->getRefId(), 'mep', [], '_' . $parent_id));
77 $this->tpl->setVariable('TARGET', $this->getItemListGUI()->getCommandFrame(''));
78 } else {
79 $this->tpl->setVariable('LINK', ilLink::_getLink($this->getRefId(), 'mep', []));
80 $this->tpl->setVariable('TARGET', $this->getItemListGUI()->getCommandFrame(''));
81 }
82 break;
83 }
84
85
86 $this->tpl->setVariable('SUBITEM_TYPE', $lng->txt('obj_' . ilMediaPoolItem::lookupType($sub_item)));
87 $this->tpl->setVariable('TITLE', ilMediaPoolItem::lookupTitle($sub_item));
88 #$this->getItemListGUI()->setChildId($sub_item);
89
90 // begin-patch mime_filter
91
92 if (!$this->parseImage($sub_item)) {
93 include_once './Modules/MediaPool/classes/class.ilMediaPoolItem.php';
94 $this->tpl->setVariable('SUBITEM_TYPE', $lng->txt('obj_' . ilMediaPoolItem::lookupType($sub_item)));
95 $this->tpl->setVariable('SEPERATOR', ':');
96 }
97
98
99 if (count($this->getSubItemIds(true)) > 1) {
100 $this->parseRelevance($sub_item);
101 }
102
103 $this->tpl->parseCurrentBlock();
104 }
105
106 $this->showDetailsLink();
107
108 return $this->tpl->get();
109 }
110
111 protected function parseImage($a_sub_id)
112 {
113 include_once './Modules/MediaPool/classes/class.ilMediaPoolItem.php';
114 $sub_id = ilMediaPoolItem::lookupForeignId($a_sub_id);
115 // output thumbnail (or mob icon)
116 if (ilObject::_lookupType($sub_id) == "mob") {
117 include_once("./Services/MediaObjects/classes/class.ilObjMediaObjectGUI.php");
118 $mob = new ilObjMediaObject($sub_id);
119 $med = $mob->getMediaItem("Standard");
120 $target = $med->getThumbnailTarget();
121
122 if ($target != "") {
123 // begin-patch mime_filter
124 $this->tpl->setVariable(
125 'LINKED_LINK',
127 $this->getRefId(),
128 'mep',
129 array('action' => 'showMedia', 'mob_id' => $sub_id,'mepitem_id' => $a_sub_id)
130 )
131 );
132 $this->tpl->setVariable('LINKED_TARGET', '_blank');
133 $this->tpl->setVariable("LINKED_IMAGE", ilUtil::img($target));
134 // end-patch mime_filter
135 } else {
136 $this->tpl->setVariable("SUB_ITEM_IMAGE", ilUtil::img(ilUtil::getImagePath("icon_" . $a_set["type"] . ".gif")));
137 }
138 if (ilUtil::deducibleSize($med->getFormat()) && $med->getLocationType() == "Reference") {
139 $size = @getimagesize($med->getLocation());
140 if ($size[0] > 0 && $size[1] > 0) {
141 $wr = $size[0] / 80;
142 $hr = $size[1] / 80;
143 $r = max($wr, hr);
144 $w = (int) ($size[0] / $r);
145 $h = (int) ($size[1] / $r);
146 $this->tpl->setVariable("SUB_ITEM_IMAGE", ilUtil::img($med->getLocation(), "", $w, $h));
147 return true;
148 }
149 }
150 }
151 return false;
152 }
153}
$size
Definition: RandomTest.php:84
An exception for terminatinating execution or to throw for unit testing.
static lookupForeignId($a_id)
Lookup Foreign Id.
static lookupType($a_id)
Lookup type.
static lookupTitle($a_id)
Lookup title.
Class ilObjMediaObject.
Media pool object.
static _lookupType($a_id, $a_reference=false)
lookup object type
Base class for all sub item list gui's.
getItemListGUI()
get item list gui
getSubItemIds($a_limited=false)
get sub item ids
showDetailsLink()
show details link
getHighlighter()
get highlighter
static img($a_src, $a_alt=null, $a_width="", $a_height="", $a_border=0, $a_id="", $a_class="")
Build img tag.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
static deducibleSize($a_mime)
checks if mime type is provided by getimagesize()