<?php

/**
 * Example of usage Yandex\Disk package
 *
 * @author   Alexander Mitsura
 * @created  15.10.13 10:32
 */
$settings = (require_once '../../settings.php');
use Yandex\OAuth\OAuthClient;
$client = new OAuthClient($settings['global']['clientId']);
if (isset($_COOKIE['yaAccessToken'])) {
    $directory = $_POST['directory'];
    $client->setAccessToken($_COOKIE['yaAccessToken']);
    // XXX: how it should be (using user access token)
    //$diskClient = new \Yandex\Disk\DiskClient($client->getAccessToken());
    // XXX: how it is now (using magic access token)
    $diskClient = new \Yandex\Disk\DiskClient($client->getAccessToken());
    $diskClient->setServiceScheme(\Yandex\Disk\DiskClient::HTTPS_SCHEME);
    header('Content-type: application/json');
    $response = [];
    if ($diskClient->createDirectory($directory)) {
        $response['status'] = 'OK';
    }
    echo json_encode($response);
}
<?php

/**
 * Example of usage Yandex\Disk package
 *
 * @author   Alexander Mitsura
 * @created  15.10.13 10:35
 */
$settings = (require_once '../../settings.php');
use Yandex\OAuth\OAuthClient;
$client = new OAuthClient($settings['global']['clientId']);
if (isset($_COOKIE['yaAccessToken'])) {
    $directory = $_POST['directory'];
    $client->setAccessToken($_COOKIE['yaAccessToken']);
    // XXX: how it should be (using user access token)
    //$diskClient = new \Yandex\Disk\DiskClient($client->getAccessToken());
    // XXX: how it is now (using magic access token)
    $diskClient = new \Yandex\Disk\DiskClient($client->getAccessToken());
    $diskClient->setServiceScheme(\Yandex\Disk\DiskClient::HTTPS_SCHEME);
    header('Content-type: application/json');
    echo json_encode($diskClient->directoryContents($directory));
}
/**
 * Example of usage Yandex\Disk package
 *
 * @author   Alexander Mitsura
 * @created  15.10.13 10:37
 */
$settings = (require_once '../../settings.php');
use Yandex\OAuth\OAuthClient;
$client = new OAuthClient($settings['global']['clientId']);
if (isset($_COOKIE['yaAccessToken'])) {
    $file = $_GET['file'];
    $client->setAccessToken($_COOKIE['yaAccessToken']);
    // XXX: how it should be (using user access token)
    //$diskClient = new \Yandex\Disk\DiskClient($client->getAccessToken());
    // XXX: how it is now (using magic access token)
    $diskClient = new \Yandex\Disk\DiskClient($client->getAccessToken());
    $diskClient->setServiceScheme(\Yandex\Disk\DiskClient::HTTPS_SCHEME);
    $file = $diskClient->downloadFile($file);
    header('Content-Description: File Transfer');
    header('Connection: Keep-Alive');
    header('Expires: 0');
    header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    header('Content-type: ' . $file['headers']['last-modified']);
    header('Etag: ' . $file['headers']['etag']);
    header('Date: ' . $file['headers']['date']);
    header('Content-Type: ' . $file['headers']['content-type']);
    header('Content-Length: ' . $file['headers']['content-length']);
    header('Content-Disposition: ' . $file['headers']['content-disposition']);
    header('Accept-Ranges: ' . $file['headers']['accept-ranges']);
    echo $file['body'];
}
<?php

/**
 * Example of usage Yandex\Disk package
 *
 * @author   Alexander Mitsura
 * @created  15.10.13 10:40
 */
$settings = (require_once '../../settings.php');
use Yandex\OAuth\OAuthClient;
$client = new OAuthClient($settings['global']['clientId']);
if (isset($_COOKIE['yaAccessToken'])) {
    $target = $_POST['target'];
    $destination = $_POST['destination'];
    $client->setAccessToken($_COOKIE['yaAccessToken']);
    // XXX: how it should be (using user access token)
    //$diskClient = new \Yandex\Disk\DiskClient($client->getAccessToken());
    // XXX: how it is now (using magic access token)
    $diskClient = new \Yandex\Disk\DiskClient($client->getAccessToken());
    $diskClient->setServiceScheme(\Yandex\Disk\DiskClient::HTTPS_SCHEME);
    header('Content-type: application/json');
    $response = array();
    if ($diskClient->move($target, $destination)) {
        $response['status'] = 'OK';
    }
    echo json_encode($response);
}
<?php

/**
 * Example of usage Yandex\Disk package
 *
 * @author   Alexander Mitsura
 * @created  15.10.13 10:34
 */
$settings = (require_once '../../settings.php');
use Yandex\OAuth\OAuthClient;
$client = new OAuthClient($settings['global']['clientId']);
if (isset($_COOKIE['yaAccessToken'])) {
    $path = $_POST['path'];
    $client->setAccessToken($_COOKIE['yaAccessToken']);
    // XXX: how it should be (using user access token)
    //$diskClient = new \Yandex\Disk\DiskClient($client->getAccessToken());
    // XXX: how it is now (using magic access token)
    $diskClient = new \Yandex\Disk\DiskClient($client->getAccessToken());
    $diskClient->setServiceScheme(\Yandex\Disk\DiskClient::HTTPS_SCHEME);
    header('Content-type: application/json');
    $response = [];
    if ($diskClient->delete($path)) {
        $response['status'] = 'OK';
    }
    echo json_encode($response);
}
<?php

