コード例 #1
0
 /**
  * get videos uploaded by username
  * @param string $username
  * @return Zend_Gdata_YouTube_VideoFeed 
  */
 public function getVideosByUser($user, $page = 0)
 {
     /* @var $ytq Zend_Gdata_YouTube_VideoQuery */
     $ytq = $this->yt->newVideoQuery(Zend_Gdata_YouTube::USER_URI . '/' . $user . '/' . Zend_Gdata_YouTube::UPLOADS_URI_SUFFIX);
     $page = $page * self::ITEMS_PER_PAGE;
     $ytq->setStartIndex($page == 0 ? $page : $page + 1);
     $ytq->setMaxResults(self::ITEMS_PER_PAGE);
     $ytq->setOrderBy('published');
     return $this->yt->getUserUploads(null, $ytq);
 }
コード例 #2
0
ファイル: Youtube.php プロジェクト: nlegoff/Phraseanet
 /**
  *
  * @param  string $object
  * @param  int    $offset_start
  * @param  int    $quantity
  * @return string
  */
 protected function get_user_object_list_feed($object, $offset_start, $quantity)
 {
     $feed = null;
     switch ($object) {
         case self::ELEMENT_TYPE_VIDEO:
             $uri = Zend_Gdata_YouTube::USER_URI . '/default/' . Zend_Gdata_YouTube::UPLOADS_URI_SUFFIX;
             $query = new Zend_Gdata_Query($uri);
             if ($quantity !== 0) {
                 $query->setMaxResults($quantity);
             }
             $query->setStartIndex($offset_start);
             $feed = $this->_api->getUserUploads(null, $query);
             break;
         case self::CONTAINER_TYPE_PLAYLIST:
             $uri = Zend_Gdata_YouTube::USER_URI . '/default/playlists';
             $query = new Zend_Gdata_Query($uri);
             if ($quantity !== 0) {
                 $query->setMaxResults($quantity);
             }
             $query->setStartIndex($offset_start);
             $feed = $this->_api->getPlaylistListFeed(null, $query);
             break;
         default:
             throw new Bridge_Exception_ObjectUnknown('Unknown object ' . $object);
             break;
     }
     return $feed;
 }
コード例 #3
0
ファイル: Video.php プロジェクト: alissonpirola/site-drandre
 public function getLastVideos($limit = 5)
 {
     $ytUser = $this->_usr;
     $array = array();
     try {
         $gdata = new Zend_Gdata_YouTube();
         $feed = $gdata->getUserUploads($ytUser);
         if ($feed) {
             $i = 1;
             foreach ($feed as $entry) {
                 $thumb = max($entry->getVideoThumbnails());
                 $image = min($entry->getVideoThumbnails());
                 $date = new Zend_Date($entry->getVideoDuration(), Zend_Date::SECOND);
                 $array[] = array("id" => $entry->getVideoId(), "title" => $entry->getVideoTitle(), "thumb" => $thumb["url"], "time" => $date->get("mm:ss"), "image" => $image["url"]);
                 if ($i == $limit) {
                     break;
                     /* Sai */
                 }
                 $i++;
             }
         }
     } catch (Zend_Exception $e) {
     }
     return $array;
 }
コード例 #4
0
 /**
  * action swf untuk nampilin video $_uname swf player
  */
 public function swfAction()
 {
     $youtube = new Zend_Gdata_YouTube();
     try {
         $lists = $youtube->getUserUploads(self::$_uname);
     } catch (Exception $ex) {
         echo $ex->getMessage();
         exit;
     }
     // masih ngawur, masih belum selesai, klo dibikin gini cuma keluar 1 video :p
     // ntar aja dilanjut, ngantukkkkkkkkkkkkkkkkk
     foreach ($lists as $vids) {
         $pub = new Zend_Date($vids->getPublished()->getText(), Zend_Date::ISO_8601);
         // lempar ke view script
         $this->view->videoTitle = $this->view->escape($vids->getVideoTitle());
         $this->view->published = $pub;
         $this->view->videoTags = join(', ', $vids->getVideoTags());
         $this->view->desc = $this->view->escape($vids->getVideoDescription());
         if ($vids->isVideoEmbeddable()) {
             $this->view->url = 'http://www.youtube.com/v/' . $vids->getVideoId() . '&fs=1';
             $this->view->width = 320;
             $height->view->height = 240;
         }
     }
 }
