public function get_thumbnail_url($id) { // Get our settings $client_id = isset($this) && isset($this->options['client_id']) && $this->options['client_id'] != '' ? $this->options['client_id'] : false; $client_secret = isset($this) && isset($this->options['client_secret']) && $this->options['client_secret'] != '' ? $this->options['client_secret'] : false; $access_token = isset($this) && isset($this->options['access_token']) && $this->options['access_token'] != '' ? $this->options['access_token'] : false; $access_token_secret = isset($this) && isset($this->options['access_token_secret']) && $this->options['access_token_secret'] != '' ? $this->options['access_token_secret'] : false; // If API credentials are entered, use the API if ($client_id && $client_secret && $access_token && $access_token_secret) { $vimeo = new phpVimeo($this->options['client_id'], $this->options['client_secret']); $vimeo->setToken($this->options['access_token'], $this->options['access_token_secret']); $response = $vimeo->call('vimeo.videos.getThumbnailUrls', array('video_id' => $id)); $result = $response->thumbnails->thumbnail[count($response->thumbnails->thumbnail) - 1]->_content; } else { $request = "http://vimeo.com/api/oembed.json?url=http%3A//vimeo.com/{$id}"; $response = wp_remote_get($request, array('sslverify' => false)); if (is_wp_error($response)) { $result = $this->construct_info_retrieval_error($request, $response); } elseif ($response['response']['code'] == 404) { $result = new WP_Error('vimeo_info_retrieval', __('The Vimeo endpoint located at <a href="' . $request . '">' . $request . '</a> returned a 404 error.<br />Details: ' . $response['response']['message'], 'video-thumbnails')); } elseif ($response['response']['code'] == 403) { $result = new WP_Error('vimeo_info_retrieval', __('The Vimeo endpoint located at <a href="' . $request . '">' . $request . '</a> returned a 403 error.<br />This can occur when a video has embedding disabled or restricted to certain domains. Try entering API credentials in the provider settings.', 'video-thumbnails')); } else { $result = json_decode($response['body']); $result = $result->thumbnail_url; } } return $result; }
public function verify() { $vo_vimeo = new phpVimeo($this->opo_config->get('consumer_key'), $this->opo_config->get('consumer_secret')); if (file_exists(__CA_APP_DIR__ . '/tmp/vimeo.token')) { $va_token = unserialize(file_get_contents(__CA_APP_DIR__ . '/tmp/vimeo.token')); // exchange request token for access token by verifying with the code from vimeo if ($va_token['type'] == 'request') { $vo_vimeo->setToken($va_token['oauth_token'], $va_token['oauth_token_secret']); $vs_verify_code = $this->request->getParameter('verify_code', pString); $va_token = $vo_vimeo->getAccessToken($vs_verify_code); $va_token['type'] = 'access'; file_put_contents(__CA_APP_DIR__ . '/tmp/vimeo.token', serialize($va_token)); } } $this->render('verify.php'); }
public function vimeologinAction() { $session = new Container('vimeo'); $vimeo = new \phpVimeo('e19e9bce5bb95d7b8e0fc5ef61feb6582d3c9e19', 'cb64548284bd805d4a5286b9fa731d3c124d98dc'); $vimeo->setToken($session->oauth_request_token, $session->oauth_request_token_secret); $token = $vimeo->getAccessToken($_REQUEST['oauth_verifier']); $session->oauth_access_token = $token['oauth_token']; $session->oauth_access_token_secret = $token['oauth_token_secret']; $vimeo = new \phpVimeo('e19e9bce5bb95d7b8e0fc5ef61feb6582d3c9e19', 'cb64548284bd805d4a5286b9fa731d3c124d98dc', $session->oauth_access_token, $session->oauth_access_token_secret); $video_id = $vimeo->upload('uploads/bunny.mp4'); var_dump($video_id); exit; }
// Clear session if ($_GET['clear'] == 'all') { session_destroy(); session_start(); } // Set up variables $state = $_SESSION['vimeo_state']; $request_token = $_SESSION['oauth_request_token']; $access_token = $_SESSION['oauth_access_token']; // Coming back if ($_REQUEST['oauth_token'] != NULL && $_SESSION['vimeo_state'] === 'start') { $_SESSION['vimeo_state'] = $state = 'returned'; } // If we have an access token, set it if ($_SESSION['oauth_access_token'] != null) { $vimeo->setToken($_SESSION['oauth_access_token'], $_SESSION['oauth_access_token_secret']); } switch ($_SESSION['vimeo_state']) { default: // Get a new request token $token = $vimeo->getRequestToken(); // Store it in the session $_SESSION['oauth_request_token'] = $token['oauth_token']; $_SESSION['oauth_request_token_secret'] = $token['oauth_token_secret']; $_SESSION['vimeo_state'] = 'start'; // Build authorize link $authorize_link = $vimeo->getAuthorizeUrl($token['oauth_token'], 'write'); break; case 'returned': // Store it if ($_SESSION['oauth_access_token'] === NULL && $_SESSION['oauth_access_token_secret'] === NULL) {
public function vimeoAction() { //print "<pre>"; $config = $this->getServiceLocator()->get('Config'); $vimeo = new \phpVimeo($config['Vimeo']['clientId'], $config['Vimeo']['clientSecrate']); // we shall manage token in session lets do that// $session = new Container('vimeo'); //$session->accessToken = "hellow"; //$session->accessSecret = "world"; $request = new Request(); // if request for all new request if ($request->getQuery()->clear == 'All') { $session->offsetUnset('accessToken'); $session->offsetUnset('accessSecret'); } // Set up variables $state = $session->vimeo_state; $request_token = $session->oauth_request_token; $access_token = $session->oauth_access_token; // Coming back if ($request->getQuery()->oauth_token != NULL && $request->getQuery()->vimeo_state === 'start') { $request->getQuery()->vimeo_state = $state = 'returned'; } // If we have an access token, set it if ($session->oauth_access_token != null) { $vimeo->setToken($session->oauth_access_token, $session->oauth_access_token_secret); } switch ($session->vimeo_state) { default: // Get a new request token $token = $vimeo->getRequestToken(); // Store it in the session $session->oauth_request_token = $token['oauth_token']; $session->oauth_request_token_secret = $token['oauth_token_secret']; $session->vimeo_state = 'start'; // Build authorize link $authorize_link = $vimeo->getAuthorizeUrl($token['oauth_token'], 'write'); break; case 'returned': // Store it if ($session->oauth_access_token === NULL && $session->oauth_access_token_secret === NULL) { // Exchange for an access token $vimeo->setToken($session->oauth_request_token, $session->oauth_request_token_secret); $token = $vimeo->getAccessToken($_REQUEST['oauth_verifier']); // Store $session->oauth_access_token = $token['oauth_token']; $session->oauth_access_token_secret = $token['oauth_token_secret']; $session->vimeo_state = 'done'; // Set the token $vimeo->setToken($session->oauth_access_token, $session->oauth_access_token_secret); } $videos = $vimeo->call('vimeo.videos.getUploaded', array('user_id' => '27579548')); // Do an authenticated call try { $videos = $vimeo->call('vimeo.videos.getUploaded', array('user_id' => '27579548')); } catch (VimeoAPIException $e) { echo "Encountered an API error -- code {$e->getCode()} - {$e->getMessage()}"; } break; } //print_r($vimeo); //exit; $data = array(); $data['session'] = $session; $data['authorize_link'] = $authorize_link; if (isset($videos)) { $data['videos'] = $videos; } return new ViewModel($data); }
public function vimeologinAction() { $session = new Container('vimeo'); // Getting session values if ($_REQUEST['clear'] == 'all') { $session->offsetUnset('file'); $session->offsetUnset('mode'); $session->offsetUnset('media_id'); $session->offsetUnset('returnUrl'); $session->offsetUnset('old_video'); $session->offsetUnset('vimeo_state'); $session->offsetUnset('oauth_access_token'); $session->offsetUnset('oauth_access_token_secret'); echo 'cleared'; exit; } if (isset($session->returnUrl) && $session->returnUrl != "") { $config = $this->getServiceLocator()->get('Config'); $vimeo = new \phpVimeo($config['Vimeo']['clientId'], $config['Vimeo']['clientSecrate']); //$vimeo->enableCache(\phpVimeo::CACHE_FILE, 'cache', 300); if (!isset($session->oauth_access_token) || !isset($session->oauth_access_token_secret)) { if (isset($session->vimeo_state) && $session->vimeo_state == 'start') { $session->vimeo_state = 'returned'; } else { $session->vimeo_state = 'start'; } if ($session->vimeo_state == 'start') { // Get a new request token $token = $vimeo->getRequestToken(); // Store it in the session $session->oauth_request_token = $token['oauth_token']; $session->oauth_request_token_secret = $token['oauth_token_secret']; $session->vimeo_state = 'start'; $mode = isset($session->old_video) && $session->old_video != "" ? 'delete' : $session->mode; // setting request mode header('Location: ' . $vimeo->getAuthorizeUrl($token['oauth_token'], $mode)); exit; } else { if ($session->vimeo_state == 'returned') { $vimeo->setToken($session->oauth_request_token, $session->oauth_request_token_secret); $token = $vimeo->getAccessToken($_REQUEST['oauth_verifier']); // storing oath tokens $session->oauth_access_token = $token['oauth_token']; $session->oauth_access_token_secret = $token['oauth_token_secret']; $vimeo->setToken($session->oauth_access_token, $session->oauth_access_token_secret); } } } if (isset($session->mode) && $session->mode == 'write') { $vimeo = new \phpVimeo($config['Vimeo']['clientId'], $config['Vimeo']['clientSecrate'], $session->oauth_access_token, $session->oauth_access_token_secret); if (isset($session->file) && file_exists($session->file)) { $video_id = $vimeo->upload($session->file); // uploading file on vimeo if ($video_id != false) { @unlink($session->file); // Deleting file from our server if (isset($session->old_video) && $session->old_video != '' && ($info = $vimeo->call('vimeo.videos.getInfo', array('video_id' => $session->old_video)))) { $vimeo->call('vimeo.videos.delete', array('video_id' => $session->old_video)); // deleting previous video } /* Updating database records */ $this->getMediaTable()->updateMedia('media_url', $video_id, $session->media_id); isset($session->old_video) && $session->old_video != "" ? $this->flashMessenger()->addSuccessMessage('Media updated successfully..!!') : $this->flashMessenger()->addSuccessMessage('Media added successfully..!!'); /* Clearing session variables */ $session->offsetUnset('msg'); $session->offsetUnset('mode'); $session->offsetUnset('file'); $session->offsetUnset('old_video'); $session->offsetUnset('oauth_access_token'); $session->offsetUnset('oauth_access_token_secret'); } else { isset($session->msg) && $session->msg != "" ? $this->flashMessenger()->addErrorMessage($session->msg) : $this->flashMessenger()->addErrorMessage('Video not uploaded..!!'); } } else { if (isset($session->files) && count($session->files) > 0) { foreach ($session->files as $media_id => $file) { if (file_exists($file)) { $video_id = $vimeo->upload($file); // uploading file on vimeo if ($video_id != false) { @unlink($file); // Deleting file from our server /* Updating database records */ $this->getMediaTable()->updateMedia('media_url', $video_id, $media_id); $this->getMediaTable()->changeStatus($media_id, '9'); $this->flashMessenger()->addSuccessMessage('Status changed successfully..!!'); } else { isset($session->msg) && $session->msg != "" ? $this->flashMessenger()->addErrorMessage($session->msg) : $this->flashMessenger()->addErrorMessage('Video not uploaded..!!'); } } else { $this->flashMessenger()->addErrorMessage('File not found to upload..!!'); } } } else { $this->flashMessenger()->addErrorMessage('File not found to upload..!!'); } } /* Clearing session variables */ $session->offsetUnset('msg'); $session->offsetUnset('mode'); $session->offsetUnset('files'); $session->offsetUnset('old_video'); $session->offsetUnset('oauth_access_token'); $session->offsetUnset('oauth_access_token_secret'); // Redirect to list of media return $this->redirect()->toUrl($session->returnUrl); } else { if (isset($session->mode) && $session->mode == 'delete') { $vimeo = new \phpVimeo($config['Vimeo']['clientId'], $config['Vimeo']['clientSecrate'], $session->oauth_access_token, $session->oauth_access_token_secret); foreach ($session->files as $file) { if ($info = $vimeo->call('vimeo.videos.getInfo', array('video_id' => $file))) { $vimeo->call('vimeo.videos.delete', array('video_id' => $file)); $session->offsetUnset('msg'); $this->flashMessenger()->addSuccessMessage('Media deleted successfully..!!'); } else { isset($session->msg) && $session->msg != "" ? $this->flashMessenger()->addErrorMessage($session->msg) : $this->flashMessenger()->addErrorMessage('Video not found..!!'); } } /* Clearing session variables */ $session->offsetUnset('mode'); $session->offsetUnset('old_video'); $session->offsetUnset('files'); $session->offsetUnset('oauth_access_token'); $session->offsetUnset('oauth_access_token_secret'); // Redirect to list of media return $this->redirect()->toUrl($session->returnUrl); } } } else { // Redirect to list of media return $this->redirect()->toRoute('admin/media'); } exit; }
public function getVideoFromVimeo($Vimeo_Id) { global $OutId, $Title, $OutHost, $Title, $Likes, $Desc, $CreateDate, $Tags, $TagList, $CastList, $Duration, $Brand, $ImgSmall, $Img, $Width, $Height, $MainUserLocation, $Year; $vimeo = new phpVimeo(CONSUMER_KEY, CONSUMER_SECRET); $vimeo->setToken(TOKEN, TOKEN_SECRET); //ВНИМАНИЕ Если API не найдет Video по ID, то скрипт остановится здесь. Как исправить ХЗ? $result = $vimeo->call('vimeo.videos.getInfo', array('video_id' => $Vimeo_Id)); //На случай исправления предыдущего пункта, проверка связи с vimeo if ($result->stat != 'ok') { echo 'Нет подключения к vimeo, статус (' . $result->stat . ')<br />'; } //В API возможно работать с категориями и тегами видео. /* Стоит обратить внимание на https://developer.vimeo.com/apis/advanced/methods/vimeo.categories.getRelatedTags // Get a list of related tags for a category. vimeo.videos.getCollections // Get all the Albums, Channels and Groups a video is a member of. */ //Назначаем переменные $OutId = $result->video[0]->id; $OutHost = "vimeo"; //указываем флаг vimeo, для будущего расширения хостов с видео $Title = $result->video[0]->title; $Likes = $result->video[0]->number_of_likes; $Desc = $result->video[0]->description; $CreateDate = $result->video[0]->upload_date; preg_match("/\\d{4}/", $CreateDate, $Year); $Year = $Year[0]; $Tags = $result->video[0]->tags->tag; foreach ($Tags as $key => $value) { $Tag = $Tags[$key]->_content; $Tag = preg_replace("/[^\\s\\w\\А-яЁе-]/u", "", $Tag); // фильтруем теги, только латинские и - $TagList .= '<span class="tagInsertTags" data-num="' . $key . '">' . $Tag . '</span>, '; } $Cast = $result->video[0]->cast->member; // [display_name] if (!empty($Cast[display_name])) { $CastList = $Cast[display_name]; $UserId = $Cast[id]; } else { foreach ($Cast as $key => $value) { $CastList .= $Cast[$key]->display_name . ', '; $UserId = $Cast[0]->id; //назначаем id первого участника } } //убираем хвосты запятых if (preg_match("/, \$/", $TagList)) { //$TagList = preg_replace("/, $/", "", $TagList); $TagList = chop($TagList, ', \\n'); } if (preg_match("/, \$/", $CastList)) { //$CastList = preg_replace("/, $/", "", $CastList); $CastList = chop($CastList, ', \\n'); } $Duration = $result->video[0]->duration; //в секундах $Brand = $result->video[0]->owner->display_name; $ImgSmall = $result->video[0]->thumbnails->thumbnail[1]->_content; $Img = $result->video[0]->thumbnails->thumbnail[2]->_content; $Width = $result->video[0]->width; $Height = $result->video[0]->height; //Сбор информаци о первом авторе $result_user_info = $vimeo->call('vimeo.people.getInfo', array('user_id' => $UserId)); //определение локации $MainUserLocation = $result_user_info->person->location; }