ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
class.ilDclMobRecordRepresentation.php
Go to the documentation of this file.
1 <?php
2 
10 {
11 
19  public function getHTML($link = true)
20  {
21  $value = $this->getRecordField()->getValue();
22 
23  // the file is only temporary uploaded. Still need to be confirmed before stored
24  if (is_array($value) && $_POST['ilfilehash']) {
25  $this->ctrl->setParameterByClass("ildclrecordlistgui", "ilfilehash", $_POST['ilfilehash']);
26  $this->ctrl->setParameterByClass("ildclrecordlistgui", "field_id", $this->getRecordField()->getField()->getId());
27 
28  return '<a href="' . $this->ctrl->getLinkTargetByClass("ildclrecordlistgui", "sendFile") . '">' . $value['name'] . '</a>';
29  }
30 
31  $mob = new ilObjMediaObject($value, false);
32  $med = $mob->getMediaItem('Standard');
33 
34  if (!$med || $med->getLocation() == null) {
35  return "";
36  }
37 
38  $field = $this->getRecordField()->getField();
39 
40  $is_linked_field = $field->getProperty(ilDclBaseFieldModel::PROP_LINK_DETAIL_PAGE_TEXT);
41  $has_view = ilDclDetailedViewDefinition::isActive($_GET['tableview_id']);
42 
43  if (in_array($med->getSuffix(), array('jpg', 'jpeg', 'png', 'gif'))) {
44  // Image
45  $dir = ilObjMediaObject::_getDirectory($mob->getId());
46  $width = (int) $field->getProperty(ilDclBaseFieldModel::PROP_WIDTH);
47  $height = (int) $field->getProperty(ilDclBaseFieldModel::PROP_HEIGHT);
48 
49  $html = ilUtil::img(ilWACSignedPath::signFile($dir . "/" . $med->getLocation()), '', $width, $height);
50 
51  if ($is_linked_field && $has_view && $link) {
52  $this->ctrl->setParameterByClass('ilDclDetailedViewGUI', 'record_id', $this->getRecordField()->getRecord()->getId());
53  $html = '<a href="' . $this->ctrl->getLinkTargetByClass("ilDclDetailedViewGUI", 'renderRecord') . '">' . $html . '</a>';
54  }
55  } else {
56  // Video/Audio
57  $mpl = new ilMediaPlayerGUI($med->getId(), '');
58  $mpl->setFile(ilObjMediaObject::_getURL($mob->getId()) . "/" . $med->getLocation());
59  $mpl->setMimeType($med->getFormat());
60  $mpl->setDisplayWidth((int) $field->getProperty(ilDclBaseFieldModel::PROP_WIDTH) . 'px');
61  $mpl->setDisplayHeight((int) $field->getProperty(ilDclBaseFieldModel::PROP_HEIGHT) . 'px');
62  $mpl->setVideoPreviewPic($mob->getVideoPreviewPic());
63  $html = $mpl->getPreviewHtml();
64 
65  if ($is_linked_field && $has_view) {
66  $this->ctrl->setParameterByClass('ilDclDetailedViewGUI', 'record_id', $this->getRecordField()->getRecord()->getId());
67  $html = $html . '<a href="' . $this->ctrl->getLinkTargetByClass("ilDclDetailedViewGUI", 'renderRecord') . '">' . $this->lng->txt('details') . '</a>';
68  }
69  }
70  return $html;
71  }
72 
73 
81  public function parseFormInput($value)
82  {
83  if (is_array($value)) {
84  return $value;
85  }
86 
87  if (!ilObject2::_exists($value) || ilObject2::_lookupType($value, false) != "mob") {
88  return "";
89  }
90 
91  return $value;
92  }
93 }
setFile($a_file)
Set File.
$_GET["client_id"]
Class ilDclFileuploadRecordRepresentation.
static _getURL($a_mob_id)
get directory for files of media object (static)
getHTML($link=true)
Outputs html of a certain field.
static _getDirectory($a_mob_id)
get directory for files of media object (static)
Class ilDclMobRecordRepresentation.
Class ilObjMediaObject.
static signFile($path_to_file)
Create styles array
The data for the language used.
User interface for media player.
static img($a_src, $a_alt="", $a_width="", $a_height="", $a_border=0, $a_id="", $a_class="")
Build img tag.
static _lookupType($a_id, $a_reference=false)
static _exists($a_id, $a_reference=false, $a_type=null)
parseFormInput($value)
function parses stored value to the variable needed to fill into the form for editing.
$_POST["username"]
$html
Definition: example_001.php:87