-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathclass.ilInteractiveVideoVimeoGUI.php
More file actions
104 lines (92 loc) · 2.98 KB
/
class.ilInteractiveVideoVimeoGUI.php
File metadata and controls
104 lines (92 loc) · 2.98 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
<?php
require_once 'Customizing/global/plugins/Services/Repository/RepositoryObject/InteractiveVideo/VideoSources/interface.ilInteractiveVideoSourceGUI.php';
require_once 'Customizing/global/plugins/Services/Repository/RepositoryObject/InteractiveVideo/VideoSources/plugin/InteractiveVideoVimeo/class.ilInteractiveVideoVimeo.php';
/**
* Class ilInteractiveVideoVimeoGUI
* @author Guido Vollbach <gvollbach@databay.de>
*/
class ilInteractiveVideoVimeoGUI implements ilInteractiveVideoSourceGUI
{
const VIMEO_URL = 'https://vimeo.com/';
/**
* @param ilRadioOption $option
* @param $obj_id
* @return ilRadioOption
*/
public function getForm($option, $obj_id)
{
$vimeo_url = new ilTextInputGUI(ilInteractiveVideoPlugin::getInstance()->txt('meo_url'), ilInteractiveVideoVimeo::FORM_FIELD);
$object = new ilInteractiveVideoVimeo();
$object->doReadVideoSource($obj_id);
$vimeo_url->setValue($object->getVimeoId());
$vimeo_url->setInfo(ilInteractiveVideoPlugin::getInstance()->txt('meo_vimeo_info'));
$option->addSubItem($vimeo_url);
return $option;
}
/**
* @param ilPropertyFormGUI $form
* @return bool
*/
public function checkForm($form)
{
$value = ilUtil::stripSlashes($form->getInput(ilInteractiveVideoVimeo::FORM_FIELD));
$vimeo_id = ilInteractiveVideoVimeo::getVimeoIdentifier($value);
if($vimeo_id)
{
return true;
}
return false;
}
/**
* @param ilTemplate $tpl
* @return ilTemplate
*/
public function addPlayerElements($tpl)
{
$tpl->addJavaScript('Customizing/global/plugins/Services/Repository/RepositoryObject/InteractiveVideo/VideoSources/plugin/InteractiveVideoVimeo/js/jquery.InteractiveVideoVimeoPlayer.js');
$tpl->addJavaScript('Customizing/global/plugins/Services/Repository/RepositoryObject/InteractiveVideo/VideoSources/plugin/InteractiveVideoVimeo/js/vimeo_player_api.js');
return $tpl;
}
/**
* @param $player_id
* @param ilObjInteractiveVideo $obj
* @return ilTemplate
*/
public function getPlayer($player_id, $obj)
{
$player = new ilTemplate('Customizing/global/plugins/Services/Repository/RepositoryObject/InteractiveVideo/VideoSources/plugin/InteractiveVideoVimeo/tpl/tpl.video.html', false, false);
$instance = new ilInteractiveVideoVimeo();
$instance->doReadVideoSource($obj->getId());
$player->setVariable('PLAYER_ID', $player_id);
$player->setVariable('VIMEO_ID', $instance->getVimeoId());
return $player;
}
/**
* @param array $a_values
* @param ilObjInteractiveVideo $obj
*/
public function getEditFormCustomValues(array &$a_values, $obj)
{
$instance = new ilInteractiveVideoVimeo();
$instance->doReadVideoSource($obj->getId());
$value = $instance->getVimeoId();
if($value != '')
{
$value = self::VIMEO_URL . $value;
}
$a_values[ilInteractiveVideoVimeo::FORM_FIELD] = $value;
}
/**
* @param $form
*/
public function getConfigForm($form)
{
}
/**
* @return boolean
*/
public function hasOwnConfigForm()
{
return false;
}
}