/**
 * Example of usage Yandex\Disk package
 *
 * @author   Alexander Mitsura
 * @created  15.10.13 10:36
 */
$settings = (require_once '../../settings.php');
use Yandex\OAuth\OAuthClient;
$client = new OAuthClient($settings['global']['clientId']);
if (isset($_COOKIE['yaAccessToken'])) {
    $client->setAccessToken($_COOKIE['yaAccessToken']);
    // XXX: how it should be (using user access token)
    //$diskClient = new \Yandex\Disk\DiskClient($client->getAccessToken());
    // XXX: how it is now (using magic access token)
    $diskClient = new \Yandex\Disk\DiskClient($client->getAccessToken());
    $diskClient->setServiceScheme(\Yandex\Disk\DiskClient::HTTPS_SCHEME);
    header('Content-type: application/json');
    $result = $diskClient->diskSpaceInfo();
    $result['login'] = $diskClient->getLogin();
    echo json_encode($result);
}
<?php

/**
 * Example of usage Yandex\Disk package
 *
 * @author   Alexander Mitsura
 * @created  15.10.13 10:40
 */
$settings = (require_once '../../settings.php');
use Yandex\OAuth\OAuthClient;
$client = new OAuthClient($settings['global']['clientId']);
if (isset($_COOKIE['yaAccessToken'])) {
    $client->setAccessToken($_COOKIE['yaAccessToken']);
    // XXX: how it should be (using user access token)
    //$diskClient = new \Yandex\Disk\DiskClient($client->getAccessToken());
    // XXX: how it is now (using magic access token)
    $diskClient = new \Yandex\Disk\DiskClient($client->getAccessToken());
    $diskClient->setServiceScheme(\Yandex\Disk\DiskClient::HTTPS_SCHEME);
    $file = array('name' => $_FILES['file']['name'], 'size' => $_FILES['file']['size'], 'path' => $_FILES['file']['tmp_name']);
    $diskClient->uploadFile($_POST['href'], $file);
    header('Location: ' . $_SERVER["HTTP_REFERER"]);
}
<?php

/**
 * Example of usage Yandex\Disk package
 *
 * @author   Alexander Mitsura
 * @created  15.10.13 10:39
 */
$settings = (require_once '../../settings.php');
use Yandex\OAuth\OAuthClient;
$client = new OAuthClient($settings['global']['clientId']);
if (isset($_COOKIE['yaAccessToken'])) {
    $file = $_GET['file'];
    $size = $_GET['size'];
    $client->setAccessToken($_COOKIE['yaAccessToken']);
    // XXX: how it should be (using user access token)
    //$diskClient = new \Yandex\Disk\DiskClient($client->getAccessToken());
    // XXX: how it is now (using magic access token)
    $diskClient = new \Yandex\Disk\DiskClient($client->getAccessToken());
    $diskClient->setServiceScheme(\Yandex\Disk\DiskClient::HTTPS_SCHEME);
    $file = $diskClient->getImagePreview($file, $size);
    header('Content-Description: File Transfer');
    header('Connection: Keep-Alive');
    header('Expires: 0');
    header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    header('Date: ' . $file['headers']['date']);
    header('Content-Type: image/jpeg');
    header('Content-Length: ' . $file['headers']['content-length']);
    header('Accept-Ranges: ' . $file['headers']['accept-ranges']);
    echo $file['body'];
}
<?php

/**
 * Example of usage Yandex\Disk package
 *
 * @author   Alexander Mitsura
 * @created  15.10.13 10:41
 */
$settings = (require_once '../../settings.php');
use Yandex\OAuth\OAuthClient;
$client = new OAuthClient($settings['global']['clientId']);
if (isset($_COOKIE['yaAccessToken'])) {
    $target = $_POST['target'];
    $client->setAccessToken($_COOKIE['yaAccessToken']);
    // XXX: how it should be (using user access token)
    //$diskClient = new \Yandex\Disk\DiskClient($client->getAccessToken());
    // XXX: how it is now (using magic access token)
    $diskClient = new \Yandex\Disk\DiskClient($client->getAccessToken());
    $diskClient->setServiceScheme(\Yandex\Disk\DiskClient::HTTPS_SCHEME);
    header('Content-type: application/json');
    $response = array();
    if ($url = $diskClient->startPublishing($target)) {
        $response['status'] = 'publishing';
        $response['url'] = $url;
    } else {
        $response['status'] = 'not publishing';
    }
    echo json_encode($response);
}
<?php

/**
 * Example of usage Yandex\Disk package
 *
 * @author   Alexander Mitsura
 * @created  15.10.13 10:42
 */
$settings = (require_once '../../settings.php');
use Yandex\OAuth\OAuthClient;
$client = new OAuthClient($settings['global']['clientId']);
if (isset($_COOKIE['yaAccessToken'])) {
    $target = $_POST['target'];
    $client->setAccessToken($_COOKIE['yaAccessToken']);
    // XXX: how it should be (using user access token)
    //$diskClient = new \Yandex\Disk\DiskClient($client->getAccessToken());
    // XXX: how it is now (using magic access token)
    $diskClient = new \Yandex\Disk\DiskClient($client->getAccessToken());
    $diskClient->setServiceScheme(\Yandex\Disk\DiskClient::HTTPS_SCHEME);
    header('Content-type: application/json');
    $response = [];
    $diskClient->stopPublishing($target);
    $response['status'] = 'not publishing';
    echo json_encode($response);
}