diff options
author | donncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36> | 2006-02-23 15:10:33 +0000 |
---|---|---|
committer | donncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36> | 2006-02-23 15:10:33 +0000 |
commit | 7dc8f454bcab73f159bdaa292335b5fe7a489a2a (patch) | |
tree | 98f15fa3fcdb84a611c321e7842bb73ff6b84e7f /wp-inst | |
parent | 7abc9349efdb5eb465015d949be7c91d988eed51 (diff) | |
download | wordpress-mu-7dc8f454bcab73f159bdaa292335b5fe7a489a2a.tar.gz wordpress-mu-7dc8f454bcab73f159bdaa292335b5fe7a489a2a.tar.xz wordpress-mu-7dc8f454bcab73f159bdaa292335b5fe7a489a2a.zip |
WP Merge, missed these pages
git-svn-id: http://svn.automattic.com/wordpress-mu/trunk@534 7be80a69-a1ef-0310-a953-fb0f7c49ff36
Diffstat (limited to 'wp-inst')
-rw-r--r-- | wp-inst/wp-admin/comment.php | 213 | ||||
-rw-r--r-- | wp-inst/wp-admin/page.php | 146 | ||||
-rw-r--r-- | wp-inst/wp-admin/post-new.php | 90 | ||||
-rw-r--r-- | wp-inst/wp-includes/template-functions-links.php | 9 |
4 files changed, 455 insertions, 3 deletions
diff --git a/wp-inst/wp-admin/comment.php b/wp-inst/wp-admin/comment.php new file mode 100644 index 0000000..2a97d91 --- /dev/null +++ b/wp-inst/wp-admin/comment.php @@ -0,0 +1,213 @@ +<?php +require_once('admin.php'); + +$wpvarstoreset = array('action'); + +for ($i=0; $i<count($wpvarstoreset); $i += 1) { + $wpvar = $wpvarstoreset[$i]; + if (!isset($$wpvar)) { + if (empty($_POST["$wpvar"])) { + if (empty($_GET["$wpvar"])) { + $$wpvar = ''; + } else { + $$wpvar = $_GET["$wpvar"]; + } + } else { + $$wpvar = $_POST["$wpvar"]; + } + } +} + +switch($action) { +case 'editcomment': + $title = __('Edit Comment'); + $parent_file = 'edit.php'; + $submenu_file = 'edit-comments.php'; + $editing = true; + require_once ('admin-header.php'); + + get_currentuserinfo(); + + $comment = (int) $_GET['comment']; + + if ( ! $comment = get_comment($comment) ) + die(sprintf(__('Oops, no comment with this ID. <a href="%s">Go back</a>!'), 'javascript:history.go(-1)')); + + if ( !current_user_can('edit_post', $comment->comment_post_ID) ) + die( __('You are not allowed to edit comments on this post.') ); + + $comment = get_comment_to_edit($comment); + + include('edit-form-comment.php'); + + break; + +case 'confirmdeletecomment': + + require_once('./admin-header.php'); + + $comment = (int) $_GET['comment']; + $p = (int) $_GET['p']; + + if ( ! $comment = get_comment($comment) ) + die(sprintf(__('Oops, no comment with this ID. <a href="%s">Go back</a>!'), 'edit.php')); + + if ( !current_user_can('edit_post', $comment->comment_post_ID) ) + die( __('You are not allowed to delete comments on this post.') ); + + echo "<div class='wrap'>\n"; + if ( 'spam' == $_GET['delete_type'] ) + echo "<p>" . __('<strong>Caution:</strong> You are about to mark the following comment as spam:') . "</p>\n"; + else + echo "<p>" . __('<strong>Caution:</strong> You are about to delete the following comment:') . "</p>\n"; + echo "<table border='0'>\n"; + echo "<tr><td>" . __('Author:') . "</td><td>$comment->comment_author</td></tr>\n"; + echo "<tr><td>" . __('E-mail:') . "</td><td>$comment->comment_author_email</td></tr>\n"; + echo "<tr><td>". __('URL:') . "</td><td>$comment->comment_author_url</td></tr>\n"; + echo "<tr><td>". __('Comment:') . "</td><td>$comment->comment_content</td></tr>\n"; + echo "</table>\n"; + echo "<p>" . __('Are you sure you want to do that?') . "</p>\n"; + + echo "<form action='".get_settings('siteurl')."/wp-admin/comment.php' method='get'>\n"; + echo "<input type='hidden' name='action' value='deletecomment' />\n"; + if ( 'spam' == $_GET['delete_type'] ) + echo "<input type='hidden' name='delete_type' value='spam' />\n"; + echo "<input type='hidden' name='p' value='$p' />\n"; + echo "<input type='hidden' name='comment' value='{$comment->comment_ID}' />\n"; + echo "<input type='hidden' name='noredir' value='1' />\n"; + echo "<input type='submit' value='" . __('Yes') . "' />"; + echo " "; + echo "<input type='button' value='" . __('No') . "' onclick=\"self.location='". get_settings('siteurl') ."/wp-admin/edit.php?p=$p&c=1#comments';\" />\n"; + echo "</form>\n"; + echo "</div>\n"; + + break; + +case 'deletecomment': + + check_admin_referer(); + + $comment = (int) $_GET['comment']; + $p = (int) $_GET['p']; + if (isset($_GET['noredir'])) { + $noredir = true; + } else { + $noredir = false; + } + + $postdata = get_post($p) or die(sprintf(__('Oops, no post with this ID. <a href="%s">Go back</a>!'), 'edit.php')); + + if ( ! $comment = get_comment($comment) ) + die(sprintf(__('Oops, no comment with this ID. <a href="%s">Go back</a>!'), 'edit-comments.php')); + + if ( !current_user_can('edit_post', $comment->comment_post_ID) ) + die( __('You are not allowed to edit comments on this post.') ); + + if ( 'spam' == $_GET['delete_type'] ) + wp_set_comment_status($comment->comment_ID, 'spam'); + else + wp_delete_comment($comment->comment_ID); + + if (($_SERVER['HTTP_REFERER'] != "") && (false == $noredir)) { + header('Location: ' . $_SERVER['HTTP_REFERER']); + } else { + header('Location: '. get_settings('siteurl') .'/wp-admin/edit.php?p='.$p.'&c=1#comments'); + } + exit(); + break; + +case 'unapprovecomment': + + check_admin_referer(); + + $comment = (int) $_GET['comment']; + $p = (int) $_GET['p']; + if (isset($_GET['noredir'])) { + $noredir = true; + } else { + $noredir = false; + } + + if ( ! $comment = get_comment($comment) ) + die(sprintf(__('Oops, no comment with this ID. <a href="%s">Go back</a>!'), 'edit.php')); + + if ( !current_user_can('edit_post', $comment->comment_post_ID) ) + die( __('You are not allowed to edit comments on this post, so you cannot disapprove this comment.') ); + + wp_set_comment_status($comment->comment_ID, "hold"); + + if (($_SERVER['HTTP_REFERER'] != "") && (false == $noredir)) { + header('Location: ' . $_SERVER['HTTP_REFERER']); + } else { + header('Location: '. get_settings('siteurl') .'/wp-admin/edit.php?p='.$p.'&c=1#comments'); + } + exit(); + break; + +case 'mailapprovecomment': + + $comment = (int) $_GET['comment']; + + if ( ! $comment = get_comment($comment) ) + die(sprintf(__('Oops, no comment with this ID. <a href="%s">Go back</a>!'), 'edit.php')); + + if ( !current_user_can('edit_post', $comment->comment_post_ID) ) + die( __('You are not allowed to edit comments on this post, so you cannot approve this comment.') ); + + if ('1' != $comment->comment_approved) { + wp_set_comment_status($comment->comment_ID, 'approve'); + if (true == get_option('comments_notify')) + wp_notify_postauthor($comment->comment_ID); + } + + header('Location: ' . get_option('siteurl') . '/wp-admin/moderation.php?approved=1'); + exit(); + break; + +case 'approvecomment': + + $comment = (int) $_GET['comment']; + $p = (int) $_GET['p']; + if (isset($_GET['noredir'])) { + $noredir = true; + } else { + $noredir = false; + } + + if ( ! $comment = get_comment($comment) ) + die(sprintf(__('Oops, no comment with this ID. <a href="%s">Go back</a>!'), 'edit.php')); + + if ( !current_user_can('edit_post', $comment->comment_post_ID) ) + die( __('You are not allowed to edit comments on this post, so you cannot approve this comment.') ); + + wp_set_comment_status($comment->comment_ID, "approve"); + if (get_settings("comments_notify") == true) { + wp_notify_postauthor($comment->comment_ID); + } + + + if (($_SERVER['HTTP_REFERER'] != "") && (false == $noredir)) { + header('Location: ' . $_SERVER['HTTP_REFERER']); + } else { + header('Location: '. get_settings('siteurl') .'/wp-admin/edit.php?p='.$p.'&c=1#comments'); + } + exit(); + break; + +case 'editedcomment': + + edit_comment(); + + $referredby = $_POST['referredby']; + if (!empty($referredby)) { + header('Location: ' . $referredby); + } else { + header ("Location: edit.php?p=$comment_post_ID&c=1#comments"); + } + + break; +default: + break; +} // end switch +include('admin-footer.php'); +?>
\ No newline at end of file diff --git a/wp-inst/wp-admin/page.php b/wp-inst/wp-admin/page.php new file mode 100644 index 0000000..0a2184b --- /dev/null +++ b/wp-inst/wp-admin/page.php @@ -0,0 +1,146 @@ +<?php +require_once('admin.php'); + +$wpvarstoreset = array('action'); + +for ($i=0; $i<count($wpvarstoreset); $i += 1) { + $wpvar = $wpvarstoreset[$i]; + if (!isset($$wpvar)) { + if (empty($_POST["$wpvar"])) { + if (empty($_GET["$wpvar"])) { + $$wpvar = ''; + } else { + $$wpvar = $_GET["$wpvar"]; + } + } else { + $$wpvar = $_POST["$wpvar"]; + } + } +} + +if (isset($_POST['deletepost'])) { +$action = "delete"; +} + +switch($action) { +case 'post': + + $page_ID = write_post(); + + // Redirect. + if (!empty($_POST['mode'])) { + switch($_POST['mode']) { + case 'bookmarklet': + $location = $_POST['referredby']; + break; + case 'sidebar': + $location = 'sidebar.php?a=b'; + break; + default: + $location = 'page-new.php'; + break; + } + } else { + $location = 'page-new.php?posted=true'; + } + + if ( isset($_POST['save']) ) + $location = "page.php?action=edit&post=$page_ID"; + + header("Location: $location"); + exit(); + break; + +case 'edit': + $title = __('Edit'); + $parent_file = 'edit.php'; + $submenu_file = 'edit-pages.php'; + $editing = true; + require_once('admin-header.php'); + + $page_ID = $post_ID = $p = (int) $_GET['post']; + + if ( !current_user_can('edit_page', $page_ID) ) + die ( __('You are not allowed to edit this page.') ); + + $post = get_post_to_edit($page_ID); + + include('edit-page-form.php'); + ?> + <div id='preview' class='wrap'> + <h2 id="preview-post"><?php _e('Page Preview (updated when page is saved)'); ?> <small class="quickjump"><a href="#write-post"><?php _e('edit ↑'); ?></a></small></h2> + <iframe src="<?php echo add_query_arg('preview', 'true', get_permalink($post->ID)); ?>" width="100%" height="600" ></iframe> + </div> + <?php + break; + +case 'editattachment': + $page_id = $post_ID = (int) $_POST['post_ID']; + + // Don't let these be changed + unset($_POST['guid']); + $_POST['post_type'] = 'attachment'; + + // Update the thumbnail filename + $oldmeta = $newmeta = get_post_meta($page_id, '_wp_attachment_metadata', true); + $newmeta['thumb'] = $_POST['thumb']; + + if ( '' !== $oldmeta ) + update_post_meta($page_id, '_wp_attachment_metadata', $newmeta, $oldmeta); + else + add_post_meta($page_id, '_wp_attachment_metadata', $newmeta); + +case 'editpost': + $page_ID = edit_post(); + + if ($_POST['save']) { + $location = $_SERVER['HTTP_REFERER']; + } elseif ($_POST['updatemeta']) { + $location = $_SERVER['HTTP_REFERER'] . '&message=2#postcustom'; + } elseif ($_POST['deletemeta']) { + $location = $_SERVER['HTTP_REFERER'] . '&message=3#postcustom'; + } elseif (isset($_POST['referredby']) && $_POST['referredby'] != $_SERVER['HTTP_REFERER']) { + $location = $_POST['referredby']; + if ( $_POST['referredby'] == 'redo' ) + $location = get_permalink( $page_ID ); + } elseif ($action == 'editattachment') { + $location = 'attachments.php'; + } else { + $location = 'page-new.php'; + } + header ('Location: ' . $location); // Send user on their way while we keep working + + exit(); + break; + +case 'delete': + check_admin_referer(); + + $page_id = (isset($_GET['post'])) ? intval($_GET['post']) : intval($_POST['post_ID']); + + $page = & get_post($page_id); + + if ( !current_user_can('delete_page', $page_id) ) + die( __('You are not allowed to delete this page.') ); + + if ( $page->post_type == 'attachment' ) { + if ( ! wp_delete_attachment($page_id) ) + die( __('Error in deleting...') ); + } else { + if ( !wp_delete_post($page_id) ) + die( __('Error in deleting...') ); + } + + $sendback = $_SERVER['HTTP_REFERER']; + if (strstr($sendback, 'page.php')) $sendback = get_settings('siteurl') .'/wp-admin/page-new.php'; + elseif (strstr($sendback, 'attachments.php')) $sendback = get_settings('siteurl') .'/wp-admin/attachments.php'; + $sendback = preg_replace('|[^a-z0-9-~+_.?#=&;,/:]|i', '', $sendback); + header ('Location: ' . $sendback); + exit(); + break; + +default: + break; +} // end switch +include('admin-footer.php'); +?> diff --git a/wp-inst/wp-admin/post-new.php b/wp-inst/wp-admin/post-new.php new file mode 100644 index 0000000..b0dc1b6 --- /dev/null +++ b/wp-inst/wp-admin/post-new.php @@ -0,0 +1,90 @@ +<?php +require_once('admin.php'); +$title = __('Create New Post'); +$parent_file = 'post-new.php'; +$editing = true; +require_once ('./admin-header.php'); + +if ( ! current_user_can('edit_posts') ) { ?> +<div class="wrap"> +<p><?php printf(__('Since you’re a newcomer, you’ll have to wait for an admin to raise your level to 1, in order to be authorized to post.<br /> +You can also <a href="mailto:%s?subject=Promotion?">e-mail the admin</a> to ask for a promotion.<br /> +When you’re promoted, just reload this page and you’ll be able to blog. :)'), get_settings('admin_email')); ?> +</p> +</div> +<?php + include('admin-footer.php'); + exit(); +} + +if ( isset($_GET['posted']) ) : ?> +<div id="message" class="updated fade"><p><?php printf(__('Post saved. <a href="%s">View site »</a>'), get_bloginfo('home') . '/'); ?></p></div> +<?php +endif; + +if ( $drafts = get_users_drafts( $user_ID ) ) { ?> +<div class="wrap"> +<p><strong><?php _e('Your Drafts:') ?></strong> +<?php +// Show drafts. + $num_drafts = count($drafts); + if ( $num_drafts > 15 ) $num_drafts = 15; + for ( $i = 0; $i < $num_drafts; $i++ ) { + $draft = $drafts[$i]; + if ( 0 != $i ) + echo ', '; + if ( empty($draft->post_title) ) + $draft->post_title = sprintf(__('Post # %s'), $draft->ID); + echo "<a href='post.php?action=edit&post=$draft->ID' title='" . __('Edit this draft') . "'>$draft->post_title</a>"; + } + + if ( 15 < count($drafts) ) { ?> + , <a href="edit.php"><?php echo sprintf(__('and %s more'), (count($drafts) - 15) ); ?> »</a> + <?php } ?> +.</p> +</div> +<?php +} + +// Show post form. +$post = get_default_post_to_edit(); +include('edit-form-advanced.php'); +?> +<div class="wrap"> +<h3><?php _e('WordPress bookmarklet'); ?></h3> +<p><?php _e('Right click on the following link and choose "Add to favorites" to create a posting shortcut.'); ?></p> +<p> + +<?php +if ($is_NS4 || $is_gecko) { +?> +<a href="javascript:if(navigator.userAgent.indexOf('Safari') >= 0){Q=getSelection();}else{Q=document.selection?document.selection.createRange().text:document.getSelection();}location.href='<?php echo get_settings('siteurl') ?>/wp-admin/post.php?text='+encodeURIComponent(Q)+'&popupurl='+encodeURIComponent(location.href)+'&popuptitle='+encodeURIComponent(document.title);"><?php printf(__('Press It - %s'), wp_specialchars(get_settings('blogname'))); ?></a> +<?php +} else if ($is_winIE) { +?> +<a href="javascript:Q='';if(top.frames.length==0)Q=document.selection.createRange().text;location.href='<?php echo get_settings('siteurl') ?>/wp-admin/post.php?text='+encodeURIComponent(Q)+'&popupurl='+encodeURIComponent(location.href)+'&popuptitle='+encodeURIComponent(document.title);"><?php printf(__('Press it - %s'), get_settings('blogname')); ?></a> +<script type="text/javascript"> +<!-- +function oneclickbookmarklet(blah) { +window.open ("profile.php?action=IErightclick", "oneclickbookmarklet", "width=500, height=450, location=0, menubar=0, resizable=0, scrollbars=1, status=1, titlebar=0, toolbar=0, screenX=120, left=120, screenY=120, top=120"); +} +// --> +</script> +<br /> +<br /> +<?php _e('One-click bookmarklet:') ?><br /> +<a href="javascript:oneclickbookmarklet(0);"><?php _e('click here') ?></a> +<?php +} else if ($is_opera) { +?> +<a href="javascript:location.href='<?php echo get_settings('siteurl'); ?>/wp-admin/post.php?popupurl='+escape(location.href)+'&popuptitle='+escape(document.title);"><?php printf(__('Press it - %s'), get_settings('blogname')); ?></a> +<?php +} else if ($is_macIE) { +?> +<a href="javascript:Q='';location.href='<?php echo get_settings('siteurl'); ?>/wp-admin/bookmarklet.php?text='+escape(document.getSelection())+'&popupurl='+escape(location.href)+'&popuptitle='+escape(document.title);"><?php printf(__('Press it - %s'), get_settings('blogname')); ?></a> +<?php +} +?> +</p> +</div> +<?php include('admin-footer.php'); ?> diff --git a/wp-inst/wp-includes/template-functions-links.php b/wp-inst/wp-includes/template-functions-links.php index b273f66..5432c73 100644 --- a/wp-inst/wp-includes/template-functions-links.php +++ b/wp-inst/wp-includes/template-functions-links.php @@ -216,7 +216,6 @@ function edit_post_link($link = 'Edit This', $before = '', $after = '') { return; $file = 'page'; } else { - if ( ! current_user_can('edit_post', $post->ID) ) return; $file = 'post'; @@ -229,8 +228,12 @@ function edit_post_link($link = 'Edit This', $before = '', $after = '') { function edit_comment_link($link = 'Edit This', $before = '', $after = '') { global $post, $comment; - if ( ! current_user_can('edit_post', $post->ID) ) - return; + if( $post->post_type == 'page' ) + if ( ! current_user_can('edit_page', $post->ID) ) + return; + else + if ( ! current_user_can('edit_post', $post->ID) ) + return; $location = get_settings('siteurl') . "/wp-admin/comment.php?action=editcomment&comment=$comment->comment_ID"; echo $before . "<a href='$location'>$link</a>" . $after; |