예제 #1
0
<?php

@session_start();
require_once "header.inc.php";
require_once "../src/functions.inc.php";
$token = skydrive_tokenstore::acquire_token();
if (!$token) {
    echo "<div>";
    echo "<img src='statics/key-icon.png' width='32px' style='vertical-align: middle;'>&nbsp";
    echo "<span style='vertical-align: middle;'><a href='" . skydrive_auth::build_oauth_url() . "'>Login with SkyDrive</a></span>";
    echo "</div>";
} else {
    $sd = new skydrive($token);
    try {
        $response = $sd->get_file_properties($_GET['fileid']);
        echo "<h3>" . $response['name'] . "</h3>";
        echo "Size: " . round($response['size'] / 1024, 2) . "Kb<br>";
        echo "Created: " . $response['created_time'] . "<br>";
        echo "Pre-Signed URL: <a href='" . $response['source'] . "'>Copy Link</a><br>";
        echo "Permalink: <a href='" . $response['link'] . "'>Copy Link</a><br><br>";
        echo "<div><img src='statics/folder-icon.png' width='32px' style='vertical-align: middle;'>&nbsp;<span style='vertical-align: middle;'><a href='index.php?folderid=" . $response['parent_id'] . "'>Back to containing folder</a></span></div>";
    } catch (Exception $e) {
        $errc = $e->getMessage();
        echo "Error: ";
        switch (substr($errc, -3)) {
            case "403":
                echo "Unauthorised";
                break;
            case "404":
                echo "Not found";
                break;
예제 #2
0
require_once "header.inc.php";
require_once "../src/functions.inc.php";
$token = skydrive_tokenstore::acquire_token();
// Call this function to grab a current access_token, or false if none is available.
if (!$token) {
    // If no token, prompt to login. Call skydrive_auth::build_oauth_url() to get the redirect URL.
    echo "<div>";
    echo "<img src='statics/key-icon.png' width='32px' style='vertical-align: middle;'>&nbsp";
    echo "<span style='vertical-align: middle;'><a href='" . build_oauth_url() . "'>Login with SkyDrive</a></span>";
    echo "</div>";
} else {
    if (empty($_POST['foldername'])) {
        echo 'Error - no new folder name specified';
    } else {
        $sd = new skydrive($token);
        try {
            if (empty($_POST['currentfolderid'])) {
                $response = $sd->create_folder(null, $_POST['foldername'], 'Description');
            } else {
                $response = $sd->create_folder($_POST['currentfolderid'], $_POST['foldername'], 'Description');
            }
            // Folder was created, return metadata.
            print_r($response);
        } catch (Exception $e) {
            // An error occured, print HTTP status code and description.
            echo "Error: " . $e->getMessage();
            exit;
        }
    }
}
예제 #3
0
if (!$token) {
    // If no token, prompt to login. Call skydrive_auth::build_oauth_url() to get the redirect URL.
    echo "<div>";
    echo "<img src='statics/key-icon.png' width='32px' style='vertical-align: middle;'>&nbsp";
    echo "<span style='vertical-align: middle;'><a href='" . skydrive_auth::build_oauth_url() . "'>Login with SkyDrive</a></span>";
    echo "</div>";
} else {
    // Otherwise, if we have a token, use it to create an object and start calling methods to build our page.
    $sd2 = new skydrive($token);
    $quotaresp = $sd2->get_quota();
    echo "Quota remaining: " . round((int) $quotaresp['available'] / 1024 / 1024) . " Mbytes.</p>";
    echo "<p><b>Create folder here:<br>";
    echo "<form method='post' action='createfolder.php'><input type='hidden' name='currentfolderid' value='" . @$_GET['folderid'] . "'><input type='text' name='foldername' placeholder='Folder Name'>&nbsp;<input type='submit' name='submit' value='submit'></form>";
    echo "</p>";
    // First, time to create a new OneDrive object.
    $sd = new skydrive($token);
    // Time to prepare and make the request to get the list of files.
    if (empty($_GET['folderid'])) {
        if (empty($_GET['offset'])) {
            $response = $sd->get_folder(null, 'name', 'ascending', 10);
            // Gets the first 10 items of the root folder.
        } else {
            $response = $sd->get_folder(null, 'name', 'ascending', 10, $_GET['offset']);
            // Gets the next 10 items of the root folder from the specified offset.
        }
        $properties = $sd->get_folder_properties(null);
    } else {
        if (empty($_GET['offset'])) {
            $response = $sd->get_folder($_GET['folderid'], 'name', 'ascending', 10);
            // Gets the first 10 items of the specified folder.
        } else {
예제 #4
0
<?php

require_once "header.inc.php";
require_once "../src/functions.inc.php";
$token = skydrive_tokenstore::acquire_token();
// Call this function to grab a current access_token, or false if none is available.
if (!$token) {
    // If no token, prompt to login. Call skydrive_auth::build_oauth_url() to get the redirect URL.
    echo "<div>";
    echo "<img src='statics/key-icon.png' width='32px' style='vertical-align: middle;'>&nbsp";
    echo "<span style='vertical-align: middle;'><a href='" . skydrive_auth::build_oauth_url() . "'>Login with SkyDrive</a></span>";
    echo "</div>";
} else {
    $sd = new skydrive($token);
    try {
        $response = $sd->put_file($_GET['folderid'], '/file/to/put');
        // File was uploaded, return metadata.
        print_r($response);
    } catch (Exception $e) {
        // An error occured, print HTTP status code and description.
        echo "Error: " . $e->getMessage();
        exit;
    }
}
require_once "footer.inc.php";
예제 #5
0
<?php

require_once "../src/functions.inc.php";
$token = skydrive_tokenstore::acquire_token();
if (!$token) {
    echo "Error";
} else {
    $sd = new skydrive($token);
    try {
        $response = $sd->download($_GET['fileid']);
        ob_end_clean();
        header('Content-Type: application/octet-stream');
        header('Content-Length: ' . $response[0]['properties']['size']);
        header('Content-Description: File Transfer');
        header('Content-Disposition: attachment; filename=' . $response[0]['properties']['name']);
        $stdout = fopen('php://output', 'r+');
        fwrite($stdout, $response[0]['data']);
    } catch (Exception $e) {
        // An error occured, print HTTP status code and description.
        echo "Error: " . $e->getMessage();
        exit;
    }
}
require_once "footer.inc.php";