예제 #1
0
파일: youtube.php 프로젝트: tareqy/Caracal
 /**
  * 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();
         }
     }
 }