ACC SHELL

Path : /www/hosting/oltv.cz/_/cron/
File Upload :
Current File : /www/hosting/oltv.cz/_/cron/vimeo_upload.php

<?php
require("../include/config.php");

use Nette\Image;
use Nette\Mail\Message;
use Nette\Mail\SendmailMailer;

$vimeo = new Vimeo('a40ca0e3a983a7053a5cff99cebab63f0268e28e', 'dda13993b350b97afc1aa14ec24d6586f21c0e08', 'ef50ef7f87d19fc3fd69c073ae4d42b0');

// stažení informací o videu z vimea po zkonvertování
$result = dibi::query("SELECT nazev, id, vimeo FROM [videa] WHERE pripraveno IS NULL AND vimeo IS NOT NULL")->fetchAll();
$output = '';
foreach ($result as $row) {
	$response = $vimeo->request('/videos/'.$row->vimeo, null ,'GET');
	if ($response['body']['status'] == 'available') {
    	dibi::query("UPDATE [videa] SET pripraveno = NOW() WHERE id = %i",$row->id);

		@mkdir("../data/videa/".$row->id);
		$response = $vimeo->request('/videos/'.$row->vimeo, null ,'GET');

		$params = array(
			'privacy' => 'disable',
			'name' => $row->nazev
		);

		$test = $vimeo->request('/videos/'.$row->vimeo.'/', $params , 'PATCH');
		dump($test);

		$image = Image::fromFile($response['body']['pictures']['sizes'][4]['link']);
		$image->save("../data/videa/".$row->id."/".$row->vimeo.".jpg", 100, Image::JPEG);

		$output .= "zpracovani dokonceno a zapnuto ID ".$row->id."<br>";
	} else { $output .= "stale zpracovava ID ".$row->id."<br>";
	    dump($row->vimeo);
	    dump($row->id);
	dump($response);}
}

dump($output);
//dump($response);
/*
if (!empty($output)) {
	$mail = new Message;
	$mail->setFrom('VIMEOUPLOAD OLTV.CZ <info@oltv.cz>')
		->addTo('vykoupil@esmedia.cz')
		->setSubject('OLTV - zpracovani cronu')
		->setBody($output);
	$mailer = new SendmailMailer;
	$mailer->send($mail);
}
*/

// nahrávání z fronty na vimeo
$sql = "
	SELECT
	videa_fronta.id, idvidea, soubor, videa.nazev, videa.detail
	FROM [videa_fronta]
	LEFT OUTER JOIN [videa] ON videa.id = videa_fronta.idvidea
	WHERE videa.nazev IS NOT NULL AND videa_fronta.caszmeny IS NULL
	ORDER BY id ASC
	LIMIT 0,1
";
$video_for_upload = dibi::query($sql)->fetch();
if (!empty($video_for_upload)) {
//    dibi::query("UPDATE [videa_fronta] SET caszmeny = CURRENT_TIMESTAMP() WHERE idvidea = %i",$video_for_upload->idvidea);
	$file_for_upload = "../data/fronta_vimeo/".$video_for_upload->soubor;
	if (is_file($file_for_upload)) {
		try {
		    $uri = $vimeo->upload($file_for_upload);
		    $video_data = $vimeo->request($uri);
		    $link = '';
		    if($video_data['status'] == 200) {
		        $link = $video_data['body']['link'];
		    }
		    $video_id = str_replace('/videos/', '', $uri);
		    if($video_id) {
                dibi::query("UPDATE [videa] SET vimeo = %i WHERE id = %i", $video_id, $video_for_upload->idvidea);
                dibi::query("DELETE FROM [videa_fronta] WHERE id = %i", $video_for_upload->id);
                unlink($file_for_upload);

			$mail = new Message;
			$mail->setFrom('VIMEOUPLOAD OLTV.CZ <info@oltv.cz>')
				->addTo('lach@esmedia.cz')
				->setSubject('OLTV - nahrani videa')
				->setBody("video uploaded: vID = ".$video_id."-- oltv id:".$video_for_upload->idvidea);
			$mailer = new SendmailMailer;
			$mailer->send($mail);
            }
        }
		catch (VimeoUploadException $e) {
			$mail = new Message;
			$mail->setFrom('VIMEOUPLOAD OLTV.CZ <info@oltv.cz>')
				->addTo('lach@esmedia.cz')
				->setSubject('OLTV - Chyba při nahrávání videa na vimeo')
				->setBody("Encountered an API error -- code {$e->getCode()} - {$e->getMessage()}");
			$mailer = new SendmailMailer;
			$mailer->send($mail);
		}
	} else { echo "<br />soubor nenalezen ($file_for_upload)"; }
} else { echo "<br />ve frontě pro upload na vimeo není žádný soubor"; }

ACC SHELL 2018