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 />"; }