/** * Handler for _video tag which embeds player in page. * * @param array $tag_params * @param array $children */ public function tag_Video($tag_params, $children) { $video = null; $manager = YouTube_VideoManager::getInstance(); if (isset($tag_params['id'])) { // video is was specified $video = $manager->getSingleItem($manager->getFieldNames(), array('id' => $tag_params['id'])); } else { if (isset($tag_params['text_id'])) { // text id was specified $video = $manager->getSingleItem($manager->getFieldNames(), array('text_id' => $tag_params['text_id'])); } else { if (isset($tag_params['random'])) { // get random video $video = $manager->getSingleItem($manager->getFieldNames(), array(), array('RAND()')); } } } // no id was specified if (is_object($video)) { if (isset($tag_params['embed']) && $tag_params['embed'] == '1' && class_exists('swfobject')) { // query parameters $query_params = array('rel' => isset($tag_params['show_related']) ? fix_id($tag_params['show_related']) : 0, 'showinfo' => isset($tag_params['show_info']) ? fix_id($tag_params['show_info']) : 0); // embed video player $module = swfobject::getInstance(); $module->embedSWF($this->getEmbedURL($video->video_id, $query_params), $tag_params['target'], isset($tag_params['width']) ? $tag_params['width'] : 320, isset($tag_params['height']) ? $tag_params['height'] : 240, array('autoplay' => isset($tag_params['autoplay']) ? fix_chars($tag_params['autoplay']) : 0, 'autohide' => isset($tag_params['autohide']) ? fix_chars($tag_params['autohide']) : 2, 'color' => isset($tag_params['color']) ? fix_chars($tag_params['color']) : 'default', 'origin' => isset($tag_params['origin']) ? fix_chars($tag_params['origin']) : 'website', 'theme' => isset($tag_params['theme']) ? fix_chars($tag_params['theme']) : 'dark', 'start' => isset($tag_params['start_time']) ? fix_id($tag_params['start_time']) : 0, 'loop' => isset($tag_params['loop']) ? fix_id($tag_params['loop']) : 0), array('wmode' => 'opaque')); } else { // parse specified template $template = $this->loadTemplate($tag_params, 'video.xml'); $params = array('id' => $video->id, 'video_id' => $video->video_id, 'title' => $video->title, 'thumbnail' => $this->getThumbnailURL($video->video_id)); $template->restoreXML(); $template->setLocalParams($params); $template->parse(); } } }