ILIAS  release_4-4 Revision
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 
24 include_once './Services/Object/classes/class.ilSubItemListGUI.php';
25 include_once './Services/Link/classes/class.ilLink.php';
26 
37 {
42  public function getHTML()
43  {
44  global $lng;
45 
46  $lng->loadLanguageModule('content');
47  foreach($this->getSubItemIds(true) as $sub_item)
48  {
49  if(is_object($this->getHighlighter()) and strlen($this->getHighlighter()->getContent($this->getObjId(),$sub_item)))
50  {
51  $this->tpl->setCurrentBlock('sea_fragment');
52  $this->tpl->setVariable('TXT_FRAGMENT',$this->getHighlighter()->getContent($this->getObjId(),$sub_item));
53  $this->tpl->parseCurrentBlock();
54  }
55  $this->tpl->setCurrentBlock('subitem');
56  $this->tpl->setVariable('SEPERATOR',':');
57 
58  include_once './Modules/MediaPool/classes/class.ilMediaPoolItem.php';
59  switch(ilMediaPoolItem::lookupType($sub_item))
60  {
61  case 'fold':
62  $this->tpl->setVariable('LINK',ilLink::_getLink($this->getRefId(),'mep',array(),'_'.$sub_item));
63  $this->tpl->setVariable('TARGET',$this->getItemListGUI()->getCommandFrame(''));
64  break;
65 
66  case 'mob':
67  $this->tpl->setVariable('LINK',
68  $this->getItemListGUI()->getCommandLink('allMedia').
69  '&force_filter='.$sub_item
70  );
71  $this->tpl->setVariable('TARGET',$this->getItemListGUI()->getCommandFrame(''));
72  break;
73 
74  default:
75 
76  }
77 
78 
79  $this->tpl->setVariable('SUBITEM_TYPE',$lng->txt('obj_'.ilMediaPoolItem::lookupType($sub_item)));
80  $this->tpl->setVariable('TITLE',ilMediaPoolItem::lookupTitle($sub_item));
81  #$this->getItemListGUI()->setChildId($sub_item);
82 
83  // begin-patch mime_filter
84 
85  if(!$this->parseImage($sub_item))
86  {
87  include_once './Modules/MediaPool/classes/class.ilMediaPoolItem.php';
88  $this->tpl->setVariable('SUBITEM_TYPE',$lng->txt('obj_'.ilMediaPoolItem::lookupType($sub_item)));
89  $this->tpl->setVariable('SEPERATOR',':');
90  }
91 
92 
93  if(count($this->getSubItemIds(true)) > 1)
94  {
95  $this->parseRelevance($sub_item);
96  }
97 
98  $this->tpl->parseCurrentBlock();
99  }
100 
101  $this->showDetailsLink();
102 
103  return $this->tpl->get();
104  }
105 
106  protected function parseImage($a_sub_id)
107  {
108  include_once './Modules/MediaPool/classes/class.ilMediaPoolItem.php';
109  $sub_id = ilMediaPoolItem::lookupForeignId($a_sub_id);
110  // output thumbnail (or mob icon)
111  if (ilObject::_lookupType($sub_id) == "mob")
112  {
113  include_once("./Services/MediaObjects/classes/class.ilObjMediaObjectGUI.php");
114  $mob = new ilObjMediaObject($sub_id);
115  $med = $mob->getMediaItem("Standard");
116  $target = $med->getThumbnailTarget();
117 
118  if ($target != "")
119  {
120  // begin-patch mime_filter
121  $this->tpl->setVariable('LINKED_LINK',
123  $this->getRefId(),
124  'mep',
125  array('action' => 'showMedia', 'mob_id' => $sub_id,'mepitem_id' => $a_sub_id)));
126  $this->tpl->setVariable('LINKED_TARGET','_blank');
127  $this->tpl->setVariable("LINKED_IMAGE", ilUtil::img($target));
128  // end-patch mime_filter
129  }
130  else
131  {
132  $this->tpl->setVariable("SUB_ITEM_IMAGE",ilUtil::img(ilUtil::getImagePath("icon_".$a_set["type"].".gif")));
133  }
134  if (ilUtil::deducibleSize($med->getFormat()) && $med->getLocationType() == "Reference")
135  {
136  $size = @getimagesize($med->getLocation());
137  if ($size[0] > 0 && $size[1] > 0)
138  {
139  $wr = $size[0] / 80;
140  $hr = $size[1] / 80;
141  $r = max($wr, hr);
142  $w = (int) ($size[0]/$r);
143  $h = (int) ($size[1]/$r);
144  $this->tpl->setVariable("SUB_ITEM_IMAGE",ilUtil::img($med->getLocation(), "", $w, $h));
145  return true;
146  }
147  }
148  }
149  return false;
150 
151  }
152 }
153 ?>
static lookupType($a_id)
Lookup type.
$size
Definition: RandomTest.php:79
static img($a_src, $a_alt="", $a_width="", $a_height="", $a_border=0, $a_id="")
Build img tag.
getHighlighter()
get highlighter
Base class for all sub item list gui&#39;s.
static deducibleSize($a_mime)
checks if mime type is provided by getimagesize()
showDetailsLink()
show details link
static lookupForeignId($a_id)
Lookup Foreign Id.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
Class ilObjMediaObject.
static _lookupType($a_id, $a_reference=false)
lookup object type
static lookupTitle($a_id)
Lookup title.
global $lng
Definition: privfeed.php:40
getItemListGUI()
get item list gui
$r
getSubItemIds($a_limited=false)
get sub item ids