Wordpress 2.5.1 wordpress-2.5.1
authorEdward Z. Yang <ezyang@mit.edu>
Sat, 21 Nov 2009 00:52:41 +0000 (19:52 -0500)
committerEdward Z. Yang <ezyang@mit.edu>
Sat, 21 Nov 2009 00:52:41 +0000 (19:52 -0500)
Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
576 files changed:
license.txt
readme.html
wp-admin/admin-ajax.php
wp-admin/admin-footer.php
wp-admin/admin-functions.php
wp-admin/admin-header.php
wp-admin/admin.php
wp-admin/async-upload.php [new file with mode: 0644]
wp-admin/bookmarklet.php
wp-admin/categories.php
wp-admin/comment.php
wp-admin/css/colors-classic-rtl.css [new file with mode: 0644]
wp-admin/css/colors-classic.css [new file with mode: 0644]
wp-admin/css/colors-fresh-rtl.css [new file with mode: 0644]
wp-admin/css/colors-fresh.css [new file with mode: 0644]
wp-admin/css/dashboard-rtl.css [new file with mode: 0644]
wp-admin/css/dashboard.css [new file with mode: 0644]
wp-admin/css/global.css [new file with mode: 0644]
wp-admin/css/ie-rtl.css [new file with mode: 0644]
wp-admin/css/ie.css [new file with mode: 0644]
wp-admin/css/install-rtl.css
wp-admin/css/install.css
wp-admin/css/login-rtl.css [new file with mode: 0644]
wp-admin/css/login.css [new file with mode: 0644]
wp-admin/css/media-rtl.css [new file with mode: 0644]
wp-admin/css/media.css [new file with mode: 0644]
wp-admin/css/theme-editor-rtl.css [new file with mode: 0644]
wp-admin/css/theme-editor.css [new file with mode: 0644]
wp-admin/css/upload.css [deleted file]
wp-admin/css/widgets-rtl.css
wp-admin/css/widgets.css
wp-admin/custom-header.php
wp-admin/edit-attachment-rows.php [new file with mode: 0644]
wp-admin/edit-category-form.php
wp-admin/edit-comments.php
wp-admin/edit-form-advanced.php
wp-admin/edit-form-comment.php
wp-admin/edit-form.php
wp-admin/edit-link-categories.php
wp-admin/edit-link-category-form.php
wp-admin/edit-link-form.php
wp-admin/edit-page-form.php
wp-admin/edit-pages.php
wp-admin/edit-post-rows.php
wp-admin/edit-tag-form.php [new file with mode: 0644]
wp-admin/edit-tags.php [new file with mode: 0644]
wp-admin/edit.php
wp-admin/export.php
wp-admin/images/align-center.png [new file with mode: 0644]
wp-admin/images/align-left.png [new file with mode: 0644]
wp-admin/images/align-none.png [new file with mode: 0644]
wp-admin/images/align-right.png [new file with mode: 0644]
wp-admin/images/box-bg-left.gif [deleted file]
wp-admin/images/box-bg-right.gif [deleted file]
wp-admin/images/box-bg.gif [deleted file]
wp-admin/images/box-butt-left.gif [deleted file]
wp-admin/images/box-butt-right.gif [deleted file]
wp-admin/images/box-butt.gif [deleted file]
wp-admin/images/box-head-left.gif [deleted file]
wp-admin/images/box-head-right.gif [deleted file]
wp-admin/images/box-head.gif [deleted file]
wp-admin/images/bubble_bg.gif [new file with mode: 0644]
wp-admin/images/comment-grey-bubble.png [new file with mode: 0644]
wp-admin/images/comment-pill.gif [new file with mode: 0644]
wp-admin/images/comment-stalk-classic.gif [new file with mode: 0644]
wp-admin/images/comment-stalk-fresh.gif [new file with mode: 0644]
wp-admin/images/comment-stalk-rtl.gif [new file with mode: 0644]
wp-admin/images/date-button.gif [new file with mode: 0644]
wp-admin/images/heading-bg.gif [deleted file]
wp-admin/images/login-bkg-bottom.gif [deleted file]
wp-admin/images/login-bkg-tile.gif [deleted file]
wp-admin/images/logo-ghost.png
wp-admin/images/logo-login.gif [new file with mode: 0644]
wp-admin/images/media-button-gallery.gif [new file with mode: 0644]
wp-admin/images/media-button-image.gif [new file with mode: 0644]
wp-admin/images/media-button-music.gif [new file with mode: 0644]
wp-admin/images/media-button-other.gif [new file with mode: 0644]
wp-admin/images/media-button-video.gif [new file with mode: 0644]
wp-admin/images/media-buttons.gif [new file with mode: 0644]
wp-admin/images/notice.gif [deleted file]
wp-admin/images/tail.gif [new file with mode: 0644]
wp-admin/images/toggle-arrow-rtl.gif [new file with mode: 0644]
wp-admin/images/toggle-arrow.gif [new file with mode: 0644]
wp-admin/images/toggle.gif [deleted file]
wp-admin/images/wordpress-logo.png
wp-admin/images/xit.gif [new file with mode: 0644]
wp-admin/import.php
wp-admin/import/blogger.php
wp-admin/import/blogware.php
wp-admin/import/btt.php
wp-admin/import/dotclear.php
wp-admin/import/greymatter.php
wp-admin/import/jkw.php
wp-admin/import/livejournal.php
wp-admin/import/mt.php
wp-admin/import/rss.php
wp-admin/import/stp.php
wp-admin/import/textpattern.php
wp-admin/import/utw.php
wp-admin/import/wordpress.php
wp-admin/import/wp-cat2tag.php
wp-admin/includes/admin.php
wp-admin/includes/bookmark.php
wp-admin/includes/class-ftp-pure.php [new file with mode: 0644]
wp-admin/includes/class-ftp-sockets.php [new file with mode: 0644]
wp-admin/includes/class-ftp.php [new file with mode: 0644]
wp-admin/includes/class-pclzip.php [new file with mode: 0644]
wp-admin/includes/class-wp-filesystem-direct.php [new file with mode: 0644]
wp-admin/includes/class-wp-filesystem-ftpext.php [new file with mode: 0644]
wp-admin/includes/class-wp-filesystem-ftpsockets.php [new file with mode: 0644]
wp-admin/includes/comment.php
wp-admin/includes/dashboard.php [new file with mode: 0644]
wp-admin/includes/export.php [new file with mode: 0644]
wp-admin/includes/file.php
wp-admin/includes/image.php
wp-admin/includes/import.php
wp-admin/includes/media.php [new file with mode: 0644]
wp-admin/includes/misc.php
wp-admin/includes/plugin.php
wp-admin/includes/post.php
wp-admin/includes/schema.php
wp-admin/includes/taxonomy.php
wp-admin/includes/template.php
wp-admin/includes/theme.php
wp-admin/includes/update.php
wp-admin/includes/upgrade.php
wp-admin/includes/upload.php [deleted file]
wp-admin/includes/user.php
wp-admin/includes/widgets.php [new file with mode: 0644]
wp-admin/index-extra.php
wp-admin/index.php
wp-admin/install-helper.php
wp-admin/install.php
wp-admin/js/cat.js
wp-admin/js/categories.js
wp-admin/js/comment.js [new file with mode: 0644]
wp-admin/js/common.js [new file with mode: 0644]
wp-admin/js/custom-fields.js
wp-admin/js/dbx-admin-key.js [deleted file]
wp-admin/js/edit-comments.js
wp-admin/js/editor.js [new file with mode: 0644]
wp-admin/js/forms.js [new file with mode: 0644]
wp-admin/js/link-cat.js [deleted file]
wp-admin/js/link.js [new file with mode: 0644]
wp-admin/js/media-upload.js [new file with mode: 0644]
wp-admin/js/page.js [new file with mode: 0644]
wp-admin/js/password-strength-meter.js [new file with mode: 0644]
wp-admin/js/post.js [new file with mode: 0644]
wp-admin/js/postbox.js [new file with mode: 0644]
wp-admin/js/slug.js [new file with mode: 0644]
wp-admin/js/tags.js [new file with mode: 0644]
wp-admin/js/upload.js
wp-admin/js/users.js
wp-admin/js/widgets.js [new file with mode: 0644]
wp-admin/link-add.php
wp-admin/link-category.php
wp-admin/link-import.php
wp-admin/link-manager.php
wp-admin/link.php
wp-admin/media-upload.php [new file with mode: 0644]
wp-admin/media.php [new file with mode: 0644]
wp-admin/menu-header.php
wp-admin/menu.php
wp-admin/moderation.php
wp-admin/options-discussion.php
wp-admin/options-general.php
wp-admin/options-head.php
wp-admin/options-misc.php
wp-admin/options-permalink.php
wp-admin/options-privacy.php
wp-admin/options-reading.php
wp-admin/options-writing.php
wp-admin/options.php
wp-admin/page-new.php
wp-admin/page.php
wp-admin/plugin-editor.php
wp-admin/plugins.php
wp-admin/post-new.php
wp-admin/post.php
wp-admin/profile-update.php [deleted file]
wp-admin/profile.php
wp-admin/rtl.css
wp-admin/setup-config.php
wp-admin/sidebar.php
wp-admin/templates.php [deleted file]
wp-admin/theme-editor.php
wp-admin/themes.php
wp-admin/update.php [new file with mode: 0644]
wp-admin/upgrade-functions.php
wp-admin/upgrade.php
wp-admin/upload.php
wp-admin/user-edit.php
wp-admin/users.php
wp-admin/widgets.php
wp-admin/wp-admin.css
wp-app.php
wp-blog-header.php
wp-comments-post.php
wp-config-sample.php
wp-content/plugins/akismet/akismet.php
wp-content/plugins/hello.php
wp-content/themes/classic/comments-popup.php
wp-content/themes/classic/comments.php
wp-content/themes/classic/header.php
wp-content/themes/classic/style.css
wp-content/themes/default/archive.php
wp-content/themes/default/comments-popup.php
wp-content/themes/default/comments.php
wp-content/themes/default/functions.php
wp-content/themes/default/header.php
wp-content/themes/default/image.php [moved from wp-content/themes/default/attachment.php with 58% similarity]
wp-content/themes/default/links.php
wp-content/themes/default/rtl.css
wp-content/themes/default/single.php
wp-content/themes/default/style.css
wp-includes/atomlib.php
wp-includes/author-template.php
wp-includes/bookmark-template.php
wp-includes/bookmark.php
wp-includes/cache.php
wp-includes/canonical.php
wp-includes/capabilities.php
wp-includes/category-template.php
wp-includes/category.php
wp-includes/class-IXR.php
wp-includes/class-phpass.php [new file with mode: 0644]
wp-includes/class-phpmailer.php
wp-includes/class-pop3.php
wp-includes/class-snoopy.php
wp-includes/classes.php
wp-includes/comment-template.php
wp-includes/comment.php
wp-includes/compat.php
wp-includes/default-filters.php
wp-includes/deprecated.php
wp-includes/feed-atom-comments.php
wp-includes/feed-atom.php
wp-includes/feed-rdf.php
wp-includes/feed-rss.php
wp-includes/feed-rss2-comments.php
wp-includes/feed-rss2.php
wp-includes/feed.php
wp-includes/formatting.php
wp-includes/functions.php
wp-includes/general-template.php
wp-includes/gettext.php
wp-includes/images/audio.png [new file with mode: 0644]
wp-includes/images/crystal/archive.png [new file with mode: 0644]
wp-includes/images/crystal/audio.png [new file with mode: 0644]
wp-includes/images/crystal/code.png [new file with mode: 0644]
wp-includes/images/crystal/default.png [new file with mode: 0644]
wp-includes/images/crystal/document.png [new file with mode: 0644]
wp-includes/images/crystal/interactive.png [new file with mode: 0644]
wp-includes/images/crystal/license.txt [new file with mode: 0644]
wp-includes/images/crystal/spreadsheet.png [new file with mode: 0644]
wp-includes/images/crystal/text.png [new file with mode: 0644]
wp-includes/images/crystal/video.png [new file with mode: 0644]
wp-includes/images/css.png [new file with mode: 0644]
wp-includes/images/default.png [new file with mode: 0644]
wp-includes/images/doc.png [new file with mode: 0644]
wp-includes/images/exe.png [new file with mode: 0644]
wp-includes/images/html.png [new file with mode: 0644]
wp-includes/images/js.png [new file with mode: 0644]
wp-includes/images/pdf.png [new file with mode: 0644]
wp-includes/images/swf.png [new file with mode: 0644]
wp-includes/images/tar.png [new file with mode: 0644]
wp-includes/images/text.png [new file with mode: 0644]
wp-includes/images/video.png [new file with mode: 0644]
wp-includes/images/wlw/WpComments.png [deleted file]
wp-includes/images/wlw/WpIcon.png [deleted file]
wp-includes/images/wlw/WpWatermark.png [deleted file]
wp-includes/images/zip.png [new file with mode: 0644]
wp-includes/js/autosave.js
wp-includes/js/colorpicker.js
wp-includes/js/dbx.js [deleted file]
wp-includes/js/fat.js [deleted file]
wp-includes/js/jquery/interface.js
wp-includes/js/jquery/jquery.color.js [new file with mode: 0644]
wp-includes/js/jquery/jquery.dimensions.min.js [new file with mode: 0644]
wp-includes/js/jquery/jquery.form.js
wp-includes/js/jquery/jquery.js
wp-includes/js/jquery/jquery.schedule.js [new file with mode: 0644]
wp-includes/js/jquery/suggest.js [new file with mode: 0644]
wp-includes/js/jquery/ui.tabs.js [new file with mode: 0644]
wp-includes/js/list-manipulation.js [deleted file]
wp-includes/js/prototype.js
wp-includes/js/quicktags.js
wp-includes/js/scriptaculous/MIT-LICENSE
wp-includes/js/scriptaculous/builder.js
wp-includes/js/scriptaculous/controls.js
wp-includes/js/scriptaculous/dragdrop.js
wp-includes/js/scriptaculous/effects.js
wp-includes/js/scriptaculous/prototype.js
wp-includes/js/scriptaculous/scriptaculous.js
wp-includes/js/scriptaculous/slider.js
wp-includes/js/scriptaculous/sound.js
wp-includes/js/scriptaculous/unittest.js
wp-includes/js/scriptaculous/wp-scriptaculous.js
wp-includes/js/swfupload/handlers.js [new file with mode: 0644]
wp-includes/js/swfupload/plugins/swfupload.cookies.js [new file with mode: 0644]
wp-includes/js/swfupload/plugins/swfupload.documentready.js [new file with mode: 0644]
wp-includes/js/swfupload/plugins/swfupload.graceful_degradation.js [new file with mode: 0644]
wp-includes/js/swfupload/plugins/swfupload.queue.js [new file with mode: 0644]
wp-includes/js/swfupload/swfupload.js [new file with mode: 0644]
wp-includes/js/swfupload/swfupload_f9.swf [new file with mode: 0644]
wp-includes/js/thickbox/loadingAnimation.gif [new file with mode: 0644]
wp-includes/js/thickbox/tb-close.png [new file with mode: 0644]
wp-includes/js/thickbox/thickbox.css [new file with mode: 0644]
wp-includes/js/thickbox/thickbox.js [new file with mode: 0644]
wp-includes/js/tinymce/blank.htm
wp-includes/js/tinymce/langs/en.js [deleted file]
wp-includes/js/tinymce/langs/wp-langs.php [new file with mode: 0644]
wp-includes/js/tinymce/plugins/autosave/editor_plugin.js
wp-includes/js/tinymce/plugins/autosave/editor_plugin_src.js [deleted file]
wp-includes/js/tinymce/plugins/autosave/langs/en.js [deleted file]
wp-includes/js/tinymce/plugins/directionality/editor_plugin.js
wp-includes/js/tinymce/plugins/directionality/images/ltr.gif [deleted file]
wp-includes/js/tinymce/plugins/directionality/images/rtl.gif [deleted file]
wp-includes/js/tinymce/plugins/directionality/langs/en.js [deleted file]
wp-includes/js/tinymce/plugins/fullscreen/editor_plugin.js [new file with mode: 0644]
wp-includes/js/tinymce/plugins/fullscreen/fullscreen.htm [new file with mode: 0644]
wp-includes/js/tinymce/plugins/inlinepopups/css/inlinepopup.css [deleted file]
wp-includes/js/tinymce/plugins/inlinepopups/editor_plugin.js
wp-includes/js/tinymce/plugins/inlinepopups/images/spacer.gif [deleted file]
wp-includes/js/tinymce/plugins/inlinepopups/images/window_close.gif [deleted file]
wp-includes/js/tinymce/plugins/inlinepopups/images/window_maximize.gif [deleted file]
wp-includes/js/tinymce/plugins/inlinepopups/images/window_minimize.gif [deleted file]
wp-includes/js/tinymce/plugins/inlinepopups/images/window_resize.gif [deleted file]
wp-includes/js/tinymce/plugins/inlinepopups/jscripts/mcwindows.js [deleted file]
wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif [new file with mode: 0644]
wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/button.gif [new file with mode: 0644]
wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif [new file with mode: 0644]
wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif [new file with mode: 0644]
wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif [new file with mode: 0644]
wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/drag.gif [new file with mode: 0644]
wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif [new file with mode: 0644]
wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif [new file with mode: 0644]
wp-includes/js/tinymce/plugins/inlinepopups/skins/clearlooks2/window.css [new file with mode: 0644]
wp-includes/js/tinymce/plugins/inlinepopups/template.htm [new file with mode: 0644]
wp-includes/js/tinymce/plugins/media/css/content.css [new file with mode: 0644]
wp-includes/js/tinymce/plugins/media/css/media.css [new file with mode: 0644]
wp-includes/js/tinymce/plugins/media/editor_plugin.js [new file with mode: 0644]
wp-includes/js/tinymce/plugins/media/img/flash.gif [new file with mode: 0644]
wp-includes/js/tinymce/plugins/media/img/flv_player.swf [new file with mode: 0644]
wp-includes/js/tinymce/plugins/media/img/quicktime.gif [new file with mode: 0644]
wp-includes/js/tinymce/plugins/media/img/realmedia.gif [new file with mode: 0644]
wp-includes/js/tinymce/plugins/media/img/shockwave.gif [new file with mode: 0644]
wp-includes/js/tinymce/plugins/media/img/trans.gif [moved from wp-includes/js/tinymce/themes/advanced/images/spacer.gif with 100% similarity]
wp-includes/js/tinymce/plugins/media/img/windowsmedia.gif [new file with mode: 0644]
wp-includes/js/tinymce/plugins/media/js/embed.js [new file with mode: 0644]
wp-includes/js/tinymce/plugins/media/js/media.js [new file with mode: 0644]
wp-includes/js/tinymce/plugins/media/media.htm [new file with mode: 0644]
wp-includes/js/tinymce/plugins/paste/blank.htm
wp-includes/js/tinymce/plugins/paste/css/blank.css
wp-includes/js/tinymce/plugins/paste/css/pasteword.css
wp-includes/js/tinymce/plugins/paste/editor_plugin.js
wp-includes/js/tinymce/plugins/paste/images/pastetext.gif [deleted file]
wp-includes/js/tinymce/plugins/paste/images/pasteword.gif [deleted file]
wp-includes/js/tinymce/plugins/paste/images/selectall.gif [deleted file]
wp-includes/js/tinymce/plugins/paste/js/pastetext.js [moved from wp-includes/js/tinymce/plugins/paste/jscripts/pastetext.js with 80% similarity]
wp-includes/js/tinymce/plugins/paste/js/pasteword.js [moved from wp-includes/js/tinymce/plugins/paste/jscripts/pasteword.js with 80% similarity]
wp-includes/js/tinymce/plugins/paste/langs/en.js [deleted file]
wp-includes/js/tinymce/plugins/paste/pastetext.htm
wp-includes/js/tinymce/plugins/paste/pasteword.htm
wp-includes/js/tinymce/plugins/safari/blank.htm [new file with mode: 0644]
wp-includes/js/tinymce/plugins/safari/editor_plugin.js [new file with mode: 0644]
wp-includes/js/tinymce/plugins/spellchecker/classes/GoogleSpell.php [new file with mode: 0644]
wp-includes/js/tinymce/plugins/spellchecker/classes/HttpClient.class.php [deleted file]
wp-includes/js/tinymce/plugins/spellchecker/classes/PSpell.php [new file with mode: 0644]
wp-includes/js/tinymce/plugins/spellchecker/classes/PSpellShell.php [new file with mode: 0644]
wp-includes/js/tinymce/plugins/spellchecker/classes/SpellChecker.php [new file with mode: 0644]
wp-includes/js/tinymce/plugins/spellchecker/classes/TinyGoogleSpell.class.php [deleted file]
wp-includes/js/tinymce/plugins/spellchecker/classes/TinyPspell.class.php [deleted file]
wp-includes/js/tinymce/plugins/spellchecker/classes/TinyPspellShell.class.php [deleted file]
wp-includes/js/tinymce/plugins/spellchecker/classes/utils/JSON.php [new file with mode: 0644]
wp-includes/js/tinymce/plugins/spellchecker/classes/utils/Logger.php [new file with mode: 0644]
wp-includes/js/tinymce/plugins/spellchecker/config.php [changed mode: 0755->0644]
wp-includes/js/tinymce/plugins/spellchecker/css/content.css [changed mode: 0755->0644]
wp-includes/js/tinymce/plugins/spellchecker/css/spellchecker.css [deleted file]
wp-includes/js/tinymce/plugins/spellchecker/editor_plugin.js [changed mode: 0755->0644]
wp-includes/js/tinymce/plugins/spellchecker/images/spellchecker.gif [deleted file]
wp-includes/js/tinymce/plugins/spellchecker/img/wline.gif [moved from wp-includes/js/tinymce/plugins/spellchecker/images/wline.gif with 100% similarity, mode: 0644]
wp-includes/js/tinymce/plugins/spellchecker/includes/general.php [new file with mode: 0644]
wp-includes/js/tinymce/plugins/spellchecker/langs/en.js [deleted file]
wp-includes/js/tinymce/plugins/spellchecker/rpc.php [new file with mode: 0644]
wp-includes/js/tinymce/plugins/spellchecker/tinyspell.php [deleted file]
wp-includes/js/tinymce/plugins/wordpress/css/content.css [new file with mode: 0644]
wp-includes/js/tinymce/plugins/wordpress/editor_plugin.js
wp-includes/js/tinymce/plugins/wordpress/img/help.gif [moved from wp-includes/js/tinymce/plugins/wordpress/images/help.gif with 100% similarity]
wp-includes/js/tinymce/plugins/wordpress/img/more.gif [moved from wp-includes/js/tinymce/plugins/wordpress/images/more.gif with 100% similarity]
wp-includes/js/tinymce/plugins/wordpress/img/more_bug.gif [moved from wp-includes/js/tinymce/plugins/wordpress/images/more_bug.gif with 100% similarity]
wp-includes/js/tinymce/plugins/wordpress/img/page.gif [moved from wp-includes/js/tinymce/plugins/wordpress/images/page.gif with 100% similarity]
wp-includes/js/tinymce/plugins/wordpress/img/page_bug.gif [moved from wp-includes/js/tinymce/plugins/wordpress/images/page_bug.gif with 100% similarity]
wp-includes/js/tinymce/plugins/wordpress/img/toolbars.gif [moved from wp-includes/js/tinymce/plugins/wordpress/images/toolbars.gif with 100% similarity, mode: 0644]
wp-includes/js/tinymce/plugins/wordpress/img/trans.gif [new file with mode: 0644]
wp-includes/js/tinymce/plugins/wordpress/js/.preserve-dir [new file with mode: 0644]
wp-includes/js/tinymce/plugins/wordpress/langs/en.js [deleted file]
wp-includes/js/tinymce/plugins/wordpress/wordpress.css [deleted file]
wp-includes/js/tinymce/plugins/wphelp/editor_plugin.js [deleted file]
wp-includes/js/tinymce/plugins/wphelp/images/help.gif [deleted file]
wp-includes/js/tinymce/plugins/wphelp/langs/en.js [deleted file]
wp-includes/js/tinymce/themes/advanced/about.htm
wp-includes/js/tinymce/themes/advanced/anchor.htm
wp-includes/js/tinymce/themes/advanced/charmap.htm
wp-includes/js/tinymce/themes/advanced/color_picker.htm
wp-includes/js/tinymce/themes/advanced/css/colorpicker.css [deleted file]
wp-includes/js/tinymce/themes/advanced/css/editor_content.css [deleted file]
wp-includes/js/tinymce/themes/advanced/css/editor_popup.css [deleted file]
wp-includes/js/tinymce/themes/advanced/css/editor_ui.css [deleted file]
wp-includes/js/tinymce/themes/advanced/editor_template.js
wp-includes/js/tinymce/themes/advanced/image.htm
wp-includes/js/tinymce/themes/advanced/images/anchor.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/backcolor.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/bold.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/bold_de_se.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/bold_es.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/bold_fr.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/bold_ru.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/bold_tw.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/browse.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/bullist.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/button_menu.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/buttons.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/cancel_button_bg.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/center.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/charmap.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/cleanup.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/close.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/code.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/color.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/copy.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/custom_1.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/cut.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/forecolor.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/full.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/help.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/hr.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/image.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/indent.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/insert_button_bg.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/italic.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/italic_de_se.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/italic_es.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/italic_ru.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/italic_tw.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/justifycenter.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/justifyfull.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/justifyleft.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/justifyright.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/left.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/link.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/menu_check.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/newdocument.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/numlist.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/opacity.png [deleted file]
wp-includes/js/tinymce/themes/advanced/images/outdent.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/paste.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/redo.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/removeformat.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/right.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/statusbar_resize.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/strikethrough.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/sub.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/sup.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/table.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/table_delete_col.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/table_delete_row.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/table_insert_col_after.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/table_insert_col_before.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/table_insert_row_after.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/table_insert_row_before.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/underline.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/underline_es.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/underline_fr.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/underline_ru.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/underline_tw.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/undo.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/unlink.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/visualaid.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/xp/tab_bg.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/xp/tab_end.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/xp/tab_sel_bg.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/xp/tab_sel_end.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/images/xp/tabs_bg.gif [deleted file]
wp-includes/js/tinymce/themes/advanced/img/colorpicker.jpg [moved from wp-includes/js/tinymce/themes/advanced/images/colors.jpg with 100% similarity]
wp-includes/js/tinymce/themes/advanced/img/fm.gif [new file with mode: 0644]
wp-includes/js/tinymce/themes/advanced/img/gotmoxie.png [new file with mode: 0644]
wp-includes/js/tinymce/themes/advanced/img/icons.gif [new file with mode: 0644]
wp-includes/js/tinymce/themes/advanced/img/sflogo.png [new file with mode: 0644]
wp-includes/js/tinymce/themes/advanced/js/about.js [new file with mode: 0644]
wp-includes/js/tinymce/themes/advanced/js/anchor.js [new file with mode: 0644]
wp-includes/js/tinymce/themes/advanced/js/charmap.js [moved from wp-includes/js/tinymce/themes/advanced/jscripts/charmap.js with 92% similarity]
wp-includes/js/tinymce/themes/advanced/js/color_picker.js [moved from wp-includes/js/tinymce/themes/advanced/jscripts/color_picker.js with 93% similarity]
wp-includes/js/tinymce/themes/advanced/js/image.js [new file with mode: 0644]
wp-includes/js/tinymce/themes/advanced/js/link.js [new file with mode: 0644]
wp-includes/js/tinymce/themes/advanced/js/source_editor.js [moved from wp-includes/js/tinymce/themes/advanced/jscripts/source_editor.js with 53% similarity]
wp-includes/js/tinymce/themes/advanced/jscripts/about.js [deleted file]
wp-includes/js/tinymce/themes/advanced/jscripts/anchor.js [deleted file]
wp-includes/js/tinymce/themes/advanced/jscripts/image.js [deleted file]
wp-includes/js/tinymce/themes/advanced/jscripts/link.js [deleted file]
wp-includes/js/tinymce/themes/advanced/langs/en.js [deleted file]
wp-includes/js/tinymce/themes/advanced/link.htm
wp-includes/js/tinymce/themes/advanced/skins/default/content.css [new file with mode: 0644]
wp-includes/js/tinymce/themes/advanced/skins/default/dialog.css [new file with mode: 0644]
wp-includes/js/tinymce/themes/advanced/skins/default/img/buttons.png [new file with mode: 0644]
wp-includes/js/tinymce/themes/advanced/skins/default/img/items.gif [moved from wp-includes/js/tinymce/themes/advanced/images/anchor_symbol.gif with 100% similarity]
wp-includes/js/tinymce/themes/advanced/skins/default/img/menu_arrow.gif [new file with mode: 0644]
wp-includes/js/tinymce/themes/advanced/skins/default/img/menu_check.gif [new file with mode: 0644]
wp-includes/js/tinymce/themes/advanced/skins/default/img/progress.gif [new file with mode: 0644]
wp-includes/js/tinymce/themes/advanced/skins/default/img/tabs.gif [new file with mode: 0644]
wp-includes/js/tinymce/themes/advanced/skins/default/ui.css [new file with mode: 0644]
wp-includes/js/tinymce/themes/advanced/skins/o2k7/content.css [new file with mode: 0644]
wp-includes/js/tinymce/themes/advanced/skins/o2k7/dialog.css [new file with mode: 0644]
wp-includes/js/tinymce/themes/advanced/skins/o2k7/img/button_bg.png [new file with mode: 0644]
wp-includes/js/tinymce/themes/advanced/skins/o2k7/img/button_bg_black.png [new file with mode: 0644]
wp-includes/js/tinymce/themes/advanced/skins/o2k7/img/button_bg_silver.png [new file with mode: 0644]
wp-includes/js/tinymce/themes/advanced/skins/o2k7/ui.css [new file with mode: 0644]
wp-includes/js/tinymce/themes/advanced/skins/o2k7/ui_black.css [new file with mode: 0644]
wp-includes/js/tinymce/themes/advanced/skins/o2k7/ui_silver.css [new file with mode: 0644]
wp-includes/js/tinymce/themes/advanced/skins/wp_theme/content.css [new file with mode: 0644]
wp-includes/js/tinymce/themes/advanced/skins/wp_theme/dialog.css [new file with mode: 0644]
wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/butt2.png [new file with mode: 0644]
wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/button_bg.png [new file with mode: 0644]
wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/down_arrow.gif [new file with mode: 0644]
wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/fade-butt.png [new file with mode: 0644]
wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/separator.gif [moved from wp-includes/js/tinymce/themes/advanced/images/separator.gif with 100% similarity]
wp-includes/js/tinymce/themes/advanced/skins/wp_theme/img/tabs.gif [new file with mode: 0644]
wp-includes/js/tinymce/themes/advanced/skins/wp_theme/ui.css [new file with mode: 0644]
wp-includes/js/tinymce/themes/advanced/source_editor.htm
wp-includes/js/tinymce/tiny_mce.js
wp-includes/js/tinymce/tiny_mce_config.php
wp-includes/js/tinymce/tiny_mce_ext.js [new file with mode: 0644]
wp-includes/js/tinymce/tiny_mce_gzip.php [deleted file]
wp-includes/js/tinymce/tiny_mce_popup.js
wp-includes/js/tinymce/utils/editable_selects.js
wp-includes/js/tinymce/utils/form_utils.js
wp-includes/js/tinymce/utils/mclayer.js
wp-includes/js/tinymce/utils/mctabs.js
wp-includes/js/tinymce/utils/validate.js
wp-includes/js/tinymce/wordpress.css [new file with mode: 0644]
wp-includes/js/tinymce/wp-mce-help.php
wp-includes/js/wp-ajax-response.js [new file with mode: 0644]
wp-includes/js/wp-lists.js [new file with mode: 0644]
wp-includes/kses.php
wp-includes/l10n.php
wp-includes/link-template.php
wp-includes/locale.php
wp-includes/media.php [new file with mode: 0644]
wp-includes/pluggable.php
wp-includes/plugin.php
wp-includes/post-template.php
wp-includes/post.php
wp-includes/query.php
wp-includes/registration-functions.php
wp-includes/registration.php
wp-includes/rewrite.php
wp-includes/rss-functions.php
wp-includes/rss.php
wp-includes/script-loader.php
wp-includes/shortcodes.php [new file with mode: 0644]
wp-includes/streams.php
wp-includes/taxonomy.php
wp-includes/template-loader.php
wp-includes/theme.php
wp-includes/update.php
wp-includes/user.php
wp-includes/vars.php
wp-includes/version.php
wp-includes/widgets.php
wp-includes/wp-db.php
wp-links-opml.php
wp-login.php
wp-mail.php
wp-settings.php
wp-trackback.php
xmlrpc.php