コード例 #5
0
 public function getYtVideos()
 {
     $converted_values = array();
     $gdata = new Zend_Gdata_YouTube();
     $feed = $gdata->getUserUploads($this->_config->getConfiguracao(CFG_YOUTUBE));
     foreach ($feed as $entry) {
         /* @var $entry Zend_Gdata_YouTube_VideoEntry */
         $thumbnail = $entry->getVideoThumbnails();
         $date = new Zend_Date($entry->getPublished());
         $converted_values[$entry->getVideoId()] = array('video_id' => $entry->getVideoId(), 'nm_title' => $entry->getVideoTitle(), 'tx_description' => $entry->getVideoDescription(), 'thumbnail_small' => $thumbnail[0]['url'], 'thumbnail_big' => $thumbnail[2]['url'], 'nu_time' => $entry->getVideoDuration(), 'dt_upload' => $date->get('yyyy-MM-dd'));
     }
     return $converted_values;
 }
コード例 #6
0
/**
 * Perform a search on youtube. Passes the result feed to echoVideoList.
 *
 * @param string $searchType The type of search to perform.
 * If set to 'owner' then attempt to authenticate.
 * @param string $searchTerm The term to search on.
 * @param string $startIndex Start retrieving search results from this index.
 * @param string $maxResults The number of results to retrieve.
 * @return void
 */
function searchVideos($searchType, $searchTerm, $startIndex, $maxResults)
{
    // create an unauthenticated service object
    $youTubeService = new Zend_Gdata_YouTube();
    $query = $youTubeService->newVideoQuery();
    $query->setQuery($searchTerm);
    $query->setStartIndex($startIndex);
    $query->setMaxResults($maxResults);
    switch ($searchType) {
        case 'most_viewed':
            $query->setFeedType('most viewed');
            $query->setTime('this_week');
            $feed = $youTubeService->getVideoFeed($query);
            break;
        case 'most_recent':
            $query->setFeedType('most recent');
            $query->setTime('this_week');
            $feed = $youTubeService->getVideoFeed($query);
            break;
        case 'recently_featured':
            $query->setFeedType('recently featured');
            $feed = $youTubeService->getVideoFeed($query);
            break;
        case 'top_rated':
            $query->setFeedType('top rated');
            $query->setTime('this_week');
            $feed = $youTubeService->getVideoFeed($query);
            break;
        case 'username':
            $feed = $youTubeService->getUserUploads($searchTerm);
            break;
        case 'all':
            $feed = $youTubeService->getVideoFeed($query);
            break;
        case 'owner':
            $httpClient = getAuthSubHttpClient();
            $youTubeService = new Zend_Gdata_YouTube($httpClient);
            try {
                $feed = $youTubeService->getUserUploads('default');
                if (loggingEnabled()) {
                    logMessage($httpClient->getLastRequest(), 'request');
                    logMessage($httpClient->getLastResponse()->getBody(), 'response');
                }
            } catch (Zend_Gdata_App_HttpException $httpException) {
                print 'ERROR ' . $httpException->getMessage() . ' HTTP details<br /><textarea cols="100" rows="20">' . $httpException->getRawResponseBody() . '</textarea><br />' . '<a href="session_details.php">' . 'click here to view details of last request</a><br />';
                return;
            } catch (Zend_Gdata_App_Exception $e) {
                print 'ERROR - Could not retrieve users video feed: ' . $e->getMessage() . '<br />';
                return;
            }
            echoVideoList($feed, true);
            return;
        default:
            echo 'ERROR - Unknown search type - \'' . $searchType . '\'';
            return;
    }
    if (loggingEnabled()) {
        $httpClient = $youTubeService->getHttpClient();
        logMessage($httpClient->getLastRequest(), 'request');
        logMessage($httpClient->getLastResponse()->getBody(), 'response');
    }
    echoVideoList($feed);
}
コード例 #7
0
ファイル: Util.php プロジェクト: kwylez/CW-Google
 /**
  * Retrieve video of based upon a user
  *
  * @access public
  * @return gVideo
  * @throws Exception
  */
 public function getUserVideos()
 {
     if ($this->getUsername() == "") {
         throw new Exception("Empty username was passed");
     } else {
         try {
             $yt = new Zend_Gdata_YouTube();
             $videoFeed = $yt->getUserUploads($this->getUsername());
             foreach ($videoFeed as $videoEntry) {
                 $gVideo = new CW_Google_Video_YouTube($videoFeed->totalResults->text, $videoEntry->mediaGroup->title->text, $videoEntry->getPublished()->text, $videoEntry->getId()->text, $videoEntry->updated->text, $videoEntry->mediaGroup->duration->seconds, $videoEntry->mediaGroup->content[0]->medium, $videoEntry->comments->feedLink->href, $videoEntry->mediaGroup->content[0]->url, $videoEntry->mediaGroup->keywords->text, $videoEntry->mediaGroup->thumbnail[0]->url, $videoEntry->mediaGroup->thumbnail[0]->width, $videoEntry->mediaGroup->thumbnail[0]->height, $videoEntry->mediaGroup->thumbnail[0]->time, $videoEntry->mediaGroup->player[0]->url, $videoEntry->mediaGroup->category[0]->text, $videoEntry->getContent()->text, $videoEntry->mediaGroup->description->text, $videoEntry->getRating(), $videoEntry->getRacy(), $videoEntry->statistics->viewCount);
                 $this->setVideos($gVideo);
             }
         } catch (Zend_Gdata_App_Exception $ex) {
             print $ex->getMessage();
         } catch (Exception $e) {
             print $e->getMessage();
         }
     }
     return $this->getVideos();
 }
