protected function vimeoUpload($LogFile)
 {
     $this->VimeoProcessingStatus = 'uploading';
     $this->write();
     try {
         $this->appendLog($LogFile, "vimeoUpload() started");
         if ($lib = new \Vimeo\Vimeo(Config::inst()->get('VimeoVideoFile', 'client_id'), Config::inst()->get('VimeoVideoFile', 'client_secret'), Config::inst()->get('VimeoVideoFile', 'access_token'))) {
             // Send a request to vimeo for uploading the new video
             if ($this->VimeoURI) {
                 $uri = $lib->request($this->VimeoURI, array(), 'DELETE');
                 $this->VimeoURI = null;
                 $this->VimeoLink = null;
                 $this->VimeoID = null;
                 $this->write();
             }
             $uri = $lib->upload($this->getFullPath(), false);
             //$uri = "/videos/134840586";
             $video_data = $lib->request($uri);
             $this->appendLog($LogFile, "Vimeo Video Data returned", print_r($video_data, true));
             if ($video_data['status'] == 200) {
                 $this->VimeoURI = $video_data['body']['uri'];
                 $this->VimeoLink = $video_data['body']['link'];
                 $id = explode('/', $video_data['body']['uri']);
                 $this->VimeoID = $id[count($id) - 1];
                 $this->write();
                 $this->appendLog($LogFile, "File uploaded to Vimeo");
                 if ($video_data['body']['status'] == 'available') {
                     return $this->extractUrls($video_data);
                 } else {
                     if ($video_data['body']['status'] == 'uploading' || $video_data['body']['status'] == 'transcoding') {
                         $this->VimeoProcessingStatus = 'processing';
                         $this->write();
                         return false;
                     } else {
                         // quota_exceeded, uploading_error, transcoding_error => processingerror
                         $this->VimeoProcessingStatus = 'processingerror';
                         $this->write();
                         return false;
                     }
                 }
             } else {
                 $this->appendLog($LogFile, "Error in Upload", print_r($video_data, true));
                 $this->VimeoProcessingStatus = 'unprocessed';
                 $this->write();
                 return false;
             }
         } else {
             $this->appendLog($LogFile, "Missing clientID or clientSecret");
             $this->VimeoProcessingStatus = 'unprocessed';
             $this->write();
             return false;
         }
     } catch (\Vimeo\Exceptions\VimeoRequestException $e) {
         $this->VimeoProcessingStatus = 'error';
         $this->write();
         $this->appendLog($LogFile, "VimeoRequestException:\n" . $e->getMessage());
         return false;
     } catch (\Vimeo\Exceptions\VimeoUploadException $e) {
         $this->VimeoProcessingStatus = 'error';
         $this->write();
         $this->appendLog($LogFile, "VimeoUploadException:\n" . $e->getMessage());
         return false;
     }
 }
示例#2
0
        $response = $vimeo->request('/me/watchlater/' . $video_id, array(), 'PUT');
        $app->contentType('application/json');
        echo '{"status": ' . json_encode($response['status']) . '}';
    }
});
$app->get('/upload', function () use($app, $vimeo) {
    $page_data = array();
    $app->render('upload.php', $page_data);
});
$app->post('/upload', function () use($app, $vimeo) {
    $vimeo->setToken('0ba6f164ff299c200d5552ae73c52063');
    $storage = new \Upload\Storage\FileSystem('uploads');
    $file = new \Upload\File('video', $storage);
    $new_filename = uniqid();
    $file->setName($new_filename);
    $file->addValidations(array(new \Upload\Validation\Mimetype('video/mp4'), new \Upload\Validation\Size('25M')));
    try {
        $file->upload();
    } catch (\Exception $e) {
        $errors = $file->getErrors();
        $app->flash('errors', $errors);
    }
    $new_filepath = 'uploads/' . $new_filename . '.' . $file->getExtension();
    try {
        $vimeo->upload($new_filepath, false);
    } catch (\Exception $e) {
        $app->flash('errors', array('error uploading to Vimeo'));
    }
    $app->redirect('upload');
});
$app->run();