index 888220587e12015cf35eb05c5d54fd341d11d4cb..b5fcfa6e7a5343eec02d2d25805773efbdf65121 100644 (file)
-                   GNU GENERAL PUBLIC LICENSE
-                      Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-                          675 Mass Ave, Cambridge, MA 02139, USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                           Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users.  This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it.  (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.)  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
-  To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have.  You must make sure that they, too, receive or can get the
-source code.  And you must show them these terms so they know their
-rights.
-
-  We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
-  Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software.  If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
-  Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary.  To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                   GNU GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License.  The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language.  (Hereinafter, translation is included without limitation in
-the term "modification".)  Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
-  1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
-  2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) You must cause the modified files to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    b) You must cause any work that you distribute or publish, that in
-    whole or in part contains or is derived from the Program or any
-    part thereof, to be licensed as a whole at no charge to all third
-    parties under the terms of this License.
-
-    c) If the modified program normally reads commands interactively
-    when run, you must cause it, when started running for such
-    interactive use in the most ordinary way, to print or display an
-    announcement including an appropriate copyright notice and a
-    notice that there is no warranty (or else, saying that you provide
-    a warranty) and that users may redistribute the program under
-    these conditions, and telling the user how to view a copy of this
-    License.  (Exception: if the Program itself is interactive but
-    does not normally print such an announcement, your work based on
-    the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
-    a) Accompany it with the complete corresponding machine-readable
-    source code, which must be distributed under the terms of Sections
-    1 and 2 above on a medium customarily used for software interchange; or,
-
-    b) Accompany it with a written offer, valid for at least three
-    years, to give any third party, for a charge no more than your
-    cost of physically performing source distribution, a complete
-    machine-readable copy of the corresponding source code, to be
-    distributed under the terms of Sections 1 and 2 above on a medium
-    customarily used for software interchange; or,
-
-    c) Accompany it with the information you received as to the offer
-    to distribute corresponding source code.  (This alternative is
-    allowed only for noncommercial distribution and only if you
-    received the program in object code or executable form with such
-    an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it.  For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable.  However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License.  Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-  5. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Program or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
-  6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
-  7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-  8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded.  In such case, this License incorporates
-the limitation as if written in the body of this License.
-
-  9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation.  If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
-  10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission.  For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this.  Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
-                           NO WARRANTY
-
-  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
-  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
-                    END OF TERMS AND CONDITIONS
-
+                   GNU GENERAL PUBLIC LICENSE\r
+                      Version 2, June 1991\r
+\r
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.\r
+                          675 Mass Ave, Cambridge, MA 02139, USA\r
+ Everyone is permitted to copy and distribute verbatim copies\r
+ of this license document, but changing it is not allowed.\r
+\r
+                           Preamble\r
+\r
+  The licenses for most software are designed to take away your\r
+freedom to share and change it.  By contrast, the GNU General Public\r
+License is intended to guarantee your freedom to share and change free\r
+software--to make sure the software is free for all its users.  This\r
+General Public License applies to most of the Free Software\r
+Foundation's software and to any other program whose authors commit to\r
+using it.  (Some other Free Software Foundation software is covered by\r
+the GNU Library General Public License instead.)  You can apply it to\r
+your programs, too.\r
+\r
+  When we speak of free software, we are referring to freedom, not\r
+price.  Our General Public Licenses are designed to make sure that you\r
+have the freedom to distribute copies of free software (and charge for\r
+this service if you wish), that you receive source code or can get it\r
+if you want it, that you can change the software or use pieces of it\r
+in new free programs; and that you know you can do these things.\r
+\r
+  To protect your rights, we need to make restrictions that forbid\r
+anyone to deny you these rights or to ask you to surrender the rights.\r
+These restrictions translate to certain responsibilities for you if you\r
+distribute copies of the software, or if you modify it.\r
+\r
+  For example, if you distribute copies of such a program, whether\r
+gratis or for a fee, you must give the recipients all the rights that\r
+you have.  You must make sure that they, too, receive or can get the\r
+source code.  And you must show them these terms so they know their\r
+rights.\r
+\r
+  We protect your rights with two steps: (1) copyright the software, and\r
+(2) offer you this license which gives you legal permission to copy,\r
+distribute and/or modify the software.\r
+\r
+  Also, for each author's protection and ours, we want to make certain\r
+that everyone understands that there is no warranty for this free\r
+software.  If the software is modified by someone else and passed on, we\r
+want its recipients to know that what they have is not the original, so\r
+that any problems introduced by others will not reflect on the original\r
+authors' reputations.\r
+\r
+  Finally, any free program is threatened constantly by software\r
+patents.  We wish to avoid the danger that redistributors of a free\r
+program will individually obtain patent licenses, in effect making the\r
+program proprietary.  To prevent this, we have made it clear that any\r
+patent must be licensed for everyone's free use or not licensed at all.\r
+\r
+  The precise terms and conditions for copying, distribution and\r
+modification follow.\r
+\r
+                   GNU GENERAL PUBLIC LICENSE\r
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\r
+\r
+  0. This License applies to any program or other work which contains\r
+a notice placed by the copyright holder saying it may be distributed\r
+under the terms of this General Public License.  The "Program", below,\r
+refers to any such program or work, and a "work based on the Program"\r
+means either the Program or any derivative work under copyright law:\r
+that is to say, a work containing the Program or a portion of it,\r
+either verbatim or with modifications and/or translated into another\r
+language.  (Hereinafter, translation is included without limitation in\r
+the term "modification".)  Each licensee is addressed as "you".\r
+\r
+Activities other than copying, distribution and modification are not\r
+covered by this License; they are outside its scope.  The act of\r
+running the Program is not restricted, and the output from the Program\r
+is covered only if its contents constitute a work based on the\r
+Program (independent of having been made by running the Program).\r
+Whether that is true depends on what the Program does.\r
+\r
+  1. You may copy and distribute verbatim copies of the Program's\r
+source code as you receive it, in any medium, provided that you\r
+conspicuously and appropriately publish on each copy an appropriate\r
+copyright notice and disclaimer of warranty; keep intact all the\r
+notices that refer to this License and to the absence of any warranty;\r
+and give any other recipients of the Program a copy of this License\r
+along with the Program.\r
+\r
+You may charge a fee for the physical act of transferring a copy, and\r
+you may at your option offer warranty protection in exchange for a fee.\r
+\r
+  2. You may modify your copy or copies of the Program or any portion\r
+of it, thus forming a work based on the Program, and copy and\r
+distribute such modifications or work under the terms of Section 1\r
+above, provided that you also meet all of these conditions:\r
+\r
+    a) You must cause the modified files to carry prominent notices\r
+    stating that you changed the files and the date of any change.\r
+\r
+    b) You must cause any work that you distribute or publish, that in\r
+    whole or in part contains or is derived from the Program or any\r
+    part thereof, to be licensed as a whole at no charge to all third\r
+    parties under the terms of this License.\r
+\r
+    c) If the modified program normally reads commands interactively\r
+    when run, you must cause it, when started running for such\r
+    interactive use in the most ordinary way, to print or display an\r
+    announcement including an appropriate copyright notice and a\r
+    notice that there is no warranty (or else, saying that you provide\r
+    a warranty) and that users may redistribute the program under\r
+    these conditions, and telling the user how to view a copy of this\r
+    License.  (Exception: if the Program itself is interactive but\r
+    does not normally print such an announcement, your work based on\r
+    the Program is not required to print an announcement.)\r
+\r
+These requirements apply to the modified work as a whole.  If\r
+identifiable sections of that work are not derived from the Program,\r
+and can be reasonably considered independent and separate works in\r
+themselves, then this License, and its terms, do not apply to those\r
+sections when you distribute them as separate works.  But when you\r
+distribute the same sections as part of a whole which is a work based\r
+on the Program, the distribution of the whole must be on the terms of\r
+this License, whose permissions for other licensees extend to the\r
+entire whole, and thus to each and every part regardless of who wrote it.\r
+Thus, it is not the intent of this section to claim rights or contest\r
+your rights to work written entirely by you; rather, the intent is to\r
+exercise the right to control the distribution of derivative or\r
+collective works based on the Program.\r
+\r
+In addition, mere aggregation of another work not based on the Program\r
+with the Program (or with a work based on the Program) on a volume of\r
+a storage or distribution medium does not bring the other work under\r
+the scope of this License.\r
+\r
+  3. You may copy and distribute the Program (or a work based on it,\r
+under Section 2) in object code or executable form under the terms of\r
+Sections 1 and 2 above provided that you also do one of the following:\r
+\r
+    a) Accompany it with the complete corresponding machine-readable\r
+    source code, which must be distributed under the terms of Sections\r
+    1 and 2 above on a medium customarily used for software interchange; or,\r
+\r
+    b) Accompany it with a written offer, valid for at least three\r
+    years, to give any third party, for a charge no more than your\r
+    cost of physically performing source distribution, a complete\r
+    machine-readable copy of the corresponding source code, to be\r
+    distributed under the terms of Sections 1 and 2 above on a medium\r
+    customarily used for software interchange; or,\r
+\r
+    c) Accompany it with the information you received as to the offer\r
+    to distribute corresponding source code.  (This alternative is\r
+    allowed only for noncommercial distribution and only if you\r
+    received the program in object code or executable form with such\r
+    an offer, in accord with Subsection b above.)\r
+\r
+The source code for a work means the preferred form of the work for\r
+making modifications to it.  For an executable work, complete source\r
+code means all the source code for all modules it contains, plus any\r
+associated interface definition files, plus the scripts used to\r
+control compilation and installation of the executable.  However, as a\r
+special exception, the source code distributed need not include\r
+anything that is normally distributed (in either source or binary\r
+form) with the major components (compiler, kernel, and so on) of the\r
+operating system on which the executable runs, unless that component\r
+itself accompanies the executable.\r
+\r
+If distribution of executable or object code is made by offering\r
+access to copy from a designated place, then offering equivalent\r
+access to copy the source code from the same place counts as\r
+distribution of the source code, even though third parties are not\r
+compelled to copy the source along with the object code.\r
+\r
+  4. You may not copy, modify, sublicense, or distribute the Program\r
+except as expressly provided under this License.  Any attempt\r
+otherwise to copy, modify, sublicense or distribute the Program is\r
+void, and will automatically terminate your rights under this License.\r
+However, parties who have received copies, or rights, from you under\r
+this License will not have their licenses terminated so long as such\r
+parties remain in full compliance.\r
+\r
+  5. You are not required to accept this License, since you have not\r
+signed it.  However, nothing else grants you permission to modify or\r
+distribute the Program or its derivative works.  These actions are\r
+prohibited by law if you do not accept this License.  Therefore, by\r
+modifying or distributing the Program (or any work based on the\r
+Program), you indicate your acceptance of this License to do so, and\r
+all its terms and conditions for copying, distributing or modifying\r
+the Program or works based on it.\r
+\r
+  6. Each time you redistribute the Program (or any work based on the\r
+Program), the recipient automatically receives a license from the\r
+original licensor to copy, distribute or modify the Program subject to\r
+these terms and conditions.  You may not impose any further\r
+restrictions on the recipients' exercise of the rights granted herein.\r
+You are not responsible for enforcing compliance by third parties to\r
+this License.\r
+\r
+  7. If, as a consequence of a court judgment or allegation of patent\r
+infringement or for any other reason (not limited to patent issues),\r
+conditions are imposed on you (whether by court order, agreement or\r
+otherwise) that contradict the conditions of this License, they do not\r
+excuse you from the conditions of this License.  If you cannot\r
+distribute so as to satisfy simultaneously your obligations under this\r
+License and any other pertinent obligations, then as a consequence you\r
+may not distribute the Program at all.  For example, if a patent\r
+license would not permit royalty-free redistribution of the Program by\r
+all those who receive copies directly or indirectly through you, then\r
+the only way you could satisfy both it and this License would be to\r
+refrain entirely from distribution of the Program.\r
+\r
+If any portion of this section is held invalid or unenforceable under\r
+any particular circumstance, the balance of the section is intended to\r
+apply and the section as a whole is intended to apply in other\r
+circumstances.\r
+\r
+It is not the purpose of this section to induce you to infringe any\r
+patents or other property right claims or to contest validity of any\r
+such claims; this section has the sole purpose of protecting the\r
+integrity of the free software distribution system, which is\r
+implemented by public license practices.  Many people have made\r
+generous contributions to the wide range of software distributed\r
+through that system in reliance on consistent application of that\r
+system; it is up to the author/donor to decide if he or she is willing\r
+to distribute software through any other system and a licensee cannot\r
+impose that choice.\r
+\r
+This section is intended to make thoroughly clear what is believed to\r
+be a consequence of the rest of this License.\r
+\r
+  8. If the distribution and/or use of the Program is restricted in\r
+certain countries either by patents or by copyrighted interfaces, the\r
+original copyright holder who places the Program under this License\r
+may add an explicit geographical distribution limitation excluding\r
+those countries, so that distribution is permitted only in or among\r
+countries not thus excluded.  In such case, this License incorporates\r
+the limitation as if written in the body of this License.\r
+\r
+  9. The Free Software Foundation may publish revised and/or new versions\r
+of the General Public License from time to time.  Such new versions will\r
+be similar in spirit to the present version, but may differ in detail to\r
+address new problems or concerns.\r
+\r
+Each version is given a distinguishing version number.  If the Program\r
+specifies a version number of this License which applies to it and "any\r
+later version", you have the option of following the terms and conditions\r
+either of that version or of any later version published by the Free\r
+Software Foundation.  If the Program does not specify a version number of\r
+this License, you may choose any version ever published by the Free Software\r
+Foundation.\r
+\r
+  10. If you wish to incorporate parts of the Program into other free\r
+programs whose distribution conditions are different, write to the author\r
+to ask for permission.  For software which is copyrighted by the Free\r
+Software Foundation, write to the Free Software Foundation; we sometimes\r
+make exceptions for this.  Our decision will be guided by the two goals\r
+of preserving the free status of all derivatives of our free software and\r
+of promoting the sharing and reuse of software generally.\r
+\r
+                           NO WARRANTY\r
+\r
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY\r
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN\r
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES\r
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED\r
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\r
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS\r
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE\r
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,\r
+REPAIR OR CORRECTION.\r
+\r
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\r
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR\r
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,\r
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING\r
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED\r
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY\r
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER\r
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE\r
+POSSIBILITY OF SUCH DAMAGES.\r
+\r
+                    END OF TERMS AND CONDITIONS\r
+\r
index 636def83e297f4de24839d8b017efe4eb5befb67..a60861c5fa26171f6d4e0ff64419ba56129254b9 100644 (file)
@@ -1,14 +1,14 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
-       <title>WordPress &rsaquo; ReadMe</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+       <title>WordPress &rsaquo; ReadMe</title>
        <link rel="stylesheet" href="wp-admin/css/install.css" type="text/css" />
 </head>
 <body>
 <h1 id="logo" style="text-align: center">
        <img alt="WordPress" src="wp-admin/images/wordpress-logo.png" />
-       <br /> Version 2.3
+       <br /> Version 2.5
 </h1>
 <p style="text-align: center">Semantic Personal Publishing Platform</p>
 
@@ -29,7 +29,7 @@
 
 <h1>Upgrading</h1>
 <p>Before you upgrade anything, make sure you have backup copies of any files you may have modified such as <code>index.php</code>.</p>
-<h2>Upgrading from any previous WordPress to 2.3:</h2>
+<h2>Upgrading from any previous WordPress to 2.5:</h2>
 <ol>
        <li>Delete your old WP files, saving ones you've modified.</li>
        <li>Upload the new files.</li>
@@ -56,7 +56,7 @@
 
 <h1>System Recommendations</h1>
 <ul>
-       <li>PHP version <strong>4.2</strong> or higher.</li>
+       <li>PHP version <strong>4.3</strong> or higher.</li>
        <li>MySQL version <strong>4.0</strong> or higher.</li>
        <li>... and a link to <a href="http://wordpress.org/">http://wordpress.org</a> on your site.</li>
 </ul>
@@ -70,7 +70,7 @@
 
 <h1>Post via Email</h1>
 <p>You can post from an email client! To set this up go to your &quot;Writing&quot; options screen and fill in the connection details for your secret POP3 account. Then you need to set up <code>wp-mail.php</code> to execute periodically to check the mailbox for new posts. You can do it with Cron-jobs, or if your host doesn't support it you can look into the various website-monitoring services, and make them check your <code>wp-mail.php</code> URL.</p>
-<p>Posting is easy: Any email sent to the address you specify will be posted, with the subject as the title. It is best to keep the address dicrete. The script will <i>delete</i> emails that are successfully posted.</p>
+<p>Posting is easy: Any email sent to the address you specify will be posted, with the subject as the title. It is best to keep the address discrete. The script will <em>delete</em> emails that are successfully posted.</p>
 
 <h1>User Roles</h1>
 <p>We've eliminated user levels in order to make way for the much more flexible roles system introduced in 2.0. You can <a href="http://codex.wordpress.org/Roles_and_Capabilities">read more about Roles and Capabilities on the Codex</a>.</p>
index 013e37502c29d99a709879bac284aa787b04d419..4e34333ca74d2d36c9a840a2776eb3310145009a 100644 (file)
@@ -1,61 +1,91 @@
 <?php
+define('DOING_AJAX', true);
+
 require_once('../wp-config.php');
 require_once('includes/admin.php');
 
-define('DOING_AJAX', true);
-
-check_ajax_referer();
 if ( !is_user_logged_in() )
        die('-1');
 