コード例 #8
0
ファイル: cron.php プロジェクト: sauravpratihar/fcms
/**
 * runYouTubeJob 
 * 
 * Imports YouTube videos.
 * 
 * @return void
 */
function runYouTubeJob()
{
    global $file;
    require_once 'constants.php';
    require_once 'socialmedia.php';
    require_once 'datetime.php';
    require_once THIRDPARTY . 'gettext.inc';
    set_include_path(THIRDPARTY);
    require_once 'Zend/Loader.php';
    Zend_Loader::loadClass('Zend_Gdata_YouTube');
    Zend_Loader::loadClass('Zend_Gdata_AuthSub');
    Zend_Loader::loadClass('Zend_Gdata_App_Exception');
    $fcmsError = FCMS_Error::getInstance();
    $fcmsDatabase = Database::getInstance($fcmsError);
    $existingIds = getExistingYouTubeIds();
    // Get user's session tokens
    $sql = "SELECT u.`id`, s.`youtube_session_token`\n            FROM `fcms_user_settings` AS s, `fcms_users` AS u\n            WHERE s.`user` = u.`id`\n            AND s.`youtube_session_token` IS NOT NULL";
    $rows = $fcmsDatabase->getRows($sql);
    if ($rows === false) {
        logError(__FILE__ . ' [' . __LINE__ . '] - Could not get youtube tokens.');
        die;
    }
    $sessionTokens = array();
    foreach ($rows as $row) {
        $sessionTokens[$row['id']] = $row['youtube_session_token'];
    }
    $youtubeConfig = getYouTubeConfigData();
    // Get videos for each user
    foreach ($sessionTokens as $userId => $token) {
        // Setup youtube api
        $httpClient = getYouTubeAuthSubHttpClient($youtubeConfig['youtube_key'], $token);
        $youTubeService = new Zend_Gdata_YouTube($httpClient);
        $feed = $youTubeService->getUserUploads('default');
        $values = '';
        $videoCount = 0;
        $params = array();
        foreach ($feed as $entry) {
            $id = $entry->getVideoId();
            if (isset($existingIds[$id])) {
                continue;
            }
            $title = htmlspecialchars($entry->getVideoTitle());
            $description = htmlspecialchars($entry->getVideoDescription());
            $created = formatDate('Y-m-d H:i:s', $entry->published);
            $duration = $entry->getVideoDuration();
            $height = '420';
            $width = '780';
            $thumbs = $entry->getVideoThumbnails();
            if (count($thumbs) > 0) {
                $height = $thumbs[0]['height'];
                $width = $thumbs[0]['width'];
            }
            $values .= "(?, ?, ?, 'youtube', ?, ?, ?, ?, NOW(), ?),";
            $params[] = $id;
            $params[] = $title;
            $params[] = $description;
            $params[] = $height;
            $params[] = $width;
            $params[] = $created;
            $params[] = $userId;
            $params[] = $userId;
            $videoCount++;
        }
        if ($videoCount > 0) {
            $values = substr($values, 0, -1);
            // remove comma
            $sql = "INSERT INTO `fcms_video`\n                        (`source_id`, `title`, `description`, `source`, `height`, `width`, `created`, `created_id`, `updated`, `updated_id`)\n                    VALUES {$values}";
            if (!$fcmsDatabase->insert($sql, $params)) {
                logError(__FILE__ . ' [' . __LINE__ . '] - Could not insert new video to db.');
                die;
            }
        }
    }
    // Update date we last ran this job
    updateLastRun(date('Y-m-d H:i:s'), 'youtube');
}
コード例 #9
0
		function indexAction()
		{
			//echo $this->user_login;die();
			//echo $this->user_youtube.' - '.$this->pass_youtube.' - '.$this->gallery;
			$this->view->headTitle('UNC - Admin website');
			$this->view->headLink()->appendStylesheet($this->view->baseUrl().'/application/templates/admin/css/layout.css');
			$this->view->headScript()->appendFile($this->view->baseUrl().'/application/templates/admin/js/jquery-1.7.2.min.js','text/javascript');
			$this->view->headScript()->appendFile($this->view->baseUrl().'/application/templates/admin/js/hideshow.js','text/javascript');
			
			$youtube  = new Zend_Gdata_YouTube();
		 
		    try {
		        $feed = $youtube->getUserUploads($this->gallery);
				foreach ($feed as $video)
				 	{
				 		$video_link = $video->getVideoId();
				 		if($this->mVideo->exitsVideo($video_link)==false)
						{
							$input = array(
											'video_title'		=> $video->getVideoTitle(),
											'video_alias'		=> $this->getAliasByName($video->getVideoTitle()),
											'video_description' => $video->getVideoDescription(),
											'video_link'		=> $video_link,
											'user_upload'		=> $this->user_login
							);
							//var_dump($input);die();
							$this->mVideo->insertVideo($input,$this->id_youtube);
						}
					}
		    }
		    catch (Exception $ex) {
		        echo $ex->getMessage();
		        exit;
		    }
			
			if($this->role == "0" | $this->role == "2")
			{
				$listVideo = $this->mVideo->getListVideo();
			}
			if($this->role == "1")
			{
				$allVideo = $this->mVideo->getListVideo();
				$listCategoryId = $this->mVideo->getCategoryIdByUserId($this->user_id);
				$listVideo = array();
				foreach($allVideo as $video)
				{
					foreach($listCategoryId as $categoryId)
					{
						if($video['category_id'] == $categoryId['category_id'])
						{
							$listVideo[] = $video;
						}
					}
				}
			}
			
			//var_dump($this->mVideo->getListVideo());die();
        	$this->view->list = $listVideo;
			$this->view->title = 'Quản lý video';
			
			$this->view->role = $this->role;
			$this->view->user_login = $this->user_login;
		}