/**
*
- * @var wsHTML5Compiler
+ * @var wsHTML5Compiler
*/
public $compiler;
/**
- *
+ *
* @param integer $id
* @param stdClass $init
* @param wsHTML5Compiler $compiler
case 16:
return new fileLink($id, $init, $compiler);
case 17:
- //return new audioLink($id,$init,$compiler);
- break;
+ if ($init['inline']) {
+ return new audioLink($id, $init, $compiler);
+ } else {
+ return new audioPopupLink($id, $init, $compiler);
+ }
case 18:
case 19:
break;
}
public function getAdditionnalContent() {
-
+
}
public function getClasses() {
}
public function getCSS() {
-
+
}
public function getDefaultTooltip() {
}
+class audioPopupLink extends normalLink {
+
+ public function getURL() {
+ $this->copyExternalFile($this->to, true);
+ $file = $this->to;
+ $e = explode('.', $file);
+ $ext = array_pop($e);
+ $basename = implode('.', $e);
+
+ return '#/audio/' . $basename;
+ }
+
+ public function getAdditionnalContent() {
+ return ' data-audio="' . rawurlencode(audioLink::makeAudioTag($this, null, null, $this->compiler)) . '" ';
+ }
+
+ public function keep() {
+ return true;
+ }
+
+ public function getDefaultTooltip() {
+ return 'click to play the audio';
+ }
+
+}
+
class webVideoLink extends videoLink {
public function getHTMLContent() {
}
foreach ($this->_config['injectcss'] as $i) {
-
+
}
foreach ($this->_config['injectjs'] as $i) {
}
+class audioLink extends wsHTML5Link {
+
+ public function getHTMLContent() {
+ $this->copyExternalFile($this->to);
+
+ $w = round($this->width * $this->getCssScale());
+ $h = round($this->height * $this->getCssScale());
+
+ return self::makeAudioTag($this, $w, $h, $this->compiler);
+ }
+
+ public function getCSSContainer() {
+ $css = parent::getCSSContainer();
+ $css .= '#l_' . $this->id . ' audio{';
+ $css.='width:' . round($this->width * $this->getCssScale()) . 'px;';
+ $css.='height:' . round($this->height * $this->getCssScale()) . 'px;';
+ $css.='display:block;';
+ $css.='}';
+ return $css;
+ }
+
+ public static function makeAudioTag($linkDatas, $w = null, $h = null, $compiler = null) {
+ $res = '<audio controls ';
+ if ($linkDatas->video_loop) {
+ $res.='loop ';
+ }
+ if ($linkDatas->video_auto_start) {
+ $res.='autoplay ';
+ }
+ $res.=' src="' . wsHTML5Link::getUniversalLocation($linkDatas->to) . '"';
+ $res.='></audio>';
+ return $res;
+ }
+
+}
+
class wescoLink extends normalLink {
public function getURL() {