-function get_out_now() { exit; }
-add_action( 'shutdown', 'get_out_now', -1 );
-
-function wp_ajax_meta_row( $pid, $mid, $key, $value ) {
-       $value = attribute_escape($value);
-       $key_js = addslashes(wp_specialchars($key, 'double'));
-       $key = attribute_escape($key);
-       $r .= "<tr id='meta-$mid'><td valign='top'>";
-       $r .= "<input name='meta[$mid][key]' tabindex='6' onkeypress='return killSubmit(\"theList.ajaxUpdater(&#039;meta&#039;,&#039;meta-$mid&#039;);\",event);' type='text' size='20' value='$key' />";
-       $r .= "</td><td><textarea name='meta[$mid][value]' tabindex='6' rows='2' cols='30'>$value</textarea></td><td align='center'>";
-       $r .= "<input name='updatemeta' type='button' class='updatemeta' tabindex='6' value='".attribute_escape(__('Update'))."' onclick='return theList.ajaxUpdater(&#039;meta&#039;,&#039;meta-$mid&#039;);' /><br />";
-       $r .= "<input name='deletemeta[$mid]' type='submit' onclick=\"return deleteSomething( 'meta', $mid, '";
-       $r .= js_escape(sprintf(__("You are about to delete the '%s' custom field on this post.\n'OK' to delete, 'Cancel' to stop."), $key_js));
-       $r .= "' );\" class='deletemeta' tabindex='6' value='".attribute_escape(__('Delete'))."' /></td></tr>";
-       return $r;
+if ( isset($_GET['action']) && 'ajax-tag-search' == $_GET['action'] ) {
+       if ( !current_user_can( 'manage_categories' ) )
+               die('-1');
+
+       $s = $_GET['q']; // is this slashed already?
+
+       if ( strstr( $s, ',' ) )
+               die; // it's a multiple tag insert, we won't find anything
+       $results = $wpdb->get_col( "SELECT name FROM $wpdb->terms WHERE name LIKE ('%$s%')" );
+       echo join( $results, "\n" );
+       die;
 }
 
-$id = (int) $_POST['id'];
-switch ( $_POST['action'] ) :
+$id = isset($_POST['id'])? (int) $_POST['id'] : 0;
+switch ( $action = $_POST['action'] ) :
 case 'delete-comment' :
+       check_ajax_referer( "delete-comment_$id" );
        if ( !$comment = get_comment( $id ) )
                die('0');
        if ( !current_user_can( 'edit_post', $comment->comment_post_ID ) )
                die('-1');
 
-       if ( wp_delete_comment( $comment->comment_ID ) )
-               die('1');
-       else    die('0');
+       if ( isset($_POST['spam']) && 1 == $_POST['spam'] )
+               $r = wp_set_comment_status( $comment->comment_ID, 'spam' );
+       else
+               $r = wp_delete_comment( $comment->comment_ID );
+
+       die( $r ? '1' : '0' );
        break;
-case 'delete-comment-as-spam' :
-       if ( !$comment = get_comment( $id ) )
-               die('0');
-       if ( !current_user_can( 'edit_post', $comment->comment_post_ID ) )
+case 'delete-cat' :
+       check_ajax_referer( "delete-category_$id" );
+       if ( !current_user_can( 'manage_categories' ) )
                die('-1');
 
-       if ( wp_set_comment_status( $comment->comment_ID, 'spam' ) )
+       if ( wp_delete_category( $id ) )
                die('1');
        else    die('0');
        break;
-case 'delete-cat' :
+case 'delete-tag' :
+       check_ajax_referer( "delete-tag_$id" );
        if ( !current_user_can( 'manage_categories' ) )
                die('-1');
 
-       if ( wp_delete_category( $id ) )
+       if ( wp_delete_term($id, 'post_tag'))
                die('1');
        else    die('0');
        break;
+case 'delete-link-cat' :
+       check_ajax_referer( "delete-link-category_$id" );
+       if ( !current_user_can( 'manage_categories' ) )
+               die('-1');
+
+       $cat_name = get_term_field('name', $id, 'link_category');
+
+       // Don't delete the default cats.
+       if ( $id == get_option('default_link_category') ) {
+               $x = new WP_AJAX_Response( array(
+                       'what' => 'link-cat',
+                       'id' => $id,
+                       'data' => new WP_Error( 'default-link-cat', sprintf(__("Can&#8217;t delete the <strong>%s</strong> category: this is the default one"), $cat_name) )
+               ) );
+               $x->send();
+       }
+
+       $r = wp_delete_term($id, 'link_category');
+       if ( !$r )
+               die('0');
+       if ( is_wp_error($r) ) {
+               $x = new WP_AJAX_Response( array(
+                       'what' => 'link-cat',
+                       'id' => $id,
+                       'data' => $r
+               ) );
+               $x->send();
+       }
+       die('1');
+       break;
 case 'delete-link' :
+       check_ajax_referer( "delete-bookmark_$id" );
        if ( !current_user_can( 'manage_links' ) )
                die('-1');
 
@@ -64,6 +94,7 @@ case 'delete-link' :
        else    die('0');
        break;
 case 'delete-meta' :
+       check_ajax_referer( "delete-meta_$id" );
        if ( !$meta = get_post_meta_by_id( $id ) )
                die('0');
        if ( !current_user_can( 'edit_post', $meta->post_id ) )
@@ -73,14 +104,17 @@ case 'delete-meta' :
        die('0');
        break;
 case 'delete-post' :
+       check_ajax_referer( "{$action}_$id" );
        if ( !current_user_can( 'delete_post', $id ) )
                die('-1');
 
        if ( wp_delete_post( $id ) )
                die('1');
-       else    die('0');
+       else
+               die('0');
        break;
 case 'delete-page' :
+       check_ajax_referer( "{$action}_$id" );
        if ( !current_user_can( 'delete_page', $id ) )
                die('-1');
 
@@ -97,88 +131,223 @@ case 'dim-comment' :
                die('-1');
 
        if ( 'unapproved' == wp_get_comment_status($comment->comment_ID) ) {
+               check_ajax_referer( "approve-comment_$id" );
                if ( wp_set_comment_status( $comment->comment_ID, 'approve' ) )
                        die('1');
        } else {
+               check_ajax_referer( "unapprove-comment_$id" );
                if ( wp_set_comment_status( $comment->comment_ID, 'hold' ) )
                        die('1');
        }
        die('0');
        break;
 case 'add-category' : // On the Fly
+       check_ajax_referer( $action );
        if ( !current_user_can( 'manage_categories' ) )
                die('-1');
        $names = explode(',', $_POST['newcat']);
+       if ( 0 > $parent = (int) $_POST['newcat_parent'] )
+               $parent = 0;
+       $post_category = isset($_POST['post_category'])? (array) $_POST['post_category'] : array();
+       $checked_categories = array_map( 'absint', (array) $post_category );
+
        $x = new WP_Ajax_Response();
        foreach ( $names as $cat_name ) {
                $cat_name = trim($cat_name);
-               if ( !$category_nicename = sanitize_title($cat_name) )
-                       die('0');
-               if ( !$cat_id = category_exists( $cat_name ) )
-                       $cat_id = wp_create_category( $cat_name );
-               $cat_name = wp_specialchars(stripslashes($cat_name));
+               $category_nicename = sanitize_title($cat_name);
+               if ( '' === $category_nicename )
+                       continue;
+               $cat_id = wp_create_category( $cat_name, $parent );
+               $checked_categories[] = $cat_id;
+               if ( $parent ) // Do these all at once in a second
+                       continue;
+               $category = get_category( $cat_id );
+               ob_start();
+                       wp_category_checklist( 0, $cat_id, $checked_categories );
+               $data = ob_get_contents();
+               ob_end_clean();
                $x->add( array(
                        'what' => 'category',
                        'id' => $cat_id,
-                       'data' => "<li id='category-$cat_id'><label for='in-category-$cat_id' class='selectit'><input value='$cat_id' type='checkbox' checked='checked' name='post_category[]' id='in-category-$cat_id'/> $cat_name</label></li>"
+                       'data' => $data,
+                       'position' => -1
                ) );
        }
+       if ( $parent ) { // Foncy - replace the parent and all its children
+               $parent = get_category( $parent );
+               ob_start();
+                       dropdown_categories( 0, $parent );
+               $data = ob_get_contents();
+               ob_end_clean();
+               $x->add( array(
+                       'what' => 'category',
+                       'id' => $parent->term_id,
+                       'old_id' => $parent->term_id,
+                       'data' => $data,
+                       'position' => -1
+               ) );
+
+       }
        $x->send();
        break;
 case 'add-link-category' : // On the Fly
+       check_ajax_referer( $action );
        if ( !current_user_can( 'manage_categories' ) )
                die('-1');
        $names = explode(',', $_POST['newcat']);
        $x = new WP_Ajax_Response();
        foreach ( $names as $cat_name ) {
                $cat_name = trim($cat_name);
-               if ( !$slug = sanitize_title($cat_name) )
-                       die('0');
+               $slug = sanitize_title($cat_name);
+               if ( '' === $slug )
+                       continue;
                if ( !$cat_id = is_term( $cat_name, 'link_category' ) ) {
                        $cat_id = wp_insert_term( $cat_name, 'link_category' );
-                       $cat_id = $cat_id['term_id'];
                }
+               $cat_id = $cat_id['term_id'];
                $cat_name = wp_specialchars(stripslashes($cat_name));
                $x->add( array(
                        'what' => 'link-category',
                        'id' => $cat_id,
-                       'data' => "<li id='link-category-$cat_id'><label for='in-link-category-$cat_id' class='selectit'><input value='$cat_id' type='checkbox' checked='checked' name='link_category[]' id='in-link-category-$cat_id'/> $cat_name</label></li>"
+                       'data' => "<li id='link-category-$cat_id'><label for='in-link-category-$cat_id' class='selectit'><input value='$cat_id' type='checkbox' checked='checked' name='link_category[]' id='in-link-category-$cat_id'/> $cat_name</label></li>",
+                       'position' => -1
                ) );
        }
        $x->send();
        break;
 case 'add-cat' : // From Manage->Categories
+       check_ajax_referer( 'add-category' );
        if ( !current_user_can( 'manage_categories' ) )
                die('-1');
-       if ( !$cat = wp_insert_category( $_POST ) )
-               die('0');
-       if ( !$cat = get_category( $cat ) )
+
+       if ( '' === trim($_POST['cat_name']) ) {
+               $x = new WP_Ajax_Response( array(
+                       'what' => 'cat',
+                       'id' => new WP_Error( 'cat_name', __('You did not enter a category name.') )
+               ) );
+               $x->send();
+       }
+
+       if ( category_exists( trim( $_POST['cat_name'] ) ) ) {
+               $x = new WP_Ajax_Response( array(
+                       'what' => 'cat',
+                       'id' => new WP_Error( 'cat_exists', __('The category you are trying to create already exists.'), array( 'form-field' => 'cat_name' ) ),
+               ) );
+               $x->send();
+       }
+       
+       $cat = wp_insert_category( $_POST, true );
+
+       if ( is_wp_error($cat) ) {
+               $x = new WP_Ajax_Response( array(
+                       'what' => 'cat',
+                       'id' => $cat
+               ) );
+               $x->send();
+       }
+
+       if ( !$cat || (!$cat = get_category( $cat )) )
                die('0');
+
        $level = 0;
-       $cat_full_name = $cat->cat_name;
+       $cat_full_name = $cat->name;
        $_cat = $cat;
-       while ( $_cat->category_parent ) {
-               $_cat = get_category( $_cat->category_parent );
-               $cat_full_name = $_cat->cat_name . ' &#8212; ' . $cat_full_name;
+       while ( $_cat->parent ) {
+               $_cat = get_category( $_cat->parent );
+               $cat_full_name = $_cat->name . ' &#8212; ' . $cat_full_name;
                $level++;
        }
        $cat_full_name = attribute_escape($cat_full_name);
 
        $x = new WP_Ajax_Response( array(
                'what' => 'cat',
-               'id' => $cat->cat_ID,
+               'id' => $cat->term_id,
                'data' => _cat_row( $cat, $level, $cat_full_name ),
-               'supplemental' => array('name' => $cat_full_name, 'show-link' => sprintf(__( 'Category <a href="#%s">%s</a> added' ), "cat-$cat->cat_ID", $cat_full_name))
+               'supplemental' => array('name' => $cat_full_name, 'show-link' => sprintf(__( 'Category <a href="#%s">%s</a> added' ), "cat-$cat->term_id", $cat_full_name))
+       ) );
+       $x->send();
+       break;
+case 'add-link-cat' : // From Blogroll -> Categories
+       check_ajax_referer( 'add-link-category' );
+       if ( !current_user_can( 'manage_categories' ) )
+               die('-1');
+
+       if ( '' === trim($_POST['name']) ) {
+               $x = new WP_Ajax_Response( array(
+                       'what' => 'link-cat',
+                       'id' => new WP_Error( 'name', __('You did not enter a category name.') )
+               ) );
+               $x->send();
+       }
+
+       $r = wp_insert_term($_POST['name'], 'link_category', $_POST );
+       if ( is_wp_error( $r ) ) {
+               $x = new WP_AJAX_Response( array(
+                       'what' => 'link-cat',
+                       'id' => $r
+               ) );
+               $x->send();
+       }
+
+       extract($r, EXTR_SKIP);
+
+       if ( !$link_cat = link_cat_row( $term_id ) )
+               die('0');
+
+       $x = new WP_Ajax_Response( array(
+               'what' => 'link-cat',
+               'id' => $term_id,
+               'data' => $link_cat
+       ) );
+       $x->send();
+       break;
+case 'add-tag' : // From Manage->Tags
+       check_ajax_referer( 'add-tag' );
+       if ( !current_user_can( 'manage_categories' ) )
+               die('-1');
+
+       if ( '' === trim($_POST['name']) ) {
+               $x = new WP_Ajax_Response( array(
+                       'what' => 'tag',
+                       'id' => new WP_Error( 'name', __('You did not enter a tag name.') )
+               ) );
+               $x->send();
+       }
+
+       $tag = wp_insert_term($_POST['name'], 'post_tag', $_POST );
+
+       if ( is_wp_error($tag) ) {
+               $x = new WP_Ajax_Response( array(
+                       'what' => 'tag',
+                       'id' => $tag
+               ) );
+               $x->send();
+       }
+
+       if ( !$tag || (!$tag = get_term( $tag['term_id'], 'post_tag' )) )
+               die('0');
+
+       $tag_full_name = $tag->name;
+       $tag_full_name = attribute_escape($tag_full_name);
+
+       $x = new WP_Ajax_Response( array(
+               'what' => 'tag',
+               'id' => $tag->term_id,
+               'data' => _tag_row( $tag ),
+               'supplemental' => array('name' => $tag_full_name, 'show-link' => sprintf(__( 'Tag <a href="#%s">%s</a> added' ), "tag-$tag->term_id", $tag_full_name))
        ) );
        $x->send();
        break;
 case 'add-comment' :
+       check_ajax_referer( $action );
        if ( !current_user_can( 'edit_post', $id ) )
                die('-1');
        $search = isset($_POST['s']) ? $_POST['s'] : false;
-       $start = isset($_POST['page']) ? intval($_POST['page']) * 25 : 25;
+       $start = isset($_POST['page']) ? intval($_POST['page']) * 25 - 1: 24;
+       $status = isset($_POST['comment_status']) ? $_POST['comment_status'] : false;
+       $mode = isset($_POST['mode']) ? $_POST['mode'] : 'detail';
 
-       list($comments, $total) = _wp_get_comment_list( $search, $start, 1 );
+       list($comments, $total) = _wp_get_comment_list( $status, $search, $start, 1 );
 
        if ( !$comments )
                die('1');
@@ -186,7 +355,7 @@ case 'add-comment' :
        foreach ( (array) $comments as $comment ) {
                get_comment( $comment );
                ob_start();
-                       _wp_comment_list_item( $comment->comment_ID );
+                       _wp_comment_row( $comment->comment_ID, $mode, false );
                        $comment_list_item = ob_get_contents();
                ob_end_clean();
                $x->add( array(
@@ -198,96 +367,140 @@ case 'add-comment' :
        $x->send();
        break;
 case 'add-meta' :
-       if ( !current_user_can( 'edit_post', $id ) )
-               die('-1');
-       if ( $id < 0 ) {
-               $now = current_time('timestamp', 1);
-               if ( $pid = wp_insert_post( array(
-                       'post_title' => sprintf('Draft created on %s at %s', date(get_option('date_format'), $now), date(get_option('time_format'), $now))
-               ) ) ) {
-                       if ( is_wp_error( $pid ) )
-                               return $pid;
-                       $mid = add_meta( $pid );
-               }
-               else
+       check_ajax_referer( 'add-meta' );
+       $c = 0;
+       $pid = (int) $_POST['post_id'];
+       if ( isset($_POST['metakeyselect']) || isset($_POST['metakeyinput']) ) {
+               if ( !current_user_can( 'edit_post', $pid ) )
+                       die('-1');
+               if ( '#NONE#' == $_POST['metakeyselect'] && empty($_POST['metakeyinput']) )
+                       die('1');
+               if ( $pid < 0 ) {
+                       $now = current_time('timestamp', 1);
+                       if ( $pid = wp_insert_post( array(
+                               'post_title' => sprintf('Draft created on %s at %s', date(get_option('date_format'), $now), date(get_option('time_format'), $now))
+                       ) ) ) {
+                               if ( is_wp_error( $pid ) ) {
+                                       $x = new WP_Ajax_Response( array(
+                                               'what' => 'meta',
+                                               'data' => $pid
+                                       ) );
+                                       $x->send();
+                               }
+                               $mid = add_meta( $pid );
+                       } else {
+                               die('0');
+                       }
+               } else if ( !$mid = add_meta( $pid ) ) {
                        die('0');
-       } else if ( !$mid = add_meta( $id ) ) {
-               die('0');
-       }
-
-       $meta = get_post_meta_by_id( $mid );
-       $key = $meta->meta_key;
-       $value = $meta->meta_value;
-       $pid = (int) $meta->post_id;
+               }
 
-       $x = new WP_Ajax_Response( array(
-               'what' => 'meta',
-               'id' => $mid,
-               'data' => wp_ajax_meta_row( $pid, $mid, $key, $value ),
-               'supplemental' => array('postid' => $pid)
-       ) );
-       $x->send();
-       break;
-case 'update-meta' :
-       $mid = (int) array_pop(array_keys($_POST['meta']));
-       $key = $_POST['meta'][$mid]['key'];
-       $value = $_POST['meta'][$mid]['value'];
-       if ( !$meta = get_post_meta_by_id( $mid ) )
-               die('0'); // if meta doesn't exist
-       if ( !current_user_can( 'edit_post', $meta->post_id ) )
-               die('-1');
-       if ( $u = update_meta( $mid, $key, $value ) ) {
+               $meta = get_post_meta_by_id( $mid );
+               $pid = (int) $meta->post_id;
+               $meta = get_object_vars( $meta );
+               $x = new WP_Ajax_Response( array(
+                       'what' => 'meta',
+                       'id' => $mid,
+                       'data' => _list_meta_row( $meta, $c ),
+                       'position' => 1,
+                       'supplemental' => array('postid' => $pid)
+               ) );
+       } else {
+               $mid = (int) array_pop(array_keys($_POST['meta']));
+               $key = $_POST['meta'][$mid]['key'];
+               $value = $_POST['meta'][$mid]['value'];
+               if ( !$meta = get_post_meta_by_id( $mid ) )
+                       die('0'); // if meta doesn't exist
+               if ( !current_user_can( 'edit_post', $meta->post_id ) )
+                       die('-1');
+               if ( !$u = update_meta( $mid, $key, $value ) )
+                       die('1'); // We know meta exists; we also know it's unchanged (or DB error, in which case there are bigger problems).
                $key = stripslashes($key);
                $value = stripslashes($value);
                $x = new WP_Ajax_Response( array(
                        'what' => 'meta',
-                       'id' => $mid,
-                       'data' => wp_ajax_meta_row( $meta->post_id, $mid, $key, $value ),
+                       'id' => $mid, 'old_id' => $mid,
+                       'data' => _list_meta_row( array(
+                               'meta_key' => $key,
+                               'meta_value' => $value,
+                               'meta_id' => $mid
+                       ), $c ),
+                       'position' => 0,
                        'supplemental' => array('postid' => $meta->post_id)
                ) );
-               $x->send();
        }
-       die('1'); // We know meta exists; we also know it's unchanged (or DB error, in which case there are bigger problems).
+       $x->send();
        break;
 case 'add-user' :
-       if ( !current_user_can('edit_users') )
+       check_ajax_referer( $action );
+       if ( !current_user_can('create_users') )
                die('-1');
        require_once(ABSPATH . WPINC . '/registration.php');
        if ( !$user_id = add_user() )
                die('0');
        elseif ( is_wp_error( $user_id ) ) {
-               foreach( $user_id->get_error_messages() as $message )
-                       echo "<p>$message<p>";
-               exit;
+               $x = new WP_Ajax_Response( array(
+                       'what' => 'user',
+                       'id' => $user_id
+               ) );
+               $x->send();
        }
        $user_object = new WP_User( $user_id );
+
        $x = new WP_Ajax_Response( array(
                'what' => 'user',
                'id' => $user_id,
-               'data' => user_row( $user_object ),
-               'supplemental' => array('show-link' => sprintf(__( 'User <a href="#%s">%s</a> added' ), "user-$user_id", $user_object->user_login))
+               'data' => user_row( $user_object, '', $user_object->roles[0] ),
+               'supplemental' => array(
+                       'show-link' => sprintf(__( 'User <a href="#%s">%s</a> added' ), "user-$user_id", $user_object->user_login),
+                       'role' => $user_object->roles[0]
+               )
        ) );
        $x->send();
        break;
 case 'autosave' : // The name of this action is hardcoded in edit_post()
-       $_POST['post_content'] = $_POST['content'];
-       $_POST['post_excerpt'] = $_POST['excerpt'];
+       $nonce_age = check_ajax_referer( 'autosave', 'autosavenonce');
+       global $current_user;
+
        $_POST['post_status'] = 'draft';
        $_POST['post_category'] = explode(",", $_POST['catslist']);
+       $_POST['tags_input'] = explode(",", $_POST['tags_input']);
        if($_POST['post_type'] == 'page' || empty($_POST['post_category']))
                unset($_POST['post_category']);
 
+       $do_autosave = (bool) $_POST['autosave'];
+       $do_lock = true;
+
+       $data = '';
+       $message = sprintf( __('Draft Saved at %s.'), date( __('g:i:s a'), current_time( 'timestamp', true ) ) );
+
+       $supplemental = array();
+
+       $id = 0;
        if($_POST['post_ID'] < 0) {
                $_POST['temp_ID'] = $_POST['post_ID'];
-               $id = wp_write_post();
-               if( is_wp_error($id) )
-                       die($id->get_error_message());
-               else
-                       die("$id");
+               if ( $do_autosave ) {
+                       $id = wp_write_post();
+                       $data = $message;
+               }
        } else {
                $post_ID = (int) $_POST['post_ID'];
                $_POST['ID'] = $post_ID;
                $post = get_post($post_ID);
+
+               if ( $last = wp_check_post_lock( $post->ID ) ) {
+                       $do_autosave = $do_lock = false;
+
+                       $last_user = get_userdata( $last );
+                       $last_user_name = $last_user ? $last_user->display_name : __( 'Someone' );
+                       $data = new WP_Error( 'locked', sprintf(
+                               $_POST['post_type'] == 'page' ? __( 'Autosave disabled: %s is currently editing this page.' ) : __( 'Autosave disabled: %s is currently editing this post.' ),
+                               wp_specialchars( $last_user_name )
+                       ) );
+
+                       $supplemental['disable_autosave'] = 'disable';
+               }
+
                if ( 'page' == $post->post_type ) {
                        if ( !current_user_can('edit_page', $post_ID) )
                                die(__('You are not allowed to edit this page.'));
@@ -295,11 +508,40 @@ case 'autosave' : // The name of this action is hardcoded in edit_post()
                        if ( !current_user_can('edit_post', $post_ID) )
                                die(__('You are not allowed to edit this post.'));
                }
-               wp_update_post($_POST);
+               if ( $do_autosave ) {
+                       $id = edit_post();
+                       $data = $message;
+               } else {
+                       $id = $post->ID;
+               }
        }
-       die('0');
-break;
+
+       if ( $do_lock && $id && is_numeric($id) )
+               wp_set_post_lock( $id );
+
+       if ( $nonce_age == 2 ) {
+               $supplemental['replace-autosavenonce'] = wp_create_nonce('autosave');
+               $supplemental['replace-getpermalinknonce'] = wp_create_nonce('getpermalink');
+               $supplemental['replace-samplepermalinknonce'] = wp_create_nonce('samplepermalink');
+               $supplemental['replace-closedpostboxesnonce'] = wp_create_nonce('closedpostboxes');
+               if ( $id ) {
+                       if ( $_POST['post_type'] == 'post' )
+                               $supplemental['replace-_wpnonce'] = wp_create_nonce('update-post_' . $id);
+                       elseif ( $_POST['post_type'] == 'page' )
+                               $supplemental['replace-_wpnonce'] = wp_create_nonce('update-page_' . $id);
+               }
+       }
+
+       $x = new WP_Ajax_Response( array(
+               'what' => 'autosave',
+               'id' => $id,
+               'data' => $id ? $data : '',
+               'supplemental' => $supplemental
+       ) );
+       $x->send();
+       break;
 case 'autosave-generate-nonces' :
+       check_ajax_referer( 'autosave', 'autosavenonce' );
        $ID = (int) $_POST['post_ID'];
        if($_POST['post_type'] == 'post') {
                if(current_user_can('edit_post', $ID))
@@ -312,6 +554,30 @@ case 'autosave-generate-nonces' :
        }
        die('0');
 break;
+case 'closed-postboxes' :
+       check_ajax_referer( 'closedpostboxes', 'closedpostboxesnonce' );
+       $closed = isset( $_POST['closed'] )? $_POST['closed'] : '';
+       $closed = explode( ',', $_POST['closed'] );
+       $page = isset( $_POST['page'] )? $_POST['page'] : '';
+       if ( !preg_match( '/^[a-z-]+$/', $page ) ) {
+               die(-1);
+       }
+       if (!is_array($closed)) break;
+       $current_user = wp_get_current_user();
+       update_usermeta($current_user->ID, 'closedpostboxes_'.$page, $closed);
+break;
+case 'get-permalink':
+       check_ajax_referer( 'getpermalink', 'getpermalinknonce' );
+       $post_id = isset($_POST['post_id'])? intval($_POST['post_id']) : 0;
+       die(add_query_arg(array('preview' => 'true'), get_permalink($post_id)));
+break;
+case 'sample-permalink':
+       check_ajax_referer( 'samplepermalink', 'samplepermalinknonce' );
+       $post_id = isset($_POST['post_id'])? intval($_POST['post_id']) : 0;
+       $title = isset($_POST['new_title'])? $_POST['new_title'] : '';
+       $slug = isset($_POST['new_slug'])? $_POST['new_slug'] : '';
+       die(get_sample_permalink_html($post_id, $title, $slug));
+break;
 default :
        do_action( 'wp_ajax_' . $_POST['action'] );
        die('0');
index a96770b53166df92ab03cde6a17bb097dae4f45a..d5f129f3be2dc9010252d5f64d84ac1f070843c3 100644 (file)
@@ -1,10 +1,11 @@
-
+</div><!-- wpbody -->
+</div><!-- wpcontent -->
+</div><!-- wpwrap -->
 <div id="footer">
 <p><?php
-
+do_action('in_admin_footer', '');
 $upgrade = apply_filters( 'update_footer', '' );
 echo __('Thank you for creating with <a href="http://wordpress.org/">WordPress</a>').' | '.__('<a href="http://codex.wordpress.org/">Documentation</a>').' | '.__('<a href="http://wordpress.org/support/forum/4">Feedback</a>').' '.$upgrade;
-
 ?></p>
 </div>
 <?php do_action('admin_footer', ''); ?>
index 04b1b364f196b550a231df33a184f25b6f14f8c4..4a0d327b3befbad50193be176c9727c833d43165 100644 (file)
@@ -1,4 +1,5 @@
 <?php
 // Deprecated.  Use includes/admin.php.
+_deprecated_file( basename(__FILE__), '2.5', 'wp-admin/includes/admin.php' );
 require_once(ABSPATH . 'wp-admin/includes/admin.php');
-?>
\ No newline at end of file
+?>
index a75fe7bb7331b7382263a5aedbb84bb5c1a88ba8..0185a9868386f9fc55b7a5a10b037b50909f7b4c 100644 (file)
@@ -2,13 +2,23 @@
 @header('Content-Type: ' . get_option('html_type') . '; charset=' . get_option('blog_charset'));
 if (!isset($_GET["page"])) require_once('admin.php');
 if ( $editing ) {
-       wp_enqueue_script( array('dbx-admin-key?pagenow=' . attribute_escape($pagenow),'admin-custom-fields') );
-       if ( current_user_can('manage_categories') )
-               wp_enqueue_script( 'ajaxcat' );
        if ( user_can_richedit() )
                wp_enqueue_script( 'wp_tiny_mce' );
 }
 
+$min_width_pages = array( 'post.php', 'post-new.php', 'page.php', 'page-new.php', 'widgets.php', 'comment.php', 'link.php' );
+$the_current_page = preg_replace('|^.*/wp-admin/|i', '', $_SERVER['PHP_SELF']);
+$ie6_no_scrollbar = true;
+
+function add_minwidth($c) {
+       return $c . 'minwidth ';
+}
+
+if ( in_array( $the_current_page, $min_width_pages ) ) {
+               $ie6_no_scrollbar = false;
+               add_filter( 'admin_body_class', 'add_minwidth' );
+}
+
 get_admin_page_title();
 
 ?>
@@ -17,13 +27,21 @@ get_admin_page_title();
 <head>
 <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php echo get_option('blog_charset'); ?>" />
 <title><?php bloginfo('name') ?> &rsaquo; <?php echo wp_specialchars( strip_tags( $title ) ); ?> &#8212; WordPress</title>
-<?php wp_admin_css(); ?>
+<?php
+wp_admin_css( 'css/global' );
+wp_admin_css();
+wp_admin_css( 'css/colors' );
+?>
+<!--[if gte IE 6]>
+<?php wp_admin_css( 'css/ie' );
+?>
+<![endif]-->
 <script type="text/javascript">
 //<![CDATA[
-function addLoadEvent(func) {if ( typeof wpOnload!='function'){wpOnload=func;}else{ var oldonload=wpOnload;wpOnload=function(){oldonload();func();}}}
+addLoadEvent = function(func) {if (typeof jQuery != "undefined") jQuery(document).ready(func); else if (typeof wpOnload!='function'){wpOnload=func;} else {var oldonload=wpOnload; wpOnload=function(){oldonload();func();}}};
 //]]>
 </script>
-<?php if ( ($parent_file != 'link-manager.php') && ($parent_file != 'options-general.php') ) : ?>
+<?php if ( ($parent_file != 'link-manager.php') && ($parent_file != 'options-general.php') && $ie6_no_scrollbar ) : ?>
 <style type="text/css">* html { overflow-x: hidden; }</style>
 <?php endif;
 if ( isset($page_hook) )
@@ -40,10 +58,12 @@ do_action('admin_head');
 ?>
 </head>
 <body class="wp-admin <?php echo apply_filters( 'admin_body_class', '' ); ?>">
+<div id="wpwrap">
+<div id="wpcontent">
 <div id="wphead">
-<h1><?php bloginfo('name'); ?> <span id="viewsite">(<a href="<?php echo get_option('home') . '/'; ?>"><?php _e('View site &raquo;') ?></a>)</span></h1>
+<h1><?php bloginfo('name'); ?><span id="viewsite"><a href="<?php echo trailingslashit( get_option('home') ); ?>"><?php _e('Visit Site') ?></a></span></h1>
 </div>
-<div id="user_info"><p><?php printf(__('Howdy, <strong>%s</strong>.'), $user_identity) ?> [<a href="<?php echo get_option('siteurl'); ?>/wp-login.php?action=logout" title="<?php _e('Log out of this account') ?>"><?php _e('Sign Out'); ?></a>, <a href="profile.php"><?php _e('My Profile'); ?></a>] </p></div>
+<div id="user_info"><p><?php printf(__('Howdy, <a href="%1$s">%2$s</a>!'), 'profile.php', $user_identity) ?> | <a href="<?php echo get_option('siteurl'); ?>/wp-login.php?action=logout" title="<?php _e('Log Out') ?>"><?php _e('Log Out'); ?></a> | <?php _e('<a href="http://codex.wordpress.org/">Help</a>') ?> | <?php _e('<a href="http://wordpress.org/support/">Forums</a>') ?></p></div>
 
 <?php
 require(ABSPATH . 'wp-admin/menu-header.php');
@@ -52,3 +72,4 @@ if ( $parent_file == 'options-general.php' ) {
        require(ABSPATH . 'wp-admin/options-head.php');
 }
 ?>
+<div id="wpbody">
index 0a6f22ae550dd975fcbcaf12f6efee10ef550e50..1664820796b96a41bcb47bbb5d09f87c4dea255b 100644 (file)
@@ -19,8 +19,6 @@ nocache_headers();
 
 update_category_cache();
 
-wp_get_current_user();
-
 $posts_per_page = get_option('posts_per_page');
 $what_to_show = get_option('what_to_show');
 $date_format = get_option('date_format');
@@ -28,7 +26,11 @@ $time_format = get_option('time_format');
 
 wp_reset_vars(array('profile', 'redirect', 'redirect_url', 'a', 'popuptitle', 'popupurl', 'text', 'trackback', 'pingback'));
 
-wp_enqueue_script( 'fat' );
+wp_admin_css_color('classic', __('Classic'), get_option( 'siteurl' ) . "/wp-admin/css/colors-classic.css", array('#07273E', '#14568A', '#D54E21', '#2683AE'));
+wp_admin_css_color('fresh', __('Fresh'), get_option( 'siteurl' ) . "/wp-admin/css/colors-fresh.css", array('#464646', '#CEE1EF', '#D54E21', '#2683AE'));
+
+wp_enqueue_script( 'common' );
+wp_enqueue_script( 'jquery-color' );
 
 $editing = false;
 
@@ -39,6 +41,8 @@ if (isset($_GET['page'])) {
 
 require(ABSPATH . 'wp-admin/menu.php');
 
+do_action('admin_init');
+
 // Handle plugin admin pages.
 if (isset($plugin_page)) {
        $page_hook = get_plugin_page_hook($plugin_page, $pagenow);
@@ -54,7 +58,7 @@ if (isset($plugin_page)) {
                        wp_die(__('Invalid plugin page'));
                }
 
-               if (! file_exists(ABSPATH . PLUGINDIR . "/$plugin_page"))
+               if (! ( file_exists(ABSPATH . PLUGINDIR . "/$plugin_page") && is_file( ABSPATH . PLUGINDIR . "/$plugin_page") ) )
                        wp_die(sprintf(__('Cannot load %s.'), htmlentities($plugin_page)));
 
                do_action('load-' . $plugin_page);
diff --git a/wp-admin/async-upload.php b/wp-admin/async-upload.php
new file mode 100644 (file)
index 0000000..1a37dce
--- /dev/null
@@ -0,0 +1,45 @@
+<?php
+
+/* This accepts file uploads from swfupload or other asynchronous upload methods.
+
+*/
+
+if ( defined('ABSPATH') )
+       require_once( ABSPATH . 'wp-config.php');
+else
+    require_once('../wp-config.php');
+
+// Flash often fails to send cookies with the POST or upload, so we need to pass it in GET or POST instead
+if ( empty($_COOKIE[AUTH_COOKIE]) && !empty($_REQUEST['auth_cookie']) )
+       $_COOKIE[AUTH_COOKIE] = $_REQUEST['auth_cookie'];
+unset($current_user);
+require_once('admin.php');
+
+header('Content-Type: text/plain');
+
+if ( !current_user_can('upload_files') )
+       wp_die(__('You do not have permission to upload files.'));
+
+// just fetch the detail form for that attachment      
+if ( ($id = intval($_REQUEST['attachment_id'])) && $_REQUEST['fetch'] ) {
+       echo get_media_item($id);
+       exit;
+}
+
+$id = media_handle_upload('async-upload', $_REQUEST['post_id']);
+if (is_wp_error($id)) {
+       echo '<div id="media-upload-error">'.wp_specialchars($id->get_error_message()).'</div>';
+       exit;
+}
+
+if ( $_REQUEST['short'] ) {
+       // short form response - attachment ID only
+       echo $id;
+}
+else {
+       // long form response - big chunk o html
+       $type = $_REQUEST['type'];
+       echo apply_filters("async_upload_{$type}", $id);
+}
+
+?>
index fca99e1f6d8f8afbf7064b2caccfaef421e15cb3..8618458dafce76272581918ad116d203d85b1b5c 100644 (file)
@@ -51,7 +51,10 @@ if ( !empty($content) ) {
 <head>
 <title><?php bloginfo('name') ?> &rsaquo; Bookmarklet &#8212; WordPress</title>
 <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php echo get_option('blog_charset'); ?>" />
-<?php wp_admin_css(); ?>
+<?php
+wp_admin_css( 'css/global' );
+wp_admin_css();
+?>
 
 <style type="text/css">
 <!--
index cc2b37a5a2675d3fdb40674ff593d29bb763f534..945da0c63df477dea003cc0d7c3086f041f062cf 100644 (file)
@@ -6,6 +6,9 @@ $parent_file = 'edit.php';
 
 wp_reset_vars(array('action', 'cat'));
 
+if ( isset($_GET['deleteit']) && isset($_GET['delete']) )
+       $action = 'bulk-delete';
+
 switch($action) {
 
 case 'addcat':
@@ -43,6 +46,29 @@ case 'delete':
 
 break;
 
+case 'bulk-delete':
+       check_admin_referer('bulk-categories');
+
+       if ( !current_user_can('manage_categories') )
+               wp_die( __('You are not allowed to delete categories.') );
+
+       foreach ( (array) $_GET['delete'] as $cat_ID ) {
+               $cat_name = get_catname($cat_ID);
+
+               // Don't delete the default cats.
+               if ( $cat_ID == get_option('default_category') )
+                       wp_die(sprintf(__("Can&#8217;t delete the <strong>%s</strong> category: this is the default one"), $cat_name));
+
+               wp_delete_category($cat_ID);
+       }
+
+       $sendback = wp_get_referer();
+       $sendback = preg_replace('|[^a-z0-9-~+_.?#=&;,/:]|i', '', $sendback);
+
+       wp_redirect($sendback);
+       exit();
+
+break;
 case 'edit':
 
        require_once ('admin-header.php');
@@ -69,7 +95,14 @@ break;
 
 default:
 
+if ( !empty($_GET['_wp_http_referer']) ) {
+        wp_redirect(remove_query_arg(array('_wp_http_referer', '_wpnonce'), stripslashes($_SERVER['REQUEST_URI'])));
+        exit;
+}
+
 wp_enqueue_script( 'admin-categories' );
+wp_enqueue_script('admin-forms');
+
 require_once ('admin-header.php');
 
 $messages[1] = __('Category added.');
@@ -81,30 +114,57 @@ $messages[5] = __('Category not updated.');
 
 <?php if (isset($_GET['message'])) : ?>
 <div id="message" class="updated fade"><p><?php echo $messages[$_GET['message']]; ?></p></div>
-<?php endif; ?>
+<?php $_SERVER['REQUEST_URI'] = remove_query_arg(array('message'), $_SERVER['REQUEST_URI']);
+endif; ?>
 
 <div class="wrap">
+<form id="posts-filter" action="" method="get">
 <?php if ( current_user_can('manage_categories') ) : ?>
-       <h2><?php printf(__('Categories (<a href="%s">add new</a>)'), '#addcat') ?> </h2>
+       <h2><?php printf(__('Manage Categories (<a href="%s">add new</a>)'), '#addcat') ?> </h2>
 <?php else : ?>
-       <h2><?php _e('Categories') ?> </h2>
+       <h2><?php _e('Manage Categories') ?> </h2>
 <?php endif; ?>
+
+<p id="post-search">
+       <input type="text" id="post-search-input" name="s" value="<?php echo attribute_escape(stripslashes($_GET['s'])); ?>" />
+       <input type="submit" value="<?php _e( 'Search Categories' ); ?>" class="button" />
+</p>
+
+<br class="clear" />
+
+<div class="tablenav">
+
+<div class="alignleft">
+<input type="submit" value="<?php _e('Delete'); ?>" name="deleteit" class="button-secondary delete" />
+<?php wp_nonce_field('bulk-categories'); ?>
+</div>
+
+<br class="clear" />
+</div>
+
+<br class="clear" />
+
 <table class="widefat">
        <thead>
        <tr>
-               <th scope="col" style="text-align: center"><?php _e('ID') ?></th>
+               <th scope="col" class="check-column"><input type="checkbox" onclick="checkAll(document.getElementById('posts-filter'));" /></th>
         <th scope="col"><?php _e('Name') ?></th>
         <th scope="col"><?php _e('Description') ?></th>
-        <th scope="col" width="90" style="text-align: center"><?php _e('Posts') ?></th>
-        <th colspan="2" style="text-align: center"><?php _e('Action') ?></th>
+        <th scope="col" class="num"><?php _e('Posts') ?></th>
        </tr>
        </thead>
-       <tbody id="the-list">
+       <tbody id="the-list" class="list:cat">
 <?php
 cat_rows();
 ?>
        </tbody>
 </table>
+</form>
+
+<div class="tablenav">
+<br class="clear" />
+</div>
+<br class="clear" />
 
 </div>
 
index eee6a12fa0008da4b032390e0a7c093c11aa472a..72d014703a98b8e838909aeac144762bd5cdea1b 100644 (file)
@@ -4,70 +4,86 @@ require_once('admin.php');
 $parent_file = 'edit-comments.php';
 $submenu_file = 'edit-comments.php';
 
-wp_reset_vars(array('action'));
+wp_reset_vars( array('action') );
 
 if ( isset( $_POST['deletecomment'] ) )
        $action = 'deletecomment';
 
-switch($action) {
-case 'editcomment':
+function comment_footer_die( $msg ) {  // $msg is assumed to contain HTML and be sanitized
+       echo "<div class='wrap'><p>$msg</p></div>";
+       include('admin-footer.php');
+       die;
+}
+
+switch( $action ) {
+
+case 'editcomment' :
        $title = __('Edit Comment');
 
-       require_once ('admin-header.php');
+       wp_enqueue_script('comment');
+       //wp_enqueue_script('thickbox');
+       require_once('admin-header.php');
 
-       $comment = (int) $_GET['c'];
+       $comment_id = absint( $_GET['c'] );
 
-       if ( ! $comment = get_comment($comment) )
-               wp_die(__('Oops, no comment with this ID.').sprintf(' <a href="%s">'.__('Go back').'</a>!', 'javascript:history.go(-1)'));
+       if ( !$comment = get_comment( $comment_id ) )
+               comment_footer_die( __('Oops, no comment with this ID.') . sprintf(' <a href="%s">'.__('Go back').'</a>!', 'javascript:history.go(-1)') );
 
        if ( !current_user_can('edit_post', $comment->comment_post_ID) )
-               wp_die( __('You are not allowed to edit comments on this post.') );
+               comment_footer_die( __('You are not allowed to edit comments on this post.') );
 
-       $comment = get_comment_to_edit($comment);
+       $comment = get_comment_to_edit( $comment_id );
 
        include('edit-form-comment.php');
 
        break;
 
-case 'cdc':
-case 'mac':
+case 'cdc' :
+case 'mac' :
 
-       require_once('./admin-header.php');
+       require_once('admin-header.php');
 
-       $comment = (int) $_GET['c'];
+       $comment_id = absint( $_GET['c'] );
        $formaction = 'cdc' == $action ? 'deletecomment' : 'approvecomment';
        $nonce_action = 'cdc' == $action ? 'delete-comment_' : 'approve-comment_';
-       $nonce_action .= $comment;
+       $nonce_action .= $comment_id;
 
-       if ( ! $comment = get_comment_to_edit($comment) )
-               wp_die(__('Oops, no comment with this ID.').sprintf(' <a href="%s">'.__('Go back').'</a>!', 'edit.php'));
+       if ( !$comment = get_comment_to_edit( $comment_id ) )
+               comment_footer_die( __('Oops, no comment with this ID.') . sprintf(' <a href="%s">'.__('Go back').'</a>!', 'edit.php') );
 
-       if ( !current_user_can('edit_post', $comment->comment_post_ID) )
-               wp_die( 'cdc' == $action ? __('You are not allowed to delete comments on this post.') : __('You are not allowed to edit comments on this post, so you cannot approve this comment.') );
+       if ( !current_user_can( 'edit_post', $comment->comment_post_ID ) )
+               comment_footer_die( 'cdc' == $action ? __('You are not allowed to delete comments on this post.') : __('You are not allowed to edit comments on this post, so you cannot approve this comment.') );
 ?>
 <div class='wrap'>
 
 <div class="narrow">
-<?php if ( 'spam' == $_GET['dt'] ) { ?>
-<p><?php echo '<strong>'.__('Caution:').'</strong> '.__('You are about to mark the following comment as spam:'); ?></p>
-<?php } elseif ( 'cdc' == $action ) { ?>
-<p><?php echo '<strong>'.__('Caution:').'</strong> '.__('You are about to delete the following comment:'); ?></p>
-<?php } else { ?>
-<p><?php echo '<strong>'.__('Caution:').'</strong> '.__('You are about to approve the following comment:'); ?></p>
-<?php } ?>
+<?php
+if ( 'spam' == $_GET['dt'] ) {
+       $caution_msg = __('You are about to mark the following comment as spam:');
+       $button = __('Spam Comment');
+} elseif ( 'cdc' == $action ) {
+       $caution_msg = __('You are about to delete the following comment:');
+       $button = __('Delete Comment');
+} else {
+       $caution_msg = __('You are about to approve the following comment:');
+       $button = __('Approve Comment');
+}
+?>
+
+<p><strong><?php _e('Caution:'); ?></strong> <?php echo $caution_msg; ?></p>
 
 <p><?php _e('Are you sure you want to do that?'); ?></p>
 
-<form action='<?php echo get_option('siteurl'); ?>/wp-admin/comment.php' method='get'>
+<form action='comment.php' method='get'>
 
 <table width="100%">
 <tr>
-<td><input type='button' value='<?php _e('No'); ?>' onclick="self.location='<?php echo get_option('siteurl'); ?>/wp-admin/edit-comments.php';" /></td>
-<td align="right"><input type='submit' value='<?php _e('Yes'); ?>' /></td>
+<td><input type='button' class="button" value='<?php _e('No'); ?>' onclick="self.location='<?php echo get_option('siteurl'); ?>/wp-admin/edit-comments.php';" /></td>
+<td class="textright"><input type='submit' class="button" value='<?php echo $button; ?>' /></td>
 </tr>
 </table>
 
-<?php wp_nonce_field($nonce_action); ?>
+<?php wp_nonce_field( $nonce_action ); ?>
 <input type='hidden' name='action' value='<?php echo $formaction; ?>' />
 <?php if ( 'spam' == $_GET['dt'] ) { ?>
 <input type='hidden' name='dt' value='spam' />
@@ -77,25 +93,25 @@ case 'mac':
 <input type='hidden' name='noredir' value='1' />
 </form>
 
-<table class="editform" cellpadding="5">
+<table class="form-table" cellpadding="5">
 <tr class="alt">
-<th scope="row"><?php _e('Author:'); ?></th>
+<th scope="row"><?php _e('Author'); ?></th>
 <td><?php echo $comment->comment_author; ?></td>
 </tr>
 <?php if ( $comment->comment_author_email ) { ?>
 <tr>
-<th scope="row"><?php _e('E-mail:'); ?></th>
+<th scope="row"><?php _e('E-mail'); ?></th>
 <td><?php echo $comment->comment_author_email; ?></td>
 </tr>
 <?php } ?>
 <?php if ( $comment->comment_author_url ) { ?>
 <tr>
-<th scope="row"><?php _e('URL:'); ?></th>
+<th scope="row"><?php _e('URL'); ?></th>
 <td><a href='<?php echo $comment->comment_author_url; ?>'><?php echo $comment->comment_author_url; ?></a></td>
 </tr>
 <?php } ?>
 <tr>
-<th scope="row" valign="top"><p><?php _e('Comment:'); ?></p></th>
+<th scope="row" valign="top"><?php _e('Comment'); ?></th>
 <td><?php echo $comment->comment_content; ?></td>
 </tr>
 </table>
@@ -105,109 +121,112 @@ case 'mac':
 <?php
        break;
 
-case 'deletecomment':
-       $comment = (int) $_REQUEST['c'];
-       check_admin_referer('delete-comment_' . $comment);
+case 'deletecomment' :
+       $comment_id = absint( $_REQUEST['c'] );
+       check_admin_referer( 'delete-comment_' . $comment_id );
 
-       if ( isset($_REQUEST['noredir']) ) {
+       if ( isset( $_REQUEST['noredir'] ) )
                $noredir = true;
-       } else {
+       else
                $noredir = false;
-       }
 
-       if ( ! $comment = get_comment($comment) )
-                        wp_die(__('Oops, no comment with this ID.').sprintf(' <a href="%s">'.__('Go back').'</a>!', 'edit-comments.php'));
+       if ( !$comment = get_comment( $comment_id ) )
+               comment_footer_die( __('Oops, no comment with this ID.') . sprintf(' <a href="%s">'.__('Go back').'</a>!', 'edit-comments.php') );
 
-       if ( !current_user_can('edit_post', $comment->comment_post_ID) )
-               wp_die( __('You are not allowed to edit comments on this post.') );
+       if ( !current_user_can( 'edit_post', $comment->comment_post_ID ) )
+               comment_footer_die( __('You are not allowed to edit comments on this post.') );
 
        if ( 'spam' == $_REQUEST['dt'] )
-               wp_set_comment_status($comment->comment_ID, 'spam');
+               wp_set_comment_status( $comment->comment_ID, 'spam' );
        else
-               wp_delete_comment($comment->comment_ID);
+               wp_delete_comment( $comment->comment_ID );
 
-       if ((wp_get_referer() != '') && (false == $noredir)) {
-               wp_redirect(wp_get_referer());
-       } else {
-               wp_redirect(get_option('siteurl') .'/wp-admin/edit-comments.php');
-       }
-       exit();
+       if ( '' != wp_get_referer() && false == $noredir && false === strpos(wp_get_referer(), 'comment.php' ) )
+               wp_redirect( wp_get_referer() );
+       else if ( '' != wp_get_original_referer() && false == $noredir )
+               wp_redirect( wp_get_original_referer() );
+       else
+               wp_redirect( get_option('siteurl') . '/wp-admin/edit-comments.php' );
+
+       die;
        break;
 
-case 'unapprovecomment':
-       $comment = (int) $_GET['c'];
-       check_admin_referer('unapprove-comment_' . $comment);
+case 'unapprovecomment' :
+       $comment_id = absint( $_GET['c'] );
+       check_admin_referer( 'unapprove-comment_' . $comment_id );
 
-       if (isset($_GET['noredir'])) {
+       if ( isset( $_GET['noredir'] ) )
                $noredir = true;
-       } else {
+       else
                $noredir = false;
-       }
 
-       if ( ! $comment = get_comment($comment) )
-               wp_die(__('Oops, no comment with this ID.').sprintf(' <a href="%s">'.__('Go back').'</a>!', 'edit.php'));
+       if ( !$comment = get_comment( $comment_id ) )
+               comment_footer_die( __('Oops, no comment with this ID.') . sprintf(' <a href="%s">'.__('Go back').'</a>!', 'edit.php') );
 
-       if ( !current_user_can('edit_post', $comment->comment_post_ID) )
-               wp_die( __('You are not allowed to edit comments on this post, so you cannot disapprove this comment.') );
+       if ( !current_user_can( 'edit_post', $comment->comment_post_ID ) )
+               comment_footer_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' );
 
-       wp_set_comment_status($comment->comment_ID, "hold");
+       if ( '' != wp_get_referer() && false == $noredir )
+               wp_redirect( wp_get_referer() );
+       else
+               wp_redirect( get_option('siteurl') . '/wp-admin/edit.php?p=' . absint( $comment->comment_post_ID ) . '#comments' );
 
-       if ((wp_get_referer() != "") && (false == $noredir)) {
-               wp_redirect(wp_get_referer());
-       } else {
-               wp_redirect(get_option('siteurl') .'/wp-admin/edit.php?p=' . (int) $comment->comment_post_ID.'&c=1#comments');
-       }
        exit();
        break;
 
-case 'approvecomment':
-       $comment = (int) $_GET['c'];
-       check_admin_referer('approve-comment_' . $comment);
+case 'approvecomment' :
+       $comment_id = absint( $_GET['c'] );
+       check_admin_referer( 'approve-comment_' . $comment_id );
 
-       if (isset($_GET['noredir'])) {
+       if ( isset( $_GET['noredir'] ) )
                $noredir = true;
-       } else {
+       else
                $noredir = false;
-       }
 
-       if ( ! $comment = get_comment($comment) )
-               wp_die(__('Oops, no comment with this ID.').sprintf(' <a href="%s">'.__('Go back').'</a>!', 'edit.php'));
+       if ( !$comment = get_comment( $comment_id ) )
+               comment_footer_die( __('Oops, no comment with this ID.') . sprintf(' <a href="%s">'.__('Go back').'</a>!', 'edit.php') );
 
        if ( !current_user_can('edit_post', $comment->comment_post_ID) )
-               wp_die( __('You are not allowed to edit comments on this post, so you cannot approve this comment.') );
+               comment_footer_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' );
 
-       wp_set_comment_status($comment->comment_ID, "approve");
-       if (get_option("comments_notify") == true) {
-               wp_notify_postauthor($comment->comment_ID);
-       }
+       if ( true == get_option('comments_notify') )
+               wp_notify_postauthor( $comment->comment_ID );
 
 
-       if ((wp_get_referer() != "") && (false == $noredir)) {
-               wp_redirect(wp_get_referer());
-       } else {
-               wp_redirect(get_option('siteurl') .'/wp-admin/edit.php?p=' . (int) $comment->comment_post_ID.'&c=1#comments');
-       }
+       if ( '' != wp_get_referer() && false == $noredir )
+               wp_redirect( wp_get_referer() );
+       else
+               wp_redirect( get_option('siteurl') . '/wp-admin/edit.php?p=' . absint( $comment->comment_post_ID ) . '#comments' );
+
        exit();
        break;
 
-case 'editedcomment':
+case 'editedcomment' :
 
-       $comment_ID = (int) $_POST['comment_ID'];
-       $comment_post_ID = (int) $_POST['comment_post_id'];
+       $comment_id = absint( $_POST['comment_ID'] );
+       $comment_post_id = absint( $_POST['comment_post_id'] );
 
-       check_admin_referer('update-comment_' . $comment_ID);
+       check_admin_referer( 'update-comment_' . $comment_id );
 
        edit_comment();
 
-       $location = ( empty($_POST['referredby']) ? "edit.php?p=$comment_post_ID&c=1" : $_POST['referredby'] ) . '#comment-' . $comment_ID;
-       $location = apply_filters('comment_edit_redirect', $location, $comment_ID);
-       wp_redirect($location);
+       $location = ( empty( $_POST['referredby'] ) ? "edit.php?p=$comment_post_id" : $_POST['referredby'] ) . '#comment-' . $comment_id;
+       $location = apply_filters( 'comment_edit_redirect', $location, $comment_id );
+       wp_redirect( $location );
+
        exit();
        break;
+
 default:
+       wp_die( __('Unknown action.') );
        break;
+
 } // end switch
 
 include('admin-footer.php');
 
-?>
+?>
\ No newline at end of file
diff --git a/wp-admin/css/colors-classic-rtl.css b/wp-admin/css/colors-classic-rtl.css
new file mode 100644 (file)
index 0000000..5d0d05c
--- /dev/null
@@ -0,0 +1,3 @@
+#poststuff .closed .togbox, #poststuff .togbox {
+background-image: url(../images/toggle-arrow-rtl.gif) !important;
+}
\ No newline at end of file
diff --git a/wp-admin/css/colors-classic.css b/wp-admin/css/colors-classic.css
new file mode 100644 (file)
index 0000000..6f83c66
--- /dev/null
@@ -0,0 +1,719 @@
+a.page-numbers:hover {
+       border-color: #999;
+}
+
+body   {
+       background-color: #fff;
+       color: #333;
+}
+
+body > #upload-menu {
+       border-bottom-color: #fff;
+}
+
+div#current-widgets, #postcustomstuff table, #your-profile fieldset, a.page-numbers, #rightnow, div.dashboard-widget, .widefat {
+       border-color: #ccc;
+}
+
+div.dashboard-widget-error {
+       background-color: #c43;
+}
+
+div.dashboard-widget-notice {
+       background-color: #F0F6FB;
+}
+
+div.dashboard-widget-submit, ul.widget-control-list div.widget-control-actions {
+       border-top-color: #ccc;
+}
+
+input.disabled, textarea.disabled {
+       background-color: #ccc;
+}
+
+#user_info a:hover, li.widget-list-control-item h4.widget-title a:hover, .submit a, #dashmenu a:hover, #footer a, #upload-menu li a.upload-tab-link, li.widget-list-control-item h4.widget-title a,
+#dragHelper li.widget-list-control-item h4.widget-title a,
+#draghelper li.widget-list-control-item h4.widget-title a:visited, .login #backtoblog a:hover {
+       color: #fff;
+}
+
+ul#category-tabs li.ui-tabs-selected, li.widget-list-control-item, div.nav, .tablenav, .submitbox, h3.dashboard-widget-title, h3.dashboard-widget-title span, h3.dashboard-widget-title small, ul.view-switch li.current, .form-table tr, #poststuff h3, .login form {
+       background-color: #cfebf7;
+}
+
+div.ui-tabs-panel {
+       border-color: #cfebf7;
+}
+
+select {
+       background-color: #fff;
+       border-color: #ddd;
+}
+
+strong .post-com-count span {
+       background-color: #2583ad;
+}
+
+.button-secondary, #login form .submit input {
+       background-color: #8ebddc !important;
+}
+
+ul#widget-list li.widget-list-item h4.widget-title {
+       background-color: #f0f0f0;
+       color: #000;
+}
+
+ul.widget-control-list .sorthelper {
+       background-color: #ccf3fa;
+}
+
+.ac_match, .subsubsub a.current, h2 {
+       color: #000;
+}
+
+.ac_over {
+       background-color: #f0f0b8;
+}
+
+.ac_results {
+       background-color: #fff;
+       border-color: #808080;
+}
+
+.ac_results li {
+       color: #101010;
+}
+
+.alternate {
+       background-color: #f9f9f9;
+}
+
+.available-theme a.screenshot {
+       background-color: #f1f1f1;
+       border-color: #ccc;
+}
+
+.bar {
+       background-color: #e8e8e8;
+       border-right-color: #99d;
+}
+
+.describe {
+       border-top-color: #d0d0d0;
+}
+
+.error, #login #login_error {
+       background-color: #ffebe8;
+       border-color: #c00;
+}
+
+.error a {
+       color: #c00;
+}
+
+.form-invalid {
+       background-color: #ffebe8 !important;
+}
+
+.form-invalid input {
+       border-color: #c00 !important;
+}
+
+.form-table input, .form-table textarea {
+       border-color: #c6d9e9;
+}
+
+.form-table td, .form-table th {
+       border-bottom-color: #fff;
+}
+
+.highlight {
+       background-color: #cfebf7;
+       color: #d54e21;
+}
+
+.howto, .nonessential, #sidemenu, #edit-slug-box, .form-input-tip, #dashboard_primary span.rss-date, .subsubsub, #dashboard_secondary div.dashboard-widget-content ul li a cite {
+       color: #999;
+}
+
+#dashmenu a, #user_info a {
+       color: #88b4d7;
+}
+
+.media-item {
+       border-bottom-color: #d0d0d0;
+}
+
+.media-upload-form label.form-help, td.help {
+       color: #9a9a9a;
+}
+
+.page-numbers {
+       background-color: #fff;
+       border-color: #fff;
+}
+
+.page-numbers.current {
+       background-color: #328ab2;
+       border-color: #328ab2;
+       color: #fff;
+}
+
+.post-com-count {
+       background-image: url(../images/bubble_bg.gif);
+       color: #fff;
+}
+
+.post-com-count span {
+       background-color: #bbb;
+       color: #fff;
+}
+
+.post-com-count:hover span {
+       background-color: #d54e21;
+}
+
+.quicktags, .search {
+       background-color: #ccc;
+       color: #000;
+}
+
+.side-info h5, .bordertitle {
+       border-bottom-color: #dadada;
+}
+
+.side-info ul, .widget-description {
+       color: #666;
+}
+
+.submit input, .button, .button-secondary, #login form .submit input, div.dashboard-widget-submit input, #edit-slug-buttons a.save {
+       background-color: #e5e5e5;
+       color: #07273e;
+       border-color: #a3a3a3;
+}
+
+.button[disabled], .button:disabled {
+       background-color: #999;
+}
+
+.tablenav .button-secondary {
+       border-color: #5396c5;
+}
+
+.submit input:hover, .button:hover, #edit-slug-buttons a.save:hover {
+       border-color: #535353;
+}
+
+.submit input:hover, .button:hover, .button-secondary:hover, #wphead #viewsite a:hover, #submenu a.current, #submenu a:hover, .submitbox #previewview a:hover, #the-comment-list .comment a:hover, #rightnow a:hover, a:hover, .subsubsub a:hover, .subsubsub a.current:hover, #login form .submit input:hover, div.dashboard-widget-submit input:hover, #edit-slug-buttons a.save:hover {
+       color: #d54e21;
+}
+
+#adminmenu a:hover, #sidemenu a:hover {
+       color: #97c4d8;
+}
+
+.button-secondary:hover, #login form .submit input:hover {
+       border-color: #328ab2;
+       background-color: #a6d2e5 !important;
+}
+
+.submitbox #autosave .error, ul.view-switch li.current a {
+       color: #333;
+}
+
+.submitbox #previewview {
+       background-color: #5488af;
+}
+
+.submitbox #previewview a, #rightnow .rbutton {
+       background-color: #ebebeb;
+       color: #264761;
+}
+
+.submitbox .submit {
+       background-color: #464646;
+       color: #ccc;
+}
+
+.submitbox .submitdelete {
+       border-bottom-color: #999;
+}
+
+.submitbox .submitdelete:hover {
+       color: #fff;
+       background-color: #f00;
+       border-bottom-color: #f00;
+}
+
+.tablenav .dots {
+       background-color: #cfebf7;
+       border-color: #cfebf7;
+}
+
+.tablenav .next, .tablenav .prev{
+       background-color: #cfebf7;
+       border-bottom-color: #cfebf7;
+       border-color: #cfebf7;
+       color: #2583ad;
+}
+
+.tablenav .next:hover, .tablenav .prev:hover {
+       border-bottom-color: #d54e21;
+       border-color: #cfebf7;
+       color: #d54e21;
+}
+
+.updated, .login #login_error, .login .message {
+       background-color: #ffffe0;
+       border-color: #e6db55;
+}
+
+.updated a {
+       border-bottom-color: #2583ad;
+}
+
+.widefat td, .widefat th, div#available-widgets-filter, ul#widget-list li.widget-list-item, .commentlist li {
+       border-bottom-color: #ccc;
+}
+
+.widefat thead, .thead {
+       background-color: #464646;
+       color: #d7d7d7;
+}
+
+.widget-control-save, .widget-control-remove {
+       background-color: #83b4d5;
+       color: #246;
+}
+
+.wrap h2 {
+       border-bottom-color: #dadada;
+       color: #5a5a5a;
+}
+
+#poststuff #edButtonPreview, #poststuff #edButtonHTML, #the-comment-list p.comment-author strong a, a {
+       color: #2e7ca0;
+}
+
+#adminmenu a {
+       color: #cfebf6;
+}
+
+#submenu a {
+       color: #2782af
+}
+/* Because we don't want visited on these links */
+#adminmenu a.current, #sidemenu a.current {
+       background-color: #fff;
+       border-color: #07273e;
+       border-bottom-color: #fff;
+       color: #d54e21;
+       font-weight: bold;
+}
+
+#adminmenu li a #awaiting-mod {
+       background-image: url(../images/comment-stalk-classic.gif);
+}
+
+#adminmenu li a #awaiting-mod span {
+       background-color: #d54e21;
+       color: #fff;
+}
+
+#rightnow .reallynow {
+       background-color: #114973;
+       color: #fff;
+}
+
+
+#adminmenu li a:hover #awaiting-mod span {
+       background-color: #07273E;
+}
+
+#adminmenu, div#media-upload-header {
+       background-color: #14568a;
+       border-bottom-color: #07273e;
+}
+
+#currenttheme img {
+       border-color: #666;
+}
+
+#current-widgets .drop-widget-here {
+       background-color: #ffc;
+}
+
+#dashboard_secondary div.dashboard-widget-content ul li a {
+       background-color: #f9f9f9;
+}
+
+input.readonly {
+       background-color: #ddd;
+}
+
+#dashmenu a.current {
+       background-color: #14568a;
+       color: #cfebf6;
+}
+
+#dragHelper h4.widget-title, li.widget-list-control-item h4, #dragHelper li.widget-list-control-item h4 {
+       background-color: #2683ae;
+       color: #fff;
+}
+
+#ed_toolbar input {
+       background: url( ../images/fade-butt.png ) #fff repeat-x 0 -2px;
+}
+
+#editable-post-name {
+       background-color: #fffbcc;
+}
+
+#edit-slug-box strong, .login #nav a {
+       color: #777;
+}
+
+#edit-slug-buttons a.save {
+       background-color: #ebebeb;
+}
+
+#footer {
+       background: url(../images/logo-ghost.png) #464646 no-repeat 20px 10px;
+       color: #999;
+}
+
+#media-items {
+       border-color: #c0c0c0;
+}
+
+#pass-strength-result {
+       background-color: #e3e3e3;
+       border-color: #000;
+}
+
+#pass-strength-result.bad {
+       background-color: #ffeff7;
+       border-color: #c69;
+}
+
+#pass-strength-result.good {
+       background-color: #effff4;
+       border-color: #66cc87;
+}
+
+#pass-strength-result.short {
+       background-color: #e3e3e3;
+}
+
+#pass-strength-result.strong {
+       background-color: #59ef86;
+       border-color: #319f52;
+}
+
+.checkbox, .side-info, #your-profile #rich_editing {
+       background-color: #fff;
+}
+
+#plugins .active {
+       background-color: #BBEEBB;
+}
+
+#plugins .togl {
+       border-right-color: #ccc;
+}
+
+#the-comment-list .unapproved {
+       background-color: #ffffe0;
+}
+
+#plugins tr {
+       background-color: #fff;
+}
+
+#poststuff #editor-toolbar .active {
+       background-color: #83b4d5;
+       color: #333;
+}
+
+#poststuff .closed .togbox {
+       background-color: #2583ad;
+       background-image: url(../images/toggle-arrow.gif);
+}
+
+#poststuff .postbox, #titlediv, #poststuff .postarea, #poststuff .stuffbox {
+       border-color: #ebebeb;
+       border-right-color: #ccc;
+       border-bottom-color: #ccc;
+}
+
+#poststuff .togbox {
+       background-color: #b2b2b2;
+       background-image: url(../images/toggle-arrow.gif);
+}
+
+#quicktags #ed_link {
+       color: #00f;
+}
+
+#rightnow .youhave {
+       background-color: #f0f6fb;
+}
+
+#rightnow a {
+       color: #448abd;
+}
+
+#sidemenu a {
+       background-color: #14568a;
+       border-bottom-color: #07273e;
+       border-top-color: #14568a;
+       color: #cfebf6;
+}
+
+#tagchecklist span a {
+       background: url(../images/xit.gif) no-repeat;
+}
+
+#tagchecklist span a:hover {
+       background: url(../images/xit.gif) no-repeat -10px 0;
+}
+
+#the-comment-list .comment a {
+       border-bottom-color: #ababab;
+       color: #666;
+}
+
+#update-nag, .plugin-update {
+       background-color: #fffeeb;
+       border-bottom-color: #ccc;
+       border-top-color: #ccc;
+       color: #555;
+}
+
+#upload-files a.file-link {
+       background-color: #d1e2ef;
+}
+
+#upload-file-view a img {
+       border-bottom-color: #69c;
+}
+
+#upload-menu li #current-tab-nav, #upload-file {
+       background-color: #f9fcfe;
+}
+
+#upload-menu li span a.page-numbers {
+       color: #00019b;
+}
+
+#upload-menu li.current {
+       border-right-color: #448abd;
+       color: #000;
+}
+
+#upload-menu li.current a.upload-tab-link, #upload-menu li a:hover {
+       background-color: #f9fcfe;
+       color: #000;
+}
+
+#upload-menu, #upload-menu li {
+       border-top-color: #247fab;
+}
+
+#user_info, .login #backtoblog a {
+       color: #ccc;
+}
+
+#wphead {
+       background-color: #14568a;
+}
+
+#wphead, body.login {
+       border-top-color: #07273e;
+}
+
+#wphead #viewsite a {
+       background-color: #5488af;
+       color: #cfebf7;
+       border-color: #0b3d64;
+}
+
+#wphead #viewsite a:hover {
+       color: #07273e;
+}
+
+#wphead h1, #dashmenu a.current:hover {
+       color: #cfebf6;
+}
+
+div#media-upload-error, .file-error, abbr.required, .widget-control-remove:hover, .delete:hover {
+       color: #f00;
+}
+
+#media-upload a.delete { 
+       color: #888; 
+}
+
+
+/* TinyMCE */
+.wp_themeSkin *,
+.wp_themeSkin a:hover, 
+.wp_themeSkin a:link, 
+.wp_themeSkin a:visited, 
+.wp_themeSkin a:active {
+        color: #000;
+}
+
+/* Containers */
+.wp_themeSkin table {
+       background: #83B4D5;
+}
+
+.wp_themeSkin iframe {
+       background: #fff;
+}
+
+/* Layout */
+.wp_themeSkin .mceStatusbar {
+        color:#000;
+        background-color: #eaf3fa;
+}
+
+/* Button */
+.wp_themeSkin .mceButton { 
+       background-color: #e9e8e8;
+       border-color: #83B4D5;
+}
+
+.wp_themeSkin a.mceButtonEnabled:hover,
+.wp_themeSkin a.mceButtonActive, 
+.wp_themeSkin a.mceButtonSelected {
+       background-color: #d6d8da;
+       border-color: #7789ba !important;
+}
+
+.wp_themeSkin .mceButtonDisabled {
+       border-color: #83B4D5 !important;
+}
+
+/* ListBox */
+.wp_themeSkin .mceListBox .mceText,
+.wp_themeSkin .mceListBox .mceOpen  {
+       border-color: #83B4D5;
+       background-color: #e9e8e8;
+}
+
+.wp_themeSkin table.mceListBoxEnabled:hover .mceOpen, 
+.wp_themeSkin .mceListBoxHover .mceOpen,
+.wp_themeSkin .mceListBoxSelected .mceOpen,
+.wp_themeSkin .mceListBoxSelected .mceText {
+       border-color: #7789ba !important;
+       background-color: #d6d8da;
+}
+
+.wp_themeSkin table.mceListBoxEnabled:hover .mceText, 
+.wp_themeSkin .mceListBoxHover .mceText {
+       border-color: #7789ba !important;
+}
+
+.wp_themeSkin select.mceListBox {
+       border-color: #b3c7e1; 
+       background-color: #fff;
+}
+
+/* SplitButton */
+.wp_themeSkin .mceSplitButton a.mceAction, 
+.wp_themeSkin .mceSplitButton a.mceOpen {
+       background-color: #e9e8e8;
+       border-color: #83B4D5;
+}
+
+.wp_themeSkin .mceSplitButton a.mceOpen:hover,
+.wp_themeSkin .mceSplitButtonSelected a.mceOpen,
+.wp_themeSkin table.mceSplitButtonEnabled:hover a.mceAction,
+.wp_themeSkin .mceSplitButton a.mceAction:hover {
+       background-color: #d6d8da;
+       border-color: #7789ba !important;
+} 
+
+.wp_themeSkin .mceSplitButtonActive {
+       background-color: #d6d8da;
+}
+
+/* ColorSplitButton */
+.wp_themeSkin div.mceColorSplitMenu table {
+       background-color: #ebeaeb;
+       border-color: #808080;
+}
+
+.wp_themeSkin .mceColorSplitMenu a {
+       border-color: #808080;
+}
+
+.wp_themeSkin .mceColorSplitMenu a.mceMoreColors {
+       border-color: #fff;
+}
+
+.wp_themeSkin .mceColorSplitMenu a.mceMoreColors:hover {
+       border-color: #0A246A;
+       background-color: #B6BDD2;
+}
+
+.wp_themeSkin a.mceMoreColors:hover {
+       border-color: #0A246A;
+}
+
+/* Menu */
+.wp_themeSkin .mceMenu {
+       border-color: #ddd;
+}
+
+.wp_themeSkin .mceMenu table {
+       background-color: #ebeaeb;
+}
+
+.wp_themeSkin .mceMenu .mceText {
+       color: #000; 
+}
+
+.wp_themeSkin .mceMenu .mceMenuItemEnabled a:hover,
+.wp_themeSkin .mceMenu .mceMenuItemActive, #quicktags {
+       background-color: #83B4D5;
+}
+.wp_themeSkin td.mceMenuItemSeparator {
+       background-color: #aaa;
+}
+.wp_themeSkin .mceMenuItemTitle a {
+       background-color: #ccc; 
+       border-bottom-color: #aaa;
+}
+.wp_themeSkin .mceMenuItemTitle span.mceText {
+       color: #000;
+}
+.wp_themeSkin .mceMenuItemDisabled .mceText {
+       color: #888;
+}
+
+/* pop-up */
+.clearlooks2 .mceTop .mceLeft, .clearlooks2 .mceTop .mceRight {
+       background-color: #cee1ef;
+       border-color: #c6d9e9;
+}
+
+.clearlooks2 .mceFocus .mceTop .mceLeft, .clearlooks2 .mceFocus .mceTop .mceRight {
+       background-color: #5488AF;
+       border-color: #464646;
+}
+
+#editorcontainer {
+       border-color: #ccc;
+}
+
+#poststuff #titlewrap {
+       border-color: #ccc;
+}
+
+#tTips p#tTips_inside {
+       background-color: #ddd;
+       color: #333;
+}
diff --git a/wp-admin/css/colors-fresh-rtl.css b/wp-admin/css/colors-fresh-rtl.css
new file mode 100644 (file)
index 0000000..5d0d05c
--- /dev/null
@@ -0,0 +1,3 @@
+#poststuff .closed .togbox, #poststuff .togbox {
+background-image: url(../images/toggle-arrow-rtl.gif) !important;
+}
\ No newline at end of file
diff --git a/wp-admin/css/colors-fresh.css b/wp-admin/css/colors-fresh.css
new file mode 100644 (file)
index 0000000..1332c37
--- /dev/null
@@ -0,0 +1,690 @@
+a.page-numbers:hover {
+       border-color: #999;
+}
+
+body   {
+       background-color: #fff;
+       color: #333;
+}
+
+body > #upload-menu {
+       border-bottom-color: #fff;
+}
+
+div#current-widgets, #postcustomstuff table, #your-profile fieldset, a.page-numbers, #rightnow, div.dashboard-widget, .widefat {
+       border-color: #ccc;
+}
+
+div.dashboard-widget-error {
+       background-color: #c43;
+}
+
+div.dashboard-widget-notice {
+       background-color: #cfe1ef;
+}
+
+div.dashboard-widget-submit, ul.widget-control-list div.widget-control-actions {
+       border-top-color: #ccc;
+}
+
+div.ui-tabs-panel {
+       border-color: #cee1ef;
+}
+
+input.disabled, textarea.disabled {
+       background-color: #ccc;
+}
+
+#user_info a:hover, li.widget-list-control-item h4.widget-title a:hover, .submit a, #dashmenu a:hover, #footer a, #upload-menu li a.upload-tab-link, li.widget-list-control-item h4.widget-title a,
+#dragHelper li.widget-list-control-item h4.widget-title a,
+#draghelper li.widget-list-control-item h4.widget-title a:visited, .login #backtoblog a:hover {
+       color: #fff;
+}
+
+li.widget-list-control-item, div.nav, .tablenav, .submitbox, h3.dashboard-widget-title, h3.dashboard-widget-title span, h3.dashboard-widget-title small, ul.view-switch li.current, .form-table tr, #poststuff h3, .login form {
+       background-color: #eaf3fa;
+}
+
+select {
+       background-color: #fff;
+       border-color: #ddd;
+}
+
+strong .post-com-count span {
+       background-color: #2583ad;
+}
+
+ul#category-tabs li.ui-tabs-selected, .button-secondary, #quicktags, #login form .submit input {
+       background-color: #cee1ef !important;
+}
+
+ul#widget-list li.widget-list-item h4.widget-title {
+       background-color: #f0f0f0;
+       color: #000;
+}
+
+ul.widget-control-list .sorthelper {
+       background-color: #ccf3fa;
+}
+
+.ac_match, .subsubsub a.current, h2 {
+       color: #000;
+}
+
+.ac_over {
+       background-color: #f0f0b8;
+}
+
+.ac_results {
+       background-color: #fff;
+       border-color: #808080;
+}
+
+.ac_results li {
+       color: #101010;
+}
+
+.alternate {
+       background-color: #f9f9f9;
+}
+
+.available-theme a.screenshot {
+       background-color: #f1f1f1;
+       border-color: #ccc;
+}
+
+.bar {
+       background-color: #e8e8e8;
+       border-right-color: #99d;
+}
+
+.describe {
+       border-top-color: #d0d0d0;
+}
+
+.error, #login #login_error {
+       background-color: #ffebe8;
+       border-color: #c00;
+}
+
+.error a {
+       color: #c00;
+}
+
+.form-invalid {
+       background-color: #ffebe8 !important;
+}
+
+.form-invalid input {
+       border-color: #c00 !important;
+}
+
+.form-table input, .form-table textarea {
+       border-color: #c6d9e9;
+}
+
+.form-table td, .form-table th {
+       border-bottom-color: #fff;
+}
+
+.highlight {
+       background-color: #e4f2fd;
+       color: #d54e21;
+}
+
+#user_info, .howto, .nonessential, #dashmenu a, #sidemenu, #edit-slug-box, .form-input-tip, #dashboard_primary span.rss-date, .subsubsub, #dashboard_secondary div.dashboard-widget-content ul li a cite {
+       color: #999;
+}
+
+.media-item {
+       border-bottom-color: #d0d0d0;
+}
+
+.media-upload-form label.form-help, td.help {
+       color: #9a9a9a;
+}
+
+.page-numbers {
+       background-color: #fff;
+       border-color: #fff;
+}
+
+.page-numbers.current {
+       background-color: #328ab2;
+       border-color: #328ab2;
+       color: #fff;
+}
+
+.post-com-count {
+       background-image: url(../images/bubble_bg.gif);
+       color: #fff;
+}
+
+.post-com-count span {
+       background-color: #bbb;
+       color: #fff;
+}
+
+.post-com-count:hover span {
+       background-color: #d54e21;
+}
+
+.quicktags, .search {
+       background-color: #ccc;
+       color: #000;
+}
+
+.side-info h5, .bordertitle {
+       border-bottom-color: #dadada;
+}
+
+.side-info ul, .widget-description {
+       color: #666;
+}
+
+.submit input, .button, .button-secondary, #login form .submit input, div.dashboard-widget-submit input, #edit-slug-buttons a.save {
+       background-color: #e5e5e5;
+       color: #246;
+       border-color: #80b5d0;
+}
+
+.button[disabled], .button:disabled {
+       background-color: #999;
+}
+
+.submit input:hover, .button:hover, #edit-slug-buttons a.save:hover {
+       border-color: #535353;
+}
+
+.submit input:hover, .button:hover, .button-secondary:hover, #wphead #viewsite a:hover, #adminmenu a:hover, #sidemenu a:hover, #submenu a.current, #submenu a:hover, .submitbox #previewview a:hover, #the-comment-list .comment a:hover, #rightnow a:hover, a:hover, .subsubsub a:hover, .subsubsub a.current:hover, #login form .submit input:hover, div.dashboard-widget-submit input:hover, #edit-slug-buttons a.save:hover, #media-upload a.delete:hover {
+       color: #d54e21;
+}
+
+.button-secondary:hover, #login form .submit input:hover {
+       border-color: #328ab2;
+}
+
+.submitbox #autosave .error, ul.view-switch li.current a {
+       color: #333;
+}
+
+.submitbox #previewview {
+       background-color: #2683ae;
+}
+
+.submitbox #previewview a, #rightnow .rbutton {
+       background-color: #ebebeb;
+       color: #264761;
+}
+
+.submitbox .submit {
+       background-color: #464646;
+       color: #ccc;
+}
+
+.submitbox .submitdelete {
+       border-bottom-color: #999;
+}
+
+.submitbox .submitdelete:hover {
+       color: #fff;
+       background-color: #f00;
+       border-bottom-color: #f00;
+}
+
+.tablenav .dots {
+       background-color: #e4f2fd;
+       border-color: #e4f2fd;
+}
+
+.tablenav .next, .tablenav .prev{
+       background-color: #e4f2fd;
+       border-bottom-color: #2583ad;
+       border-color: #e4f2fd;
+       color: #2583ad;
+}
+
+.tablenav .next:hover, .tablenav .prev:hover {
+       border-bottom-color: #d54e21;
+       border-color: #e4f2fd;
+       color: #d54e21;
+}
+
+.updated, .login #login_error, .login .message {
+       background-color: #ffffe0;
+       border-color: #e6db55;
+}
+
+.updated a {
+       border-bottom-color: #2583ad;
+}
+
+.widefat td, .widefat th, div#available-widgets-filter, ul#widget-list li.widget-list-item, .commentlist li {
+       border-bottom-color: #ccc;
+}
+
+.widefat thead, .thead {
+       background-color: #464646;
+       color: #d7d7d7;
+}
+
+.widget-control-save, .widget-control-remove {
+       background-color: #cee1ef;
+       color: #246;
+}
+
+.wrap h2 {
+       border-bottom-color: #dadada;
+       color: #666;
+}
+
+#adminmenu a, #submenu a, #poststuff #edButtonPreview, #poststuff #edButtonHTML, #the-comment-list p.comment-author strong a, a {
+       color: #2583ad;
+}
+
+/* Because we don't want visited on these links */
+#adminmenu a.current, #sidemenu a.current {
+       background-color: #fff;
+       border-color: #c6d9e9;
+       border-bottom-color: #fff;
+       color: #d54e21;
+}
+
+#adminmenu li a #awaiting-mod {
+       background-image: url(../images/comment-stalk-fresh.gif);
+}
+
+#adminmenu li a #awaiting-mod span, #rightnow .reallynow {
+       background-color: #d54e21;
+       color: #fff;
+}
+
+#adminmenu li a:hover #awaiting-mod span {
+       background-color: #264761;
+}
+
+#adminmenu, div#media-upload-header {
+       background-color: #e4f2fd;
+       border-bottom-color: #c6d9e9;
+}
+
+#currenttheme img {
+       border-color: #666;
+}
+
+#current-widgets .drop-widget-here {
+       background-color: #ffc;
+}
+
+#dashboard_secondary div.dashboard-widget-content ul li a {
+       background-color: #f9f9f9;
+}
+
+input.readonly {
+       background-color: #ddd;
+}
+
+#dashmenu a.current {
+       background-color: #e4f2fd;
+       color: #555;
+}
+
+#dragHelper h4.widget-title, li.widget-list-control-item h4, #dragHelper li.widget-list-control-item h4 {
+       background-color: #2683ae;
+       color: #fff;
+}
+
+#ed_toolbar input {
+       background: url( ../images/fade-butt.png ) #fff repeat-x 0 -2px;
+}
+
+#editable-post-name {
+       background-color: #fffbcc;
+}
+
+#edit-slug-box strong, .login #nav a {
+       color: #777;
+}
+
+#footer {
+       background: url(../images/logo-ghost.png) #464646 no-repeat 20px 10px;
+       color: #999;
+}
+
+#media-items {
+       border-color: #c0c0c0;
+}
+
+#pass-strength-result {
+       background-color: #e3e3e3;
+       border-color: #000;
+}
+
+#pass-strength-result.bad {
+       background-color: #ffeff7;
+       border-color: #c69;
+}
+
+#pass-strength-result.good {
+       background-color: #effff4;
+       border-color: #66cc87;
+}
+
+#pass-strength-result.short {
+       background-color: #e3e3e3;
+}
+
+#pass-strength-result.strong {
+       background-color: #59ef86;
+       border-color: #319f52;
+}
+
+.checkbox, .side-info, #your-profile #rich_editing {
+       background-color: #fff;
+}
+
+#plugins .active {
+       background-color: #e7f7d3;
+}
+
+#plugins .togl {
+       border-right-color: #ccc;
+}
+
+#the-comment-list .unapproved {
+       background-color: #ffffe0;
+}
+
+#plugins tr {
+       background-color: #fff;
+}
+
+#poststuff #editor-toolbar .active {
+       background-color: #cee1ef;
+       color: #333;
+}
+
+#poststuff .closed .togbox {
+       background-color: #2583ad;
+       background-image: url(../images/toggle-arrow.gif);
+}
+
+#poststuff .postbox, #titlediv, #poststuff .postarea, #poststuff .stuffbox {
+       border-color: #ebebeb;
+       border-right-color: #ccc;
+       border-bottom-color: #ccc;
+}
+
+#poststuff .togbox {
+       background-color: #b2b2b2;
+       background-image: url(../images/toggle-arrow.gif);
+}
+
+#quicktags #ed_link {
+       color: #00f;
+}
+
+#rightnow .youhave {
+       background-color: #f0f6fb;
+}
+
+#rightnow a {
+       color: #448abd;
+}
+
+#sidemenu a {
+       background-color: #e4f2fd;
+       border-bottom-color: #c6d9e9;
+       border-top-color: #e4f2fd;
+}
+
+#tagchecklist span a {
+       background: url(../images/xit.gif) no-repeat;
+}
+
+#tagchecklist span a:hover {
+       background: url(../images/xit.gif) no-repeat -10px 0;
+}
+
+#the-comment-list .comment a {
+       border-bottom-color: #ababab;
+       color: #666;
+}
+
+#update-nag, .plugin-update {
+       background-color: #fffeeb;
+       border-bottom-color: #ccc;
+       border-top-color: #ccc;
+       color: #555;
+}
+
+#upload-files a.file-link {
+       background-color: #d1e2ef;
+}
+
+#upload-file-view a img {
+       border-bottom-color: #69c;
+}
+
+#upload-menu li #current-tab-nav, #upload-file {
+       background-color: #f9fcfe;
+}
+
+#upload-menu li span a.page-numbers {
+       color: #00019b;
+}
+
+#upload-menu li.current {
+       border-right-color: #448abd;
+       color: #000;
+}
+
+#upload-menu li.current a.upload-tab-link, #upload-menu li a:hover {
+       background-color: #f9fcfe;
+       color: #000;
+}
+
+#upload-menu, #upload-menu li {
+       border-top-color: #247fab;
+}
+
+.login #backtoblog a, .curtime, #user_info a {
+       color: #ccc;
+}
+
+#wphead {
+       background-color: #e4f2fd;
+}
+
+#wphead, body.login {
+       border-top-color: #464646;
+}
+
+#wphead #viewsite a {
+       background-color: #c6d9e9;
+       color: #246;
+       border-color: #80b5d0;
+}
+
+#wphead #viewsite a:hover {
+       border-color: #328ab2;
+}
+
+#wphead h1, #dashmenu a.current:hover, #login form input {
+       color: #555;
+}
+
+div#media-upload-error, .file-error, abbr.required, .widget-control-remove:hover, .delete:hover {
+       color: #f00;
+}
+
+#media-upload a.delete {
+       color: #888;
+}
+
+/* TinyMCE */
+.wp_themeSkin *,
+.wp_themeSkin a:hover, 
+.wp_themeSkin a:link, 
+.wp_themeSkin a:visited, 
+.wp_themeSkin a:active {
+        color: #000;
+}
+
+/* Containers */
+.wp_themeSkin table {
+       background: #cee1ef;
+}
+
+.wp_themeSkin iframe {
+       background: #fff;
+}
+
+/* Layout */
+.wp_themeSkin .mceStatusbar {
+        color:#000;
+        background-color: #eaf3fa;
+}
+
+/* Button */
+.wp_themeSkin .mceButton { 
+       background-color: #e9e8e8;
+       border-color: #abc0fb;
+}
+
+.wp_themeSkin a.mceButtonEnabled:hover,
+.wp_themeSkin a.mceButtonActive, 
+.wp_themeSkin a.mceButtonSelected {
+       background-color: #d6d8da;
+       border-color: #7789ba !important;
+}
+
+.wp_themeSkin .mceButtonDisabled {
+       border-color: #bdd !important;
+}
+
+/* ListBox */
+.wp_themeSkin .mceListBox .mceText,
+.wp_themeSkin .mceListBox .mceOpen  {
+       border-color: #abc0fb;
+       background-color: #e9e8e8;
+}
+
+.wp_themeSkin table.mceListBoxEnabled:hover .mceOpen, 
+.wp_themeSkin .mceListBoxHover .mceOpen,
+.wp_themeSkin .mceListBoxSelected .mceOpen,
+.wp_themeSkin .mceListBoxSelected .mceText {
+       border-color: #7789ba !important;
+       background-color: #d6d8da;
+}
+
+.wp_themeSkin table.mceListBoxEnabled:hover .mceText, 
+.wp_themeSkin .mceListBoxHover .mceText {
+       border-color: #7789ba !important;
+}
+
+.wp_themeSkin select.mceListBox {
+       border-color: #b3c7e1; 
+       background-color: #fff;
+}
+
+/* SplitButton */
+.wp_themeSkin .mceSplitButton a.mceAction, 
+.wp_themeSkin .mceSplitButton a.mceOpen {
+       background-color: #e9e8e8;
+       border-color: #abc0fb;
+}
+
+.wp_themeSkin .mceSplitButton a.mceOpen:hover,
+.wp_themeSkin .mceSplitButtonSelected a.mceOpen,
+.wp_themeSkin table.mceSplitButtonEnabled:hover a.mceAction,
+.wp_themeSkin .mceSplitButton a.mceAction:hover {
+       background-color: #d6d8da;
+       border-color: #7789ba !important;
+} 
+
+.wp_themeSkin .mceSplitButtonActive {
+       background-color: #d6d8da;
+}
+
+/* ColorSplitButton */
+.wp_themeSkin div.mceColorSplitMenu table {
+       background-color: #ebeaeb;
+       border-color: #808080;
+}
+
+.wp_themeSkin .mceColorSplitMenu a {
+       border-color: #808080;
+}
+
+.wp_themeSkin .mceColorSplitMenu a.mceMoreColors {
+       border-color: #fff;
+}
+
+.wp_themeSkin .mceColorSplitMenu a.mceMoreColors:hover {
+       border-color: #0A246A;
+       background-color: #B6BDD2;
+}
+
+.wp_themeSkin a.mceMoreColors:hover {
+       border-color: #0A246A;
+}
+
+/* Menu */
+.wp_themeSkin .mceMenu {
+       border-color: #ddd;
+}
+
+.wp_themeSkin .mceMenu table {
+       background-color: #ebeaeb;
+}
+
+.wp_themeSkin .mceMenu .mceText {
+       color: #000; 
+}
+
+.wp_themeSkin .mceMenu .mceMenuItemEnabled a:hover,
+.wp_themeSkin .mceMenu .mceMenuItemActive {
+       background-color: #CEE1EF;
+}
+.wp_themeSkin td.mceMenuItemSeparator {
+       background-color: #aaa;
+}
+.wp_themeSkin .mceMenuItemTitle a {
+       background-color: #ccc; 
+       border-bottom-color: #aaa;
+}
+.wp_themeSkin .mceMenuItemTitle span.mceText {
+       color: #000;
+}
+.wp_themeSkin .mceMenuItemDisabled .mceText {
+       color: #888;
+}
+
+/* pop-up */
+.clearlooks2 .mceTop .mceLeft, .clearlooks2 .mceTop .mceRight {
+       background-color: #cee1ef;
+       border-color: #c6d9e9;
+}
+
+.clearlooks2 .mceFocus .mceTop .mceLeft, .clearlooks2 .mceFocus .mceTop .mceRight {
+       background-color: #2683ae;
+       border-color: #464646;
+}
+
+#editorcontainer {
+       border-color: #ccc;
+}
+
+#poststuff #titlewrap {
+       border-color: #ccc;
+}
+
+.curtime {
+       color: #666;
+}
+
+#tTips p#tTips_inside {
+       background-color: #ddd;
+       color: #333;
+}
diff --git a/wp-admin/css/dashboard-rtl.css b/wp-admin/css/dashboard-rtl.css
new file mode 100644 (file)
index 0000000..29e59cf
--- /dev/null
@@ -0,0 +1,62 @@
+#rightnow {
+       margin-left: 15px;
+}
+
+#rightnow .reallynow span {
+       text-align: right;
+       float: right;
+}
+
+#rightnow .reallynow a {
+       text-align: left;
+       float: left;
+       margin: 1px 0 0 6px;
+}
+
+h3.dashboard-widget-title span {
+       text-align: right;
+       float: right;
+}
+
+#dashboard-widgets .widget_rss ul li a {
+       float:right;
+       font-weight:bold;
+       margin:0pt 0pt 0.2em 0.5em;
+}
+
+#dashboard-widgets .widget_rss ul li span.rss-date {
+       float: right;
+}
+
+h3.dashboard-widget-title small {
+       text-align: left;
+       float: left;
+}
+div.dashboard-widget-content ul,
+div.dashboard-widget-content ol,
+div.dashboard-widget-content dl {
+       padding-left:0;
+       padding-right:15px;
+}
+div#dashboard-widgets-wrap
+{
+       margin-right:0;
+       margin-left:-10px;
+}
+
+div.dashboard-widget {
+       margin-right:0;
+       margin-left:20px;
+}
+
+#dashboard-widgets .widget_rss ul li span.rss-date {
+       float:right;
+}
+#dashboard-widgets .widget_rss ul li a {
+       float:right;
+       margin:0 0 0.2em 0.5em;
+}
+#dashboard_secondary div.dashboard-widget-content ul li a {
+       border-right:0 none;
+       border-left:1px solid #DADADA;
+}
\ No newline at end of file
diff --git a/wp-admin/css/dashboard.css b/wp-admin/css/dashboard.css
new file mode 100644 (file)
index 0000000..eb07f86
--- /dev/null
@@ -0,0 +1,282 @@
+/* Right Now */
+
+#rightnow {
+       border-width: 1px;
+       border-style: solid;
+       padding: 2px;
+       margin-top: 10px;
+       margin-right: 7px;
+}
+
+#rightnow .reallynow {
+       padding: 6px;
+       font-size: 15px;
+       line-height: 2;
+       margin: 0;
+}
+
+#rightnow .rbutton {
+       font-weight: normal;
+       padding: 6px;
+       border-bottom: none;
+       -moz-border-radius: 2px;
+       -khtml-border-radius: 2px;
+       -webkit-border-radius: 2px;
+       border-radius: 2px;
+       text-decoration: none;
+}
+
+#rightnow .reallynow span {
+       display: block;
+       text-align: left;
+       float: left;
+       padding: 0 6px;
+}
+
+#rightnow .reallynow a {
+       display: block;
+       text-align: right;
+       float: right;
+       padding: 0 6px;
+       font-size: 14px;
+       margin: 1px 6px 0 0;
+}
+
+#rightnow .youhave {
+       font-size:  14px;
+       padding: 10px;
+}
+
+#rightnow h3, #rightnow p {
+       padding: 0 10px;
+}
+
+#rightnow a {
+       font-weight: bold;
+}
+
+/* Widgets */
+
+div#dashboard-widgets-wrap {
+       margin-top: -20px;
+       margin-right: -13px; /* 20 (div.dashboard-widget margin-right) - 7 (#rightnow margin-right) */
+}
+
+div#dashboard-widgets {
+       width: 100%;
+}
+
+div.dashboard-widget-holder {  
+       margin-top: 20px;
+       width: 50%;
+       float: left;
+}
+
+div.dashboard-widget-holder.third {
+       width: 33.3%;
+}
+
+div.dashboard-widget-holder.fourth {
+       width: 25%;
+}
+
+div.dashboard-widget-holder.full {
+       width: 100%;
+}
+
+div.dashboard-widget-holder.double div.dashboard-widget {
+       height: 54em;
+       padding-bottom: 28px /* lame */
+}
+
+div.dashboard-widget {
+       position: relative;
+       margin-right: 20px;
+       border-width: 1px;
+       border-style: solid;
+       padding: 2px;
+       height: 27em;
+       overflow: auto;
+       font-size: 11px;
+}
+
+h3.dashboard-widget-title  {
+       margin: 0;
+       padding: 0 7px;
+       font-size: 14px;
+       line-height: 2;
+}
+
+h3.dashboard-widget-title span {
+       display: block;
+       text-align: left;
+       float: left;
+}
+
+h3.dashboard-widget-title small {
+       display: block;
+       text-align: right;
+       float: right;
+       font-size: 75%;
+       line-height: 2.67; /* math: it works, bitches */
+}
+
+h3.dashboard-widget-title img.rss-icon {
+       vertical-align: middle;
+       margin: .5em 0;
+}
+
+div.dashboard-widget-notice {
+       padding: 0 14px;
+       font-size: 1.2em;
+       line-height: 2;
+}
+
+div.dashboard-widget-error {
+       padding: 0 20px;
+       font-size: 1.2em;
+       line-height: 2;
+}
+
+div.dashboard-widget-content {
+       padding: 10px 15px;
+}
+
+div.dashboard-widget-submit {
+       border-top: 1px solid #ccc;
+       padding: 1em 0 0 0;
+       margin: 10px 0 0 0;
+}
+div.dashboard-widget-submit input {
+       font-family: "Lucida Grande", "Lucida Sans Unicode", Tahoma, Verdana, sans-serif;
+       padding: 4px 6px;
+       border: none;
+       font-size: 13px;
+       -moz-border-radius: 3px;
+       -khtml-border-radius: 3px;
+       -webkit-border-radius: 3px;
+       border-radius: 3px;
+       cursor: pointer;
+       text-decoration: none;  
+}
+
+div.dashboard-widget-content ul, div.dashboard-widget-content ol, div.dashboard-widget-content dl {
+       margin: 0;
+       text-indent: 0;
+       padding-left: 15px;
+}
+div.dashboard-widget-content li {
+       margin: .5em 0 1em;
+}
+
+div.dashboard-widget-content blockquote {
+       margin: -1em 0;
+}
+
+div#dashboard_recent_comments p {
+       font-size: 14px;
+}
+
+div.dashboard-widget-content p.comment-meta {
+       font-size: 11px !important;
+}
+
+#dashboard_secondary div.dashboard-widget {
+       height: auto;
+}
+
+#dashboard_secondary div.dashboard-widget-content ul {
+       list-style: none;
+       padding: 0;
+}
+
+#dashboard_secondary div.dashboard-widget-content ul li {
+       display: block;
+       width: 19.95%;
+       padding-bottom: 10px;
+       margin: 0;
+       float: left;
+       font-size: 95%;
+}
+
+#dashboard_secondary div.dashboard-widget-content {
+       margin: 10px 5px;
+       padding: 0;
+}
+
+#dashboard_secondary div.dashboard-widget-content ul li .post {
+       display:block;
+       font-family:Georgia,"Times New Roman",Times,serif;
+       font-size:18px;
+       line-height: 1.2em;
+       height:90px;
+       overflow:hidden;
+}
+
+#dashboard_secondary div.dashboard-widget-content ul li a {
+       display: block;
+       height:100%;
+       overflow:hidden;
+       margin: 5px 10px;
+       text-decoration: none;
+       padding: .5em;
+       border-right: 1px solid #dadada;
+       border-bottom: 1px solid #dadada;
+}
+
+#dashboard_secondary div.dashboard-widget-content ul li a cite {
+       display: block;
+       font-family: "Lucida Sans", "Lucida Grande", "Lucida Sans Unicode", Tahoma, Verdana, sans-serif;
+}
+
+#dashboard-widgets .widget_rss ul {
+       list-style: none;
+       padding: 0;
+}
+
+#dashboard-widgets .widget_rss ul li {
+       clear: both;
+}
+
+#dashboard-widgets .widget_rss ul li span.rss-date {
+       float: left;
+       margin: 0;
+}
+
+#dashboard-widgets .widget_rss ul li a {
+       float: left;
+       margin: 0 .5em .2em 0;
+       font-weight: bold;
+}
+
+#dashboard-widgets .widget_rss ul li div {
+       clear: both;
+       line-height: 1.5em;
+}
+
+#dashboard_primary a.rsswidget, #dashboard_plugins h5 {
+       font-size: 14px;
+}
+
+#dashboard_primary span.rss-date {
+       font-size: 14px;
+}
+
+#dashboard_plugins h4 {
+       font-size: 1em;
+       margin: 0 0 .1em;
+}
+
+#dashboard_plugins h5 {
+       margin: 0;
+       display: inline;
+       line-height: 1.4em;
+}
+
+#dashboard_plugins p {
+       margin: 0 0 1em;
+       line-height: 1.5em;
+}
+
+.widget-loading {
+}
diff --git a/wp-admin/css/global.css b/wp-admin/css/global.css
new file mode 100644 (file)
index 0000000..926aa88
--- /dev/null
@@ -0,0 +1,196 @@
+/* styles for use by people extending the WordPress interface */
+
+
+body   {
+       margin: 0;
+       padding: 0;
+}
+
+body, td {
+       font: 13px "Lucida Grande", "Lucida Sans Unicode", Tahoma, Verdana, sans-serif;
+}
+
+form, label input { margin: 0; padding: 0; }
+
+img { border: 0; }
+
+label { cursor: pointer; }
+
+li, dd { margin-bottom: 6px; }
+
+p, li, dl, dd, dt { line-height: 140%; }
+
+textarea, input, select {
+       font: 13px Verdana, Arial, Helvetica, sans-serif;
+       margin: 1px;
+       padding: 3px;
+}
+
+.alignleft { float: left; }
+.alignright { float: right; }
+
+.textleft { text-align: left; }
+.textright { text-align: right; }
+
+.clear { clear: both; height: 2px; }
+
+.hidden { display: none; }
+
+h1 {
+  display: block;
+  font-size: 2em;
+  font-weight: bold;
+  margin: .67em 0;
+}
+
+h2 {
+  display: block;
+  font-size: 1.5em;
+  font-weight: bold;
+  margin: .83em 0;
+}
+
+h3 {
+  display: block;
+  font-size: 1.17em;
+  font-weight: bold;
+  margin: 1em 0;
+}
+
+h4 {
+  display: block;
+  font-weight: bold;
+  margin: 1.33em 0;
+}
+
+h5 {
+  display: block;
+  font-size: 0.83em;
+  font-weight: bold;
+  margin: 1.67em 0;
+}
+
+h6 {
+  display: block;
+  font-size: 0.67em;
+  font-weight: bold;
+  margin: 2.33em 0;
+}
+
+.subsubsub {
+       list-style: none;
+       margin: 14px 0 8px 0;
+       padding: 0;
+       white-space: nowrap;
+       font-size: 12px;
+}
+
+.subsubsub a { line-height: 200%; padding: 3px; text-decoration: none; }
+
+.subsubsub a.current { font-weight: bold; background: none; border: none;}
+
+.subsubsub li { display: inline; margin: 0; padding: 0; }
+
+.widefat {
+       border-width: 1px;
+       border-style: solid;
+       border-collapse: collapse;
+       width: 100%;
+       clear: both;
+       margin: 0;
+}
+
+.widefat a {
+       text-decoration: none;
+}
+
+.widefat abbr {
+       white-space: nowrap;
+}
+
+.widefat td, .widefat th {
+       border-bottom-width: 1px;
+       border-bottom-style: solid;
+       border-bottom-color: #ccc;
+       font-size: 11px;
+       vertical-align: text-top;
+}
+
+.widefat td {
+       padding: 7px 15px 9px 10px;
+       vertical-align: top;
+}
+
+.widefat th {
+       padding: 9px 15px 6px 10px;
+       text-align: left;
+       line-height: 1.3em;
+}
+
+.widefat th input {
+       margin: 0 0 0 8px;
+       padding: 0;
+}
+
+.widefat .check-column {
+       text-align: right;
+       width: 1.5em;
+       padding: 0;
+
+}
+
+.widefat tbody th.check-column {
+       padding: 8px 0 22px;
+}
+/*
+th.check-column + th, th.check-column + td {
+       padding-left: 5px;
+}
+*/
+.widefat .num {
+       text-align: center;
+}
+
+.wrap, .updated, .error {
+       margin: 0;
+       margin-left: 15px;
+       margin-right: 15px;
+       padding: 0;
+       max-width: 980px;
+}
+
+.updated, .error {
+       border-width: 1px;
+       border-style: solid;
+       padding: 0 0.6em;
+       max-width: 950px;
+       margin-bottom: 1em;
+}
+
+.updated p, .error p {
+       margin: 0.6em 0;
+}
+
+.wrap .updated, .wrap .error {
+       margin: auto 0 0;
+}
+
+.updated a, .error a {
+       text-decoration: underline;
+}
+
+.updated a {
+       text-decoration: none;
+       padding-bottom: 2px;
+}
+
+.wrap h2 {
+       border-bottom-width: 1px;
+       border-bottom-style: solid;
+       clear: both;
+       font: 24px Georgia, "Times New Roman", Times, serif;
+       margin: 5px 0 0 -4px;
+       padding: 0;
+       padding-bottom: 7px;
+       padding-right: 280px;
+}
diff --git a/wp-admin/css/ie-rtl.css b/wp-admin/css/ie-rtl.css
new file mode 100644 (file)
index 0000000..54cadd0
--- /dev/null
@@ -0,0 +1,53 @@
+/* footer */
+body, td {
+       font-family: Tahoma,Verdana,sans-serif;
+}
+
+.wrap {
+       text-align: right;
+}
+
+.wrap h2 {
+       margin: 5px 0 0 4px;
+}
+
+#footer {
+       padding-left:50px;
+}
+#footer p {
+       background:none;
+       height:auto;
+       padding: 5px 5px 0;
+}
+
+#bh {
+       padding-left: 15px;
+       padding-right: 0px;
+}
+/* write post */
+#poststuff .togbox {
+       margin-right:-16px;
+}
+#poststuff h3 {
+       padding-right:20px;
+}
+
+p#widget-search, p#post-search {
+       padding-left: 15px;
+}
+
+.widefat th {
+       padding-bottom: 8px;
+}
+
+/* template editor */
+#template textarea {
+       float:left;
+}
+
+/* Editor */
+
+.mceToolbar {
+       direction: ltr;
+       text-align: left;
+}
\ No newline at end of file
diff --git a/wp-admin/css/ie.css b/wp-admin/css/ie.css
new file mode 100644 (file)
index 0000000..39ef254
--- /dev/null
@@ -0,0 +1,141 @@
+/* Fixes for IE bugs */
+
+#poststuff .postbox h3 {
+       padding-left: 23px;
+}
+
+#submenu li a.current {
+       background:none;
+       border:none;
+}
+
+* html body.minwidth {
+       _width: expression(document.documentElement.clientWidth < 810 ? "808px" : "99.9%");
+}
+
+* html #wpbody {
+       _width: expression(document.documentElement.clientWidth > 982 ? "980px" : "99.9%");
+}
+
+* html #poststuff .postarea, * html #poststuff #titlediv {
+       width: 95%;
+       margin-left: 3%;
+}
+
+.submitbox {
+       margin-top: 10px;
+}
+
+* html div.widget-liquid-left-holder, * html div.widget-liquid-right {
+       display: block;
+       position: relative;
+}
+
+#wpwrap, #wpcontent, #post, #wrap, #postdivrich, #postdiv, #poststuff, #titlediv, #post-body, #editorcontainer, .tablenav, .widget-control-list, li.widget-list-control-item, #dragHelper, li.widget-list-control-item h4, .widget-sortable, .widget-control-actions {
+       display: block;
+       zoom: 100%;
+}
+
+* html #editorcontainer {
+       padding: 0;
+}
+
+* html #editorcontainer #content {
+       position: relative;
+       overflow: auto;
+       padding: 6px;
+       margin: auto;
+       width: 98%;
+}
+
+form#template div {
+       width: 100%;
+}
+
+#ed_toolbar input {
+       overflow: visible;
+       padding: 0 4px;
+}
+
+#poststuff h2 {
+       font-size: 1.6em;
+}
+
+* html #poststuff h2 {
+       margin-left: 0;
+}
+
+#bh {
+       padding-right: 15px;
+}
+
+/* without this dashboard widgets appear in one column for some screen widths */
+div#dashboard-widgets {
+       padding-right: 1px;
+}
+
+#tagchecklist {
+       display: block;
+       zoom: 100%;
+}
+
+#tagchecklist span, #tagchecklist span a {
+       display: inline-block;
+       display: block;
+}
+
+#tagchecklist span a {
+       margin: 4px 0 0 -9px;
+}
+
+#poststuff .togbox {
+       margin-left: -19px;
+}
+
+.tablenav .button-secondary, .nav .button-secondary {
+       padding: 0 1px;
+       vertical-align: middle;
+}
+
+.tablenav select {
+       font-size: 13px;
+       display: inline-block;
+       vertical-align: top;
+       margin-top: 2px;
+}
+
+.tablenav-pages .page-numbers {
+       display: inline-block;
+}
+
+.tablenav-pages {
+       display: block;
+       margin-top: -3px;
+
+}
+
+#post-search .button, #widget-search .button {
+       padding: 1px;
+}
+
+.widefat tr, .widefat th {
+       margin-bottom: 0;
+       border-spacing: 0;
+}
+
+.widefat th input {
+       margin: 0 0 0 5px;
+}
+
+.widefat .check-column {
+       padding: 6px 0 2px;
+}
+
+.widefat tbody th.check-column {
+       padding: 4px 0 22px;
+}
+
+.tablenav a.button-secondary {
+       display: inline-block;
+       padding: 2px 5px;
+}
index 69127362c05313307ce8a5093f22d224848a9f2e..806dbc54b187204c59b660e3048c65d5e5a6c524 100644 (file)
@@ -1,15 +1,19 @@
-body { font: 13px Tahoma, Georgia, "Times New Roman", Times, serif; }
-
-ul, ol { padding: 5px 20px 5px 5px; }
-
-h1, h2, h3 { font-family: "Times New Roman", Times, serif; font-weight: 700 }
-
-.step, th { text-align: left }
-
-input { font-family: "Times New Roman", Times, serif; padding: 1px }
-
-#logo {        background: url(../wp-content/plugins/WP-Jalali/wp-fa-logo.png) center right no-repeat; text-align: left; }
-
-#admin_email {direction: ltr; text-align: left; }
-
-#footer { font-style: normal; }
\ No newline at end of file
+body {
+       font-size: 11px;;
+}
+ul, ol {
+       padding: 5px 22px 5px 5px;
+}
+.form-table th {
+       text-align: right;
+}
+input {
+       padding: 1px
+}
+#logo {
+       text-align: left;
+}
+#admin_email {
+       direction: ltr;
+       text-align: left;
+}
\ No newline at end of file
index 5eb85cd3165d73a8d897258a9262ab4d3859d1af..5f4164c6155fe98900b765419726d62de36b488d 100644 (file)
-html { background: #eee; }
+html { background: #f1f1f1; }
 
 body {
        background: #fff;
-       color: #000;
-       font-family: Georgia, "Times New Roman", Times, serif;
-       margin-left: 20%;
-       margin-right: 20%;
-       padding: .2em 2em;
+       color: #333;
+       font-family: "Lucida Grande", "Lucida Sans Unicode", Tahoma, Verdana, sans-serif;
+       margin: 2em auto 0 auto;
+       width: 700px;
+       padding: 1em 2em;
+       -webkit-border-radius: 12px;
+       font-size: 62.5%;
 }
 
+a { color: #2583ad; text-decoration: none; }
+
+a:hover { color: #d54e21; }
+
+
 h1 {
-       color: #006;
        font-size: 18px;
-       font-weight: lighter;
+       margin-bottom: 0;
 }
 
 h2 { font-size: 16px; }
 
-p, li, dt {
-       line-height: 140%;
+p, li {
        padding-bottom: 2px;
+       font-size: 1.3em;
+       line-height: 1.8em;
+}
+
+code {
+       font-size: 1.3em;
 }
 
-ul, ol { padding: 5px 5px 5px 20px; }
+ul, ol { padding: 5px 5px 5px 22px; }
 
-#logo { margin-bottom: 2em; }
+#logo { margin: 6px 0 14px 0px; border-bottom: none;}
 
 .step a, .step input { font-size: 2em; }
 
 td input { font-size: 1.5em; }
 
-.step, th { text-align: right; }
+.step, th { text-align: left; padding: 0; }
+
+.submit input, .button, .button-secondary {
+       font-family: "Lucida Grande", "Lucida Sans Unicode", Tahoma, Verdana, sans-serif;
+       padding: 6px;
+       border: none;
+       margin-left: 0;
+       font-size: 13px !important;
+       -moz-border-radius: 2px;
+       -khtml-border-radius: 2px;
+       -webkit-border-radius: 2px;
+       border-radius: 2px;
+       color: #246;
+       background: #e5e5e5;
+}
+
+.button-secondary {
+       background: #cee1ef;
+}
+
+.submit input:hover, .button:hover, .button-secondary:hover {
+       color: #d54e21;
+}
+
+.form-table {
+       border-collapse: collapse;
+       margin-top: 1em;
+       width: 100%;
+}
+
+.form-table td {
+       margin-bottom: 9px;
+       padding: 10px;
+       border-bottom: 8px solid #fff;
+}
+
+.form-table th {
+       font-size: 12px;
+       text-align: left;
+       padding: 12px 10px 10px 10px;
+       border-bottom: 8px solid #fff;
+       width: 110px;
+       vertical-align: top;
+}
+
+.form-table tr {
+       background: #eaf3fa;
+}
+
+.form-table code {
+       line-height: 18px;
+       font-size: 18px;
+}
+
+.form-table p {
+       margin: 4px 0 0 0;
+       font-size: 11px;
+}
+
+h1 {
+       border-bottom: 1px solid #dadada;
+       clear: both;
+       color: #666666;
+       font: 24px Georgia, "Times New Roman", Times, serif;
+       margin: 5px 0 0 -4px;
+       padding: 0;
+       padding-bottom: 7px;
+}
+
+#error-page {
+       margin-top: 50px;
+}
+
+#error-page p {
+       font-size: 14px;
+       line-height: 1.6em;
+}
 
-#footer {
-       text-align: center; 
-       border-top: 1px solid #ccc; 
-       padding-top: 1em; 
-       font-style: italic;
+#error-page code {
+       font-size: 1em;
 }
\ No newline at end of file
diff --git a/wp-admin/css/login-rtl.css b/wp-admin/css/login-rtl.css
new file mode 100644 (file)
index 0000000..fc27263
--- /dev/null
@@ -0,0 +1,32 @@
+body {
+       font-family: "Lucida Grande", "Lucida Sans Unicode", Tahoma, Verdana, sans-serif;
+       direction: rtl;
+}
+form {
+       margin-left:0;
+       margin-right:8px;
+}
+form .forgetmenot {
+       float:right;
+}
+form .submit {
+       float:left;
+}
+#login_error, .message {
+       margin:0 8px 16px 0;
+}
+#nav {
+       margin: 0 8px 0 0;
+}
+#user_pass, #user_login, #user_email {
+       margin-right:0;
+       margin-left: 6px;
+       direction:ltr;
+}
+h1 a {
+       text-decoration:none;
+}
+#backtoblog a {
+       left: auto;
+       right: 15px;
+}
\ No newline at end of file
diff --git a/wp-admin/css/login.css b/wp-admin/css/login.css
new file mode 100644 (file)
index 0000000..92f10bc
--- /dev/null
@@ -0,0 +1,74 @@
+* { margin: 0; padding: 0; }
+
+body {
+       border-top-width: 30px;
+       border-top-style: solid;
+       font: 12px "Lucida Grande", "Lucida Sans Unicode", Tahoma, Verdana, sans-serif;
+}
+
+form {
+       margin-left: 8px;
+       padding: 16px 16px 40px 16px;
+       font-weight: bold;
+       -moz-border-radius: 5px;
+       -khtml-border-radius: 5px;
+       -webkit-border-radius: 5px;
+       border-radius: 5px;
+}
+
+form .forgetmenot { font-weight: normal; float: left; margin-bottom: 0;}
+
+#login form .submit input {
+       font-family: "Lucida Grande", "Lucida Sans Unicode", Tahoma, Verdana, sans-serif;
+       padding: 3px 5px;
+       border: none;
+       font-size: 13px;
+       border-width: 1px;
+       border-style: solid;
+       -moz-border-radius: 3px;
+       -khtml-border-radius: 3px;
+       -webkit-border-radius: 3px;
+       border-radius: 3px;
+       cursor: default;
+       text-decoration: none;  
+       margin-top: -6px;
+}
+
+form .submit { float: right; }
+
+form p { margin-bottom: 24px; }
+
+h1 a {
+       background: url(../images/logo-login.gif) no-repeat;
+       width: 292px;
+       height: 66px;
+       text-indent: -9999px;
+       overflow: hidden;
+       padding-bottom: 15px;
+       display: block;
+}
+
+#backtoblog a {
+       position: absolute;
+       top: 7px;
+       left: 15px;
+       text-decoration: none;
+}
+
+#login { width: 292px; margin: 7em auto; }
+
+#login_error, .message {
+       margin: 0 0 16px 8px;
+       border-width: 1px;
+       border-style: solid;
+       padding: 12px;
+}
+
+#nav { margin: 0 0 0 8px; padding: 16px; }
+
+#user_pass, #user_login, #user_email {
+       font-size: 20px;
+       width: 97%;
+       padding: 3px;
+       margin-right: 6px;
+}
\ No newline at end of file
diff --git a/wp-admin/css/media-rtl.css b/wp-admin/css/media-rtl.css
new file mode 100644 (file)
index 0000000..f0c00df
--- /dev/null
@@ -0,0 +1,21 @@
+ul#sidemenu {
+       left: auto;
+       right: 0;
+}
+.align .field label {
+       display: block;
+       float: right;
+       padding: 0 25px 0 0;
+       margin: 5px 3px 5px 5px; 
+}
+.align .field input {
+       display: block;
+       float: right;
+       margin: 5px 15px 5px 0;
+}
+.image-align-none-label,
+.image-align-left-label,
+.image-align-center-label,
+.image-align-right-label {
+       background-position: center right;
+}
\ No newline at end of file
diff --git a/wp-admin/css/media.css b/wp-admin/css/media.css
new file mode 100644 (file)
index 0000000..c77a069
--- /dev/null
@@ -0,0 +1,242 @@
+div#media-upload-header {
+       margin: 0;
+       padding: 0 5px;
+       font-weight: bold;
+       position: relative;
+       border-bottom-width: 1px;
+       border-bottom-style: solid;
+       height: 2.5em;
+}
+
+body#media-upload ul#sidemenu {
+       font-weight: normal;
+       margin: 0 5px;
+       position: absolute;
+       left: 0px;
+       bottom: -1px;
+}
+
+div#media-upload-error {
+       margin: 1em;
+       font-weight: bold;
+}
+
+form {
+       margin: 1em;
+}
+
+#search-filter {
+       text-align: right;
+}
+
+.media-upload-form label, .media-upload-form legend {
+       display:block;
+       font-weight: bold;
+       margin-bottom: 0.5em;
+       margin: 0 0 0.5em 0;
+}
+
+th { position: relative; }
+
+.media-upload-form label.form-help, td.help {
+       font-style: italic;
+       font-weight: normal;
+}
+
+.media-upload-form p.help {
+       margin: 0;
+       padding: 0;
+}
+
+.media-upload-form fieldset {
+       width: 100%;
+       border: none;
+       text-align: justify;
+       margin: 0 0 1em 0;
+       padding: 0;
+}
+
+/* specific to the image upload form */
+.align .field label {
+       display: inline;
+       padding: 0 0 0 28px;
+       margin: 0 1em 0 0;
+}
+.image-align-none-label {
+       background: url(../images/align-none.png) no-repeat center left;
+}
+
+.image-align-left-label {
+       background: url(../images/align-left.png) no-repeat center left;
+}
+
+.image-align-center-label {
+       background: url(../images/align-center.png) no-repeat center left;
+}
+
+.image-align-right-label {
+       background: url(../images/align-right.png) no-repeat center left;
+}
+
+#flash-upload-ui, .insert-gallery {
+       display: none;
+}
+
+tr.image-size label {
+       display: inline;
+       margin: 0 1em 0 0;
+}
+.pinkynail {
+       max-width: 40px;
+       max-height: 40px;
+}
+
+.filename.original {
+       float: left;
+}
+.crunching {
+       display: block;
+       line-height: 32px;
+       text-align: right;
+       margin-right: 5px;
+}
+button.dismiss {
+       position: absolute;
+       top: 5px;
+       right: 5px;
+       z-index: 4;
+}
+.file-error {
+       margin: 0 0 5px 50px;
+       font-weight: bold;
+}
+
+.progress {
+       position: absolute;
+       top: 0px;
+       left: 0px;
+       width: 623px;
+       height: 36px;
+}
+.bar {
+       width: 0px;
+       height: 100%;
+       border-right-width: 3px;
+       border-right-style: solid;
+}
+
+#library-form .progress, #gallery-form .progress {
+       display: none;
+}
+
+.media-item .thumbnail {
+       max-width: 128px;
+       max-height: 128px;
+}
+.media-item .pinkynail {
+       float: left;
+       margin: 2px;
+       height: 32px;
+       max-width: 40px;
+}
+
+thead.media-item-info tr {
+       background-color: transparent;
+}
+thead.media-item-info th, thead.media-item-info td {
+       border: none;
+       margin: 0;
+}
+
+.form-table thead.media-item-info {
+       border: 8px solid #fff;
+}
+
+.describe.startopen, .describe.startclosed {
+       display: none;
+}
+abbr.required {
+       text-decoration: none;
+       border: none;
+}
+.describe label {
+       display: inline;
+}
+.describe td {
+       vertical-align: middle;
+}
+.describe td.A1 {
+       width: 132px;
+}
+.describe input[type="text"], .describe textarea {
+       width: 460px;
+}
+.describe-toggle-on, .describe-toggle-off {
+       display: block;
+       line-height: 36px;
+       float: right;
+       margin-right: 20px;
+}
+.describe-toggle-off {
+       display: none;
+}
+
+.clickmask {
+}
+
+.hidden {
+       height: 0px;
+       width: 0px;
+       overflow: hidden;
+       border: none;
+}
+
+/* Specific to Uploader */
+
+#media-upload .media-upload-form p {
+       margin: 0 1em 1em 0;
+}
+#media-upload p.help {
+       font-style: italic;
+       font-weight: normal;
+}
+#media-upload tr.image-size td.field {
+       text-align: center;
+}
+#media-upload #media-items {
+       border-width: 1px;
+       border-style: solid;
+       border-bottom: none;
+       width: 623px;
+}
+
+#media-upload .media-item {
+       position: relative;
+       border-bottom-width: 1px;
+       border-bottom-style: solid;
+       min-height: 36px;
+       width: 100%;
+}
+.filename {
+       line-height: 36px;
+       margin-left: 10px;
+       float: left;
+}
+#media-upload .describe {
+       border-top-width: 1px;
+       border-top-style: solid;
+       padding: 5px;
+       width: 100%;
+       clear: both;
+}
+#media-upload .describe th.label {
+       padding-top: .5em;
+       text-align: left;
+}
+#media-upload tr.align td.field {
+       text-align: center;
+}
+#media-upload tr.image-size {
+       margin-bottom: 1em;
+       height: 3em;
+}
diff --git a/wp-admin/css/theme-editor-rtl.css b/wp-admin/css/theme-editor-rtl.css
new file mode 100644 (file)
index 0000000..407886b
--- /dev/null
@@ -0,0 +1,11 @@
+#templateside {
+       float:left;
+}
+#themeselector {
+       padding-right:0;
+       padding-left:5px;
+}
+div.tablenav {
+       margin-left:210px;
+       margin-right:0;
+}
\ No newline at end of file
diff --git a/wp-admin/css/theme-editor.css b/wp-admin/css/theme-editor.css
new file mode 100644 (file)
index 0000000..2c59e97
--- /dev/null
@@ -0,0 +1,66 @@
+#template textarea {
+       font-family: 'Courier New', Courier, monospace;
+       font-size: 12px;
+       width: 97%;
+}
+
+#template p {
+       width: 97%;
+}
+
+#templateside {
+       float: right;
+       width: 190px;
+       margin-top:-3.4em;
+}
+
+#templateside h3, #postcustomstuff p.submit {
+       margin: 0;
+}
+
+h3#bordertitle {
+       margin-bottom: 10px;
+}
+
+#templateside h4 {
+       margin-bottom: 0px;
+}
+
+#templateside ol, #templateside ul {
+       list-style: none;
+       margin: .5em;
+       padding: 0;
+}
+
+#templateside ol li, #templateside ul li {
+       margin: 1px 0px;
+}
+
+#themeselector {
+       padding-right: 5px;
+       float: right;
+       position: relative;
+       bottom: 25px;
+}
+
+#themeselector select {
+       margin: 0;
+       padding: 0;
+}
+
+.nonessential {
+       font-size: small;
+}
+
+.highlight {
+       padding: 1px;
+}
+
+div.bordertitle h2 {
+       border: none;
+       padding-bottom: 0px;
+}
+
+div.tablenav {
+       margin-right: 210px;
+}
diff --git a/wp-admin/css/upload.css b/wp-admin/css/upload.css
deleted file mode 100644 (file)
index 009986c..0000000
+++ /dev/null
@@ -1,204 +0,0 @@
-body { background: #f9fcfe; }
-
-.upload-file-data { display: none; }
-
-#upload-menu {
-       border-top: 2em solid #247fab;
-       margin: 0;
-       padding: 0;
-       height: 0;
-       list-style: none;
-       width: 100%;
-}
-
-body > #upload-menu { border-bottom: 7px solid #fff; }
-
-#upload-menu li {
-       margin: 0;
-       position: relative;
-       top: -2em;
-       padding-bottom: 5px;
-       border: none;
-       border-top: 3px solid #247fab;
-}
-
-#upload-menu li a.upload-tab-link {
-       margin-left: 0.75em;
-       padding: 5px 5px 0;
-       display: block;
-       float: left;
-       height: 100%;
-       text-decoration: none;
-       border-bottom: none;
-       color: #fff;
-}
-
-#upload-menu li.current {
-       border-right: 2px solid #448abd;
-       color: #000;
-}
-
-#upload-menu li.current a.upload-tab-link, #upload-menu li a:hover {
-       background: #f9fcfe;
-       color: #000;
-}
-
-#upload-menu li #current-tab-nav {
-       background: #f9fcfe;
-       float: left;
-       padding: 5px 5px 0 0;
-       margin-left: -5px;
-}
-
-#upload-menu li span .page-numbers {
-       padding: 0;
-       border: none;
-}
-
-#upload-menu li span a.page-numbers { color: #00019b; }
-#upload-menu li span a.page-numbers:hover { text-decoration: underline; }
-
-#upload-content {
-       position: relative;
-       clear: both;
-       margin: 0;
-       padding: 0;
-       border: none;
-       width: 100%;
-       height: 100%;
-       background: none;
-}
-
-#upload-file {
-       margin: 0 auto;
-       top: 0;
-       left: 0;
-       width: 95%;
-       height: 100%;
-       background: #f9fcfe;
-}
-
-#upload-file th {
-       width: 8em;
-}
-
-form#upload-file input, form#upload-file textarea, div#upload-content.upload table { width: 100%; }
-
-form#upload-file .submit input { width: auto; }
-
-#upload-file-view { padding: 0 0 0 75px; }
-
-#file-title {
-       margin: 0 0 .2em 75px;
-       padding: 0;
-       display: block;
-       font-family: Georgia, "Times New Roman", Times, serif;
-       font-size: 16px;
-}
-
-h2 {
-       margin: 0 .2em 0 0;
-       padding: 0;
-       display: inline;
-       border: none;
-       color: #000;
-       font-size: 1.4em;
-       line-height: 1.4em;
-}
-
-.wrap h2 {
-       margin: .4em 0 .5em;
-       display: block;
-       border-bottom: .5em solid #e5f3ff;
-       color: #333;
-       font: normal 32px/5px serif;
-       clear: both;
-}
-
-* html .wrap h2 {
-       margin-top: 1em;
-}
-
-.back {
-       display: block;
-       position: absolute;
-       left: 14px;
-       top: 10px;
-}
-
-#upload-files {
-       list-style-type: none;
-       margin: 0;
-       padding: 15px 0 0;
-}
-
-#upload-files li { margin: 0 0 15px 15px; }
-
-#upload-files a, #upload-file-view a, a.file-link {
-       border: none;
-       text-decoration: none;
-}
-
-#upload-file-view a img { padding-bottom: .2em; border-bottom: 1px solid #6699CC; }
-
-#upload-files a.file-link {
-       display: block;
-       width: 130px;
-       height: 128px;
-       background-color: rgb(209, 226, 239);
-       text-align: center;
-       overflow: hidden;
-}
-
-#upload-files a.text {
-       padding-top: 40px;
-       height: 88px;
-       font-size: 16px;
-}
-
-#upload-files a.file-link.image {
-       font-size: 2px;
-       letter-spacing: 0;
-}
-
-#upload-files a.file-link img { vertical-align: middle; }
-
-#the-attachment-links textarea {
-       font-size: 10px;
-       overflow: hidden;
-}
-
-form table { float: none; padding: 0 15px; }
-
-table {
-       float: left;
-       margin: 0;
-       padding: 0;
-}
-
-th { text-align: right; vertical-align: text-top; }
-
-tr, td, th {
-       margin-top: 0;
-       padding-top: 0;
-}
-
-#uploadoptions th {
-       width: 80px;
-}
-
-#uploadoptions p {
-       margin: 0;
-       padding: 0;
-}
-
-#uploadoptions td {
-       padding-left: 1em;
-       line-height: 140%;
-}
-
-#uploadoptions table {
-       width: 300px;
-}
-
-input.readonly { background-color: #ddd; }
index d76cc9f8dd59132c565abe6a8ca7cca15284328f..e17aadc215bb33685202b24e0cdb028b10a0ddff 100644 (file)
@@ -1,38 +1,50 @@
-.dropzone,
-#palettediv,
-.handle,
-.controlform {
-       direction: rtl;
-       text-align: justify;
-       }
-.dropzone {
-       float: right;
-       margin-left: 10px;
-       margin-right: auto;
-       width: 240px;
-       }
-* html .dropzone ul {
-       margin-right: 0;
-       }
-* .handle, #lastmodule span {
-       border-left: 1px solid #e8e8e8;
-       border-right: 1px solid #f2f2f2;
-       }
-* .popper {
-       right: auto;
-       left: 3px;
-       }
-#palettediv .module, #lastmodule {
-       margin-right: auto;
-       margin-left: 10px;
-       float: right;
-       }
-#palettediv ul {
-       padding: 0 10px 0 0;
-       margin-right: 0;
-       width: 100%;
-       }
-.placemat {
-       margin-right: 0;
-       float: right;
-       }
\ No newline at end of file
+div.widget-liquid-left-holder {
+       clear:right;
+       float:right;
+       margin-right:0;
+       margin-left:-310px;
+}
+div.widget-liquid-left {
+       margin-right:0;
+       margin-left:310px;
+}
+div.widget-liquid-right {
+       clear:left;
+       float:left;
+}
+p#widget-search {
+       left:0;
+       right:auto
+}
+ul#widget-list li.widget-list-item h4.widget-title {
+       float:right;
+       text-align:right;
+}
+ul#widget-list li.widget-list-item div.widget-description {
+       margin:0 200px 0 0;
+       padding:0 4em 0 0;
+}
+.widget-control-save, .widget-control-remove {
+       float:right;
+       margin-right:0;
+       margin-left:8px;
+}
+h4.widget-title a {
+       right:auto;
+       left:1em;
+}
+li.widget-list-control-item h4.widget-title a, #dragHelper li.widget-list-control-item h4.widget-title a, #draghelper li.widget-list-control-item h4.widget-title a:visited {
+       right:auto;
+       left:1em;
+}
+
+li.widget-list-control-item div.widget-control {
+       padding:0 0 0 10px;
+}
+ul.widget-control-list div.widget-control-actions {
+       margin-right:0;
+       margin-left:-10px;
+}
+ul.widget-control-list .widget-title {
+       text-align:right;
+}
\ No newline at end of file
index f46c4ce8b7f8ffdaf9478d6265cb0693700dfa7c..5d044cf6dcf75739b98b07a4c91066ad012fd93f 100644 (file)
-body {
-       height: 100%;
-}
-
-#sbadmin #zones {
-       -moz-user-select: none;
-       -khtml-user-select: none;
-       user-select: none;
-}
-
-#sbreset {
+/* 2 column liquid layout */
+div.widget-liquid-left-holder {
        float: left;
-       margin: 1px 0;
-}
-
-.dropzone {
-       border: 1px solid #bbb;
-       float: left;
-       margin-right: 10px;
-       padding: 5px;
-       background-color: #f0f8ff;
-}
-
-.dropzone h3 {
-       text-align: center;
-       color: #333;
+       clear: left;
+       width: 100%;
+       margin-right: -310px;
 }
 
