Beispiel #1
0
 if (empty($id) || !is_numeric($id)) {
     nicupload_error('Invalid Upload ID');
 }
 if (!is_dir(NICUPLOAD_PATH) || !is_writable(NICUPLOAD_PATH)) {
     nicupload_error('Upload directory ' . NICUPLOAD_PATH . ' must exist and have write permissions on the server');
 }
 $file = $_FILES['nicImage'];
 $image = $file['tmp_name'];
 $max_upload_size = ini_max_upload_size();
 if (!$file) {
     nicupload_error('Must be less than ' . bytes_to_readable($max_upload_size));
 }
 $ext = strtolower(substr(strrchr($file['name'], '.'), 1));
 @($size = getimagesize($image));
 if (!$size || !in_array($ext, $nicupload_allowed_extensions)) {
     nicupload_error('Invalid image file, must be a valid image less than ' . bytes_to_readable($max_upload_size));
 }
 $filename = $id . '.' . $ext;
 $path = NICUPLOAD_PATH . '/' . $filename;
 if (!move_uploaded_file($image, $path)) {
     nicupload_error('Server error, failed to move file');
 }
 if ($rfc1867) {
     $status = apc_fetch('upload_' . $id);
 }
 if (!$status) {
     $status = array();
 }
 $status['done'] = 1;
 $status['width'] = $size[0];
 $status['url'] = nicupload_file_uri($filename);
function middmedia_media_upload($middmedia)
{
    $submiturl = "/wp-content/plugins/middmedia/upload.php";
    global $current_user;
    get_currentuserinfo();
    $client = new SoapClient(MIDDMEDIA_SOAP_WSDL);
    $dirinfo = $client->serviceGetDirs($current_user->user_login, 'blogs', MIDDMEDIA_SOAP_KEY);
    $directories = array();
    foreach ($dirinfo as $directory) {
        $directories[] = $directory['name'];
    }
    // Find media and insert it into posts
    echo "<form method='post' enctype='multipart/form-data' id='file-form' action='{$submiturl}' class='media-upload-form type-form validate'>";
    echo "<p>Welcome, <span\n  id='middmediaCurrentUser'>{$current_user->user_login}</span>! Need help? View the <a href=\"http://go.middlebury.edu/middmedia?help\" target=\"_blank\">MiddMedia Documentation</a>.</p>";
    echo "<div id='deleteConfirmation'></div>";
    if (isset($_GET['response'])) {
        echo "<div id='middmediaResponse'><h3>Result</h3>" . htmlentities($_GET['response']) . "</div>";
    } else {
        echo "<div id='middmediaResponse' style='display: none;'></div>";
    }
    echo "<h3>Insert Media</h3>";
    echo "<p><select id='middmediaDirectory' name='middmediaDirectory'>";
    foreach ($directories as $directory) {
        echo "<option value='{$directory}'>{$directory}</option>";
    }
    echo "</select>";
    echo "<input class='button' type='button' name='show' value='Show Files' onclick='middmediaShowFiles()' /></p>";
    echo "<p id='middmediaFiles' style='display:none;'>";
    echo "<table id='middmediaFilesTable' width='600' cellpadding='1' cellspacing='0'><tbody id='middmediaFilesTableBody'>";
    echo "</tbody></table></p>";
    // Upload new media
    echo "<hr /><h3>Upload Media</h3>";
    echo "<p>For large files or multi-file uploads, use the central <a href=\"http://go.middlebury.edu/middmedia\" target=\"_blank\">MiddMedia Service</a>.</p>";
    $types = $client->serviceGetTypes($current_user->user_login, 'blogs', MIDDMEDIA_SOAP_KEY);
    echo "<p>Allowed file types: " . implode(", ", $types) . "</p>";
    echo "<input name='post_id' id='post_id' value='{$_GET['post_id']}' type='hidden' />";
    echo "<input name='middmediaUploadUsername' value='{$current_user->user_login}' type='hidden' />";
    echo "<input id='tab' name='tab' value='middmedia' type='hidden' />";
    $uri = $_SERVER['REQUEST_URI'];
    if (strpos($uri, '&response') !== false) {
        $uri = substr($uri, 0, strpos($uri, '&response'));
    }
    echo "<input name='_wp_http_referer' value='{$_SERVER['REQUEST_URI']}' type='hidden' />";
    echo "<p><select id='middmediaUploadDirectory' name='middmediaUploadDirectory'>";
    foreach ($directories as $directory) {
        echo "<option value='{$directory}'>{$directory}</option>";
    }
    echo "</select>";
    echo "<input id='async-upload' name='async-upload' type='file' />";
    echo "<input class='button' type='submit' name='html-upload' value='Upload File' /></p><hr />";
    // Quotas
    echo "<h3>Quota</h3><table border='1' cellpadding='5'><tr><td>Directory</td><td>Used</td><td>Remaining</td></tr>";
    foreach ($dirinfo as $dir) {
        echo "<tr><td>{$dir['name']}</td><td>" . bytes_to_readable($dir['bytesused']) . "</td><td>" . bytes_to_readable($dir['bytesavailable']) . "</td></tr>";
    }
    echo "</table>";
    echo "<br class='clear' /></form><br />";
}