Attachment enhancements from skeltoac. fixes #2074
git-svn-id: https://develop.svn.wordpress.org/trunk@3303 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
e7b4d38f78
commit
f160329f66
@ -742,11 +742,13 @@ function wp_create_thumbnail($file, $max_side, $effect = '') {
|
|||||||
$thumbnail = imagecreatetruecolor($image_new_width, $image_new_height);
|
$thumbnail = imagecreatetruecolor($image_new_width, $image_new_height);
|
||||||
@ imagecopyresampled($thumbnail, $image, 0, 0, 0, 0, $image_new_width, $image_new_height, $image_attr[0], $image_attr[1]);
|
@ imagecopyresampled($thumbnail, $image, 0, 0, 0, 0, $image_new_width, $image_new_height, $image_attr[0], $image_attr[1]);
|
||||||
|
|
||||||
|
// If no filters change the filename, we'll do a default transformation.
|
||||||
|
if ( basename($file) == $thumb = apply_filters('thumbnail_filename', basename($file)) )
|
||||||
|
$thumb = preg_replace('!(\.[^.]+)?$!', __('.thumbnail').'$1', basename($file), 1);
|
||||||
|
|
||||||
|
$thumbpath = str_replace(basename($file), $thumb, $file);
|
||||||
|
|
||||||
// move the thumbnail to it's final destination
|
// move the thumbnail to it's final destination
|
||||||
|
|
||||||
$path = explode('/', $file);
|
|
||||||
$thumbpath = substr($file, 0, strrpos($file, '/')).'/thumb-'.$path[count($path) - 1];
|
|
||||||
|
|
||||||
if ($type[2] == 1) {
|
if ($type[2] == 1) {
|
||||||
if (!imagegif($thumbnail, $thumbpath)) {
|
if (!imagegif($thumbnail, $thumbpath)) {
|
||||||
$error = __("Thumbnail path invalid");
|
$error = __("Thumbnail path invalid");
|
||||||
@ -771,7 +773,7 @@ function wp_create_thumbnail($file, $max_side, $effect = '') {
|
|||||||
if (!empty ($error)) {
|
if (!empty ($error)) {
|
||||||
return $error;
|
return $error;
|
||||||
} else {
|
} else {
|
||||||
return 1;
|
return $thumbpath;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1633,8 +1635,10 @@ function current_theme_info() {
|
|||||||
// On failure, returns $overrides['upload_error_handler'](&$file, $message) or array('error'=>$message).
|
// On failure, returns $overrides['upload_error_handler'](&$file, $message) or array('error'=>$message).
|
||||||
function wp_handle_upload(&$file, $overrides = false) {
|
function wp_handle_upload(&$file, $overrides = false) {
|
||||||
// The default error handler.
|
// The default error handler.
|
||||||
function wp_handle_upload_error(&$file, $message) {
|
if (! function_exists('wp_handle_upload_error') ) {
|
||||||
return array('error'=>$message);
|
function wp_handle_upload_error(&$file, $message) {
|
||||||
|
return array('error'=>$message);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// You may define your own function and pass the name in $overrides['upload_error_handler']
|
// You may define your own function and pass the name in $overrides['upload_error_handler']
|
||||||
@ -1653,47 +1657,49 @@ function wp_handle_upload(&$file, $overrides = false) {
|
|||||||
__("Failed to write file to disk."));
|
__("Failed to write file to disk."));
|
||||||
|
|
||||||
// Accepted MIME types are set here as PCRE. Override with $override['mimes'].
|
// Accepted MIME types are set here as PCRE. Override with $override['mimes'].
|
||||||
$mimes = apply_filters('upload_mimes', array(
|
$mimes = apply_filters('upload_mimes', array (
|
||||||
'image/jpeg' => 'jpg|jpeg|jpe',
|
'jpg|jpeg|jpe' => 'image/jpeg',
|
||||||
'image/gif' => 'gif',
|
'gif' => 'image/gif',
|
||||||
'image/(png|x-png)' => 'png',
|
'png' => 'image/png',
|
||||||
'image/(bmp|x-bmp|x-ms-bmp)' => 'bmp',
|
'bmp' => 'image/bmp',
|
||||||
'image/(tiff|x-tiff)' => 'tif|tiff',
|
'tif|tiff' => 'image/tiff',
|
||||||
'image/(ico|x-ico)' => 'ico',
|
'ico' => 'image/x-icon',
|
||||||
'video/(asf|x-asf|x-ms-asf)' => 'asf|asx|wma|wax|wmv|wmx',
|
'asf|asx|wax|wmv|wmx' => 'video/asf',
|
||||||
'video/(wmv|x-wmv|x-ms-wmv)' => 'wmv',
|
'avi' => 'video/avi',
|
||||||
'video/(msvideo|x-msvideo)' => 'avi',
|
'mov|qt' => 'video/quicktime',
|
||||||
'video/(quicktime|x-quicktime)' => 'mov|qt',
|
'mpeg|mpg|mpe' => 'video/mpeg',
|
||||||
'video/(mpeg|x-mpeg)' => 'mpeg|mpg|mpe',
|
'txt|c|cc|h|php' => 'text/plain',
|
||||||
'text/plain' => 'txt|c|cc|h|php',
|
'rtx' => 'text/richtext',
|
||||||
'text/richtext' => 'rtx',
|
'css' => 'text/css',
|
||||||
'text/css' => 'css',
|
'htm|html' => 'text/html',
|
||||||
'text/html' => 'htm|html',
|
'mp3|mp4' => 'audio/mpeg',
|
||||||
'text/javascript' => 'js',
|
'ra|ram' => 'audio/x-realaudio',
|
||||||
'audio/(mpeg|x-mpeg|mpeg3|x-mpeg3)' => 'mp3',
|
'wav' => 'audio/wav',
|
||||||
'audio/x-realaudio' => 'ra|ram',
|
'ogg' => 'audio/ogg',
|
||||||
'audio/(wav|x-wav)' => 'wav',
|
'mid|midi' => 'audio/midi',
|
||||||
'audio/(ogg|x-ogg)' => 'ogg',
|
'wma' => 'audio/wma',
|
||||||
'audio/(midi|x-midi)' => 'mid|midi',
|
'rtf' => 'application/rtf',
|
||||||
'application/pdf' => 'pdf',
|
'js' => 'application/javascript',
|
||||||
'application/msword' => 'doc',
|
'pdf' => 'application/pdf',
|
||||||
'application/mspowerpoint' => 'pot|pps|ppt',
|
'doc' => 'application/msword',
|
||||||
'application/mswrite' => 'wri',
|
'pot|pps|ppt' => 'application/vnd.ms-powerpoint',
|
||||||
'application/(msexcel|vnd.ms-excel)' => 'xla|xls|xlt|xlw',
|
'wri' => 'application/vnd.ms-write',
|
||||||
'application/msaccess' => 'mdb',
|
'xla|xls|xlt|xlw' => 'application/vnd.ms-excel',
|
||||||
'application/msproject' => 'mpp',
|
'mdb' => 'application/vnd.ms-access',
|
||||||
'application/x-shockwave-flash' => 'swf',
|
'mpp' => 'application/vnd.ms-project',
|
||||||
'application/java' => 'class',
|
'swf' => 'application/x-shockwave-flash',
|
||||||
'application/x-tar' => 'tar',
|
'class' => 'application/java',
|
||||||
'application/(zip|x-zip-compressed)' => 'zip',
|
'tar' => 'application/x-tar',
|
||||||
'application/(x-gzip|x-gzip-compressed)' => 'gz|gzip'));
|
'zip' => 'application/zip',
|
||||||
|
'gz|gzip' => 'application/x-gzip',
|
||||||
// For security, we never trust HTTP Content-Type headers unless the user overrides this.
|
'exe' => 'application/x-msdownload'
|
||||||
$trust_content_type = false;
|
));
|
||||||
|
|
||||||
// All tests are on by default. Most can be turned off by $override[{test_name}] = false;
|
// All tests are on by default. Most can be turned off by $override[{test_name}] = false;
|
||||||
$test_form = true;
|
$test_form = true;
|
||||||
$test_size = true;
|
$test_size = true;
|
||||||
|
|
||||||
|
// If you override this, you must provide $ext and $type!!!!
|
||||||
$test_type = true;
|
$test_type = true;
|
||||||
|
|
||||||
// Install user overrides. Did we mention that this voids your warranty?
|
// Install user overrides. Did we mention that this voids your warranty?
|
||||||
@ -1716,25 +1722,20 @@ function wp_handle_upload(&$file, $overrides = false) {
|
|||||||
if (! is_uploaded_file($file['tmp_name']) )
|
if (! is_uploaded_file($file['tmp_name']) )
|
||||||
return $upload_error_handler($file, __('Specified file failed upload test.'));
|
return $upload_error_handler($file, __('Specified file failed upload test.'));
|
||||||
|
|
||||||
// A correct MIME type will pass this test. We can't always determine it programatically, so we'll trust the HTTP headers.
|
// A correct MIME type will pass this test.
|
||||||
if ( $test_type ) {
|
if ( $test_type ) {
|
||||||
$type = false;
|
$type = false;
|
||||||
$ext = false;
|
$ext = false;
|
||||||
foreach ($mimes as $mime_preg => $ext_preg) {
|
foreach ($mimes as $ext_preg => $mime_match) {
|
||||||
$mime_preg = '!^' . $mime_preg . '$!i';
|
|
||||||
$ext_preg = '![^.]\.(' . $ext_preg . ')$!i';
|
$ext_preg = '![^.]\.(' . $ext_preg . ')$!i';
|
||||||
if ( preg_match($mime_preg, $file['type'], $type) ) {
|
if ( preg_match($ext_preg, $file['name'], $ext_matches) ) {
|
||||||
if ( preg_match($ext_preg, $file['name'], $ext) ) {
|
$type = $mime_match;
|
||||||
break;
|
$ext = $ext_matches[1];
|
||||||
} else {
|
|
||||||
return $upload_error_handler($file, __('File extension does not match file type. Try another.'));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (! $type && $ext )
|
|
||||||
|
if ( !$type || !$ext )
|
||||||
return $upload_error_handler($file, __('File type does not meet security guidelines. Try another.'));
|
return $upload_error_handler($file, __('File type does not meet security guidelines. Try another.'));
|
||||||
$type = $type[0];
|
|
||||||
$ext = $ext[1];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// A writable uploads dir will pass this test. Again, there's no point overriding this one.
|
// A writable uploads dir will pass this test. Again, there's no point overriding this one.
|
||||||
@ -1754,7 +1755,7 @@ function wp_handle_upload(&$file, $overrides = false) {
|
|||||||
// Move the file to the uploads dir
|
// Move the file to the uploads dir
|
||||||
$new_file = $uploads['path'] . "/$filename";
|
$new_file = $uploads['path'] . "/$filename";
|
||||||
if ( false === move_uploaded_file($file['tmp_name'], $new_file) )
|
if ( false === move_uploaded_file($file['tmp_name'], $new_file) )
|
||||||
die(__('The uploaded file could not be moved to $file.'));
|
die(printf(__('The uploaded file could not be moved to %s.'), $file['path']));
|
||||||
|
|
||||||
// Set correct file permissions
|
// Set correct file permissions
|
||||||
$stat = stat(dirname($new_file));
|
$stat = stat(dirname($new_file));
|
||||||
@ -1764,7 +1765,7 @@ function wp_handle_upload(&$file, $overrides = false) {
|
|||||||
// Compute the URL
|
// Compute the URL
|
||||||
$url = $uploads['url'] . "/$filename";
|
$url = $uploads['url'] . "/$filename";
|
||||||
|
|
||||||
return array('file' => $new_file, 'url' => $url);
|
return array('file' => $new_file, 'url' => $url, 'type' => $type);
|
||||||
}
|
}
|
||||||
|
|
||||||
function wp_shrink_dimensions($width, $height, $wmax = 128, $hmax = 96) {
|
function wp_shrink_dimensions($width, $height, $wmax = 128, $hmax = 96) {
|
||||||
@ -1836,4 +1837,36 @@ function user_can_richedit() {
|
|||||||
return true; // Best guess
|
return true; // Best guess
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function the_attachment_links($id = false) {
|
||||||
|
$id = (int) $id;
|
||||||
|
$post = & get_post($id);
|
||||||
|
|
||||||
|
if ( $post->post_status != 'attachment' )
|
||||||
|
return false;
|
||||||
|
|
||||||
|
$icon = get_attachment_icon($post->ID);
|
||||||
|
|
||||||
|
?>
|
||||||
|
<?php _e('Text linked to file') ?><br/>
|
||||||
|
<textarea rows="1" cols="40" type="text" class="attachmentlinks" readonly="readonly"><a href="<?php echo $post->guid ?>" class="attachmentlink"><?php echo basename($post->guid) ?></a></textarea>
|
||||||
|
<?php _e('Text linked to subpost') ?><br/>
|
||||||
|
<textarea rows="1" cols="40" type="text" class="attachmentlinks" readonly="readonly"><a href="<?php echo get_attachment_link($post->ID) ?>" rel="attachment" id="<?php echo $post->ID ?>"><?php echo $post->post_title ?></a></textarea>
|
||||||
|
<?php if ( $icon ) : ?>
|
||||||
|
<?php _e('Thumbnail linked to file') ?><br/>
|
||||||
|
<textarea rows="1" cols="40" type="text" class="attachmentlinks" readonly="readonly"><a href="<?php echo $post->guid ?>" class="attachmentlink"><img src="<?php echo $thumb ?>" class="attachmentthumb" alt="<?php echo $post->post_title ?>" /></a></textarea>
|
||||||
|
<?php _e('Thumbnail linked to subpost') ?><br/>
|
||||||
|
<textarea rows="1" cols="40" type="text" class="attachmentlinks" readonly="readonly"><a href="<?php echo get_attachment_link($post->ID) ?>" class="attachmentlink"><img src="<?php echo $icon ?>" class="attachmentthumb" alt="<?php echo $post->post_title ?>" /></a></textarea>
|
||||||
|
<?php endif; ?>
|
||||||
|
<?php
|
||||||
|
}
|
||||||
|
|
||||||
|
function get_udims($width, $height) {
|
||||||
|
if ( $height <= 96 && $width <= 128 )
|
||||||
|
return array($width, $height);
|
||||||
|
elseif ( $width / $height > 4 / 3 )
|
||||||
|
return array(128, (int) ($height / $width * 128));
|
||||||
|
else
|
||||||
|
return array((int) ($width / $height * 96), 96);
|
||||||
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
@ -9,8 +9,22 @@ require_once('admin-header.php');
|
|||||||
<h2><?php _e('Page Management'); ?></h2>
|
<h2><?php _e('Page Management'); ?></h2>
|
||||||
<p><?php _e('Pages are like posts except they live outside of the normal blog chronology and can be hierarchical. You can use pages to organize and manage any amount of content.'); ?> <a href="page-new.php"><?php _e('Create a new page'); ?> »</a></p>
|
<p><?php _e('Pages are like posts except they live outside of the normal blog chronology and can be hierarchical. You can use pages to organize and manage any amount of content.'); ?> <a href="page-new.php"><?php _e('Create a new page'); ?> »</a></p>
|
||||||
|
|
||||||
|
<form name="searchform" action="" method="get">
|
||||||
|
<fieldset>
|
||||||
|
<legend><?php _e('Search Pages…') ?></legend>
|
||||||
|
<input type="text" name="s" value="<?php if (isset($_GET['s'])) echo wp_specialchars($_GET['s'], 1); ?>" size="17" />
|
||||||
|
<input type="submit" name="submit" value="<?php _e('Search') ?>" />
|
||||||
|
</fieldset>
|
||||||
|
</form>
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
$posts = $wpdb->get_results("SELECT * FROM $wpdb->posts WHERE post_status = 'static'");
|
|
||||||
|
$show_post_type = 'page';
|
||||||
|
|
||||||
|
if ( isset($_GET['s']) )
|
||||||
|
wp();
|
||||||
|
else
|
||||||
|
$posts = $wpdb->get_results("SELECT * FROM $wpdb->posts WHERE post_status = 'static'");
|
||||||
|
|
||||||
if ($posts) {
|
if ($posts) {
|
||||||
?>
|
?>
|
||||||
@ -24,7 +38,27 @@ if ($posts) {
|
|||||||
<th scope="col"></th>
|
<th scope="col"></th>
|
||||||
<th scope="col"></th>
|
<th scope="col"></th>
|
||||||
</tr>
|
</tr>
|
||||||
<?php page_rows(); ?>
|
<?php
|
||||||
|
if ( isset($_GET['s']) ) {
|
||||||
|
foreach ( $posts as $post ) :
|
||||||
|
$class = ('alternate' != $class) ? 'alternate' : ''; ?>
|
||||||
|
<tr id='page-<?php echo $id; ?>' class='<?php echo $class; ?>'>
|
||||||
|
<th scope="row"><?php echo $post->ID; ?></th>
|
||||||
|
<td>
|
||||||
|
<?php echo $pad; ?><?php the_title() ?>
|
||||||
|
</td>
|
||||||
|
<td><?php the_author() ?></td>
|
||||||
|
<td><?php echo mysql2date('Y-m-d g:i a', $post->post_modified); ?></td>
|
||||||
|
<td><a href="<?php the_permalink(); ?>" rel="permalink" class="edit"><?php _e('View'); ?></a></td>
|
||||||
|
<td><?php if ( current_user_can('edit_pages') ) { echo "<a href='post.php?action=edit&post=$id' class='edit'>" . __('Edit') . "</a>"; } ?></td>
|
||||||
|
<td><?php if ( current_user_can('edit_pages') ) { echo "<a href='post.php?action=delete&post=$id' class='delete' onclick=\"return deleteSomething( 'page', " . $id . ", '" . sprintf(__("You are about to delete the "%s" page.\\n"OK" to delete, "Cancel" to stop."), wp_specialchars(get_the_title('','',0), 1)) . "' );\">" . __('Delete') . "</a>"; } ?></td>
|
||||||
|
</tr>
|
||||||
|
<?php
|
||||||
|
endforeach;
|
||||||
|
} else {
|
||||||
|
page_rows();
|
||||||
|
}
|
||||||
|
?>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<div id="ajax-response"></div>
|
<div id="ajax-response"></div>
|
||||||
|
@ -65,7 +65,9 @@ if ( is_month() ) {
|
|||||||
} elseif ( is_search() ) {
|
} elseif ( is_search() ) {
|
||||||
printf(__('Search for “%s”'), wp_specialchars($_GET['s']) );
|
printf(__('Search for “%s”'), wp_specialchars($_GET['s']) );
|
||||||
} else {
|
} else {
|
||||||
if ( ! is_paged() || get_query_var('paged') == 1 )
|
if ( is_single() )
|
||||||
|
printf(__('Comments on %s'), $post->post_title);
|
||||||
|
elseif ( ! is_paged() || get_query_var('paged') == 1 )
|
||||||
_e('Last 15 Posts');
|
_e('Last 15 Posts');
|
||||||
else
|
else
|
||||||
_e('Previous Posts');
|
_e('Previous Posts');
|
||||||
|
@ -25,15 +25,6 @@ for ($i=0; $i<count($wpvarstoreset); $i += 1) {
|
|||||||
$post = (int) $post;
|
$post = (int) $post;
|
||||||
$images_width = 1;
|
$images_width = 1;
|
||||||
|
|
||||||
function get_udims($width, $height) {
|
|
||||||
if ( $height <= 96 && $width <= 128 )
|
|
||||||
return array($width, $height);
|
|
||||||
elseif ( $width / $height > 4 / 3 )
|
|
||||||
return array(128, (int) ($height / $width * 128));
|
|
||||||
else
|
|
||||||
return array((int) ($width / $height * 96), 96);
|
|
||||||
}
|
|
||||||
|
|
||||||
switch($action) {
|
switch($action) {
|
||||||
case 'delete':
|
case 'delete':
|
||||||
|
|
||||||
@ -55,6 +46,7 @@ if ( isset($file['error']) )
|
|||||||
die($file['error'] . '<a href="' . basename(__FILE__) . '?action=upload&post="' . $post . '">'.__('Back to Image Uploading').'</a>');
|
die($file['error'] . '<a href="' . basename(__FILE__) . '?action=upload&post="' . $post . '">'.__('Back to Image Uploading').'</a>');
|
||||||
|
|
||||||
$url = $file['url'];
|
$url = $file['url'];
|
||||||
|
$type = $file['type'];
|
||||||
$file = $file['file'];
|
$file = $file['file'];
|
||||||
$filename = basename($file);
|
$filename = basename($file);
|
||||||
|
|
||||||
@ -64,7 +56,7 @@ $attachment = array(
|
|||||||
'post_content' => $descr,
|
'post_content' => $descr,
|
||||||
'post_status' => 'attachment',
|
'post_status' => 'attachment',
|
||||||
'post_parent' => $post,
|
'post_parent' => $post,
|
||||||
'post_mime_type' => $_FILES['image']['type'],
|
'post_mime_type' => $type,
|
||||||
'guid' => $url
|
'guid' => $url
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -79,15 +71,22 @@ if ( preg_match('!^image/!', $attachment['post_mime_type']) ) {
|
|||||||
list($uwidth, $uheight) = get_udims($imagedata['width'], $imagedata['height']);
|
list($uwidth, $uheight) = get_udims($imagedata['width'], $imagedata['height']);
|
||||||
$imagedata['hwstring_small'] = "height='$uheight' width='$uwidth'";
|
$imagedata['hwstring_small'] = "height='$uheight' width='$uwidth'";
|
||||||
$imagedata['file'] = $file;
|
$imagedata['file'] = $file;
|
||||||
$imagedata['thumb'] = "thumb-$filename";
|
|
||||||
|
|
||||||
add_post_meta($id, '_wp_attachment_metadata', $imagedata);
|
add_post_meta($id, '_wp_attachment_metadata', $imagedata);
|
||||||
|
|
||||||
if ( $imagedata['width'] * $imagedata['height'] < 3 * 1024 * 1024 ) {
|
if ( $imagedata['width'] * $imagedata['height'] < 3 * 1024 * 1024 ) {
|
||||||
if ( $imagedata['width'] > 128 && $imagedata['width'] >= $imagedata['height'] * 4 / 3 )
|
if ( $imagedata['width'] > 128 && $imagedata['width'] >= $imagedata['height'] * 4 / 3 )
|
||||||
$error = wp_create_thumbnail($file, 128);
|
$thumb = wp_create_thumbnail($file, 128);
|
||||||
elseif ( $imagedata['height'] > 96 )
|
elseif ( $imagedata['height'] > 96 )
|
||||||
$error = wp_create_thumbnail($file, 96);
|
$thumb = wp_create_thumbnail($file, 96);
|
||||||
|
|
||||||
|
if ( @file_exists($thumb) ) {
|
||||||
|
$newdata = $imagedata;
|
||||||
|
$newdata['thumb'] = basename($thumb);
|
||||||
|
update_post_meta($id, '_wp_attachment_metadata', $newdata, $imagedata);
|
||||||
|
} else {
|
||||||
|
$error = $thumb;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
add_post_meta($id, '_wp_attachment_metadata', array());
|
add_post_meta($id, '_wp_attachment_metadata', array());
|
||||||
@ -162,6 +161,9 @@ if ( count($attachments) > 0 ) {
|
|||||||
$__linked_to_file = __('Linked to File');
|
$__linked_to_file = __('Linked to File');
|
||||||
$__using_thumbnail = __('Using Thumbnail');
|
$__using_thumbnail = __('Using Thumbnail');
|
||||||
$__using_original = __('Using Original');
|
$__using_original = __('Using Original');
|
||||||
|
$__using_title = __('Using Title');
|
||||||
|
$__using_filename = __('Using Filename');
|
||||||
|
$__using_icon = __('Using Icon');
|
||||||
$__no_thumbnail = '<del>'.__('No Thumbnail').'</del>';
|
$__no_thumbnail = '<del>'.__('No Thumbnail').'</del>';
|
||||||
$__send_to_editor = __('Send to editor');
|
$__send_to_editor = __('Send to editor');
|
||||||
$__close = __('Close Options');
|
$__close = __('Close Options');
|
||||||
@ -173,12 +175,18 @@ linkedtopage = '$__linked_to_page';
|
|||||||
linkedtofile = '$__linked_to_file';
|
linkedtofile = '$__linked_to_file';
|
||||||
usingthumbnail = '$__using_thumbnail';
|
usingthumbnail = '$__using_thumbnail';
|
||||||
usingoriginal = '$__using_original';
|
usingoriginal = '$__using_original';
|
||||||
|
usingtitle = '$__using_title';
|
||||||
|
usingfilename = '$__using_filename';
|
||||||
|
usingicon = '$__using_icon';
|
||||||
var aa = new Array();
|
var aa = new Array();
|
||||||
var ab = new Array();
|
var ab = new Array();
|
||||||
var imga = new Array();
|
var imga = new Array();
|
||||||
var imgb = new Array();
|
var imgb = new Array();
|
||||||
var srca = new Array();
|
var srca = new Array();
|
||||||
var srcb = new Array();
|
var srcb = new Array();
|
||||||
|
var title = new Array();
|
||||||
|
var filename = new Array();
|
||||||
|
var icon = new Array();
|
||||||
";
|
";
|
||||||
foreach ( $attachments as $key => $attachment ) {
|
foreach ( $attachments as $key => $attachment ) {
|
||||||
$ID = $attachment['ID'];
|
$ID = $attachment['ID'];
|
||||||
@ -193,7 +201,7 @@ var srcb = new Array();
|
|||||||
}
|
}
|
||||||
$attachment = array_merge($attachment, $meta);
|
$attachment = array_merge($attachment, $meta);
|
||||||
$send_delete_cancel = "<a onclick=\"sendToEditor({$ID});return false;\" href=\"javascript:void()\">$__send_to_editor</a>
|
$send_delete_cancel = "<a onclick=\"sendToEditor({$ID});return false;\" href=\"javascript:void()\">$__send_to_editor</a>
|
||||||
<a onclick=\"return confirm('$__confirmdelete')\" href=\"".basename(__FILE__)."?action=delete&attachment={$ID}&all=$all&start=$start&post=$post\">$__delete</a>
|
<!--<a onclick=\"return confirm('$__confirmdelete')\" href=\"".basename(__FILE__)."?action=delete&attachment={$ID}&all=$all&start=$start&post=$post\">$__delete</a>-->
|
||||||
<a onclick=\"popup.style.display='none';return false;\" href=\"javascript:void()\">$__close</a>
|
<a onclick=\"popup.style.display='none';return false;\" href=\"javascript:void()\">$__close</a>
|
||||||
";
|
";
|
||||||
$uwidth_sum += 128;
|
$uwidth_sum += 128;
|
||||||
@ -234,11 +242,18 @@ imgb[{$ID}] = '<img id=\"image{$ID}\" src=\"{$image['guid']}\" alt=\"{$image['po
|
|||||||
</div>
|
</div>
|
||||||
";
|
";
|
||||||
} else {
|
} else {
|
||||||
$script .= "aa[{$ID}] = '<a id=\"{$ID}\" rel=\"attachment\" href=\"$href\" onclick=\"doPopup({$ID});return false;\" title=\"{$attachment['post_title']}\">{$attachment['post_title']}</a>';
|
$title = $attachment['post_title'];
|
||||||
ab[{$ID}] = '<a id=\"{$ID}\" href=\"{$attachment['guid']}\" onclick=\"doPopup({$ID});return false;\" title=\"{$attachment['post_title']}\">{$attachment['post_title']}</a>';
|
$filename = basename($attachment['guid']);
|
||||||
|
if ( $icon = get_attachment_icon($ID) )
|
||||||
|
$toggle_icon = "<a id=\"I{$ID}\" onclick=\"toggleOtherIcon({$ID});return false;\" href=\"javascript:void()\">$__using_title</a>";
|
||||||
|
$script .= "aa[{$ID}] = '<a id=\"{$ID}\" rel=\"attachment\" href=\"$href\" onclick=\"doPopup({$ID});return false;\" title=\"{$title}\">{$attachment['post_title']}</a>';
|
||||||
|
ab[{$ID}] = '<a id=\"{$ID}\" href=\"{$filename}\" onclick=\"doPopup({$ID});return false;\" title=\"{$title}\">{$attachment['post_title']}</a>';
|
||||||
|
title[{$ID}] = '{$attachment['post_title']}';
|
||||||
|
filename[{$ID}] = '{$filename}';
|
||||||
|
icon[{$ID}] = '{$icon}';
|
||||||
";
|
";
|
||||||
$html .= "<div id='target{$ID}' class='attwrap left'>
|
$html .= "<div id='target{$ID}' class='attwrap left'>
|
||||||
<div id='div{$ID}' class='otherwrap' onmousedown=\"selectLink({$ID})\" onclick=\"doPopup({$ID});return false;\">
|
<div id='div{$ID}' class='otherwrap usingtext' onmousedown=\"selectLink({$ID})\" onclick=\"doPopup({$ID});return false;\">
|
||||||
<a id=\"{$ID}\" href=\"{$attachment['guid']}\" onmousedown=\"selectLink({$ID});\" onclick=\"return false;\">{$attachment['post_title']}</a>
|
<a id=\"{$ID}\" href=\"{$attachment['guid']}\" onmousedown=\"selectLink({$ID});\" onclick=\"return false;\">{$attachment['post_title']}</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -246,6 +261,7 @@ ab[{$ID}] = '<a id=\"{$ID}\" href=\"{$attachment['guid']}\" onclick=\"doPopup({$
|
|||||||
$popups .= "<div id='popup{$ID}' class='popup'>
|
$popups .= "<div id='popup{$ID}' class='popup'>
|
||||||
<div class='filetype'>".__('File Type:').' '.str_replace('/',"/\n",$attachment['post_mime_type'])."</div>
|
<div class='filetype'>".__('File Type:').' '.str_replace('/',"/\n",$attachment['post_mime_type'])."</div>
|
||||||
<a id=\"L{$ID}\" onclick=\"toggleOtherLink({$ID});return false;\" href=\"javascript:void()\">$__linked_to_file</a>
|
<a id=\"L{$ID}\" onclick=\"toggleOtherLink({$ID});return false;\" href=\"javascript:void()\">$__linked_to_file</a>
|
||||||
|
{$toggle_icon}
|
||||||
{$send_delete_cancel}
|
{$send_delete_cancel}
|
||||||
</div>
|
</div>
|
||||||
";
|
";
|
||||||
@ -320,6 +336,8 @@ function toggleLink(n) {
|
|||||||
function toggleOtherLink(n) {
|
function toggleOtherLink(n) {
|
||||||
od=document.getElementById('div'+n);
|
od=document.getElementById('div'+n);
|
||||||
ol=document.getElementById('L'+n);
|
ol=document.getElementById('L'+n);
|
||||||
|
oi=document.getElementById(n);
|
||||||
|
ih=oi.innerHTML;
|
||||||
if ( ol.innerHTML == linkedtofile ) {
|
if ( ol.innerHTML == linkedtofile ) {
|
||||||
od.innerHTML = aa[n];
|
od.innerHTML = aa[n];
|
||||||
ol.innerHTML = linkedtopage;
|
ol.innerHTML = linkedtopage;
|
||||||
@ -327,6 +345,8 @@ function toggleOtherLink(n) {
|
|||||||
od.innerHTML = ab[n];
|
od.innerHTML = ab[n];
|
||||||
ol.innerHTML = linkedtofile;
|
ol.innerHTML = linkedtofile;
|
||||||
}
|
}
|
||||||
|
oi=document.getElementById(n);
|
||||||
|
oi.innerHTML = ih;
|
||||||
}
|
}
|
||||||
function toggleImage(n) {
|
function toggleImage(n) {
|
||||||
o = document.getElementById('image'+n);
|
o = document.getElementById('image'+n);
|
||||||
@ -339,6 +359,25 @@ function toggleImage(n) {
|
|||||||
oi.innerHTML = usingthumbnail;
|
oi.innerHTML = usingthumbnail;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
function toggleOtherIcon(n) {
|
||||||
|
od = document.getElementById('div'+n);
|
||||||
|
o = document.getElementById(n);
|
||||||
|
oi = document.getElementById('I'+n);
|
||||||
|
if ( oi.innerHTML == usingtitle ) {
|
||||||
|
o.innerHTML = filename[n];
|
||||||
|
oi.innerHTML = usingfilename;
|
||||||
|
} else if ( oi.innerHTML == usingfilename ) {
|
||||||
|
o.innerHTML = icon[n];
|
||||||
|
oi.innerHTML = usingicon;
|
||||||
|
} else {
|
||||||
|
o.innerHTML = title[n];
|
||||||
|
oi.innerHTML = usingtitle;
|
||||||
|
}
|
||||||
|
if ( oi.innerHTML == usingicon )
|
||||||
|
od.className = 'otherwrap usingicon';
|
||||||
|
else
|
||||||
|
od.classname = 'otherwrap usingtext';
|
||||||
|
}
|
||||||
|
|
||||||
var win = window.opener ? window.opener : window.dialogArguments;
|
var win = window.opener ? window.opener : window.dialogArguments;
|
||||||
if (!win) win = top;
|
if (!win) win = top;
|
||||||
@ -401,19 +440,32 @@ form {
|
|||||||
}
|
}
|
||||||
.otherwrap {
|
.otherwrap {
|
||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
height: 90px;
|
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
background-color: #f9fcfe;
|
background-color: #f9fcfe;
|
||||||
float: left;
|
float: left;
|
||||||
padding: 3px;
|
|
||||||
}
|
}
|
||||||
.otherwrap a {
|
.otherwrap a {
|
||||||
display: block;
|
display: block;
|
||||||
width: 122px;
|
|
||||||
}
|
}
|
||||||
.otherwrap a, .otherwrap a:hover, .otherwrap a:active, .otherwrap a:visited {
|
.otherwrap a, .otherwrap a:hover, .otherwrap a:active, .otherwrap a:visited {
|
||||||
color: blue;
|
color: blue;
|
||||||
}
|
}
|
||||||
|
.usingicon {
|
||||||
|
padding: 0px;
|
||||||
|
height: 96px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.usingicon a {
|
||||||
|
width: 128px;
|
||||||
|
}
|
||||||
|
.usingtext {
|
||||||
|
padding: 3px;
|
||||||
|
height: 90px;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
.usingtext a {
|
||||||
|
width: 122px;
|
||||||
|
}
|
||||||
.filetype {
|
.filetype {
|
||||||
font-size: 80%;
|
font-size: 80%;
|
||||||
border-bottom: 3px double #89a
|
border-bottom: 3px double #89a
|
||||||
|
@ -74,6 +74,8 @@ case 'edit':
|
|||||||
|
|
||||||
if ($post->post_status == 'static')
|
if ($post->post_status == 'static')
|
||||||
include('edit-page-form.php');
|
include('edit-page-form.php');
|
||||||
|
elseif ($post->post_status == 'attachment')
|
||||||
|
include('edit-attachment-form.php');
|
||||||
else
|
else
|
||||||
include('edit-form-advanced.php');
|
include('edit-form-advanced.php');
|
||||||
|
|
||||||
@ -85,6 +87,22 @@ case 'edit':
|
|||||||
<?php
|
<?php
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'editattachment':
|
||||||
|
$post_id = (int) $_POST['post_ID'];
|
||||||
|
|
||||||
|
// Don't let these be changed
|
||||||
|
unset($_POST['guid']);
|
||||||
|
$_POST['post_status'] = 'attachment';
|
||||||
|
|
||||||
|
// Update the thumbnail filename
|
||||||
|
$oldmeta = $newmeta = get_post_meta($post_id, '_wp_attachment_metadata', true);
|
||||||
|
$newmeta['thumb'] = $_POST['thumb'];
|
||||||
|
|
||||||
|
if ( '' !== $oldmeta )
|
||||||
|
update_post_meta($post_id, '_wp_attachment_metadata', $newmeta, $oldmeta);
|
||||||
|
else
|
||||||
|
add_post_meta($post_id, '_wp_attachment_metadata', $newmeta);
|
||||||
|
|
||||||
case 'editpost':
|
case 'editpost':
|
||||||
$post_ID = edit_post();
|
$post_ID = edit_post();
|
||||||
|
|
||||||
@ -98,6 +116,8 @@ case 'editpost':
|
|||||||
$location = $_POST['referredby'];
|
$location = $_POST['referredby'];
|
||||||
if ( $_POST['referredby'] == 'redo' )
|
if ( $_POST['referredby'] == 'redo' )
|
||||||
$location = get_permalink( $post_ID );
|
$location = get_permalink( $post_ID );
|
||||||
|
} elseif ($action == 'editattachment') {
|
||||||
|
$location = 'attachments.php';
|
||||||
} else {
|
} else {
|
||||||
$location = 'post.php';
|
$location = 'post.php';
|
||||||
}
|
}
|
||||||
@ -110,15 +130,18 @@ case 'delete':
|
|||||||
check_admin_referer();
|
check_admin_referer();
|
||||||
|
|
||||||
$post_id = (isset($_GET['post'])) ? intval($_GET['post']) : intval($_POST['post_ID']);
|
$post_id = (isset($_GET['post'])) ? intval($_GET['post']) : intval($_POST['post_ID']);
|
||||||
|
|
||||||
|
$post = & get_post($post_id);
|
||||||
|
|
||||||
if ( !current_user_can('edit_post', $post_id) )
|
if ( !current_user_can('edit_post', $post_id) )
|
||||||
die( __('You are not allowed to delete this post.') );
|
die( __('You are not allowed to delete this post.') );
|
||||||
|
|
||||||
if (! wp_delete_post($post_id))
|
if ( (($post->post_status != 'attachment') && !wp_delete_post($post_id)) || !wp_delete_attachment($post_id))
|
||||||
die( __('Error in deleting...') );
|
die( __('Error in deleting...') );
|
||||||
|
|
||||||
$sendback = $_SERVER['HTTP_REFERER'];
|
$sendback = $_SERVER['HTTP_REFERER'];
|
||||||
if (strstr($sendback, 'post.php')) $sendback = get_settings('siteurl') .'/wp-admin/post.php';
|
if (strstr($sendback, 'post.php')) $sendback = get_settings('siteurl') .'/wp-admin/post.php';
|
||||||
|
elseif (strstr($sendback, 'attachments.php')) $sendback = get_settings('siteurl') .'/wp-admin/attachments.php';
|
||||||
$sendback = preg_replace('|[^a-z0-9-~+_.?#=&;,/:]|i', '', $sendback);
|
$sendback = preg_replace('|[^a-z0-9-~+_.?#=&;,/:]|i', '', $sendback);
|
||||||
header ('Location: ' . $sendback);
|
header ('Location: ' . $sendback);
|
||||||
break;
|
break;
|
||||||
|
@ -163,6 +163,23 @@ textarea, input, select {
|
|||||||
overflow-y: hidden;
|
overflow-y: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
form#upload th {
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
form#upload #post_content, form#upload #post_title {
|
||||||
|
width: 250px;
|
||||||
|
}
|
||||||
|
|
||||||
|
form#upload #post_content {
|
||||||
|
height: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.attpreview {
|
||||||
|
width: 1px; /* hug */
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
.alignleft {
|
.alignleft {
|
||||||
float: left
|
float: left
|
||||||
}
|
}
|
||||||
@ -389,7 +406,7 @@ table .vers, table .name {
|
|||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
#titlediv {
|
#titlediv, #guiddiv {
|
||||||
margin: 0 8px 0 0;
|
margin: 0 8px 0 0;
|
||||||
padding: 0px;
|
padding: 0px;
|
||||||
}
|
}
|
||||||
@ -409,7 +426,7 @@ table .vers, table .name {
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
#titlediv input {
|
#titlediv input, #guiddiv input {
|
||||||
margin: 0px;
|
margin: 0px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
@ -456,15 +473,21 @@ table .vers, table .name {
|
|||||||
font-size: 1.5em;
|
font-size: 1.5em;
|
||||||
}
|
}
|
||||||
|
|
||||||
#postexcerpt div {
|
#postexcerpt div, #attachmentlinks div {
|
||||||
margin-right: 8px;
|
margin-right: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
* html #postexcerpt .dbx-toggle-open {
|
#attachmentlinks textarea {
|
||||||
|
width: 100%;
|
||||||
|
height: 2.5em;
|
||||||
|
margin-bottom: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
* html #postexcerpt .dbx-toggle-open, * html #postexcerpt .dbx-toggle-open {
|
||||||
padding-right: 8px;
|
padding-right: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#excerpt {
|
#excerpt, .attachmentlinks {
|
||||||
margin: 0px;
|
margin: 0px;
|
||||||
height: 4em;
|
height: 4em;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@ -733,7 +756,7 @@ table .vers, table .name {
|
|||||||
width: 14.5em;
|
width: 14.5em;
|
||||||
}
|
}
|
||||||
|
|
||||||
#slugdiv input, #passworddiv input, #authordiv select {
|
#slugdiv input, #passworddiv input, #authordiv select, #thumbdiv input, #parentdiv input {
|
||||||
margin-top: .5em;
|
margin-top: .5em;
|
||||||
width: 90%;
|
width: 90%;
|
||||||
}
|
}
|
||||||
|
@ -11,22 +11,8 @@
|
|||||||
<div class="post" id="post-<?php the_ID(); ?>">
|
<div class="post" id="post-<?php the_ID(); ?>">
|
||||||
<h2><a href="<?php echo get_permalink($post->post_parent); ?>" rev="attachment"><?php echo get_the_title($post->post_parent); ?></a> » <a href="<?php echo get_permalink() ?>" rel="bookmark" title="Permanent Link: <?php the_title(); ?>"><?php the_title(); ?></a></h2>
|
<h2><a href="<?php echo get_permalink($post->post_parent); ?>" rev="attachment"><?php echo get_the_title($post->post_parent); ?></a> » <a href="<?php echo get_permalink() ?>" rel="bookmark" title="Permanent Link: <?php the_title(); ?>"><?php the_title(); ?></a></h2>
|
||||||
<div class="entrytext">
|
<div class="entrytext">
|
||||||
<?php $type = explode('/', $post->post_mime_type);
|
<p class="<?php $link = get_the_attachment_link($post->ID, true, array(450, 800)); /* Doing this now populates the imagesize stuff */ echo $post->iconsize[0] <= 128 ? 'small' : ''; ?>attachment"><?php echo get_the_attachment_link($post->ID, true, array(450, 800)); ?><br /><?php echo basename($post->guid); ?></p>
|
||||||
switch ( $type[0] ) {
|
|
||||||
case 'image' :
|
|
||||||
$meta = get_post_meta($post->ID, '_wp_attachment_metadata', true);
|
|
||||||
if ($meta['width'] > 450) : ?>
|
|
||||||
<p><a href="<?php echo $post->guid; ?>" title="<?php echo $post->post_title.': '.$meta['width'].'x'.$meta['height'] ?>"><img class="centered" src="<?php echo $post->guid; ?>" alt="<?php the_title(); ?>" style="width:450px;" /></a></p>
|
|
||||||
<?php else : ?>
|
|
||||||
<p><img class="centered" src="<?php echo $post->guid; ?>" alt="<?php the_title(); ?>" /></p>
|
|
||||||
<?php endif;
|
|
||||||
break;
|
|
||||||
default :
|
|
||||||
?>
|
|
||||||
<p><a href="<?php echo $post->guid; ?>"><?php echo basename($post->guid); ?></a></p>
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
<?php the_content('<p class="serif">Read the rest of this entry »</p>'); ?>
|
<?php the_content('<p class="serif">Read the rest of this entry »</p>'); ?>
|
||||||
|
|
||||||
<?php link_pages('<p><strong>Pages:</strong> ', '</p>', 'number'); ?>
|
<?php link_pages('<p><strong>Pages:</strong> ', '</p>', 'number'); ?>
|
||||||
|
BIN
wp-content/themes/default/images/audio.jpg
Normal file
BIN
wp-content/themes/default/images/audio.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.6 KiB |
@ -263,7 +263,23 @@ body {
|
|||||||
.widecolumn .postmetadata {
|
.widecolumn .postmetadata {
|
||||||
margin: 30px 0;
|
margin: 30px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.widecolumn .smallattachment {
|
||||||
|
text-align: center;
|
||||||
|
float: left;
|
||||||
|
width: 128px;
|
||||||
|
margin: 5px 5px 5px 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.widecolumn .attachment {
|
||||||
|
text-align: center;
|
||||||
|
margin: 5px 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.postmetadata {
|
||||||
|
clear: left;
|
||||||
|
}
|
||||||
|
|
||||||
#footer {
|
#footer {
|
||||||
padding: 0 0 0 1px;
|
padding: 0 0 0 1px;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
|
@ -97,12 +97,10 @@ class WP_Query {
|
|||||||
if ( '' != $qv['subpost_id'] )
|
if ( '' != $qv['subpost_id'] )
|
||||||
$qv['attachment_id'] = $qv['subpost_id'];
|
$qv['attachment_id'] = $qv['subpost_id'];
|
||||||
|
|
||||||
if ( ('' != $qv['attachment']) || $qv['attachment_id'] ) {
|
if ( ('' != $qv['attachment']) || (int) $qv['attachment_id'] ) {
|
||||||
$this->is_single = true;
|
$this->is_single = true;
|
||||||
$this->is_attachment = true;
|
$this->is_attachment = true;
|
||||||
}
|
} elseif ('' != $qv['name']) {
|
||||||
|
|
||||||
if ('' != $qv['name']) {
|
|
||||||
$this->is_single = true;
|
$this->is_single = true;
|
||||||
} elseif ( $qv['p'] ) {
|
} elseif ( $qv['p'] ) {
|
||||||
$this->is_single = true;
|
$this->is_single = true;
|
||||||
@ -115,6 +113,14 @@ class WP_Query {
|
|||||||
$this->is_single = false;
|
$this->is_single = false;
|
||||||
} elseif (!empty($qv['s'])) {
|
} elseif (!empty($qv['s'])) {
|
||||||
$this->is_search = true;
|
$this->is_search = true;
|
||||||
|
switch ($qv['show_post_type']) {
|
||||||
|
case 'page' :
|
||||||
|
$this->is_page = true;
|
||||||
|
break;
|
||||||
|
case 'attachment' :
|
||||||
|
$this->is_attachment = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
// Look for archive queries. Dates, categories, authors.
|
// Look for archive queries. Dates, categories, authors.
|
||||||
|
|
||||||
@ -198,6 +204,10 @@ class WP_Query {
|
|||||||
if ( ($this->is_date || $this->is_author || $this->is_category)) {
|
if ( ($this->is_date || $this->is_author || $this->is_category)) {
|
||||||
$this->is_archive = true;
|
$this->is_archive = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( 'attachment' == $qv['show_post_type'] ) {
|
||||||
|
$this->is_attachment = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ('' != $qv['feed']) {
|
if ('' != $qv['feed']) {
|
||||||
@ -1413,7 +1423,7 @@ class WP_Rewrite {
|
|||||||
class WP {
|
class WP {
|
||||||
var $public_query_vars = array('m', 'p', 'posts', 'w', 'cat', 'withcomments', 's', 'search', 'exact', 'sentence', 'debug', 'calendar', 'page', 'paged', 'more', 'tb', 'pb', 'author', 'order', 'orderby', 'year', 'monthnum', 'day', 'hour', 'minute', 'second', 'name', 'category_name', 'feed', 'author_name', 'static', 'pagename', 'page_id', 'error', 'comments_popup', 'attachment', 'attachment_id', 'subpost', 'subpost_id');
|
var $public_query_vars = array('m', 'p', 'posts', 'w', 'cat', 'withcomments', 's', 'search', 'exact', 'sentence', 'debug', 'calendar', 'page', 'paged', 'more', 'tb', 'pb', 'author', 'order', 'orderby', 'year', 'monthnum', 'day', 'hour', 'minute', 'second', 'name', 'category_name', 'feed', 'author_name', 'static', 'pagename', 'page_id', 'error', 'comments_popup', 'attachment', 'attachment_id', 'subpost', 'subpost_id');
|
||||||
|
|
||||||
var $private_query_vars = array('posts_per_page', 'posts_per_archive_page', 'what_to_show', 'showposts', 'nopaging');
|
var $private_query_vars = array('posts_per_page', 'posts_per_archive_page', 'what_to_show', 'showposts', 'nopaging', 'show_post_type');
|
||||||
|
|
||||||
var $query_vars;
|
var $query_vars;
|
||||||
var $query_string;
|
var $query_string;
|
||||||
|
@ -208,12 +208,12 @@ function wp_insert_post($postarr = array()) {
|
|||||||
return $post_ID;
|
return $post_ID;
|
||||||
}
|
}
|
||||||
|
|
||||||
function wp_insert_attachment($object, $file, $post_parent = 0) {
|
function wp_insert_attachment($object, $file = false, $post_parent = 0) {
|
||||||
global $wpdb, $user_ID;
|
global $wpdb, $user_ID;
|
||||||
|
|
||||||
if ( is_object($object) )
|
if ( is_object($object) )
|
||||||
$object = get_object_vars($object);
|
$object = get_object_vars($object);
|
||||||
|
|
||||||
// Export array as variables
|
// Export array as variables
|
||||||
extract($object);
|
extract($object);
|
||||||
|
|
||||||
@ -320,7 +320,8 @@ function wp_insert_attachment($object, $file, $post_parent = 0) {
|
|||||||
|
|
||||||
wp_set_post_cats('', $post_ID, $post_category);
|
wp_set_post_cats('', $post_ID, $post_category);
|
||||||
|
|
||||||
add_post_meta($post_ID, '_wp_attached_file', $file);
|
if ( $file )
|
||||||
|
add_post_meta($post_ID, '_wp_attached_file', $file);
|
||||||
|
|
||||||
clean_post_cache($post_ID);
|
clean_post_cache($post_ID);
|
||||||
|
|
||||||
@ -343,7 +344,7 @@ function wp_delete_attachment($postid) {
|
|||||||
if ( 'attachment' != $post->post_status )
|
if ( 'attachment' != $post->post_status )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
$meta = get_post_meta($postid, 'imagedata', true);
|
$meta = get_post_meta($postid, '_wp_attachment_metadata', true);
|
||||||
$file = get_post_meta($postid, '_wp_attached_file', true);
|
$file = get_post_meta($postid, '_wp_attached_file', true);
|
||||||
|
|
||||||
$wpdb->query("DELETE FROM $wpdb->posts WHERE ID = $postid");
|
$wpdb->query("DELETE FROM $wpdb->posts WHERE ID = $postid");
|
||||||
@ -354,8 +355,11 @@ function wp_delete_attachment($postid) {
|
|||||||
|
|
||||||
$wpdb->query("DELETE FROM $wpdb->postmeta WHERE post_id = $postid");
|
$wpdb->query("DELETE FROM $wpdb->postmeta WHERE post_id = $postid");
|
||||||
|
|
||||||
if ( ! empty($meta['file']) )
|
if ( ! empty($meta['thumb']) ) {
|
||||||
@ unlink($meta['file']);
|
// Don't delete the thumb if another attachment uses it
|
||||||
|
if (! $foo = $wpdb->get_row("SELECT meta_id FROM $wpdb->postmeta WHERE meta_key = '_wp_attachment_metadata' AND meta_value LIKE '%".$wpdb->escape($meta['thumb'])."%' AND post_id <> $postid"))
|
||||||
|
@ unlink(str_replace(basename($file), $meta['thumb'], $file));
|
||||||
|
}
|
||||||
|
|
||||||
if ( ! empty($file) )
|
if ( ! empty($file) )
|
||||||
@ unlink($file);
|
@ unlink($file);
|
||||||
@ -429,6 +433,9 @@ function wp_update_post($postarr = array()) {
|
|||||||
$postarr['post_date_gmt'] = '';
|
$postarr['post_date_gmt'] = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($postarr['post_status'] == 'attachment')
|
||||||
|
return wp_insert_attachment($postarr);
|
||||||
|
|
||||||
return wp_insert_post($postarr);
|
return wp_insert_post($postarr);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -511,6 +518,9 @@ function wp_delete_post($postid = 0) {
|
|||||||
if ( !$post = $wpdb->get_row("SELECT * FROM $wpdb->posts WHERE ID = $postid") )
|
if ( !$post = $wpdb->get_row("SELECT * FROM $wpdb->posts WHERE ID = $postid") )
|
||||||
return $post;
|
return $post;
|
||||||
|
|
||||||
|
if ( 'attachment' == $post->post_status )
|
||||||
|
return wp_delete_attachment($postid);
|
||||||
|
|
||||||
do_action('delete_post', $postid);
|
do_action('delete_post', $postid);
|
||||||
|
|
||||||
if ( 'publish' == $post->post_status) {
|
if ( 'publish' == $post->post_status) {
|
||||||
|
@ -503,7 +503,7 @@ function update_post_meta($post_id, $key, $value, $prev_value = '') {
|
|||||||
|
|
||||||
$original_prev = $prev_value;
|
$original_prev = $prev_value;
|
||||||
if ( is_array($prev_value) || is_object($prev_value) )
|
if ( is_array($prev_value) || is_object($prev_value) )
|
||||||
$prev_value = serialize($value);
|
$prev_value = $wpdb->escape(serialize($prev_value));
|
||||||
|
|
||||||
if (! $wpdb->get_var("SELECT meta_key FROM $wpdb->postmeta WHERE meta_key
|
if (! $wpdb->get_var("SELECT meta_key FROM $wpdb->postmeta WHERE meta_key
|
||||||
= '$key' AND post_id = '$post_id'") ) {
|
= '$key' AND post_id = '$post_id'") ) {
|
||||||
|
@ -209,11 +209,16 @@ function edit_post_link($link = 'Edit This', $before = '', $after = '') {
|
|||||||
|
|
||||||
get_currentuserinfo();
|
get_currentuserinfo();
|
||||||
|
|
||||||
if ( !user_can_edit_post($user_ID, $post->ID) || is_attachment() ) {
|
if ( !user_can_edit_post($user_ID, $post->ID) ) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$location = get_settings('siteurl') . "/wp-admin/post.php?action=edit&post=$post->ID";
|
if ( is_attachment() )
|
||||||
|
$file = 'attachments';
|
||||||
|
else
|
||||||
|
$file = 'post';
|
||||||
|
|
||||||
|
$location = get_settings('siteurl') . "/wp-admin/{$file}.php?action=edit&post=$post->ID";
|
||||||
echo $before . "<a href=\"$location\">$link</a>" . $after;
|
echo $before . "<a href=\"$location\">$link</a>" . $after;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -439,22 +439,126 @@ function _page_level_out($parent, $page_tree, $args, $depth = 0, $echo = true) {
|
|||||||
return $output;
|
return $output;
|
||||||
}
|
}
|
||||||
|
|
||||||
function prepend_attachment($content) {
|
function the_attachment_link($id = 0, $fullsize = false, $max_dims = false) {
|
||||||
global $post;
|
echo get_the_attachment_link($id, $fullsize, $max_dims);
|
||||||
|
}
|
||||||
|
|
||||||
$p = '<p class="attachment">';
|
function get_the_attachment_link($id = 0, $fullsize = false, $max_dims = false) {
|
||||||
|
$id = (int) $id;
|
||||||
|
$_post = & get_post($id);
|
||||||
|
|
||||||
|
if ( ('attachment' != $_post->post_status) || ('' == $_post->guid) )
|
||||||
|
return __('Missing Attachment');
|
||||||
|
|
||||||
|
if (! empty($_post->guid) ) {
|
||||||
|
$innerHTML = get_attachment_innerHTML($_post->ID, $fullsize, $max_dims);
|
||||||
|
|
||||||
|
return "<a href=\"{$_post->guid}\" title=\"{$_post->post_title}\" >{$innerHTML}</a>";
|
||||||
|
|
||||||
if ( '' != $post->guid ) {
|
|
||||||
if ( substr($post->post_mime_type, 0, 6) == 'image/' )
|
|
||||||
$p .= '<a href="' . $post->guid . '" title="Click for full-size image" ><img class="attachmentimage" src="' . $post->guid . '" alt="' . $post->post_title . '" /></a>';
|
|
||||||
else
|
|
||||||
$p .= __('Attachment') . ' (' . $post->post_mime_type . ')';
|
|
||||||
} else {
|
} else {
|
||||||
$p .= __('Missing attachment');
|
$p .= __('Missing attachment');
|
||||||
}
|
}
|
||||||
|
return $p;
|
||||||
|
}
|
||||||
|
|
||||||
|
function get_attachment_icon($id = 0, $fullsize = false, $max_dims = false) {
|
||||||
|
$id = (int) $id;
|
||||||
|
$post = & get_post($id);
|
||||||
|
|
||||||
|
$mime = $post->post_mime_type;
|
||||||
|
|
||||||
|
$imagedata = get_post_meta($post->ID, '_wp_attachment_metadata', true);
|
||||||
|
|
||||||
|
$file = get_post_meta($post->ID, '_wp_attached_file', true);
|
||||||
|
|
||||||
|
if ( !$fullsize && !empty($imagedata['thumb'])
|
||||||
|
&& ($thumbfile = str_replace(basename($file), $imagedata['thumb'], $file))
|
||||||
|
&& file_exists($thumbfile) ) {
|
||||||
|
|
||||||
|
// We have a thumbnail desired, specified and existing
|
||||||
|
|
||||||
|
$src = str_replace(basename($post->guid), $imagedata['thumb'], $post->guid);
|
||||||
|
$src_file = $thumbfile;
|
||||||
|
$class = 'attachmentthumb';
|
||||||
|
|
||||||
|
} elseif ( substr($mime, 0, 6) == 'image/'
|
||||||
|
&& file_exists($file) ) {
|
||||||
|
|
||||||
|
// We have an image without a thumbnail
|
||||||
|
|
||||||
|
$src = $post->guid;
|
||||||
|
$src_file = & $file;
|
||||||
|
$class = 'attachmentimage';
|
||||||
|
} elseif (! empty($mime) ) {
|
||||||
|
|
||||||
|
// No thumb, no image. We'll look for a mime-related icon instead.
|
||||||
|
$icon_dir = apply_filters('icon_dir', get_template_directory().'/images');
|
||||||
|
$icon_dir_uri = apply_filters('icon_dir_uri', get_template_directory_uri().'/images');
|
||||||
|
|
||||||
|
$types = array(substr($mime, 0, strpos($mime, '/')), substr($mime, strpos($mime, '/') + 1), str_replace('/', '_', $mime));
|
||||||
|
$exts = array('jpg', 'gif', 'png');
|
||||||
|
foreach ($types as $type) {
|
||||||
|
foreach ($exts as $ext) {
|
||||||
|
$src_file = "$icon_dir/$type.$ext";
|
||||||
|
if ( file_exists($src_file) ) {
|
||||||
|
$src = "$icon_dir_uri/$type.$ext";
|
||||||
|
break 2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (! isset($src) )
|
||||||
|
return false;
|
||||||
|
|
||||||
|
// Do we need to constrain the image?
|
||||||
|
if ( ($max_dims = apply_filters('attachment_max_dims', $max_dims)) && file_exists($src_file) ) {
|
||||||
|
|
||||||
|
$imagesize = getimagesize($src_file);
|
||||||
|
|
||||||
|
if (($imagesize[0] > $max_dims[0]) || $imagesize[1] > $max_dims[1] ) {
|
||||||
|
$actual_aspect = $imagesize[0] / $imagesize[1];
|
||||||
|
$desired_aspect = $max_dims[0] / $max_dims[1];
|
||||||
|
|
||||||
|
if ( $actual_aspect >= $desired_aspect ) {
|
||||||
|
$height = $actual_aspect * $max_dims[0];
|
||||||
|
$constraint = "width=\"{$max_dims[0]}\" ";
|
||||||
|
$post->iconsize = array($max_dims[0], $height);
|
||||||
|
} else {
|
||||||
|
$width = $max_dims[1] / $actual_aspect;
|
||||||
|
$constraint = "height=\"{$max_dims[1]}\" ";
|
||||||
|
$post->iconsize = array($width, $max_dims[1]);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$post->iconsize = array($imagesize[0], $imagesize[1]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$icon = "<img src=\"{$src}\" title=\"{$post->post_title}\" {$constraint}/>";
|
||||||
|
|
||||||
|
return apply_filters('attachment_icon', $icon, $post->ID);
|
||||||
|
}
|
||||||
|
|
||||||
|
function get_attachment_innerHTML($id = 0, $fullsize = false, $max_dims = false) {
|
||||||
|
$id = (int) $id;
|
||||||
|
|
||||||
|
if ( $innerHTML = get_attachment_icon($id, $fullsize, $max_dims))
|
||||||
|
return $innerHTML;
|
||||||
|
|
||||||
|
$post = & get_post($id);
|
||||||
|
|
||||||
|
$innerHTML = $post->post_title;
|
||||||
|
|
||||||
|
return apply_filters('attachment_innerHTML', $innerHTML, $post->ID);
|
||||||
|
}
|
||||||
|
|
||||||
|
function prepend_attachment($content) {
|
||||||
|
$p = '<p class="attachment">';
|
||||||
|
$p .= get_the_attachment_link(false, true, array(400, 300));
|
||||||
$p .= '</p>';
|
$p .= '</p>';
|
||||||
|
$p = apply_filters('prepend_attachment', $p);
|
||||||
|
|
||||||
return "$p\n$content";
|
return "$p\n$content";
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
Loading…
Reference in New Issue
Block a user