-.dropzone input {
-       display: none;
+div.widget-liquid-left {
+       margin-right: 320px;
 }
 
-.dropzone ul {
-       float: left;
-       list-style-type: none;
-       width: 240px;
-       margin: 0;
-       min-height: 200px;
-       padding: 0;
-       display: block;
+div.widget-liquid-right {
+       float: right;
+       clear: right;
+       width: 300px;
+       position: relative;
 }
 
-* .module {
-       width: 238px;
-       padding: 0;
-       margin: 5px 0;
-       cursor: move;
-       display: block;
-       border: 1px solid #ccc;
-       background-color: #fbfbfb;
+/* pasitioning etc. */
+form#widgets-filter {
        position: relative;
-       text-align: left;
-       line-height: 25px;
 }
 
-* .handle {
-       display: block;
-       width: 216px;
-       padding: 0 10px;
-       position: relative;
-       border-top: 1px solid #f2f2f2;
-       border-right: 1px solid #e8e8e8;
-       border-bottom: 1px solid #e8e8e8;
-       border-left: 1px solid #f2f2f2;
+div#available-widgets-filter {
+       border-bottom-width: 1px;
+       border-bottom-style: solid;
 }
 
-* .popper {
-       margin: 0;
-       display: inline;
+p#widget-search {
        position: absolute;
-       top: 3px;
-       right: 3px;
-       overflow: hidden;
-       text-align: center;
-       height: 16px;
-       font-size: 18px;
-       line-height: 14px;
-       cursor: pointer;
-       padding: 0 3px 1px;
-       border-top: 4px solid #6da6d1;
-       background: url( ../images/fade-butt.png ) -5px 0px;
-}
-
-* html .popper {
-       padding: 1px 6px 0;
-       font-size: 16px;
-}
-
-#sbadmin p.submit {
-       padding-right: 10px;
-       clear: left;
+       right: 0;
+       top: 0;
+       margin: 0;
 }
 
-.placemat {
-       cursor: default;
+ul#widget-list {
+       list-style: none;
        margin: 0;
        padding: 0;
-       position: relative;
 }
 
-.placemat h4 {
-       text-align: center;
+ul#widget-list li.widget-list-item {
+       padding: .7em 0.9em;
+       margin: 0;
+       border-bottom-width: 1px;
+       border-bottom-style: solid;
+       background-color: transparent;
+       line-height: 1;
 }
 
-.placemat span {
-       background-color: #ffe;
-       border: 1px solid #ccc;
-       padding: 0 10px 10px;
-       position: absolute;
-       text-align: justify;
+ul#widget-list li.widget-list-item h4.widget-title {
+       position: relative;
+       margin: 0;
+       padding: .5em 1em;
+       width: 200px;
+       float: left;
+       font-size: 13px;
+       -moz-border-radius: 3px;
+       -khtml-border-radius: 3px;
+       -webkit-border-radius: 3px;
+       border-radius: 3px;;
 }
 
-#palettediv {
-       border: 1px solid #bbb;
-       background-color: #f0f8ff;
-       height:auto;
-       margin-top: 10px;
-       padding-bottom: 10px;
+#dragHelper h4.widget-title {
+       padding: .5em 1em;
+       margin: 0;
 }
 
-#palettediv:after, #zones:after, .dropzone:after {
-       content: ".";
+ul#widget-list li.widget-list-item div.widget-description {
        display: block;
-       height: 0;
-       clear: both;
-       visibility: hidden;
+       margin: 0 0 0 200px;
+       padding: 0 0 0 4em;
+       font-size: 11px;
 }
 
-#palettediv, #zones, .dropzone {
-       display: block;
-       min-height: 1px;
-}
 
-* html #palettediv, * html #zones, * html .dropzone {
-       height: 1%;
+ul#widget-list li.widget-list-item ul.widget-control-info {
+       display: none;
 }
 
-#palettediv h3 {
-       text-align: center;
-       color: #333;
-       min-height: 1px;
+div#sidebar-info {
+       padding: 0 1em;
+       margin-bottom: 1em;
+       font-size: 11px;
 }
 
-#palettediv ul {
-       padding: 0 0 0 10px;
+ul.widget-control-list {
+       list-style: none;
+       margin: 0;
+       padding: 0 1em;
 }
 
-#palettediv .module {
-       margin-right: 10px;
-       float: left;
-       width: 120px;
+ul.widget-control-list li {
+       position: relative;
 }
 
-#palettediv .handle {
-       height: 40px;
-       font-size: 90%;
-       width: 110px;
-       padding: 0 5px;
+div#current-widgets p.submit {
+       padding: 1em;
 }
 
-#palettediv .popper {
-       visibility: hidden;
+li.widget-list-control-item {
+       margin: 0 0 1em;
+       -moz-border-radius: 3px;
+       -khtml-border-radius: 3px;
+       -webkit-border-radius: 3px;
+       border-radius: 3px;
 }
 
-* html #palettediv ul {
+li.widget-list-control-item h4, #dragHelper li.widget-list-control-item h4, li.widget-sortable h4 {
        margin: 0;
-       padding: 0 0 0 10px;
+       padding: 0.4em 2.5em 0.4em 0.8em;
+       cursor: move;
+       font-size: 13px;
+       -moz-border-radius: 3px;
+       -khtml-border-radius: 3px;
+       -webkit-border-radius: 3px;
+       border-radius: 3px;
+}
+
+.widget-control-save, .widget-control-remove {
+       padding: 3px 5px;
+       -moz-border-radius: 3px;
+       -khtml-border-radius: 3px;
+       -webkit-border-radius: 3px;
+       border-radius: 3px;
+       margin-right: 8px;
+       float: left;
+       text-decoration: none;
 }
 
-#controls {
-       height: 0px;
+h4.widget-title a {
+       position: absolute;
+       right: 1em;
+       text-decoration: underline;
+       border-bottom: none;
 }
 
-.control {
-       position: absolute;
-       display: block;
-       background: #f9fcfe;
-       padding: 0;
+li.widget-list-control-item h4.widget-title a,
+#dragHelper li.widget-list-control-item h4.widget-title a,
+#draghelper li.widget-list-control-item h4.widget-title a:visited {
+       right: 1em;
 }
 
-.controlhandle {
-       cursor: move;
-       background-color: #6da6d1;
-       border-bottom: 2px solid #448abd;
-       color: #333;
-       display: block;
-       margin: 0 0 5px;
-       padding: 4px;
-       font-size: 120%;
+li.widget-list-control-item h4.widget-title a:hover {
+
+       text-decoration: none;
+       border-bottom: none;
 }
 
-.controlcloser {
-       cursor: pointer;
-       font-size: 120%;
-       display: block;
-       position: absolute;
-       top: 2px;
-       right: 8px;
-       padding: 0 3px;
-       font-weight: bold;
+li.widget-list-control-item div.widget-control {
+       display: none;
+       margin: 1em;
+       padding: 0 10px 0 7px; /* Correction for padding, margin, border of inputs */
+       font-size: 11px;
 }
 
-.controlform {
-       margin: 20px 30px;
+li.widget-list-control-item div.widget-control p {
+       margin: 0 0 1em;
+       padding: 0;
 }
 
-.controlform p {
-       text-align: center;
+ul.widget-control-list div.widget-control-actions {
+       margin-right: -10px; /* Correction for padding, margin, border of inputs */
+       margin-left: -6px;
+       border-top-width: 1px;
+       border-top-style: solid;
+       padding: 0.5em 0 0.8em;
 }
 
-.control .checkbox {
-       border: none;
-       background: transparent;
+ul.widget-control-list .widget-title {
+       
 }
 
-.hidden {
-       display: none;
+.widget-control-edit {
+       font-size: 10px;
+       font-weight: normal;
 }
 
-#shadow {
-       background: black;
-       display: none;
-       position: absolute;
-       top: 0px;
-       left: 0px;
-       width: 100%;
+div#current-widgets {
+       padding-top: 1em;
+       border-width: 1px;
+       border-style: solid none none;
 }
 
-#dragHelper {
-       position: absolute;
+#widget-controls .widefat {
+       width: 92%;
+       padding: 3px;
 }
 
-#dragHelper li.module {
+#widget-controls select.widefat {
+       width: auto;
        display: block;
-       float: left;
 }
index 8d605655df0287022e0e30f4ad81a340e781ec7a..c54d9a924122617c76e931818e44dfd3a28aa0a0 100644 (file)
@@ -11,17 +11,27 @@ class Custom_Image_Header {
                $page = add_theme_page(__('Custom Image Header'), __('Custom Image Header'), 'edit_themes', 'custom-header', array(&$this, 'admin_page'));
 
                add_action("admin_print_scripts-$page", array(&$this, 'js_includes'));
+               add_action("admin_head-$page", array(&$this, 'take_action'), 50);
                add_action("admin_head-$page", array(&$this, 'js'), 50);
                add_action("admin_head-$page", $this->admin_header_callback, 51);
        }
 
-       function js_includes() {
-               wp_enqueue_script('cropper');
-               wp_enqueue_script('colorpicker');
+       function step() {
+               $step = (int) @$_GET['step'];
+               if ( $step < 1 || 3 < $step )
+                       $step = 1;
+               return $step;
        }
 
-       function js() {
+       function js_includes() {
+               $step = $this->step();
+               if ( 1 == $step )
+                       wp_enqueue_script('colorpicker');
+               elseif ( 2 == $step )   
+                       wp_enqueue_script('cropper');
+       }
 
+       function take_action() {
                if ( isset( $_POST['textcolor'] ) ) {
                        check_admin_referer('custom-header');
                        if ( 'blank' == $_POST['textcolor'] ) {
@@ -36,48 +46,18 @@ class Custom_Image_Header {
                        check_admin_referer('custom-header');
                        remove_theme_mods();
                }
-       ?>
-<script type="text/javascript">
-
-       function onEndCrop( coords, dimensions ) {
-               $( 'x1' ).value = coords.x1;
-               $( 'y1' ).value = coords.y1;
-               $( 'x2' ).value = coords.x2;
-               $( 'y2' ).value = coords.y2;
-               $( 'width' ).value = dimensions.width;
-               $( 'height' ).value = dimensions.height;
        }
 
-       // with a supplied ratio
-       Event.observe(
-               window,
-               'load',
-               function() {
-                       var xinit = <?php echo HEADER_IMAGE_WIDTH; ?>;
-                       var yinit = <?php echo HEADER_IMAGE_HEIGHT; ?>;
-                       var ratio = xinit / yinit;
-                       var ximg = $('upload').width;
-                       var yimg = $('upload').height;
-                       if ( yimg < yinit || ximg < xinit ) {
-                               if ( ximg / yimg > ratio ) {
-                                       yinit = yimg;
-                                       xinit = yinit * ratio;
-                               } else {
-                                       xinit = ximg;
-                                       yinit = xinit / ratio;
-                               }
-                       }
-                       new Cropper.Img(
-                               'upload',
-                               {
-                                       ratioDim: { x: xinit, y: yinit },
-                                       displayOnInit: true,
-                                       onEndCrop: onEndCrop
-                               }
-                       )
-               }
-       );
+       function js() {
+               $step = $this->step();
+               if ( 1 == $step )
+                       $this->js_1();
+               elseif ( 2 == $step )
+                       $this->js_2();
+       }
 
+       function js_1() { ?>
+<script type="text/javascript">
        var cp = new ColorPicker();
 
        function pickColor(color) {
@@ -116,7 +96,7 @@ class Custom_Image_Header {
                }
        }
        function colorDefault() {
-               pickColor('<?php echo HEADER_TEXTCOLOR; ?>');
+               pickColor('#<?php echo HEADER_TEXTCOLOR; ?>');
        }
 
        function hide_text() {
@@ -149,6 +129,50 @@ Event.observe( window, 'load', hide_text );
 <?php
        }
 
+       function js_2() { ?>
+<script type="text/javascript">
+       function onEndCrop( coords, dimensions ) {
+               $( 'x1' ).value = coords.x1;
+               $( 'y1' ).value = coords.y1;
+               $( 'x2' ).value = coords.x2;
+               $( 'y2' ).value = coords.y2;
+               $( 'width' ).value = dimensions.width;
+               $( 'height' ).value = dimensions.height;
+       }
+
+       // with a supplied ratio
+       Event.observe(
+               window,
+               'load',
+               function() {
+                       var xinit = <?php echo HEADER_IMAGE_WIDTH; ?>;
+                       var yinit = <?php echo HEADER_IMAGE_HEIGHT; ?>;
+                       var ratio = xinit / yinit;
+                       var ximg = $('upload').width;
+                       var yimg = $('upload').height;
+                       if ( yimg < yinit || ximg < xinit ) {
+                               if ( ximg / yimg > ratio ) {
+                                       yinit = yimg;
+                                       xinit = yinit * ratio;
+                               } else {
+                                       xinit = ximg;
+                                       yinit = xinit / ratio;
+                               }
+                       }
+                       new Cropper.Img(
+                               'upload',
+                               {
+                                       ratioDim: { x: xinit, y: yinit },
+                                       displayOnInit: true,
+                                       onEndCrop: onEndCrop
+                               }
+                       )
+               }
+       );
+</script>
+<?php
+       }
+
        function step_1() {
                if ( $_GET['updated'] ) { ?>
 <div id="message" class="updated fade">
@@ -169,7 +193,7 @@ Event.observe( window, 'load', hide_text );
 <input type="button" value="<?php _e('Hide Text'); ?>" onclick="hide_text()" id="hidetext" />
 <input type="button" value="<?php _e('Select a Text Color'); ?>" onclick="colorSelect($('textcolor'), 'pickcolor')" id="pickcolor" /><input type="button" value="<?php _e('Use Original Color'); ?>" onclick="colorDefault()" id="defaultcolor" />
 <?php wp_nonce_field('custom-header') ?>
-<input type="hidden" name="textcolor" id="textcolor" value="#<?php attribute_escape(header_textcolor()) ?>" /><input name="submit" type="submit" value="<?php _e('Save Changes &raquo;'); ?>" /></form>
+<input type="hidden" name="textcolor" id="textcolor" value="#<?php attribute_escape(header_textcolor()) ?>" /><input name="submit" type="submit" value="<?php _e('Save Changes'); ?>" /></form>
 <?php } ?>
 
 <div id="colorPickerDiv" style="z-index: 100;background:#eee;border:1px solid #ccc;position:absolute;visibility:hidden;"> </div>
@@ -183,7 +207,7 @@ Event.observe( window, 'load', hide_text );
 <input type="hidden" name="action" value="save" />
 <?php wp_nonce_field('custom-header') ?>
 <p class="submit">
-<input type="submit" value="<?php _e('Upload &raquo;'); ?>" />
+<input type="submit" value="<?php _e('Upload'); ?>" />
 </p>
 </form>
 
@@ -211,6 +235,7 @@ Event.observe( window, 'load', hide_text );
                die( $file['error'] );
 
                $url = $file['url'];
+               $type = $file['type'];
                $file = $file['file'];
                $filename = basename($file);
 
@@ -218,19 +243,20 @@ Event.observe( window, 'load', hide_text );
                $object = array(
                'post_title' => $filename,
                'post_content' => $url,
-               'post_mime_type' => 'import',
+               'post_mime_type' => $type,
                'guid' => $url);
 
                // Save the data
                $id = wp_insert_attachment($object, $file);
 
-               $upload = array('file' => $file, 'id' => $id);
-
                list($width, $height, $type, $attr) = getimagesize( $file );
 
                if ( $width == HEADER_IMAGE_WIDTH && $height == HEADER_IMAGE_HEIGHT ) {
+                       // Add the meta-data
+                       wp_update_attachment_metadata( $id, wp_generate_attachment_metadata( $id, $file ) );
+
                        set_theme_mod('header_image', clean_url($url));
-                       $header = apply_filters('wp_create_file_in_uploads', $file, $id); // For replication
+                       do_action('wp_create_file_in_uploads', $file, $id); // For replication
                        return $this->finished();
                } elseif ( $width > HEADER_IMAGE_WIDTH ) {
                        $oitar = $width / HEADER_IMAGE_WIDTH;
@@ -250,7 +276,7 @@ Event.observe( window, 'load', hide_text );
 <form method="POST" action="<?php echo attribute_escape(add_query_arg('step', 3)) ?>">
 
 <p><?php _e('Choose the part of the image you want to use as your header.'); ?></p>
-<div id="testWrap">
+<div id="testWrap" style="position: relative">
 <img src="<?php echo $url; ?>" id="upload" width="<?php echo $width; ?>" height="<?php echo $height; ?>" />
 </div>
 
@@ -264,7 +290,7 @@ Event.observe( window, 'load', hide_text );
 <input type="hidden" name="attachment_id" id="attachment_id" value="<?php echo $id; ?>" />
 <input type="hidden" name="oitar" id="oitar" value="<?php echo $oitar; ?>" />
 <?php wp_nonce_field('custom-header') ?>
-<input type="submit" value="<?php _e('Crop Header &raquo;'); ?>" />
+<input type="submit" value="<?php _e('Crop Header'); ?>" />
 </p>
 
 </form>
@@ -281,22 +307,34 @@ Event.observe( window, 'load', hide_text );
                        $_POST['height'] = $_POST['height'] * $_POST['oitar'];
                }
 
-               $header = wp_crop_image($_POST['attachment_id'], $_POST['x1'], $_POST['y1'], $_POST['width'], $_POST['height'], HEADER_IMAGE_WIDTH, HEADER_IMAGE_HEIGHT);
-               $header = apply_filters('wp_create_file_in_uploads', $header); // For replication
+               $original = get_attached_file( $_POST['attachment_id'] );
 
-               $parent = get_post($_POST['attachment_id']);
+               $cropped = wp_crop_image($_POST['attachment_id'], $_POST['x1'], $_POST['y1'], $_POST['width'], $_POST['height'], HEADER_IMAGE_WIDTH, HEADER_IMAGE_HEIGHT);
+               $cropped = apply_filters('wp_create_file_in_uploads', $cropped, $_POST['attachment_id']); // For replication
 
+               $parent = get_post($_POST['attachment_id']);
                $parent_url = $parent->guid;
+               $url = str_replace(basename($parent_url), basename($cropped), $parent_url);
+
+               // Construct the object array
+               $object = array(
+                       'ID' => $_POST['attachment_id'],
+                       'post_title' => basename($cropped),
+                       'post_content' => $url,
+                       'post_mime_type' => 'image/jpeg',
+                       'guid' => $url
+               );
 
-               $url = str_replace(basename($parent_url), basename($header), $parent_url);
+               // Update the attachment
+               wp_insert_attachment($object, $cropped);
+               wp_update_attachment_metadata( $_POST['attachment_id'], wp_generate_attachment_metadata( $_POST['attachment_id'], $cropped ) );
 
                set_theme_mod('header_image', $url);
 
                // cleanup
-               $file = get_attached_file( $_POST['attachment_id'] );
-               $medium = str_replace(basename($file), 'midsize-'.basename($file), $file);
+               $medium = str_replace(basename($original), 'midsize-'.basename($original), $original);
                @unlink( apply_filters( 'wp_delete_file', $medium ) );
-               wp_delete_attachment( $_POST['attachment_id'] );
+               @unlink( apply_filters( 'wp_delete_file', $original ) );
 
                return $this->finished();
        }
@@ -313,19 +351,13 @@ Event.observe( window, 'load', hide_text );
        }
 
        function admin_page() {
-               if ( !isset( $_GET['step'] ) )
-                       $step = 1;
-               else
-                       $step = (int) $_GET['step'];
-
-               if ( 1 == $step ) {
+               $step = $this->step();
+               if ( 1 == $step )
                        $this->step_1();
-               } elseif ( 2 == $step ) {
+               elseif ( 2 == $step )
                        $this->step_2();
-               } elseif ( 3 == $step ) {
+               elseif ( 3 == $step )
                        $this->step_3();
-               }
-
        }
 
 }
diff --git a/wp-admin/edit-attachment-rows.php b/wp-admin/edit-attachment-rows.php
new file mode 100644 (file)
index 0000000..78361e3
--- /dev/null
@@ -0,0 +1,152 @@
+<?php if ( ! defined('ABSPATH') ) die(); ?>
+<table class="widefat">
+       <thead>
+       <tr>
+
+<?php $posts_columns = wp_manage_media_columns(); ?>
+<?php foreach($posts_columns as $post_column_key => $column_display_name) {
+       if ( 'cb' === $post_column_key )
+               $class = ' class="check-column"';
+       elseif ( 'comments' === $post_column_key )
+               $class = ' class="num"';
+       else
+               $class = '';
+?>
+       <th scope="col"<?php echo $class; ?>><?php echo $column_display_name; ?></th>
+<?php } ?>
+
+       </tr>
+       </thead>
+       <tbody id="the-list" class="list:post">
+<?php
+if ( have_posts() ) {
+$bgcolor = '';
+add_filter('the_title','wp_specialchars');
+while (have_posts()) : the_post();
+$class = 'alternate' == $class ? '' : 'alternate';
+global $current_user;
+$post_owner = ( $current_user->ID == $post->post_author ? 'self' : 'other' );
+$att_title = get_the_title();
+if ( empty($att_title) )
+       $att_title = __('(no title)');
+
+?>
+       <tr id='post-<?php echo $id; ?>' class='<?php echo trim( $class . ' author-' . $post_owner . ' status-' . $post->post_status ); ?>' valign="top">
+
+<?php
+
+foreach($posts_columns as $column_name=>$column_display_name) {
+
+       switch($column_name) {
+
+       case 'cb':
+               ?>
+               <th scope="row" class="check-column"><input type="checkbox" name="delete[]" value="<?php the_ID(); ?>" /></th>
+               <?php
+               break;
+
+       case 'icon':
+               ?>
+               <td class="media-icon"><?php echo wp_get_attachment_link($post->ID, array(80, 60), false, true); ?></td>
+               <?php
+               // TODO
+               break;
+
+       case 'media':
+               ?>
+               <td><strong><a href="media.php?action=edit&amp;attachment_id=<?php the_ID(); ?>" title="<?php echo attribute_escape(sprintf(__('Edit "%s"'), $att_title)); ?>"><?php echo $att_title; ?></a></strong><br />
+               <?php echo strtoupper(preg_replace('/^.*?\.(\w+)$/', '$1', get_attached_file($post->ID))); ?>
+               <?php do_action('manage_media_media_column', $post->ID); ?>
+               </td>
+               <?php
+               break;
+
+       case 'desc':
+               ?>
+               <td><?php echo has_excerpt() ? $post->post_excerpt : ''; ?></td>
+               <?php
+               break;
+
+       case 'date':
+               if ( '0000-00-00 00:00:00' == $post->post_date && 'date' == $column_name ) {
+                       $t_time = $h_time = __('Unpublished');
+               } else {
+                       $t_time = get_the_time(__('Y/m/d g:i:s A'));
+                       $m_time = $post->post_date;
+                       $time = get_post_time( 'G', true );
+                       if ( ( abs($t_diff = time() - $time) ) < 86400 ) {
+                               if ( $t_diff < 0 )
+                                       $h_time = sprintf( __('%s from now'), human_time_diff( $time ) );
+                               else
+                                       $h_time = sprintf( __('%s ago'), human_time_diff( $time ) );
+                       } else {
+                               $h_time = mysql2date(__('Y/m/d'), $m_time);
+                       }
+               }
+               ?>
+               <td><?php echo $h_time ?></td>
+               <?php
+               break;
+
+       case 'parent':
+               $title = __('(no title)'); // override below
+               if ( $post->post_parent > 0 ) {
+                       if ( get_post($post->post_parent) ) {
+                               $parent_title = get_the_title($post->post_parent);
+                               if ( !empty($parent_title) )
+                                       $title = $parent_title;
+                       }
+                       ?>
+                       <td><strong><a href="post.php?action=edit&amp;post=<?php echo $post->post_parent; ?>"><?php echo $title ?></a></strong></td>
+                       <?php
+               } else {
+                       ?>
+                       <td>&nbsp;</td>
+                       <?php
+               }
+
+               break;
+
+       case 'comments':
+               ?>
+               <td class="num"><div class="post-com-count-wrapper">
+               <?php
+               $left = get_pending_comments_num( $post->ID );
+               $pending_phrase = sprintf( __('%s pending'), number_format( $left ) );
+               if ( $left )
+                       echo '<strong>';
+               comments_number("<a href='upload.php?attachment_id=$id' title='$pending_phrase' class='post-com-count'><span class='comment-count'>" . __('0') . '</span></a>', "<a href='upload.php?attachment_id=$id' title='$pending_phrase' class='post-com-count'><span class='comment-count'>" . __('1') . '</span></a>', "<a href='upload.php?attachment_id=$id' title='$pending_phrase' class='post-com-count'><span class='comment-count'>" . __('%') . '</span></a>');
+               if ( $left )
+                       echo '</strong>';
+               ?>
+               </div></td>
+               <?php
+               break;
+
+       case 'location':
+               ?>
+               <td><a href="<?php the_permalink(); ?>"><?php _e('Permalink'); ?></a></td>
+               <?php
+               break;
+
+       default:
+               ?>
+               <td><?php do_action('manage_media_custom_column', $column_name, $id); ?></td>
+               <?php
+               break;
+       }
+}
+?>
+       </tr>
+<?php
+endwhile;
+} else {
+?>
+  <tr style='background-color: <?php echo $bgcolor; ?>'>
+    <td colspan="8"><?php _e('No posts found.') ?></td>
+  </tr>
+<?php
+} // end if ( have_posts() )
+?>
+       </tbody>
+</table>
index 2b8883eb20535992df0bc4025dc372b9acf6e215..60368c2f0abd2394246b27af52833d4c05641d39 100644 (file)
@@ -1,15 +1,15 @@
 <?php
 if ( ! empty($cat_ID) ) {
        $heading = __('Edit Category');
-       $submit_text = __('Edit Category &raquo;');
-       $form = '<form name="editcat" id="editcat" method="post" action="categories.php">';
+       $submit_text = __('Edit Category');
+       $form = '<form name="editcat" id="editcat" method="post" action="categories.php" class="validate">';
        $action = 'editedcat';
        $nonce_action = 'update-category_' . $cat_ID;
        do_action('edit_category_form_pre', $category);
 } else {
        $heading = __('Add Category');
-       $submit_text = __('Add Category &raquo;');
-       $form = '<form name="addcat" id="addcat" method="post" action="categories.php">';
+       $submit_text = __('Add Category');
+       $form = '<form name="addcat" id="addcat" method="post" action="categories.php" class="add:the-list: validate">';
        $action = 'addcat';
        $nonce_action = 'add-category';
        do_action('add_category_form_pre', $category);
@@ -23,27 +23,31 @@ if ( ! empty($cat_ID) ) {
 <input type="hidden" name="action" value="<?php echo $action ?>" />
 <input type="hidden" name="cat_ID" value="<?php echo $category->term_id ?>" />
 <?php wp_nonce_field($nonce_action); ?>
-       <table class="editform" width="100%" cellspacing="2" cellpadding="5">
-               <tr>
-                       <th width="33%" scope="row" valign="top"><label for="cat_name"><?php _e('Category name:') ?></label></th>
-                       <td width="67%"><input name="cat_name" id="cat_name" type="text" value="<?php echo attribute_escape($category->name); ?>" size="40" /></td>
+       <table class="form-table">
+               <tr class="form-field form-required">
+                       <th scope="row" valign="top"><label for="cat_name"><?php _e('Category Name') ?></label></th>
+                       <td><input name="cat_name" id="cat_name" type="text" value="<?php echo attribute_escape($category->name); ?>" size="40" /><br />
+            <?php _e('The name is used to identify the category almost everywhere, for example under the post or in the category widget.'); ?></td>
                </tr>
-               <tr>
-                       <th scope="row" valign="top"><label for="category_nicename"><?php _e('Category slug:') ?></label></th>
-                       <td><input name="category_nicename" id="category_nicename" type="text" value="<?php echo attribute_escape($category->slug); ?>" size="40" /></td>
+               <tr class="form-field">
+                       <th scope="row" valign="top"><label for="category_nicename"><?php _e('Category Slug') ?></label></th>
+                       <td><input name="category_nicename" id="category_nicename" type="text" value="<?php echo attribute_escape($category->slug); ?>" size="40" /><br />
+            <?php _e('The &#8220;slug&#8221; is the URL-friendly version of the name. It is usually all lowercase and contains only letters, numbers, and hyphens.'); ?></td>
                </tr>
-               <tr>
-                       <th scope="row" valign="top"><label for="category_parent"><?php _e('Category parent:') ?></label></th>
+               <tr class="form-field">
+                       <th scope="row" valign="top"><label for="category_parent"><?php _e('Category Parent') ?></label></th>
                        <td>
-                               <?php wp_dropdown_categories('hide_empty=0&name=category_parent&orderby=name&selected=' . $category->parent . '&hierarchical=1&show_option_none=' . __('None')); ?>
+                               <?php wp_dropdown_categories('hide_empty=0&name=category_parent&orderby=name&selected=' . $category->parent . '&hierarchical=1&show_option_none=' . __('None')); ?><br />
+                <?php _e('Categories, unlike tags, can have a hierarchy. You might have a Jazz category, and under that have children categories for Bebop and Big Band. Totally optional.'); ?>
                        </td>
                </tr>
-               <tr>
-                       <th scope="row" valign="top"><label for="category_description"><?php _e('Description: (optional)') ?></label></th>
-                       <td><textarea name="category_description" id="category_description" rows="5" cols="50" style="width: 97%;"><?php echo wp_specialchars($category->description); ?></textarea></td>
+               <tr class="form-field">
+                       <th scope="row" valign="top"><label for="category_description"><?php _e('Description') ?></label></th>
+                       <td><textarea name="category_description" id="category_description" rows="5" cols="50" style="width: 97%;"><?php echo wp_specialchars($category->description); ?></textarea><br />
+            <?php _e('The description is not prominent by default, however some themes may show it.'); ?></td>
                </tr>
        </table>
-<p class="submit"><input type="submit" name="submit" value="<?php echo $submit_text ?>" /></p>
+<p class="submit"><input type="submit" class="button" name="submit" value="<?php echo $submit_text ?>" /></p>
 <?php do_action('edit_category_form', $category); ?>
 </form>
 </div>
index ab1bdbce19440006f637cbadb52422467e651d3b..bc62681bc4b6e415d1bf37694b4082bca21b897b 100644 (file)
@@ -4,76 +4,133 @@ require_once('admin.php');
 $title = __('Edit Comments');
 $parent_file = 'edit-comments.php';
 wp_enqueue_script( 'admin-comments' );
+wp_enqueue_script('admin-forms');
+
+if ( !empty( $_REQUEST['delete_comments'] ) ) {
+       check_admin_referer('bulk-comments');
+
+       $comments_deleted = $comments_approved = $comments_unapproved = $comments_spammed = 0;
+       foreach ($_REQUEST['delete_comments'] as $comment) : // Check the permissions on each
+               $comment = (int) $comment;
+               $post_id = (int) $wpdb->get_var("SELECT comment_post_ID FROM $wpdb->comments WHERE comment_ID = $comment");
+               // $authordata = get_userdata( $wpdb->get_var("SELECT post_author FROM $wpdb->posts WHERE ID = $post_id") );
+               if ( !current_user_can('edit_post', $post_id) )
+                       continue;
+               if ( !empty( $_REQUEST['spamit'] ) ) {
+                       wp_set_comment_status($comment, 'spam');
+                       $comments_spammed++;
+               } elseif ( !empty( $_REQUEST['deleteit'] ) ) {
+                       wp_set_comment_status($comment, 'delete');
+                       $comments_deleted++;
+               } elseif ( !empty( $_REQUEST['approveit'] ) ) {
+                       wp_set_comment_status($comment, 'approve');
+                       $comments_approved++;
+               } elseif ( !empty( $_REQUEST['unapproveit'] ) ) {
+                       wp_set_comment_status($comment, 'hold');
+                       $comments_unapproved++;
+               }
+       endforeach;
+       $redirect_to = basename( __FILE__ ) . '?deleted=' . $comments_deleted . '&approved=' . $comments_approved . '&spam=' . $comments_spammed . '&unapproved=' . $comments_unapproved;
+       if ( !empty($_REQUEST['mode']) )
+               $redirect_to = add_query_arg('mode', $_REQUEST['mode'], $redirect_to);
+       if ( !empty($_REQUEST['comment_status']) )
+               $redirect_to = add_query_arg('comment_status', $_REQUEST['comment_status'], $redirect_to);
+       if ( !empty($_REQUEST['s']) )
+               $redirect_to = add_query_arg('s', $_REQUEST['s'], $redirect_to);
+       wp_redirect( $redirect_to );
+} elseif ( !empty($_GET['_wp_http_referer']) ) {
+        wp_redirect(remove_query_arg(array('_wp_http_referer', '_wpnonce'), stripslashes($_SERVER['REQUEST_URI'])));
+        exit;
+}
 
 require_once('admin-header.php');
-if (empty($_GET['mode'])) $mode = 'view';
-else $mode = attribute_escape($_GET['mode']);
+
+if ( empty($_GET['mode']) )
+       $mode = 'detail';
+else
+       $mode = attribute_escape($_GET['mode']);
+
+if ( isset($_GET['comment_status']) )
+       $comment_status = attribute_escape($_GET['comment_status']);
+else
+       $comment_status = '';
+
+if ( isset($_GET['s']) )
+       $search_dirty = $_GET['s'];
+else
+       $search_dirty = '';
+$search = attribute_escape( $search_dirty );
 ?>
+<?php
+if ( isset( $_GET['approved'] ) || isset( $_GET['deleted'] ) || isset( $_GET['spam'] ) ) {
+       $approved = isset( $_GET['approved'] ) ? (int) $_GET['approved'] : 0;
+       $deleted = isset( $_GET['deleted'] ) ? (int) $_GET['deleted'] : 0;
+       $spam = isset( $_GET['spam'] ) ? (int) $_GET['spam'] : 0;
+
+       if ( $approved > 0 || $deleted > 0 || $spam > 0 ) {
+               echo '<div id="moderated" class="updated fade"><p>';
 
-<script type="text/javascript">
-<!--
-function checkAll(form)
-{
-       for (i = 0, n = form.elements.length; i < n; i++) {
-               if(form.elements[i].type == "checkbox") {
-                       if(form.elements[i].checked == true)
-                               form.elements[i].checked = false;
-                       else
-                               form.elements[i].checked = true;
+               if ( $approved > 0 ) {
+                       printf( __ngettext( '%s comment approved', '%s comments approved', $approved ), $approved );
+                       echo '<br />';
                }
-       }
-}
 
-function getNumChecked(form)
-{
-       var num = 0;
-       for (i = 0, n = form.elements.length; i < n; i++) {
-               if(form.elements[i].type == "checkbox") {
-                       if(form.elements[i].checked == true)
-                               num++;
+               if ( $deleted > 0 ) {
+                       printf( __ngettext( '%s comment deleted', '%s comments deleted', $deleted ), $deleted );
+                       echo '<br />';
                }
+
+               if ( $spam > 0 ) {
+                       printf( __ngettext( '%s comment marked as spam', '%s comments marked as spam', $spam ), $spam );
+                       echo '<br />';
+               }
+
+               echo '</p></div>';
        }
-       return num;
 }
-//-->
-</script>
+?>
 <div class="wrap">
-<h2><?php _e('Comments'); ?></h2>
-<form name="searchform" action="" method="get" id="editcomments">
-  <fieldset>
-  <legend><?php _e('Show Comments That Contain...') ?></legend>
-  <input type="text" name="s" value="<?php if (isset($_GET['s'])) echo attribute_escape($_GET['s']); ?>" size="17" />
-  <input type="submit" name="submit" value="<?php _e('Search') ?>"  />
-  <input type="hidden" name="mode" value="<?php echo $mode; ?>" />
-  <?php _e('(Searches within comment text, e-mail, URL, and IP address.)') ?>
-  </fieldset>
-</form>
-<p><a href="?mode=view"><?php _e('View Mode') ?></a> | <a href="?mode=edit"><?php _e('Mass Edit Mode') ?></a></p>
+<form id="posts-filter" action="" method="get">
+<h2><?php _e('Manage Comments'); ?></h2>
+
+<ul class="subsubsub">
 <?php
-if ( !empty( $_POST['delete_comments'] ) ) :
-       check_admin_referer('bulk-comments');
+$status_links = array();
+$num_comments = wp_count_comments();
+$stati = array('moderated' => sprintf(__ngettext('Awaiting Moderation (%s)', 'Awaiting Moderation (%s)', $num_comments->moderated), "<span class='comment-count'>$num_comments->moderated</span>"), 'approved' => _c('Approved|plural'));
+$class = ( '' === $comment_status ) ? ' class="current"' : '';
+$status_links[] = "<li><a href=\"edit-comments.php\"$class>".__('Show All Comments')."</a>";
+foreach ( $stati as $status => $label ) {
+       $class = '';
+
+       if ( $status == $comment_status )
+               $class = ' class="current"';
+
+       $status_links[] = "<li><a href=\"edit-comments.php?comment_status=$status\"$class>" . $label . '</a>';
+}
 
-       $i = 0;
-       foreach ($_POST['delete_comments'] as $comment) : // Check the permissions on each
-               $comment = (int) $comment;
-               $post_id = (int) $wpdb->get_var("SELECT comment_post_ID FROM $wpdb->comments WHERE comment_ID = $comment");
-               // $authordata = get_userdata( $wpdb->get_var("SELECT post_author FROM $wpdb->posts WHERE ID = $post_id") );
-               if ( current_user_can('edit_post', $post_id) ) {
-                       if ( !empty( $_POST['spam_button'] ) )
-                               wp_set_comment_status($comment, 'spam');
-                       else
-                               wp_set_comment_status($comment, 'delete');
-                       ++$i;
-               }
-       endforeach;
-       echo '<div style="background-color: rgb(207, 235, 247);" id="message" class="updated fade"><p>';
-       if ( !empty( $_POST['spam_button'] ) ) {
-               printf(__ngettext('%s comment marked as spam', '%s comments marked as spam.', $i), $i);
-       } else {
-               printf(__ngettext('%s comment deleted.', '%s comments deleted.', $i), $i);
-       }
-       echo '</p></div>';
-endif;
+$status_links = apply_filters( 'comment_status_links', $status_links );
+
+echo implode(' | </li>', $status_links) . '</li>';
+unset($status_links);
+?>
+</ul>
+
+<p id="post-search">
+       <input type="text" id="post-search-input" name="s" value="<?php echo $search; ?>" />
+       <input type="submit" value="<?php _e( 'Search Comments' ); ?>" class="button" />
+</p>
+
+<input type="hidden" name="mode" value="<?php echo $mode; ?>" />
+<input type="hidden" name="comment_status" value="<?php echo $comment_status; ?>" />
+</form>
+
+<ul class="view-switch">
+       <li <?php if ( 'detail' == $mode ) echo "class='current'" ?>><a href="<?php echo clean_url(add_query_arg('mode', 'detail', $_SERVER['REQUEST_URI'])) ?>"><?php _e('Detail View') ?></a></li>
+       <li <?php if ( 'list' == $mode ) echo "class='current'" ?>><a href="<?php echo clean_url(add_query_arg('mode', 'list', $_SERVER['REQUEST_URI'])) ?>"><?php _e('List View') ?></a></li>
+</ul>
+
+<?php